Поверхностная оптимизация и защита сервера на CMI. На ядре paper

Поверхностная оптимизация и защита сервера на CMI. На ядре paper

dsasadsad

Пользователь
Сообщения
59
Решения
1
dsasadsad добавил(а) новый ресурс:

Усовершенственная оптимизация серверов 1.16+ - Оптимизация сервера, для комфортной игры в майнкрафт.

Зачем нужна оптимизация сборки для вашего сервера?
Вы счастливые сделали сборку для вашего проекта, к вам заходит игроков 30 и ваш сервер начинает жутко лагать или вовсе крашится. Давайте разберемся, что мы может сделать.

Узнать больше об этом ресурсе...
 
1) Новые версии майна жутко лагучие, лучше их не ставить если для вас действительно важна производительность
2) Не экономить на софте, тогда и Ксеончика за 10к, и 16гб оперативки хватит на 1000 игроков
 
что-то на уровне статьи про оптимизацию от шедевростудии фреймдев

1. почему именно бумага если есть пурпур, который имеет все патчи бумаги + ещё и свои
2. не знаю как ты, но я сильно сомневаюсь что мира 15к на 15к будет достаточно для одновременно играющих 120 игроков
3. а разве фиксы из антикрашеров уже не существуют в ядрах? (хотя не спорю что НЕКОТОРЫЕ плагины действительно могут помочь)
4. ну и про CMI как-то уж слишком много расписано

с 7 пунктом реально согласен, жаль что далеко не все его придерживаются (ну если уж так хочется какой-нибудь cmi, проверьте ж вы код через декомпилятор, ну потратьте вы эти 20 минут, зато ваш сервер не взломает какой-нибудь школьник)
Авто объединение сообщений:

Не экономить на софте
offtop ставь лайк, если даже во сне рекламируешь elca server 1.12.2
 
что-то на уровне статьи про оптимизацию от шедевростудии фреймдев

1. почему именно бумага если есть пурпур, который имеет все патчи бумаги + ещё и свои
2. не знаю как ты, но я сильно сомневаюсь что мира 15к на 15к будет достаточно для одновременно играющих 120 игроков
3. а разве фиксы из антикрашеров уже не существуют в ядрах? (хотя не спорю что НЕКОТОРЫЕ плагины действительно могут помочь)
4. ну и про CMI как-то уж слишком много расписано

с 7 пунктом реально согласен, жаль что далеко не все его придерживаются (ну если уж так хочется какой-нибудь cmi, проверьте ж вы код через декомпилятор, ну потратьте вы эти 20 минут, зато ваш сервер не взломает какой-нибудь школьник)
Привет, Давай отвечу на твои вопросы
1) Я выбрал статью про paper, потому что это самое распространенное ядро.
2) Почему я выбрал именно 15к на 15к? Играл очень много на одном проекте Nexus.... Там были именно такие границы, всем хватало))
3) Плагины действительно помогают. Вот например, куча вопросов о том "МОЙ СЕРВЕР КРАШАЮТ С ПОМОЩЬЮ РЕДСТОУНА"
4) Я просто удивлён с людей, которые используют плагин CMI и не юзают его на 70% хотя бы.


Я просто сказал основное, что у меня на сервере)

Спасибо за отзыв!
 
2. не знаю как ты, но я сильно сомневаюсь что мира 15к на 15к будет достаточно для одновременно играющих 120 игроков
Как бы то не странно но на серверах "лайт анархий" или же "китпвп" люди могут играть на карте 5К на 5К при 160 игроках на сервере и им вообще плевать...
 
Спарк так себе профайлер. Я использую VisualVM. Сбор огромного количества данных в реальном времени, а не "по запросу через сайт"

Лучше только Yourkit, стоит не мало, но оно того стоит
 
Вот с чего бы мне начать... Ладно пойдем по порядку

