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

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

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

  1. GoodCoder

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

    Баллы:
    76
    Начинай копать с рендерера.
     
  2. Хостинг MineCraft
    <
  3. L4c05t

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

    Баллы:
    78
    Имя в Minecraft:
    Lacost
    Можно подробней?
    Я просто нашел что какой то иверт уходит в цикл а какой не могу найти ... Понял это по pex toggle debug.
     
  4. Artmoneyse

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

    Баллы:
    78
    используйте профайлер чтобы найти тот участок кода который создаёт нагрузку.
    P.S. buildcraft.transport.render.PipeItemRenderer[DOUBLEPOST=1487956925,1487929315][/DOUBLEPOST]
    У меня была похожая проблема, снес Essentials antibuild и проблем нет больше года.
     
  5. L4c05t

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

    Баллы:
    78
    Имя в Minecraft:
    Lacost
    нету подобного плагина
     
  6. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    BlockForestryFluid.java
    Код:
            // explode if very flammable and near fire
            int flammability = getFlammability(world, x, y, z, ForgeDirection.UNKNOWN);
            if (flammability > 0) {
                // Explosion size is determined by flammability, up to size 4.
                float explosionSize = 4F * flammability / 300F;
                if (explosionSize > 1.0 && isNearFire(world, x, y, z)) {
                    //world.setBlock(x, y, z, Blocks.fire);
                    //world.newExplosion(null, x, y, z, explosionSize, true, true);
                }
            }
        }
    
    Собственно закоментировал две строки. Возможно у вас такого не случится, потому что лишь на одном сервере была такая проблема, но вот world.newExplosion цепляется к WG через ForgeEvents (Причина тому, немного "доработанные" таковые в Thermos)
     
  7. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    EventHelper обновлён до версии 1.7. Добавлена поддержка реальных игроков в FakePlayerContainer (например, снаряды, ивенты которых будут переделаны под новую версию, будут использовать не фейкового, а настоящего игрока, что позволит выводить сообщения о невозможности наносить урон в чужом привате). Эта версия будет использоваться в мартовском обновлении.
    https://github.com/gamerforEA/EventHelper/releases/tag/1.7[DOUBLEPOST=1488384253,1488296769][/DOUBLEPOST]ThaumCraft обновлён: https://yadi.sk/d/JUmcf3-t3ErcAd
    1. Исправлен дюп с големами и воронками;
    2. Пьедестал не дропает содержимое, если над ним стоит блок;
    3. EventHelper обновлён до версии 1.7.
    Остальное залью завтра.[DOUBLEPOST=1488473037][/DOUBLEPOST]ThaumicTinkerer обновлён: https://github.com/gamerforEA/ThaumicTinkerer-FakePlayers/releases/tag/2.5-1.7.10-538_02.03.2017
    1. Различные мелкие фиксы;
    2. Новые опции в конфиге;
    3. Выключено распространение элементального огня;
    4. Зачарование Вампиризм;
    5. Дюп эссенции с Проклятым лезвием духа и Пьедесталом некроманта.
     
    Последнее редактирование: 1 мар 2017
  8. kirill20131

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

    Баллы:
    6
    Имя в Minecraft:
    asdfrw
    Когда еще будут обновления?
     
  9. DrLeonardo

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

    Баллы:
    88
    Имя в Minecraft:
    DrLeonardo
    КТТС
     
  10. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
  11. Flubox

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

    Баллы:
    78
    Имя в Minecraft:
    Mega_Boss
    Под 1.10.Х будут моды?
    IC2 уже завезли, хотя бы его
     
  12. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Пока не вижу в этом необходимости. Серверов с модами на 1.10.2 слишком мало.
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Плюсую. Никому не нужен этот спонж.
     
  14. synthetic

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

    Баллы:
    76
    BuildCraft. Багрепорт для gamerforEA.

    Суть:
    Можно поставить карьер таким образом, что он будет посылать EventHelper-у тысячи ивентов в секунду сильно нагружая его. Сервер при этом виснет намертво.

    Инструкция по воспроизведению бага:
    Нужно поставить карьер и с метками таким образом, чтобы метки обозначали территорию, в которой карьер не может построить свою рамку для работы. Например если заставить карьер выкапывать середину горы. Перед тем, как построить рамку для работы карьер будет выбрасывать из себя красные частицы, которые будут разрушать блоки до тех пор, пока не появится пространство для постройки рамки. Именно в этот момент карьер лагает. Дельше уже построится рамка и будет работать "хобот" карьера.

    Во время лагов на сервер вообще невозможно зайти. Приходится править EventHelper.cfg отключая EventHelper и перезагружать сервер.

    UPD:
    лаги начинаются, когда игрок, установивший карьер выходит из игры.
    игрок, установивший карьер не должен быть оператором.

    2017-03-05_19.23.17.png

    Почему так происходит:
    Скорее всего виновата функция createColumnVisitList() в TileQuarry.java, в ней операция проверки блока находится внутри тройного цикла. Это ужасно. Есть подозрение, что createColumnVisitList() вызывается очень часто в то время, когда карьер расчищает место для своего хобота.

    Как фиксить?
    Я даже не знаю. Есть идея: запускать этот тройной цикл только один раз при установке карьера. Вряд ли найдутся глупцы, которые будут создавать приват внутри рамки чужого карьера. Поэтому нет острой необходимости постоянно проверять блоки, которые находятся внутри рамки.
     
    Последнее редактирование: 7 мар 2017
  15. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    По таким причинам у шевчика были кастомные ивенты, а не бакитовские. А так каждый плагин что слушает ивент реагирует, не только wg но и такие как есс антибуилд ncp модифеворлд и тп.
     
  16. GoodCoder

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

    Баллы:
    76
    Всё гораздо хуже:
    https://github.com/BuildCraft/Build...craft/builders/tile/TileQuarry.java#L610-L620
     
  17. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    EventHelper позволяет отсылать ивенты не всем плагинам, а только необходимым (по-умолчанию он работает только с WG).
     
  18. oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Фиксится кешированием в WorldGuard
     
  19. Автор темы
    gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    BuildCraft обновлён до 7.1.20: https://github.com/gamerforEA/BuildCraft-FakePlayers/releases/tag/7.1.20
    1. EventHelper обновлён до 1.7.
    2. Чёрный список NBT тэгов для Строителя;
    3. Фикс дюпа с Автоверстаком;
    4. Труба Stripes.
    [DOUBLEPOST=1488817024,1488816936][/DOUBLEPOST]@synthetic во время лагов введите команду "/wg profile - p 1" и скиньте ссылку, которая появится спустя минуту после ввода команды. А вообще, Олег прав, если это то, о чём я думаю, то кэширование для WG решит данную проблему (и вообще сильно повысит производительность ивентов).
     
  20. GoodCoder

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

    Баллы:
    76
    Какое ещё кеширование?
     
  21. synthetic

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

    Баллы:
    76
    Я использую WG 5.9 там нет такой команды.
     

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