1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Идея Модульное отключение функций bukkit

Тема в разделе "Запросы на разработку плагинов", создана пользователем start.bat, 11 ноя 2020.

  1. Автор темы
    start.bat

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

    Баллы:
    66
    Имя в Minecraft:
    3ACOC
    Всем привет!
    Возможно ли без модификации ядра создать плагин дающий возможность через конфиг отключать модули сервера (генератор мира, отправка пакетов и движении-видимости игроков, ИИ мобов)

    это все нужно для уменьшения жора ОЗУ и проца
    У меня ядро в пустом мире с спауном и 1 игроков жрет от 1 до 3гб озу (memreduct спасает)

    если и писать лучше сразу для paper или Yatopia дабы иметь возможность отключать и их модули.
     
  2. Zuif

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

    Баллы:
    76
    а в чем проблема? через нмс и рефлексии вполне делается
     
  3. Автор темы
    start.bat

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

    Баллы:
    66
    Имя в Minecraft:
    3ACOC
    Что? Можно подробнее?
     
  4. Zuif

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

    Баллы:
    76
    Могу точно сказать по поводу ИИ мобов, я уже работал с этим, можно перехватывать событие их спавна в мире, отменять его и заменять их кастомными, которым можно отключать ИИ и делать все что захочется. Думаю с остальным что вы перечислили такая же схема, есть некоторые гайды по этому на английском языке
     
  5. Автор темы
    start.bat

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

    Баллы:
    66
    Имя в Minecraft:
    3ACOC
    Отлавливает? То-есть сервер все-же обрабатывает действие, но оно не приходит игрокам пакетом?
     
  6. Zuif

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

    Баллы:
    76
    не совсем. возможно я неправильно понял вопрос, но в случае ИИ используются не пакеты, а создание своего класса существа, которое наследует класс ванильного, а потом переопределять уже методы вроде initPathfinder() для 1.16. Так что это уже совсем другие мобы, и если им отключить ИИ, то сервер не будет обрабатывать действия животных, как если бы они были ванильными
     
  7. Автор темы
    start.bat

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

    Баллы:
    66
    Имя в Minecraft:
    3ACOC
    А где найти нмс и как использовать? Что это вообще такое?
     
  8. Zuif

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

    Баллы:
    76
    это код майнкрафта или вроде того, можете больше почитать здесь https://riptutorial.com/bukkit/topic/9576/nms#:~:text=NMS, also known as Net,to be used or altered.
    гайды по созданию своих мобов можете посмотреть вот здесь

    если вам интересно, поищите в гугле, формируя запросы на английском, вроде "how to create custom mob"
    Я мог бы заняться этим, но не за бесплатно
     
  9. SaMEC

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

    Баллы:
    173
    Skype:
    support.meedway
    Имя в Minecraft:
    Nick
    Я сомневаюсь, что это поможет от жора озу, обработка все равно будет происходить даже если в будущем вы ее заблокируете.
    Тут нужно лезть в само ядро и блокировать обработку изнутри, как и выразились отключение самой функции.
     
  10. Автор темы
    start.bat

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

    Баллы:
    66
    Имя в Minecraft:
    3ACOC
    Тоже так думаю
     
  11. Zuif

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

    Баллы:
    76
    Согласен, хотя это может немного сократить жор, все же после обработки следует вставка, например когда животное генерируется то оно спавнится, и потом забирает ресурсы пока функционирует. Тоже самое с генерацией мира и пакетами, они обрабатываются позже, если не отменить их создание, так что в перспективе(а возможно и прямо сейчас)потребление озу и ресурсов процессора должно сократиться. Но конечно же лучше изменить ядро без всех этих костылей, я все это говорю потому что автор сформулировал так вопрос
     
  12. alexandrage

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

    Баллы:
    173
    1 Поставить плагин на пустой генератор.
    2 Скрыть видимость игроков. тоже делается плагином.
    3 Мобы отключаются в конфиге, без плагина.
     
  13. Автор темы
    start.bat

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

    Баллы:
    66
    Имя в Minecraft:
    3ACOC
    И это ничего не даст так как плагин будет блокировать, но не отключать это в ядре
     
  14. Zuif

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

    Баллы:
    76
    это уменьшит потребление на ~90%, большинство затрат производятся после создания мира\спавна моба\отрисовки игрока
     
  15. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Вырезание ничего из вышеперчисленного не уменьшит потребление системной ОЗУ. Надо уменьшить потребление системной ОЗУ - режьте размер хипа пока не упрётесь в пол.
     

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