2.0 Ядро сервера:
1) Важно понимать о какой версии мы говорим.
Если мы ведем речь про 1.12.2 - безусловно Paper оптимальное решение, однако даже говоря про такую древнюю версию мы всё еще имеем такой форк как , который нельзя списывать со счетов и который является предпочтительнее пейпера за счет множества фиксов
Если речь про 1.16.5 - тогда Paper это уже не очень хороший выбор, т.к. там нет множества полезных вещей, которые были добавлены в том же Tuinity (и которые были добавлены позднее), хотя в то же время нужно понимать, что log4shell никуда не исчез, исходя из чего самый предпочтительный выбор -
И наконец если говорить про версии 1.18 и выше - тут безусловно Paper уже отходит на второй план, когда есть с его оптимизацией ентити и с невероятной кастомизацией и всеми фичами puffer-а.
2) Указанные настройки в глобальном плане повлияют очень мало на что, ими сыт не будешь, а также - max-auto-save-chunks-per-tick: 6 - эта настройка из paper.yml сделает только хуже. Если ты НЕ знаешь как работает эта настройка - НЕ нужно её менять. Подробно про это прочитать можно тут:
3.0 Давайте прогрузим чанки и сделаем меньше карту на вашем сервере.
1) Размер карты ни на что не влияет, если речь идет не про жесткие лимиты по диску.
2) Chunky работает от 1.13 а не 1.12
4.0 Установить плагины от краша/пакетов/защиты/дюпов т.п
AntiCrasher - ТАКОГО ПЛАГИНА НЕ СУЩЕСТВУЕТ В ПРИРОДЕ.
BlockSyntax - нет никакого смысла в блокировке просто команд с :, ВМЕСТО ЭТОГО МОЖНО ИСПОЛЬЗОВАТЬ СЛЕДУЮЩЕЕ:
1) не отправлять команды с : клиенту при помощи функции send-namespaced: false из spigot.yml (1.16+)
2) использовать вайтлист команд, т.к. люди всё равно смогут узнать какие на сервере стоят плагины по соотв.командам
CoreProtect - крашнутый спавн ты им НЕ откатишь, т.к. обойти его логгирование - элементарная задача для человека который был достаточно умен чтобы взломать твой сервер (команда setblock просто существует, как и execute)
FAWE - резона в его использовании объективно нет если нет необходимости регулярно использовать операции worldedit-а. Да, можно вспомнить tick-limiter, однако он за частую приносит больше проблем нежели пользы если говорить про анархии с рейдами баз
IllegalStack - возвращаясь к вопросу версий. Реальная польза от плагина присутствует только на версиях ниже 1.19. (А также ни о каком МНОЖЕСТВЕ дюпов речи не идет. Реальных фикса ДЮПА там всего 3-4, остальное исправлено в ядре)
ExploitFixer - совета хуже придумать было НЕВОЗМОЖНО. Данный плагин ужасен и не должен быть использован никогда. К вопросу версий - на 1.12.2 он бесполезен т.к. если на сервере установлен viaversion и illegalstack 1.12.2 уже неубиваем. На версиях 1.19+ он бесполезен т.к. исправления есть в ядре. На промежутке же между версиями выше он также бесполезен т.к. справляется со своими функциями хуже аналогов (к примеру краш редстоуном), по этому вместо него использовать необходимо ИСКЛЮЧИТЕЛЬНО
LecternCrashFix - не понятно зачем указывать плагин который представляет из себя функцию вышеуказанного. Не имеет необходимости, т.к. LPX исправляет это
AntiRedstoneClock - вновь вопрос версий, однако всё же лучше чтобы и правда был, для перестраховки
5.0 ESSENTIALS ИЛИ CMI?
"Но! CMI можно настроить и сделать его более оптимизрующим."
- Нет. Нельзя.
Даже если отключить все эти модули на выходе всё равно получается медленнее чем использование Essentials.
6.0 Ищем плагины, которые нагружают нашу систему (SPARK)
Данная информация о замерах бесполезна от слова вообще. Обычный профайл без --only-ticks-over и без соблюдения определенных условий (по типу замера только во время лагов) не покажет достоверной информации о проблемых местах внутри сборки.
С тем же успехом можно просто сделать /spark profiler --stop т.к. бекграунд профайлер обычный пользователь на врядли отключит.
7.0 Общие советы
Тут в прочем проблем нет
8.0 ТЕПЕРЬ САМОЕ ИНТЕРЕСНОЕ! - ПЛАГИНЫ
Тут ошибиться было нельзя
8.1 Теперь поговорим о лишней нагрузке на спину вашего проекта.
"Если автор не обновляет плагин более 3-ёх лет или просто уже забил на него. То стоит выбрать альтернативу. Потому что необновлённые давно плагины будут некорректно работать с новой версией майнкрафт."
- Vault не обновляется более 3х лет. Должны мы искать ему замену? Зачем? В чем проблема? Проблемы нет. Стандартный пример неоднозначности, которая данную идею руинит.
"ClearLagg или LagAssist -> Зачем вам лишний груз вашему серверу, если в CMI -> schedules.yml Можно сделать чистку карты" - А можно включить логику и понять, что использовать бесполезне системы которые укоренились в массовом сознании во времена когда адекватной очистки и сохранения карты не существовало - не нужно, а вместо этого нужно просто использовать настройки ядра.
"Плагин на автосохранение мира. Допустим, забудем то что оно и так встроено в конфиг bukkit.yml
Это тоже можно сделать через CMI -> schedules.yml"
- А можно опять посмотреть на 1 пункт выше
"Авторестарт сервера. ТОЖЕ МОЖНО СДЕЛАТЬ ЧЕРЕЗ CMI -> schedules.yml" - на 2 пункта выше
9.0 Обновление плагинов на более улучшенные версии
5) MineResetLite меняем на AutoMine (лучший плагин в своём роде)
- Можно ли в AutoMine делать шахты не кубической формы? В современном можно. По этому списывать его со счетов не нужно.
6) Essentials на CMI, а если нет денег на CMI, тогда SunLight хорошая альтернатива. - А какая причина замены Essentials? "Он древний и не отвечат стандартам зумерков?" - Не подходит. Каков резон в использовании альтернатив, когда сам плагин идеально выполняет свои функции и регулярно обновляется?
7) AuctionHouse, ZAuctionhouse заменяем на более оптимизированный CrazyAuctions - ZAuctionhouse намного оптимизированнее CrazyAuctions
8) Irandomteleport ужасно лагающий плагин, меняем на BetterRTP. - Он не лагающий, если руки растут из правильного места. Подробнее:
 
