Оптимизация сервера Minecraft
Разбор конфигураций

Всё, что нужно знать об оптимизации сервера
Оптимизация сервера Minecraft — это важная задача для обеспечения стабильной работы и хорошего игрового опыта для игроков. Ниже представлен максимально подробный гайд по оптимизации сервера Minecraft на примере версии 1.20.4 (Ядро: Paper)
1. Ядро сервера:
Что лучше использовать?

✔️ Paper, Pufferfish, Purpur
❌ Yatopia, Airplane, Patina, Mirai, Sugarcane, JettPack, Fusion

2. Настройка server.properites:

  • network-compression-threshold: 128/256/512
Наименьшее значение увеличивает степень сжатия трафика, что может повысить нагрузку на процессор, но улучшает опыт игроков с нестабильным интернет-соединением. Если у вас ограниченный месячный трафик, лучше установить наибольшее значение.
  • enforce-secure-profile=false
  • Отключает проверку сообщений в чате, введенную в версии 1.19.1. Для полного отключения репортов рекомендуется использовать плагин AntiPopup.
  • entity-broadcast-range-percentage=75/100
Определяет, насколько близко игрок должен находиться к сущностям, чтобы сервер отправил их на рендер. Установите более низкое значение, если ваш сервер испытывает нагрузку из-за большого количества уникальных сущностей (например, на стойках для брони).
  • max-tick-time=-1
Указывает время в тиках, после которого сервер автоматически перезапустится при сильных задержках. Эта настройка частично заменяется системой WatchDog в Paper и может быть отключена.
  • use-native-transport=true
Включает оптимизированную отправку пакетов. Установите значение true, только если сервер работает на Linux. Если вы создаете модифицированный сервер, лучше оставить значение false.
  • view-distance: 2-4
Это аналог настройки no-tick чанков из Paper, которая появилась в официальном ядре. Данная настройка значительно влияет на игровой процесс.
  • simulation-distance: 4-6
Определяет чанки рядом с игроком, в которых будут происходить события. Слишком низкие значения могут негативно сказаться на работе ферм. Эта настройка также существенно влияет на игровой процесс.
  • idle-timeout: 10-20
Устанавливает время, по истечении которого бездействующий игрок будет считаться AFK сервером. Значение указывается в минутах.
  • allow-flight: false
Это не самый лучший пример реализации античита, встроенного в ядро. Рекомендуется установить отдельный плагин для античита.
  • snooper-enabled: false
Отключает отправку некоторых данных в Mojang. В новых версиях это значение нельзя отключить.
  • sync-chunk-writes=false
Отключает синхронную (однопоточную) генерацию чанков. В Paper и его форках эта опция автоматически отключена, и имеет смысл изменять значение только если ваш сервер работает на Fabric.

3. Настройка bukkit.yml:

  • query-plugins: false
  • Отключает возможность получения информации о плагинах сервера через сторонние ресурсы.

  • spawn-limits:
➖ monsters: 20 # Враждебные мобы.
➖ animals: 8 # Мирные мобы.
➖ water-animals: 3 # Водные существа (например, спруты и т.д.).
➖ water-ambient: 1 # Мелкие рыбы.
➖ axolotls: 3 # Аксолотли.
➖ water-underground-creature: 3 # Подземные спруты.
➖ ambient: 1 # Летучие мыши.
Эта настройка определяет лимиты спавна для различных групп сущностей и существенно влияет на игровой процесс!

  • period-in-ticks: 300
Указывает время в тиках, через которое сервер выгружает неактивные чанки из памяти.

  • ticks-per:
➖ animal-spawns: 400/420
➖ monster-spawn: 10/12
➖ water-spawns: 600/800
➖ axolotl-spawns: 400/600
➖ water-ambient-ambient: 600/800
➖ water-underground-creature-spawns: 400/600
➖ ambient-spawns: 1800/2200
Эти значения определяют время в тиках, через которое сервер будет спавнить указанную группу сущностей. Если вы предпочитаете более ванильный геймплей, выбирайте первые числа; если вам нужна большая производительность, выбирайте вторые.

  • autosave: 6000/16000
Устанавливает интервал автоматического сохранения данных сервера в тиках. Если сервер работает нестабильно и часто падает, лучше не изменять это значение.

4. Настройка spigot.yml:

  • mob-spawn-range: 3-4
Радиус в чанках от игрока, в котором будут спавниться мобы. Эта настройка значительно влияет на игровой процесс!

  • hanging-tick-frequency: 250
Увеличивает интервал проверки декоративных сущностей (например, стойки, рамки, картины и т.д.). Может вызывать небольшие визуальные баги у игроков.

  • restart-on-crash: false
Отключает автоматическую перезагрузку сервера в случае сбоя. Рекомендуется использовать флаги автоперезапуска с сайта flags.sh.

  • save-user-cache-on-stop-only: true

  • merge-radius:
➖ item: 4.5
➖ exp: 8.75

Радиусы в блоках, в которых одинаковые предметы и опыт будут объединяться в одну кучу.

  • netty-threads: 4 / 6
Определяет количество потоков процессора, которые сервер будет использовать для обработки трафика. Указывайте число, равное количеству доступных ядер процессора, деленному на четыре.

  • arrow-despawn-rate: 300
Время до исчезновения стрелы, выпущенной игроком, в тиках.

  • trident-despawn-rate: 600
Время до исчезновения трезубца, брошенного игроком, в тиках.

➖ hopper-amount: 3-9
➖ hopper-transfer: 8-24
➖ hopper-check: 8-24

Эти параметры настраивают работу воронок на сервере. Оптимальные значения зависят от количества игроков и воронок. Данная настройка существенно влияет на игровой процесс!

  • nerf-spawner-mobs: true
Полностью отключает ИИ у мобов, спавнящихся со спавнеров. Это полезно для крупных серверов с множеством ферм, так как значительно влияет на игровой процесс!

  • log-villager-deaths: false
Отключает запись смертей жителей в лог.

  • log-named-deaths: false
Отключает запись смертей названных сущностей (под биркой) в лог.

  • max-tnt-per-tick: 10-50
Ограничивает максимальное количество взрывов динамита за тик. Устанавливайте значение в зависимости от типа вашего сервера.

  • max-tick-time:
➖ tile: 8
➖ entity: 16
Made on
Tilda