Дополнительно
Добавить в закладкиSUNKEM_1
Местный
Знакомо? запускаешь сервер, всё летает, но когда подключаются игроки - начинаются лаги, телепорты и вечное "почему тормозит?".
Всё упирается в TPS (Ticks Per Second) - главный показатель сервера.
Давай разберём, как выжать из Purpur максимум, даже на слабом железе.
Что даёт переход?
spigot.yml
paper.yml
purpur.yml
Обязательные плагины:
Вот проверенные флаги от Aikar (адаптировано под Purpur):
Что это даёт:
server.properties
Плагины контроля:
Не запускай сервер вслепую!
В игре:
Что смотреть:
P.S. Всегда тестируй настройки на тестовом сервере перед применением на основном!
Всё упирается в TPS (Ticks Per Second) - главный показатель сервера.
Давай разберём, как выжать из Purpur максимум, даже на слабом железе.
Почему именно Purpur?
Purpur — это форк Paper с уклоном в производительность и кастомизацию.
Что даёт переход?
- Прирост FPS и TPS compared to Paper/Spigot
- Тонкая настройка через `purpur.yml`
- Отключение тяжёлых механик без потери геймплея
- Оптимизации "из коробки"
Совет: Если всё ещё на Spigot - переход на Purpur даст +10-20% к производительности сразу!
Оптимизация конфигов
spigot.yml
YAML:
entity-activation-range:
animals: 12
monsters: 20
raiders: 32
misc: 6
tick-inactive-villagers: false
merge-radius:
item: 3.5
exp: 4.0
Уменьшаем радиус активации мобов - меньше нагрузка на CPU
paper.yml
YAML:
optimize-explosions: true
mob-spawn-range: 3
max-auto-save-chunks-per-tick: 6
delay-chunk-unloads-by: 20s
Взрывы не просаживают TPS, мобы спавнятся ближе
purpur.yml
YAML:
entities:
villager:
lobotomize:
enabled: true
tick:
armor-stands-tick: false
gameplay-mechanics:
disable-pet-move-to-owner: true
"Лоботомия" деревенеющих жителей экономит до 30% CPU! Стойки брони не тикают.
Убираем мусор и лишнюю нагрузку
Обязательные плагины:
- ClearLag - автоочистка предметов каждые 10 минут
- FarmLimiter - лимит мобов в чанках (не больше 20 животных)
- Spark - профилирование и поиск узких мест
- Chunky - предзагрузка мира без лагов
Важно: Не ставь супер-агрессивную очистку - игроки потеряют лут!
JVM-флаги - сердце оптимизации
Вот проверенные флаги от Aikar (адаптировано под Purpur):
Bash:
java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true -jar purpur.jar nogui
Что это даёт:
- Плавный GC без просадок
- Эффективное использование RAM
- Быстрая загрузка чанков
Ограничиваем игроков и мир
server.properties
YAML:
view-distance=6
simulation-distance=5
max-entity-collisions=2
Каждое уменьшение `view-distance` на 1 даёт + ~5% к TPS!
Плагины контроля:
- AntiRedstoneClock - блокирует редстоун-лаги
- VillagerOptimiser - оптимизирует торговлю
- LimitPillagers - ограничивает рейды
Мониторим и следим
Не запускай сервер вслепую!
В игре:
- /spark profiler start
- /spark profiler stop
Что смотреть:
- TPS - должен быть 20.0
- MSPT - не больше 50ms
- Entity count - не больше 2000 на мир
- Chunk loads - резкие скачки = проблема
Итог - чек-лист оптимизации
- Перешёл на Purpur
- Настроил entity-activation-range
- Включил lobotomize для жителей
- Поставил Spark и ClearLag
- Используешь флаги Aikar
- Уменьшил view-distance до 6
- Настроил мониторинг
Даже VPS за 5$ в месяц сможет держать 20+ игроков без лагов, если всё правильно настроить. Главное - не переборщить с оптимизацией там, где это влияет на геймплей.
P.S. Всегда тестируй настройки на тестовом сервере перед применением на основном!