- Баллы
- 88
- Имя в Minecraft
- SkyPrince
Благодарю!Автор мода просто сообщает, что на Cauldron ничего не тестирует => могут быть баги, лаги и пр.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Благодарю!Автор мода просто сообщает, что на Cauldron ничего не тестирует => могут быть баги, лаги и пр.
Интересно, тогда какое ядро использовать для 1.7.10? KCauldron?Автор мода просто сообщает, что на Cauldron ничего не тестирует => могут быть баги, лаги и пр.
Автор мода всё тестирует на обычном ванильном ядре с Forge. Так делают почти все мододелы.Интересно, тогда какое ядро использовать для 1.7.10? KCauldron?
@gamerforEA, это будет исправлено? С этим багом ни фасадов не видно, ни гейтов, ни заглушек, ни док-станций (у гейтов вообще интерфейса нет, просто пустота).Нашел Баг:
Гейты не правильно налаживаются на трубы, проверил на обе версий 7.0.25 и 7.1.8.
С оригинальном модом мне нормально, проблема тока с ивентами.
написать скрипты через minetweaker@gamerforEA GraviSuite с последним IC2 как и ASP (Advanced Solar Panel - от того же автора) потерял многие крафты, они попросту не работают, возможно поправить?
//hybrid Solar Helm
recipes.remove(<AdvancedSolarPanel:hybrid_solar_helmet>);
recipes.addShaped(<AdvancedSolarPanel:hybrid_solar_helmet>, [
[null, <AdvancedSolarPanel:BlockAdvSolarPanel:1>, null],
[<IC2:itemPartCircuitAdv>, <IC2:itemArmorQuantumHelmet:*>, <IC2:itemPartCircuitAdv>],
[<IC2:itemCable:9>, <IC2:blockElectric:5>, <IC2:itemCable:9>]]);
recipes.addShaped(<AdvancedSolarPanel:hybrid_solar_helmet>, [
[<AdvancedSolarPanel:BlockAdvSolarPanel:1>],
[<IC2:itemArmorQuantumHelmet:*>]]);
Спасибо, раньше использовал ZZZZ Custom Config для рецептов, но проблемы с wildcard в рецептах IC2 надоели, в minetweak такого нет, спасибонаписать скрипты через minetweaker
Вот так реализован у меня крафт квантового гибридного шлема
Код://hybrid Solar Helm recipes.remove(<AdvancedSolarPanel:hybrid_solar_helmet>); recipes.addShaped(<AdvancedSolarPanel:hybrid_solar_helmet>, [ [null, <AdvancedSolarPanel:BlockAdvSolarPanel:1>, null], [<IC2:itemPartCircuitAdv>, <IC2:itemArmorQuantumHelmet:*>, <IC2:itemPartCircuitAdv>], [<IC2:itemCable:9>, <IC2:blockElectric:5>, <IC2:itemCable:9>]]); recipes.addShaped(<AdvancedSolarPanel:hybrid_solar_helmet>, [ [<AdvancedSolarPanel:BlockAdvSolarPanel:1>], [<IC2:itemArmorQuantumHelmet:*>]]);
Это всё не просто так. Если делать примитивную проверку на наличие привата, то не будет поддержки флагов, других плагинов и пр. Если кидать обычные Bukkit ивенты всем подряд, то будут баги, так как некоторые плагины несовместими с FakePlayer'ами. Кстати, инжекторы не производительность не влияют, так как вызываются только один раз и только заливают класс в ClassLoader WG.@gamerforEA А ты знаешь толк в извращениях, мутить какие-то инжекты в ворлдгуард не пойми зачем, не удивительно что TPS при хайлоаде долго от такого не живёт.
Так вот для поддержки плагинов и нужно пускать напрямую баккит эвенты, а не всякое порно в виде эвенте в эвенте (форг/твои кастомные эвенты) что просаживает сильно TPS при хайлоаде. В случае, если брейкблокэвент там используется не по назначению (с блоком в принципе ничего не происходит после эвента), то в таких случаях можно повесить один кастомный эвент, в котором будут нужные проверки типа приватов, флагов и тд. С фейкплеерами всё работает отлично, тот же WorldGuard проверяет фейкплеер это или нет.Это всё не просто так. Если делать примитивную проверку на наличие привата, то не будет поддержки флагов, других плагинов и пр. Если кидать обычные Bukkit ивенты всем подряд, то будут баги, так как некоторые плагины несовместими с FakePlayer'ами. Кстати, инжекторы не производительность не влияют, так как вызываются только один раз и только заливают класс в ClassLoader WG.
И да, в случае ивентов узкое горлышко - WorldGuard. Тут нужно или его оптимизировать, или искать более производительный плагин для работы с приватами.
Так вот для поддержки плагинов и нужно пускать напрямую баккит эвенты, а не всякое порно в виде эвенте в эвенте (форг/твои кастомные эвенты) что просаживает сильно TPS при хайлоаде. В случае, если брейкблокэвент там используется не по назначению (с блоком в принципе ничего не происходит после эвента), то в таких случаях можно повесить один кастомный эвент, в котором будут нужные проверки типа приватов, флагов и тд. С фейкплеерами всё работает отлично, тот же WorldGuard проверяет фейкплеер это или нет.
Я предложил самый оптимальный вариант, который проверен на хайлоаде (150+ игроков на одном сервере с особо прожорливыми модами аля AE2, TE). Все нужные основные плагины работают нормально, если уже кому-то нужны свои извраты - пусть допиливают под себя, это их проблемы, в первую очередь должен быть упор на производительность. Я видел тайминги с твоим мостом, так вся львиная доля была именно в этих эвентах, которые порождают собой ещё один (!) эвент, но уже баккитовский, что мешает его кинуть сразу? А онлайн кстати был не такой крупный, в районе 50-60, но TPS уже забился в угол и тихонько плакал.
- В EventHelper всё происходит точно так же, как и в обычном Bukkit - ивенты кидается во все зарегистрированные слушатели, вот только у меня слушатели берутся только для определённых плагинов, что несколько повышает производительность.
- Нет, не все плагины отлично работают с ивентами. Насколько, я помню, люди жаловались на EssentialsProtect.
- Если вас что-то не устраивает, то никто мешает вам модифицировать методы в классе EventUtils так, чтобы кидались обычные ивенты всем подряд.
- Если бы вы смотрели тайминги, то заметили бы, что вся нагрузка от моих ивентов была в WorldGuard, а не прослойках, вроде плагина-моста и EventHelper'а.
- Если критикуете, то предлагайте более оптимальное решение, которое будет таким же удобным (не для пользователя, а для разработчика), как моё. И про бенчмарки не забывайте.
Я предложил самый оптимальный вариант, который проверен на хайлоаде (150+ игроков на одном сервере с особо прожорливыми модами аля AE2, TE). Все нужные основные плагины работают нормально, если уже кому-то нужны свои извраты - пусть допиливают под себя, это их проблемы, в первую очередь должен быть упор на производительность. Я видел тайминги с твоим мостом, так вся львиная доля была именно в этих эвентах, которые порождают собой ещё один (!) эвент, но уже баккитовский, что мешает его кинуть сразу? А онлайн кстати был не такой крупный, в районе 50-60, но TPS уже забился в угол и тихонько плакал.
Простейший тест - протестировать под сильной нагрузкой, что и было сделано. Если проблема в WorldGuard, то почему у меня никаких просадок не возникает, эвенты брошены напрямую?) Там обновлять то и нечего, создать и вызвать эвент задача ну ох какая недостижимая.
- Ещё один ивент создаётся только в плагине-мосте, а в EventHelper я от этого смог избавиться.
- Как вы посчитали, что ваш вариант - самый оптимальный? Какие тесты производительности были?
- У вас должен быть упор на производительность, а у меня упор на скорость разработки и поддержки, когда изменения в коде нужно перебрасывать между разными версиями модов.
- Если львиная доля времени выполнения была в методе моего плагина, это не означает, что проблема была именно в нём. Я смотрел, где была просадка производительности, и как выяснилось, все тормоза были из-за WorldGuard.
- Все решения, которые я принимал при продумывании общего плана работы с ивентами, были приняты не "потому что могу", а потому что более оптимального варианта, который подошёл бы для большинства клиентов, а не отдельных личностей с высокой нагрузкой, я не видел.
Простейший тест - протестировать под сильной нагрузкой, что и было сделано. Если проблема в WorldGuard, то почему у меня никаких просадок не возникает, эвенты брошены напрямую?) Там обновлять то и нечего, создать и вызвать эвент задача ну ох какая недостижимая.
Для тебя слово хайлоад ничего не значит?) Хайлоад уже подразумевает собой тяжелые моды, большое количество игроков, а соответственно приватов и прочих вещей, я не с потолка написал же) Да и 95% арендуют дедики в одних и тех же местах, железо у многих идентично, и сами моды прожорливы, никто не будет запускать на 4 пентиуме с 512 МБ памяти. Ну вот, а теперь представь что делают уже два таких же эвента подряд, да и бросаешь видимо в горячих местах, где достаточно бросить 1 кастомный эвент. Последняя фраза на это: "А у меня упор на скорость разработки и поддержки, когда изменения в коде нужно перебрасывать между разными версиями модов.". Если ты хоть раз работал хотя бы с небольшой аудиторией (1 сервер с типичными модами для всех, 100 онлайна), то уже должен понимать для чего нужно делать упор на производительность. А это так, баловство для школьничков.
- Это не тест, а "А вот у меня это работает". Вы не учитываете, что бывают совершенно разные условия работы сервера. У кого-то просто слабая VDS'ка, у кого-то 10000 приватов, у кого-то стоит "тяжёлый" мод, который всё вешает и т.д. Для нормального тестирования нужно проверять разные алгоритмы в идентичных условиях и судить не по принципу "лагает/не лагает", а проверять нагрузку на CPU, сборщик мусора, потребление ОЗУ и пр.
- Даже когда я бросал обычные Bukkit ивенты, производительность почему-то (угадайте причину) проседала.
- О каких обновлениях идёт речь?
Я и так создаю и кидаю ивенты.
Не понимаю, зачем была ваша последняя фраза.
- Наш спор ни к чему не приведёт, и каждый останется при своём мнении. Предлагаю его прекратить или перенести в ЛС.
Для тебя слово хайлоад ничего не значит?) Хайлоад уже подразумевает собой тяжелые моды, большое количество игроков, а соответственно приватов и прочих вещей, я не с потолка написал же) Да и 95% арендуют дедики в одних и тех же местах, железо у многих идентично, и сами моды прожорливы, никто не будет запускать на 4 пентиуме с 512 МБ памяти. Ну вот, а теперь представь что делают уже два таких же эвента подряд, да и бросаешь видимо в горячих местах, где достаточно бросить 1 кастомный эвент. Последняя фраза на это: "А у меня упор на скорость разработки и поддержки, когда изменения в коде нужно перебрасывать между разными версиями модов.". Если ты хоть раз работал хотя бы с небольшой аудиторией (1 сервер с типичными модами для всех, 100 онлайна), то уже должен понимать для чего нужно делать упор на производительность. А это так, баловство для школьничков.
Я и не пользуюсь твоими эвентами, а наставляю тебя на верный путь. Впрочем, в чем-то ты прав, для аудитории рубаккита даже это уже зашквар.
- У меня есть эта "небольшая аудитория", и для неё важно быстро получать ивенты и иметь возможность в случае чего так же быстро что-то переделать, обновить и пр.
- Не нравится - не пользуйтесь моими ивентами.
- Хорошо, это баловство для школьников, если вас это успокоит. 🙂