Последнее редактирование модератором:
Категорически запрещается любая реклама, за исключением отведенных для этого разделов
Если мы ведем речь про 1.12.2 - безусловно Paper оптимальное решение, однако даже говоря про такую древнюю версию мы всё еще имеем такой форк как , который нельзя списывать со счетов и который является предпочтительнее пейпера за счет множества фиксов
Можно и нужно списывать со счетов. Я специально сравнил свою Эльку с вашим нахваленым Dionsys. Можешь глянуть видосики сравнения редстоуна и монстриков, которые записал на старой версии. + Новая версия и быстрее и памяти меньше жрет.

Бонусом не нужны всякие "плагины/моды на фиксы/антикрашеры" - все что откопал - реализовано на уровне ядра. Если откопается что-то еще - то так же будет исправлено на уровне ядра.

Отдельное слово про "антикрашер" - на обычном ядре если "при тике" будет ошибка - то этот тик будет пропущен, и будут микролаги. Элька максимально возможно локализует ошибку, что позволяет продолжать расчеты тика, избегая микролагов
 
Последнее редактирование:
Воу-Воу, полегче..
Отвечу на твои вопросы.
1) Ядро: Я сделал этот гайд для новичков которые делают сервера на спиготе на версии 1.16.5, я посоветовал использовать оптимально paper.
2) Ты сказал про max-auto-save-chunks-per-tick: 6. Да, я знаю что это. замедляет частоту сохранения чанков. (исправлю)
3) Про chunky ошибся да, не от 1.12.2 и выше, а от 1.13 (молодец, увидел.)
4) Анти крашер, да. Этот плагин существует. ( стоят на средних пректах ) по типу MineL..
5) BlockSyntax верно подмечено
6) CoreProtect - заблокировать команду setblock, execute | или же установить доп.защиту Opprotect или ultimateserverprotector
7) FAWE - верно подмечено, тик лимитер.
8) IllegalStack - Я сделал это руководство от версий 1.16
9) ExploitFixer - верно подмечено можно установить LPX
10) про cmi - я сказал сделать его более оптимизирующим, а не как по производительности Essentials.
11) Spark - Возможно
12) Про очистку, автосохранение, Авторестарт - в-к-у-с-о-в-щ-и-н-а
13) Так.. Плагины..
Vault правда не обновлялся 3 года ,но он же работает на новых версиях без ошибок? пропускаем.
MineResetLite - Это уже устарело. И сейчас крупные проекты используют AutoMine ( и он меньше весит ))
Essentials на CMi - Функционал
Irandomteleport - Частые баги, краши. Поэтому и посоветовал перейти на BetterRTP чтобы не париться.

Это было сделано у кого есть CMI и paper. Не надо так сердиться)
 
Последнее редактирование:
Можно и нужно списывать со счетов. Я специально сравнил свою Эльку с вашим нахваленым Dionsys. Можешь глянуть видосики сравнения редстоуна и монстриков, которые записал на старой версии. + Новая версия и быстрее и памяти меньше жрет.
Прикол в том что тут все делают школосервера и у них нет денег и возможностей переписать все плагины на fabric, а элька не поддерживает плагины (или всё же поддерживает?)
 
Essentials на CMi - Функционал
Я понимаю твоё рвение заменить всё что только возможно одним плагином, но есть ли в этом смысл когда в других (специально заточенных под определённую задачу) плагинах это реализовано банально лучше и оптимизированнее? Те же голограммы из DecentHolograms не заменит CMI (особенно когда ты скачаешь какой-нибудь плагин, который требует именно DH, а не CMI), и TAB с его огромнейшим количеством настроек и фишек не заменит CMI, и чат в других плагинах лучше реализован, и PlayerKits для наборов намного удобнее CMI. В целом, этот список можно продолжать ещё очень и очень долго

И вот тут возникает вопрос: а нужен ли весь этот функционал CMI, если и половина не используется?
 
Прикол в том что тут все делают школосервера и у них нет денег и возможностей переписать все плагины на fabric, а элька не поддерживает плагины (или всё же поддерживает?)
1) Увы фабрика нет на 1.12, иначе бы я на его основе делал ... Хотя у меня итак внесены существенные изменения в загрузчик модов, это уже не совсем forge, и чем дальше, тем больше
"нестандартных" модов будут терять поддержку. Увы такова цена более высокой производительности

2) Не сотрудничаю с школосерверами
 
4) Анти крашер, да. Этот плагин существует. ( стоят на средних пректах ) по типу MineL..
Тогда вспоминается LPX
Авто объединение сообщений:

( и он меньше весит ))
Вес плагина никак не влияет на его функционал, в MRL обфускация, по этому очевидно, что вес отличается...
 
Назад
Сверху Снизу