Оптимизация сервера — это как попытка заставить кота петь арию: вроде бы возможно, но требует терпения, навыков и чуть-чуть магии. Если сервер хороший, игрокам приятно играть, а если игрокам приятно играть — значит, оптимизация удалась! Сегодня мы с вами разберём, как превратить ваш сервер из тормозящего динозавра в шуструю космическую ракету, которая взлетит выше всех лагов и задержек.
Начнём с того, что если вы всё ещё цепляетесь за старенький Spigot, пора расстаться с ним как с надоевшими носками и перейти на Paper — ядро посвежее и функциональнее.
Представьте себе: Spigot — это бабушкин советский автомобиль, а Paper — современный электрокар с автопилотом. Мы будем ковыряться в трёх файлах конфигурации: spigot.yml, bukkit.yml и paper.yml. Да-да, звучит страшно, но это всё равно что разбирать двигатель велосипеда — сначала страшно, потом интересно.
В spigot.yml есть параметр save-user-cache-on-stop-only. Включив его (ставим true), вы говорите серверу не сохранять данные игроков каждую секунду — экономия ресурсов налицо!
Но будьте осторожны: если вдруг сервер решит устроить внезапный выход в реальный мир (то есть краш), данные могут улететь в никуда. Резервные копии тут как страховка от попадания на ремонт без денег.
Дальше идёт entity-activation-range — этот параметр регулирует расстояние, на котором мобы просыпаются от дремоты и начинают буянить.
Слишком далеко — нагрузка растёт; слишком близко — скучно игрокам. Оптимальные значения: животные 16 блоков (чтобы коровы не устраивали ночные дискотеки), монстры 24 (чтобы зомби не прыгали вам на голову из соседнего леса), рейдеры 48 (пусть готовятся к атаке заранее), остальные сущности 8.
Если увеличить merge-radius до разумных цифр (4 для предметов и 6 для опыта), то все разбросанные шмотки будут собираться вместе словно школьники у столовой во время перемены — меньше мусора на земле и меньше тикающих объектов.
Для тех, кто любит спавнеры мобов (ведь кто не любит немножко хаоса?), есть nerf-spawner-mobs.
Установите его в true — тогда спавненные мобы будут ленивыми без ИИ. Это как если бы ваши враги решили взять отпуск прямо во время битвы.
mob-spawn-range уменьшайте до 6 — чтобы мобы появлялись только там, где их действительно ждут игроки. Стрелы лучше делать исчезающими быстрее: arrow-despawn-rate рекомендуем поставить 300 тиков (~15 секунд). Представьте стрелу как гостя на вечеринке: пришёл, пострелялся и ушёл быстро, чтобы не загромождать пространство.
А вот item-despawn-rate убирает валяющиеся предметы через 4000 тиков вместо стандартных 6000.
Потому что чем меньше хлама под ногами — тем легче дышать вашему серверу.
spawn-limits регулируют количество мобов на игрока так же аккуратно, как мама следит за количеством сладостей у ребёнка: животных максимум восемь (чтобы ферма не превратилась в зоопарк), монстров пятьдесят (чтоб было весело), водных животных три и так далее.
chunk-gc отвечает за выгрузку пустых чанков; уменьшив его значение до 400 вместо стандартных 600 вы скажете серверу «Пора отдыхать!» чуть раньше и освободите ресурсы для более важных задач.
max-auto-save-chunks-per-tick снижайте до восьми – иначе сервер может замереть от переизбытка заботы о сохранении мира. Помните: даже серверам нужна передышка!
optimize-explosions включайте обязательно! Это как дать вашему серверу бронежилет против взрывов TNT или злых криперов.