Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Метки:
Теги Теги
paper модульность озу

start.bat

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

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

если и писать лучше сразу для paper или Yatopia дабы иметь возможность отключать и их модули.
 
а в чем проблема? через нмс и рефлексии вполне делается
 
Что? Можно подробнее?
Могу точно сказать по поводу ИИ мобов, я уже работал с этим, можно перехватывать событие их спавна в мире, отменять его и заменять их кастомными, которым можно отключать ИИ и делать все что захочется. Думаю с остальным что вы перечислили такая же схема, есть некоторые гайды по этому на английском языке
 
Отлавливает? То-есть сервер все-же обрабатывает действие, но оно не приходит игрокам пакетом?
 
Отлавливает? То-есть сервер все-же обрабатывает действие, но оно не приходит игрокам пакетом?
не совсем. возможно я неправильно понял вопрос, но в случае ИИ используются не пакеты, а создание своего класса существа, которое наследует класс ванильного, а потом переопределять уже методы вроде initPathfinder() для 1.16. Так что это уже совсем другие мобы, и если им отключить ИИ, то сервер не будет обрабатывать действия животных, как если бы они были ванильными
 
А где найти нмс и как использовать? Что это вообще такое?
 
А где найти нмс и как использовать? Что это вообще такое?
это код майнкрафта или вроде того, можете больше почитать здесь https://riptutorial.com/bukkit/topic/9576/nms#:~:text=NMS, also known as Net,to be used or altered.
гайды по созданию своих мобов можете посмотреть вот здесь
если вам интересно, поищите в гугле, формируя запросы на английском, вроде "how to create custom mob"
Я мог бы заняться этим, но не за бесплатно
 
А где найти нмс и как использовать? Что это вообще такое?
Я сомневаюсь, что это поможет от жора озу, обработка все равно будет происходить даже если в будущем вы ее заблокируете.
Тут нужно лезть в само ядро и блокировать обработку изнутри, как и выразились отключение самой функции.
 
Согласен, хотя это может немного сократить жор, все же после обработки следует вставка, например когда животное генерируется то оно спавнится, и потом забирает ресурсы пока функционирует. Тоже самое с генерацией мира и пакетами, они обрабатываются позже, если не отменить их создание, так что в перспективе(а возможно и прямо сейчас)потребление озу и ресурсов процессора должно сократиться. Но конечно же лучше изменить ядро без всех этих костылей, я все это говорю потому что автор сформулировал так вопрос
 
Всем привет!
Возможно ли без модификации ядра создать плагин дающий возможность через конфиг отключать модули сервера (генератор мира, отправка пакетов и движении-видимости игроков, ИИ мобов)

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

если и писать лучше сразу для paper или Yatopia дабы иметь возможность отключать и их модули.
1 Поставить плагин на пустой генератор.
2 Скрыть видимость игроков. тоже делается плагином.
3 Мобы отключаются в конфиге, без плагина.
 
И это ничего не даст так как плагин будет блокировать, но не отключать это в ядре
 
И это ничего не даст так как плагин будет блокировать, но не отключать это в ядре
это уменьшит потребление на ~90%, большинство затрат производятся после создания мира\спавна моба\отрисовки игрока
 
Вырезание ничего из вышеперчисленного не уменьшит потребление системной ОЗУ. Надо уменьшить потребление системной ОЗУ - режьте размер хипа пока не упрётесь в пол.
 

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

Назад
Верх