Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Фикс Ивенты для модов [Механизмы работают от имени владельца]

Тема в разделе "Управление сервером Bukkit", создана пользователем gamerforEA, 30 дек 2014.

  1. EpicMan2

    EpicMan2 Старожил Пользователь

    Баллы:
    173
    Значит скоро выйдет оптимизированная версия?
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Я постараюсь найти способ оптимизации ядра (судя по результатам, дело именно в нём, зря я плохо думал про WG), но ничего не обещаю.
    UPD. Провёл тест без прав оператора. Результаты стали более подробными.
     
    Последнее редактирование: 21 ноя 2015
  4. Easterncheese

    Easterncheese Активный участник Пользователь

    Баллы:
    61
    Если нужна информация с живого сервера со средним онлайном в 40 человек - обращайтесь.
    Данная проблема с лагами сильно портит мне и игрокам жизнь.
     
  5. LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    Сервер крашнулся, когда один из игроков стал ломать свои плоскости формирования и истребления ваджрой
    Time: 11/21/15 2:39 PM
    Description: Colliding entity with block

    java.lang.NullPointerException: Colliding entity with block
    at com.gamerforea.ae.FakePlayerUtils.cantBreak(FakePlayerUtils.java:53)
    at com.gamerforea.ae.FakePlayerUtils.cantBreak(FakePlayerUtils.java:41)
    at appeng.util.Platform.isWrench(Platform.java:1008)
    at appeng.parts.PartPlacement.place(PartPlacement.java:85)
    at appeng.core.api.ApiPart.placeBus(ApiPart.java:343)
    at appeng.items.parts.ItemMultiPart.func_77648_a(ItemMultiPart.java:188)
    at appeng.parts.automation.PartFormationPlane.injectItems(PartFormationPlane.java:486)
    at appeng.parts.automation.PartFormationPlane.injectItems(PartFormationPlane.java:86)
    at appeng.me.storage.MEPassThrough.injectItems(MEPassThrough.java:57)
    at appeng.me.storage.MEInventoryHandler.injectItems(MEInventoryHandler.java:113)
    at appeng.me.storage.NetworkInventoryHandler.injectItems(NetworkInventoryHandler.java:120)
    at appeng.api.storage.MEMonitorHandler.injectItems(MEMonitorHandler.java:86)
    at appeng.util.Platform.poweredInsert(Platform.java:1515)
    at appeng.parts.automation.PartAnnihilationPlane.storeItemStack(PartAnnihilationPlane.java:303)
    at appeng.parts.automation.PartAnnihilationPlane.storeEntityItem(PartAnnihilationPlane.java:286)
    at appeng.parts.automation.PartAnnihilationPlane.onEntityCollision(PartAnnihilationPlane.java:266)
    at appeng.parts.CableBusContainer.onEntityCollision(CableBusContainer.java:792)
    at appeng.block.networking.BlockCableBus.func_149670_a(BlockCableBus.java:149)
    at net.minecraft.entity.Entity.func_145775_I(Entity.java:1062)
    at net.minecraft.entity.Entity.func_70091_d(Entity.java:618)
    at net.minecraft.entity.item.EntityItem.func_70071_h_(EntityItem.java:125)
    at net.minecraft.world.World.func_72866_a(World.java:2643)
    at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
    at net.minecraft.world.World.func_72870_g(World.java:2596)
    at net.minecraft.world.World.func_72939_s(World.java:2409)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:664)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:943)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:430)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658)
    at java.lang.Thread.run(Thread.java:745)


    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------

    -- Head --
    Stacktrace:
    at com.gamerforea.ae.FakePlayerUtils.cantBreak(FakePlayerUtils.java:53)
    at com.gamerforea.ae.FakePlayerUtils.cantBreak(FakePlayerUtils.java:41)
    at appeng.util.Platform.isWrench(Platform.java:1008)
    at appeng.parts.PartPlacement.place(PartPlacement.java:85)
    at appeng.core.api.ApiPart.placeBus(ApiPart.java:343)
    at appeng.items.parts.ItemMultiPart.func_77648_a(ItemMultiPart.java:188)
    at appeng.parts.automation.PartFormationPlane.injectItems(PartFormationPlane.java:486)
    at appeng.parts.automation.PartFormationPlane.injectItems(PartFormationPlane.java:86)
    at appeng.me.storage.MEPassThrough.injectItems(MEPassThrough.java:57)
    at appeng.me.storage.MEInventoryHandler.injectItems(MEInventoryHandler.java:113)
    at appeng.me.storage.NetworkInventoryHandler.injectItems(NetworkInventoryHandler.java:120)
    at appeng.api.storage.MEMonitorHandler.injectItems(MEMonitorHandler.java:86)
    at appeng.util.Platform.poweredInsert(Platform.java:1515)
    at appeng.parts.automation.PartAnnihilationPlane.storeItemStack(PartAnnihilationPlane.java:303)
    at appeng.parts.automation.PartAnnihilationPlane.storeEntityItem(PartAnnihilationPlane.java:286)
    at appeng.parts.automation.PartAnnihilationPlane.onEntityCollision(PartAnnihilationPlane.java:266)
    at appeng.parts.CableBusContainer.onEntityCollision(CableBusContainer.java:792)
    at appeng.block.networking.BlockCableBus.func_149670_a(BlockCableBus.java:149)

    -- Block being collided with --
    Details:
    Block type: ID #253 (tile.appliedenergistics2.BlockCableBus // appeng.block.networking.BlockCableBus)
    Block data value: 0 / 0x0 / 0b0000
    Block location: World: (-2327,52,-704), Chunk: (at 9,3,0 in -146,-44; contains blocks -2336,0,-704 to -2321,255,-689), Region: (-5,-2; contains chunks -160,-64 to -129,-33, blocks -2560,0,-1024 to -2049,255,-513)
    Stacktrace:
    at net.minecraft.entity.Entity.func_145775_I(Entity.java:1062)

    -- Entity being checked for collision --
    Details:
    Entity Type: Item (net.minecraft.entity.item.EntityItem)
    Entity ID: 327395
    Entity Name: item.item.appliedenergistics2.ItemPart.CableGlass
    Entity's Exact location: -2326.90, 53.12, -703.49
    Entity's Block location: World: (-2327,53,-704), Chunk: (at 9,3,0 in -146,-44; contains blocks -2336,0,-704 to -2321,255,-689), Region: (-5,-2; contains chunks -160,-64 to -129,-33, blocks -2560,0,-1024 to -2049,255,-513)
    Entity's Momentum: -0.01, -0.04, 0.01
    Stacktrace:
    at net.minecraft.entity.Entity.func_70091_d(Entity.java:618)
    at net.minecraft.entity.item.EntityItem.func_70071_h_(EntityItem.java:125)
    at net.minecraft.world.World.func_72866_a(World.java:2643)
    at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
    at net.minecraft.world.World.func_72870_g(World.java:2596)

    -- Entity being ticked --
    Details:
    Entity Type: Item (net.minecraft.entity.item.EntityItem)
    Entity ID: 327395
    Entity Name: item.item.appliedenergistics2.ItemPart.CableGlass
    Entity's Exact location: -2326.90, 53.12, -703.49
    Entity's Block location: World: (-2327,53,-704), Chunk: (at 9,3,0 in -146,-44; contains blocks -2336,0,-704 to -2321,255,-689), Region: (-5,-2; contains chunks -160,-64 to -129,-33, blocks -2560,0,-1024 to -2049,255,-513)
    Entity's Momentum: -0.01, -0.04, 0.01
    Stacktrace:
    at net.minecraft.world.World.func_72939_s(World.java:2409)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:664)
     
  6. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Проверьте наличие краша на последней версии ивентов.[DOUBLEPOST=1448184589,1448117181][/DOUBLEPOST]Посмотрел я ядро и WorldGuard. Боюсь, что оптимизировать почти нечего. Большинство лагов вполне естественно. Разве что, можно слегка ускорить сравнение приватов и закэшировать некоторые данные, но это даст мизерный прирост производительности.
     
  7. LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    А если проверять приваты, минуя WG, считывая файл приватов? Или будет только хуже?
     
  8. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    1. Это будет в разы медленнее.
    2. Если просто проверять наличие приватов, игнорируя флаги, настройки WG и прочее, то производительность повысится, но качество работы будет отвратительное.
    3. Как вариант - можно поискать более быструю альтернативу WorldGuard.
     
  9. Asdvin

    Asdvin Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    Asdvin
    Здрасте. Честно читал страницы до 20-ой, но никто не задает подобных вопросов. Все понимают о чем речь.))) Вумные все)))

    Как применять эти ивенты? Скачал и что дальше? Куда то положить? Прописать какие то команды? Что делать то?

    Расскажите дураку...
     
  10. LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    1. Но ведь WG читает этот файл и обрабывает кучу всего, что с этим связано, в том числе просто перемещение игрока. Ничего не лагает. Не знаю, как это там реализовано, но скорее всего, файл сначала грузится в память. Так вот почему бы не сделать так?

    2. Из флагов нужен только флаг на бессмертие и пвп, всё остальное - проверка, вписан ли владелец в приват. И всё это можно взять опять же из файла. И настройки WG, кстати тоже

    3. Я думаю, очень многих такой вариант не устроит да и сам по себе это не выход, если уж дело в ядре в том числе
     
  11. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Есть система "Быстрых ивентов" там проверяется только наличие привата и флаг пвп.
     
  12. LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    И насколько они быстрые? Я пока что не тестил
     
  13. ipv2007

    ipv2007 Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    ipv2007
    Здесь уже не помочь.
    Дурак - это диагноз. Смирись и живи.
    Для всех остальных, все написано в первом сообщении под спойлером "ВНИМАНИЕ" в пункте №4.
     
  14. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Я их не тестировал и никогда не буду тестировать, так что не рекомендую их применять.
     
  15. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Тестировал, часто сервер падал и были проблемы с тем же RailCraft, когда ивенты на жидкости "клали" (ложили) сервер на лопатки, но и билдкрафт это чудным образом делал.
     
  16. LordBekketPro

    LordBekketPro Активный участник Пользователь

    Баллы:
    88
    Тогда остаётся только это:
     
  17. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Тут уж вы сами ищите исполнителя. Я такими костылями заниматься не буду.
     
  18. Easterncheese

    Easterncheese Активный участник Пользователь

    Баллы:
    61
    Хм. Вся эта радость ругается на Blockbreakevent. То есть, я так понимаю. WG проверяет право данных механизмов вообще ломать что-то на территории привата.
    Возможно ли просто обойти проверку blockbreakevent, чтобы данный эвент вообще не вызывался при работе всяких мультиферм и помп (всего, что умеет ломать блоки)?. Я понимаю, что в таком случае механизмы игроков начнут игнорить приваты, но на конкретно моем сервере я готов на это пойти.
     
  19. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Поставь тогда вообще чистые моды, без ивентов. Лол.
     
  20. DRK

    DRK Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Medved
    gamerforEA
    а Вы не планируете обновить версию RC до 9.8.0.0 ?
    у них сделана попытка профиксить
    " FIX: Fixed IFluidContainer dupe bugs (I hope). "
    Надеюсь они убрали этим самым крайне неприятный дюп.
     
  21. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Если на субботу не будет заказов, то обновлю.
     

Поделиться этой страницей