Сервер майнкрафт лагает как исправить

Настройки сервера Майнкрафт, которые значительно улучшают производительность сервера. Гайд от Raidark по оптимизации сервера Майнкрафт.

Spigot / Paper предлагает настройки, которые значительно улучшают производительность сервера Майнкрафт. В этом руководству представлены предлагаемые значения, позволяющие получить максимальную отдачу от вашего сервера без ущерба для игрового процесса.

Содержание

  1. Предварительная генерация карты
  2. Bukkit.yml
  3. Spigot.yml
  4. Paper.yml
  5. Server.properties
  6. TPS — отставания сервера
  7. Значения TPS
  8. Ping — задержка подключения
  9. Показатели пинга

Предварительная генерация карты

Предварительная генерация карты имеет большое влияние на устранение лагов на сервере Майнкрафт. Обязательно сделайте это на своем сервере.

  1. Установите плагин WorldBorder
  2. Поставьте разумное ограничение по размерам карты
  3. Пропишите команду: /wb fill
  4. Подождите… это может занять вплоть до нескольких часов в зависимости от размера карты. В идеале это нужно делать до того, как карта будет запущена, так как это вызовет задержку.
  5. Оставьте ограничение мира, чтобы чанки больше никогда не создавались (тогда вся карта будет сразу прогружена и не будет лагов из-за прогрузки чанков).

Bukkit.yml

spawn-limits
По умолчанию: monsters: 70, animals: 10, water-animals: 15, water-ambient: 20, ambient: 15
Оптимизировано: monsters: 50, animals: 8, water-animals: 7, water-ambient: 10, ambient: 1
Влияние на производительность: Большое

➫ Хотя это не просто «количество мобов на игрока», более низкие значения означают меньшее количество мобов. Избегайте слишком низких значений, иначе нехватка мобов будет заметна. Последующие значения в данной статье помогут скрыть это уменьшение.

chunk-gc.period-in-ticks
По умолчанию: 600
Оптимизировано: 400
Влияние на производительность: Среднее

➫ Позволяет быстрее выгружать свободные чанки. Чем меньше тиков, тем выше будет показатель TPS, про который вы можете прочитать в конце этой статьи.

ticks-per.(type)-spawns
По умолчанию: monsters:1, water:1, water-ambient:1, ambient:1
Оптимизировано: monsters:5, water:11, water-ambient:21, ambient:31
Влияние на производительность: Среднее

➫ Этот параметр устанавливает, как часто (в тиках) сервер пытается породить сущности. Увеличение времени между попытками спавна не должно повлиять на игровой процесс. Смещение частоты тиков больше распределяет их по времени.

Примечание: Увеличивайте значение только в том случае, если у вас значительные потери тиков при выполнении задачи mobSpawn.

Spigot.yml

save-user-cache-on-stop-only
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Этот параметр отвечает за то, нужно ли серверу всегда хранить пользовательские данные (false) или отложить эту функцию до того момента, как сервер начнет перезапуск или выключится (true)? Это хорошая экономия TPS.

Примечание: регулярно делайте резервные копии, чтобы избежать потери данных в редких случаях фатального сбоя.

entity-activation-range
По умолчанию: animals:32, monsters:32, raiders: 48, misc:16
Оптимизировано: animals:16, monsters:24, raiders: 48, misc:8
Влияние на производительность: Среднее

➫ Существа за пределами этого диапазона будут отмечаться реже. Не устанавливайте слишком низкое значение, иначе вы можете нарушить поведение мобов (аггро, рейды и т.д.).

Примечание: Деревенских жителей следует оставлять в покое (если это возможно), чтобы защитить механику.

tick-inactive-villagers
По умолчанию: true
Оптимизировано: false
Влияние на производительность: Среднее

➫ Включение этого параметра предотвращает установку галочки для жителей за пределами диапазона активации.

Примечание: Ванильное поведение позволяет отмечать всех жителей в загруженных чанках. Включите опцию villagers-active-for-panic, чтобы спасти некоторые железные фермы от разрушения.

nerf-spawner-mobs
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Когда включено, мобы из спавнеров не будут иметь ИИ (не будут плавать/атаковать/двигаться). Это большая экономия TPS для массивных ферм мобов, но также ухудшает поведение. Плагин ограничителя фермы может быть лучшим решением.

Примечание: в Paper есть опция, позволяющая заставить мобов, получивших повреждения, прыгать/плавать. Это исправляет фермы, толкающие воду.

Paper.yml

max-auto-save-chunks-per-tick
По умолчанию: 24
Оптимизировано: 6
Влияние на производительность: Большое

➫ Сохранение мира будет происходить с замедлением сохранения чанков. Очень важная функция для современных серверов Майнкрафт.

Примечание: Ниже 6 ставить не рекомендуется, есть возможность несохранения чанков!

max-entity-collisions (в Spigot.yml в некоторых сборках)
По умолчанию: 8
Оптимизировано: 2
Влияние на производительность: Среднее

➫ Зажатые объекты (кофемолки, фермы и т.д.) будут меньше сталкиваться и потреблять меньше TPS в процессе.

grass-spread-tick-rate
По умолчанию: 1
Оптимизировано: 4
Влияние на производительность: Среднее

➫ Время (в тиках) до того, как сервер попытается разбросать траву по частям. Это не окажет влияния на геймплей большинства типов игр.

hopper.disable-move-event
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Это значительно уменьшит отставание хоппера, поскольку предотвратит вызов InventoryMoveItemEvent для КАЖДОГО слота в контейнере.

Предупреждение: Плагины, которые прослушивают InventoryMoveItemEvent, будут сломаны.

prevent-moving-into-unloaded-chunks
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Среднее

➫ Предотвращает попадание игроков в неактивный чанк. Такое происходит из-за лагов и может вызвать еще большие лаги.

use-faster-eigencraft-redstone
По умолчанию: false
Оптимизировано: true
Влияние на производительность: Большое

➫ Эта настройка сокращает анимацию и обновления работы редстоуна на 95%, при этом не ломая механизмы. Тестирование данной функции установило ускорение в 10 раз!

Server.properties

view-distance
По умолчанию: 10
Оптимизировано: 4-8
Влияние на производительность: Сильное

➫ Это самый важный параметр во всех ваших файлах, поскольку он ограничивает расстояние рендеринга чанков. Серверы с открытым миром (например, Survival) должны стремиться использовать значение 6+, но другие серверы с общим хостом, низкими характеристиками или большим количеством игроков могут использовать значение 4-5, если рендеринг чанков вызывает лаги.

TPS — отставания сервера

TPS в Майнкрафте это количество «тиков в секунду». Данный тип отставания сервера является единственным, которым может управлять владелец сервера. Все советы по оптимизации сервера, которые вы прочитали выше в статье предназначены как раз для повышения TPS.

Для сервера показатель TPS является очень важным и самое максимальное значение TPS равно 20, именно с этой скоростью он и выполняет все задачи. Например, поведение мобов, скорость роста урожая, добыча блоков и многое другое. Чем ниже будет падать TPS сервера, тем больше зависаний будет на сервере. Блоки будут выпадать с задержкой, мобы будут зависать и все в этом духе. Если TPS упадет слишком низко, это может привести даже к краху всего сервера.

Значения TPS

20.0 = Супер — Ваш сервер в идеальном состоянии.
19.9519.99 = Хорошо — Небольшие потери TPS. Почти не влияют на работу сервера.
18.519.94 = Играбельно — Есть некоторые подвисания, но особо не напрягают.
16.018.4 = Плохо — Достаточно частые подвисания, нужно искать проблемы в сервере.
<16.0 = Можете сразу создавать новый сервер…

Ping — задержка подключения

Пинг показывает, количество времени (в миллисекундах) требуемое для обработки данных игрока на сервере. Чем дальше игрок географически находится от сервера, тем дольше будет доходить данные и тем больше будет пинг. Как владелец сервера вы должны разместить свой сервер в регионе, где вы предпочитаете иметь свою базу игроков, или в регионе, который находится на близком расстоянии ко всей вашей аудитории.

Пример: Если взять хостинг с датацентром в США, а ваши игроки будут из России или других стран СНГ, тогда у всех игроков будет очень высокий пинг и у них будут задержки. Опять же если ваши игроки из России, необязательно покупать хостинг с датацентром в России, можно брать в Германии, Франции. Там достаточно играбельный пинг и многие проекты держат там сервера.

Показатели пинга

190 = Супер!
91179 = Хорошо — Могут быть неудобства во время PvP.
180299 = Плохо — Постоянные зависания во время взаимодействия с блоками/игроками/мобами.
300499 = Ужасно — Почти нереально играть.
500+ = Пора искать сервер поближе к вам.

На первый взгляд Minecraft может показаться нетребовательной игрой с довольно простой графикой. Но иногда даже владельцы мощных ПК сталкиваются с низкими показателями FPS. Чтобы устранить эту проблему, необходимо для начала определить, почему Майнкрафт лагает. В некоторых случаях для повышения производительности достаточно всего несколько простых действий. Заметно повысить FPS могут даже владельцы слабых компьютеров, но им для этого придется прибегнуть к максимальной оптимизации.

  1. Установка и настройка Optifine.
  2. Использование модов для повышения FPS.
  3. Обновление Java и выделение памяти.
  4. Установка оптимизированных ресурспаков.

Возможно, выполнение всего одного пункта позволит тебе играть в Minecraft с достаточным уровнем комфорта.

Установка и настройка Optifine

Настройки графики в стандартном Minecraft довольно ограничены, с их помощью ты сможешь изменять лишь базовые параметры. Провести более тонкую настройку поможет замечательный мод Optifine, который можно установить практически на любую версию игры.

Даже без изменения настроек Optifine зачастую увеличивает количество FPS в Minecraft в 2 раза.

После установки этого мода ты, скорее всего, заметишь значительное улучшение производительности. Если же его будет недостаточно, то всегда можно заняться тонкой настройкой. Проще всего переключить качество графики с «Детально» на «Быстро», а также уменьшить до низких значений дальность прорисовки.

Для владельцев слабых видеокарт очень полезно будет минимизировать или даже вовсе убрать сглаживание. Это можно сделать в разделе «Качество». В Майнкрафте этот параметр имеет не настолько большое влияние на качество картинки, как в большинстве других игр.

Optifine также позволяет детально настроить отображение и анимацию большинства элементов игры. Ты можешь отключить то, что для тебя не имеет большого значения. Всегда полезно убирать тени, иногда это может добавить 15-20 FPS.

Так же Optifine добавляет раздел настроек «Производительность». В нем лучше активировать все пункты, все они могут положительно повлиять на оптимизацию.

Моды для повышения FPS

Многие процессы и функции в Майнкрафте не оптимизированы, что позволяет сторонним разработчикам создавать моды, при помощи которых можно поднимать FPS. Некоторые из них хороши для ванильной версии, другие помогут тебе уменьшить количество лагов в больших сборках. Мы предлагаем список наиболее эффективных и простых в установке модификаций:

  1. VanillaFix. Главной целью этого мода является устранение вылетов, однако в некоторых случаях он также заметно повышает ФПС. При большинстве критических ошибок игра не закроется, а лишь вернется к главному меню, что порадует любителей играть с большим количеством модов.
  2. Better FPS. Мод, стабильно повышающий количество кадров даже на любых системах. Будет полезен ПвП-игрокам.
  3. TexFix. Хороший оптимизатор текстур, позволяет использовать HD-паки даже на относительно слабых ПК. Может выручить в том случае, если Майнкрафт плохо работает из-за небольшого объема оперативной памяти.
  4. Phosphor. Полезный мод, оптимизирующий освещение. В ванильной версии его результаты не очень заметны, но некоторые глобальные моды будут работать с ним в разы быстрее.
  5. FoamFix. Решение для обладателей ПК с небольшим количеством оперативной памяти.

Для максимальной эффективности ты можешь использовать сразу несколько модов. Кроме того, все они полностью совместимы с Optifine.

Обновление Java и выделение памяти

Minecraft работает по технологиям Java и потребляет не всю оперативную память, а лишь тот объем, который задан в настройках. Иногда его оказывается недостаточно, особенно если играть с большим количеством модов. Если ты играешь в Майнкрафт через лаунчеры, то изменить выделяемый объем памяти очень просто. Достаточно зайти в настройки и переместить соответствующий ползунок. Для примера скриншот из TLauncher.

Настроить выделение памяти без лаунчера можно и через панель инструментов. Для этого выполни такую последовательность действий:

  1. Нажми Windows+R на клавиатуре.
  2. В открывшемся окошке введи control.
  3. В открывшемся окне выбери пункт Java.

После этого откроется панель настроек, на которой тебе нужно перейти во вкладку Java и нажать кнопку View.

В появившемся окне можно задать выделение памяти на свое усмотрение. Это делается в столбце Runtime Parameters. В зависимости от количества ОЗУ на твоем компьютере, рекомендуется указывать такие параметры:

  • 2 Гб оперативной памяти: -Xms1024m -Xmx1024m
  • 4 Гб: -Xms2048m -Xmx2048m
  • 6 Гб: -Xms3072m -Xmx3072m
  • 8 Гб: -Xms4096m -Xmx4096m

Выделяя память для Java, оставляй свободными не менее 1 Гб, иначе появится шанс зависания Windows или вылетов игры.

Если на твоем ПК установлено более 4 Гб оперативной памяти, то лучше скачать 64-битную версию Java. Её всегда можно найти на официальном сайте.

Установка оптимизированных ресурспаков

Заменяя стандартные текстуры, ты можешь добиться заметного уменьшения количества лагов.. Ты можешь выбрать оптимизированный текстурпак или ресурспак для буста ФПС, который не только увеличит производительность, но и улучшит графику в игре. Как правило, лучше всего повышают производительность текстуры для PvP.

Для использования ресурспаков и текстурпаков в Майнкрафт тебе предварительно нужно будет установить Optifine. Поскольку этот мод сам по себе повышает FPS, ты сможешь повысить производительность более чем в два раза.

Ядро сервера

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

Какое ядро выбрать для сервера Майнкрафт:

Paper — Самое популярное серверное программное обеспечение, направленное на повышение производительности и устранение несоответствий в геймплее и механике.
Pufferfish — форк Paper, направленный на дальнейшее улучшение производительности сервера.
Purpur — форк Pufferfish, сфокусированный на возможностях и свободе кастомизации.

Вам следует держаться подальше от:

Любое платное ядро, который утверждает, что он асинхронный — 99,99% вероятность того, что это мошенничество.
Bukkit/CraftBukkit/Spigot — Крайне устаревшие в плане производительности по сравнению с другим серверным ПО, к которому у вас есть доступ.
Любой плагин/программное обеспечение, которое включает/выключает/перезагружает плагины во время выполнения.
Многие форки, расположенные ниже по течению от Pufferfish или Purpur, будут сталкиваться с нестабильностью и другими проблемами.
Если вы ищете большего прироста производительности, оптимизируйте свой сервер или инвестируйте в личный приватный форк.

Предварительная генерация карт на сервере Майнкрафт

Предварительная генерация карт — один из самых важных шагов в улучшении малобюджетного сервера. Больше всего это помогает серверам, размещенным на общем CPU/одноядерном узле, поскольку они не могут в полной мере использовать асинхронную загрузку чанков. Вы можете использовать такой плагин, как Chunky, для предварительной генерации мира. Обязательно установите границу мира, чтобы ваши игроки не генерировали новые чанки! Обратите внимание, что предварительная генерация иногда может занять несколько часов в зависимости от радиуса, который вы установите в плагине предварительной генерации.

Имейте в виду, что при использовании Paper и выше загрузка чанков не влияет на ваш tps, но скорость загрузки чанков может значительно замедлиться, если процессор вашего сервера перегружен.

Обязательно установите ванильную границу мира (/worldborder set [радиус]), так как она ограничивает некоторые функции, например, диапазон поиска карт сокровищ, что может вызвать скачки лагов.

Важно помнить, что земной мир, незер и энд  имеют отдельные границы мира, которые должны быть установлены для каждого мира. Измерение nether (нижний мир) в 8 раз меньше, чем overworld (если не изменено с помощью datapack), поэтому если вы неправильно установите размер, ваши игроки могут оказаться за границей мира!

Конфигурации

server.properties

network-compression-threshold: Хорошее значение: 256

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

purpur.yml

use-alternate-keepalive: Хорошее начальное значение: true

Вы можете включить систему альтернативного keepalive в Purpur, чтобы игроки с плохим соединением не получали тайм-ауты так часто.

Имеет известную несовместимость с TCPShield.

Включение этой функции посылает пакет keepalive раз в секунду игроку, и выбивает таймаут только если ни один из них не был отвечен в течение 30 секунд. Ответ на любой из них в любом порядке будет поддерживать соединение с игроком. Таким образом, он не будет кикать ваших игроков из-за того, что 1 пакет был потерян где-то на линии
https://purpurmc.org/docs/Configuration/#use-alternate-keepalive

Чанки

server.properties

simulation-distance:

Хорошее начальное значение: 4

Расстояние симуляции — это расстояние в чанках вокруг игрока, на котором будет тикать сервер. По сути, это расстояние от игрока, на котором будут происходить события. Это включает в себя плавку в печах, рост культур и саженцев и т. д. Это параметр, который вы хотите специально установить низким, где-то около 3 или 4, из-за существования view-distance. Это позволяет загружать больше фрагментов, не ставя на них галочки. Это эффективно позволяет игрокам видеть дальше без такого же влияния на производительность.

view-distance:

Хорошее начальное значение: 7

Это расстояние в чанках, которое будет отправлено игрокам, аналогично no-tick-view-distance из Paper. В версии 1.18 клиент теперь учитывает расстояние просмотра на стороне сервера, что приводит к появлению уродливого тумана при низком значении этого параметра.

Общее расстояние просмотра будет равно наибольшему значению между simulation-distance и view-distance. Например, если расстояние моделирования установлено на 4, а расстояние просмотра — на 12, общее расстояние, отправляемое клиенту, будет равно 12 чанкам.

spigot.yml

view-distance

Хорошее начальное значение: default

Это значение перезаписывает одно из значений server.properties, если оно не установлено по умолчанию. Вы должны оставить его по умолчанию, чтобы иметь и симуляцию, и расстояние просмотра в одном месте для более легкого управления.

paper.yml

delay-chunk-unloads-by

Хорошее начальное значение: 10

Этот параметр позволяет вам настроить, как долго чанки будут оставаться загруженными после ухода игрока. Это помогает не загружать и выгружать одни и те же чанки, когда игрок перемещается туда-сюда. Слишком высокие значения могут привести к тому, что одновременно будет загружаться слишком много кусков. Для областей, в которые часто телепортируются и загружаются, рассмотрите возможность постоянной загрузки области. Это будет легче для вашего сервера, чем постоянно загружать и выгружать чанки.

max-auto-save-chunks-per-tick

Хорошее начальное значение: 8

Позволяет замедлить инкрементное сохранение мира, распределяя задачу по времени еще больше для лучшей средней производительности. Вы можете установить значение выше 8, если на сервере более 20-30 игроков. Если инкрементное сохранение не успевает завершиться, то bukkit автоматически сохранит оставшиеся чанки  за один раз и начнет процесс заново.

prevent-moving-into-unloaded-chunks

Хорошее начальное значение: true

Когда включено, предотвращает перемещение игроков в незагруженные чанки, вызывая синхронизацию, которая перегружает основной поток, вызывая лаг. Вероятность того, что игрок наткнется на незагруженный чанк, тем выше, чем меньше расстояние просмотра.

entity-per-chunk-save-limit

Хорошие начальные значения:

	experience_orb: 16
	arrow: 16
	dragon_fireball: 3
	egg: 8 ender_pearl: 8
	eye_of_ender: 8
	fireball: 8
	small_fireball: 8
	firework_rocket: 8
	potion: 8
	llama_spit: 3
	shulker_bullet: 8
	snowball: 8
	spectral_arrow: 16
	experience_bottle: 3
	trident: 16
	wither_skull: 4
	area_effect_cloud: 8

С помощью этой записи вы можете установить ограничения на то, сколько сущностей определенного типа может быть сохранено. Вы должны установить лимит для каждого снаряда, по крайней мере, чтобы избежать проблем с сохранением огромного количества снарядов и падением сервера при их загрузке. Вы можете указать здесь любой идентификатор сущности, см. вики minecraft, чтобы найти идентификаторы сущностей. Пожалуйста, настройте лимит по своему вкусу. Рекомендуемое значение для всех снарядов — около 10. Вы также можете добавить в этот список другие сущности по названиям их типов. Этот параметр конфигурации не предназначен для того, чтобы помешать игрокам создавать большие фермы мобов.

pufferfish.yml

max-loads-per-projectile

Хорошее начальное значение: 8

Определяет максимальное количество чанков, которые сможет загрузить один объект за время своей жизни. Уменьшение уменьшит нагрузку на чанки, вызванную объектами сущностей, но может вызвать проблемы с трезубцами, эндерперлами и т. д.

Мобы

bukkit.yml

spawn-limits

Хорошее значение:

	monsters: 20
	animals: 5
	water-animals: 2
	water-ambient: 2
	water-underground-creature: 3
	axolotls: 3
	ambient: 1

Математически ограничение мобов выглядит так: [playercount] * [limit], где «playercount» — текущее количество игроков на сервере. Логично, что чем меньше число, тем меньше мобов вы увидите. per-player-mob-spawn накладывает дополнительное ограничение на это, обеспечивая равномерное распределение мобов между игроками. Снижение этого показателя — обоюдоострый меч; да, у вашего сервера будет меньше работы, но в некоторых игровых режимах естественный спаун мобов является важной частью игрового процесса. При правильной настройке диапазона спавна мобов можно довести его до 20 или меньше. Если установить меньшее расстояние спавна мобов, будет казаться, что вокруг каждого игрока больше мобов. Если вы используете Paper, вы можете установить ограничения мобов для каждого мира в файле paper.yml.

ticks-per

Хорошее значение:

	monster-spawns: 10
	animal-spawns: 400 
	ater-spawns: 400
	water-ambient-spawns: 400
	water-underground-creature-spawns: 400
	axolotl-spawns: 400
	ambient-spawns: 400

Этот параметр устанавливает, как часто (в тиках) сервер пытается спавнить определенные живые существа. Водные/амбиентные мобы не должны спавниться каждый тик, так как их обычно не убивают так быстро.

Что касается монстров: Небольшое увеличение времени между спавнами не должно повлиять на частоту спавнов даже на фермах мобов. В большинстве случаев все значения этого параметра должны быть больше 1. Установка этого значения также позволит вашему серверу лучше справляться с зонами, где спавн мобов отключен.

spigot.yml

mob-spawn-range

Хорошее начальное значение: 2

Позволяет вам уменьшить диапазон (в кусках), в котором мобы будут спауниться вокруг игрока. В зависимости от игрового режима вашего сервера и количества игроков вы можете уменьшить это значение вместе со spawn-limits в bukkit.yml. Если установить это значение ниже, вам будет казаться, что вокруг вас больше мобов. Это значение должно быть меньше или равно расстоянию обзора, и никогда не должно быть больше расстояния жесткого деспауна / 16.

entity-activation-range

Хорошее значение:

	animals: 16
	monsters: 24
	raiders: 48
	misc: 8
	water: 8
	villagers: 16
	flying-monsters: 48

Вы можете установить, на каком расстоянии от игрока должна находиться сущность, чтобы она могла тикать (выполнять действия). Уменьшение этих значений повышает производительность, но может привести к тому, что мобы не будут реагировать, пока игрок не подойдет к ним очень близко. Слишком сильное уменьшение этого параметра может привести к поломке некоторых ферм мобов; чаще всего страдают железные фермы.

entity-tracking-range

Хорошее значение:

	players: 48
	animals: 48
	monsters: 48
	misc: 32
	other: 64

Это расстояние в блоках, с которого сущности будут видны. Они просто не будут посылаться игрокам. Если установить слишком низкое значение, это может привести к тому, что мобы будут появляться из ниоткуда рядом с игроком. В большинстве случаев это значение должно быть выше, чем entity-activation-range.

tick-inactive-villagers

Хорошее значение: false

Это позволяет вам контролировать, должны ли деревенские жители быть отмечены за пределами диапазона активации. В этом случае деревенские жители будут действовать как обычно и игнорировать диапазон активации. Отключение этого параметра повысит производительность, но может запутать игроков в некоторых ситуациях. Это может вызвать проблемы с железными фермами и пополнением торговых запасов.

nerf-spawner-mobs

Хорошее начальное значение: true

Вы можете сделать так, чтобы мобы, порожденные спавнером монстров, не имели ИИ. Нерфированные мобы ничего не будут делать. Вы можете заставить их прыгать в воду, изменив spawner-nerfed-mobs-should-jump на true в paper.yml.

paper.yml

despawn-ranges

Хорошие значения:

    monster:
        soft: 30
        hard: 56
    creature:
        soft: 30
        hard: 56
    ambient:
        soft: 30
        hard: 56
    axolotls:
        soft: 30
        hard: 56
    underground_water_creature:
        soft: 30
        hard: 56
    water_creature:
        soft: 30
        hard: 56
    water_ambient:
        soft: 30
        hard: 56
    misc:
        soft: 30
        hard: 56

Позволяет настраивать расстояния деспавн сущностей (в блоках). Уменьшите эти значения, чтобы быстрее уничтожать мобов, находящихся далеко от игрока. Вы должны оставить мягкий диапазон около 30 и настроить жесткий диапазон немного больше, чем ваше фактическое расстояние в симуляции, чтобы мобы не депаунились мгновенно, когда игрок проходит чуть дальше точки загрузки чанка (это хорошо работает благодаря delay-chunk-unloads-by в paper.yml). Когда моб находится за пределами жесткого диапазона, он будет мгновенно деспауниться. Когда моб находится между мягким и жестким диапазоном, он будет деспауниться со случайным шансом. Жесткий радиус действия должен быть больше мягкого. Вы должны настроить его в соответствии с расстоянием просмотра, используя (simulation-distance * 16) + 8. Это частично учитывает чанки, которые еще не были выгружены после посещения их игроком.

per-player-mob-spawns

Начальное значение: true

Эта опция определяет, должны ли спавны мобов учитывать, сколько мобов уже находится рядом с игроком. Вы сможете обойти множество проблем, связанных с непоследовательным спауном мобов из-за того, что игроки создают фермы, которые занимают весь mobcap. Это обеспечит более схожий с одиночной игрой опыт спавна, позволяя вам устанавливать более низкие spawn-limits. Включение этой функции незначительно влияет на производительность, однако это влияние затмевается улучшением spawn-limits.

max-entity-collisions

Хорошее начальное значение: 2

Перезаписывает одноименную опцию в spigot.yml. Она позволяет вам решить, сколько столкновений может обработать одна сущность за один раз. Значение 0 приведет к невозможности толкать другие сущности, включая игроков. Значения 2 должно быть достаточно в большинстве случаев. Стоит отметить, что геймерулу maxEntityCramming станет бесполезным, если его значение превысит значение этого параметра.

update-pathfinding-on-block-update

Хорошее начальное значение: false

Отключение этой опции приведет к тому, что поиск пути будет выполняться реже, что увеличит производительность. В некоторых случаях это приведет к тому, что мобы будут выглядеть более лаговыми; они будут просто пассивно обновлять свой путь каждые 5 тиков (0,25 сек).

fix-climbing-bypassing-cramming-rule

Хорошее начальное значение: true

Включение этого параметра исправит то, что сущности не будут затронуты краммингом при лазании. Это предотвратит образование абсурдного количества мобов в небольших пространствах, даже если они карабкаются (пауки).

armor-stands-tick

Хорошее начальное значение: false

В большинстве случаев можно смело устанавливать значение false. Если вы используете подставки для брони или какие-либо плагины, изменяющие их поведение, и у вас возникли проблемы, включите его снова. Это предотвратит столкновение подставок с водой или влияние гравитации.

armor-stands-do-collision-entity-lookups

Хорошее начальное значение: false

Здесь вы можете отключить столкновения подставок. Это поможет, если у вас много подставок и вам не нужно, чтобы они сталкивались с чем-либо.

tick-rates

Хорошие значения:

      sensor:
        villager:
          secondarypoisensor: 80
          nearestbedsensor: 80
          villagerbabiessensor: 40
          playersensor: 40
          nearestlivingentitysensor: 40
      behavior:
        villager:
          validatenearbypoi: 60
          acquirepoi: 120

Это определяет, как часто в тиках запускаются заданные модели поведения и датчики. acquirepoi для сельских жителей кажется самым тяжелым поведением, поэтому он был значительно увеличен. Уменьшите его в случае проблем с тем, что жители не могут найти дорогу.

Не рекомендуется изменять эти значения по умолчанию, пока включен DAB Pufferfish (параметр в файле pufferfish.yml)!

pufferfish.yml

dab

Хорошее начальное значение: true

DAB (динамическая активация мозга) уменьшает количество галочек, тем больше, чем дальше объект находится от игроков. DAB работает по градиенту, а не по жесткому пределу, как EAR. Вместо того, чтобы полностью тикать близкие сущности и едва тикать дальние, DAB уменьшает количество тиков сущности, основываясь на результатах вычислений, на которые влияет activation-dist-mod (параметр в файле pufferfish.yml).

max-tick-freq

Хорошее начальное значение: 20

Определяет, насколько медленно будут тикать самые дальние от игроков сущности. Увеличение этого значения может улучшить работу сущностей, находящихся далеко от игроков, но может разрушить фермы или сильно ухудшить поведение мобов. Если включение DAB разрушает фермы мобов, попробуйте уменьшить это значение.

activation-dist-mod

Хорошее начальное значение: 7

Управляет градиентом, в котором мобы получают галочку. Уменьшение этого параметра активирует DAB ближе к игрокам, улучшая прирост производительности DAB, но влияет на взаимодействие существ с окружением и может нарушить фермы мобов. Если включение DAB нарушает фермы мобов, попробуйте увеличить это значение.

purpur.yml

aggressive-towards-villager-when-lagging

Хорошее начальное значение: false

Включение этого параметра заставит зомби перестать нападать на жителей деревень, если сервер находится ниже порога tps, установленного в параметре lagging-threshold в purpur.yml.

entities-can-use-portals

Начальное значение: false

Эта опция может отключить использование порталов всеми сущностями, кроме игрока. Это не позволит сущностям загружать куски, меняя миры, что обрабатывается в главном потоке. Побочным эффектом является то, что сущности не могут проходить через порталы.

villager.brain-ticks

Хорошее начальное значение: 2

Этот параметр позволяет установить, как часто (в тиках) будут тикать мозги сельских жителей (работа и пои). Если значение больше 3, то подтверждено, что жители будут непоследовательными и глючными.

villager.lobotomize

Хорошее начальное значение: true

Жители лишаются своего ИИ и пополняют запасы предложений только время от времени. Включение этого параметра приведет к лоботомии жителей, которые не могут найти путь к месту назначения. Освобождение их разблокирует их.

Эту функцию следует включать только в том случае, если жители вызывают лаг! В противном случае проверка поиска пути может снизить производительность.

Другие настройки оптимизации сервера Майнкрафт

spigot.yml

merge-radius

Хорошие параметры:

	item: 3.5
	exp: 4.0

Этот параметр определяет расстояние между объединяемыми предметами и эксп-орбами, уменьшая количество предметов на земле. Слишком высокое значение этого параметра приведет к иллюзии исчезновения предметов или сфер экспы при их слиянии. Слишком высокое значение приведет к поломке некоторых ферм, а также позволит предметам телепортироваться через блоки. Нет никаких проверок, чтобы предотвратить слияние предметов через стены. Exp сливаются только при создании.

hopper-transfer

Хорошее начальное значение: 8

Время в тиках, которое воронки будут ждать, чтобы переместить предмет. Увеличение этого параметра поможет повысить производительность, если на вашем сервере много хопперов, но при слишком высоком значении нарушит часы на основе воронок и, возможно, системы сортировки предметов.

hopper-check

Хорошее начальное значение: 8

Время в тиках между проверкой бункеров на наличие предмета над ними или в инвентаре над ними. Увеличение этого значения повысит производительность, если на вашем сервере много бункеров, но нарушит часы на основе бункеров и системы сортировки предметов, полагающиеся на потоки воды.

paper.yml

alt-item-despawn-rate

Хорошие параметры:

enabled: true
      items:
          COBBLESTONE: 300
          NETHERRACK: 300
          SAND: 300
          RED_SAND: 300
          GRAVEL: 300
          DIRT: 300
          GRASS: 300
          PUMPKIN: 300
          MELON_SLICE: 300
          KELP: 300
          BAMBOO: 300
          SUGAR_CANE: 300
          TWISTING_VINES: 300
          WEEPING_VINES: 300
          OAK_LEAVES: 300
          SPRUCE_LEAVES: 300
          BIRCH_LEAVES: 300
          JUNGLE_LEAVES: 300
          ACACIA_LEAVES: 300
          DARK_OAK_LEAVES: 300
          CACTUS: 300
          DIORITE: 300
          GRANITE: 300
          ANDESITE: 300
          SCAFFOLDING: 600

Этот список позволяет установить альтернативное время (в тиках) для деспауна определенных типов выпавших предметов быстрее или медленнее, чем по умолчанию. Этот параметр можно использовать вместо плагинов очистки предметов вместе с merge-radius для повышения производительности.

use-faster-eigencraft-redstone

Хорошее начальное значение: true

При включении этой опции система редстоуна заменяется более быстрой и альтернативной версией, которая уменьшает избыточные обновления блоков, снижая объем работы, которую приходится выполнять вашему серверу. Включение этой функции может значительно повысить производительность, не внося при этом несоответствий в игровой процесс. Включение этой функции даже исправит некоторые несоответствия красного камня из craftbukkit.

disable-move-event

Хорошее начальное значение: false

InventoryMoveItemEvent не срабатывает, если нет плагина, активно слушающего это событие. Это означает, что вы должны установить значение true, только если у вас есть такой плагин (ы) и вас не беспокоит, что они не могут действовать на это событие. Не устанавливайте значение true, если вы хотите использовать плагины, которые слушают это событие, например, плагины защиты!

ignore-occluding-blocks

Хорошее начальное значение: true

Определяет, будут ли бункеры игнорировать контейнеры внутри полных блоков, например, бункер-минекарта внутри блока с песком или гравием. Если эта опция включена, это приведет к поломке некоторых устройств, зависящих от такого поведения.

mob-spawner-tick-rate

Хорошее начальное значение: 2

Эта опция позволяет настроить частоту тиканья спавнеров. Более высокие значения означают меньшее отставание, если у вас много спавнеров, хотя если установить слишком высокое значение (относительно задержки спавнеров), скорость спавна мобов снизится.

optimize-explosions

Хорошее начальное значение: true

Установка этого значения в true заменяет ванильный алгоритм взрыва на более быстрый, ценой небольшой неточности при расчете урона от взрыва. Обычно это незаметно.

enable-treasure-maps

Хорошее начальное значение: false

Генерирование карт сокровищ очень дорого и может привести к зависанию сервера, если структура, которую он пытается найти, находится за пределами вашего предварительно сгенерированного мира. Безопасно включать эту функцию только в том случае, если вы предварительно сгенерировали свой мир и установили границы ванильного мира.

treasure-maps-return-already-discovered

Хорошее начальное значение: true

Значение по умолчанию этой опции заставляет вновь сгенерированные карты искать неисследованные структуры, которые обычно находятся за пределами вашей предварительно сгенерированной местности. Установка значения true заставляет карты вести к ранее обнаруженным структурам. Если вы не установите это значение в true, вы можете столкнуться с зависанием или падением сервера при генерации новых карт сокровищ.

grass-spread-tick-rate

Хорошее начальное значение: 4

Время в тиках между попытками сервера распространить траву или мицелий. Благодаря этому большие участки грязи будут превращаться в траву или мицелий немного дольше. Если вы хотите уменьшить это значение без заметного уменьшения скорости распространения, установите его около 4.

container-update-tick-rate

Хорошее начальное значение: 1

Время в тиках между обновлениями контейнеров. Увеличение этого параметра может помочь, если обновление контейнеров вызывает у вас проблемы (такое случается редко), но облегчает игрокам десинхронизацию при взаимодействии с инвентарем (призрачные предметы).

non-player-arrow-despawn-rate

Хорошее начальное значение: 20

Время в тиках, по истечении которого стрелы, выпущенные мобами, должны исчезать после попадания во что-то. Игроки все равно не могут их подбирать, поэтому можно установить значение 20 (1 секунда).

creative-arrow-despawn-rate

Хорошее начальное значение: 20

Время в тиках, по истечении которого стрелы, выпущенные игроками в творческом режиме, должны исчезать после попадания во что-то. Игроки все равно не могут их подбирать, поэтому можно установить значение 20 (1 секунда).

purpur.yml

disable-treasure-searching

Хорошее начальное значение: true

Предотвращает выполнение дельфинами поиска структур, аналогичных картам сокровищ.

teleport-if-outside-border

Хорошее начальное значение: true

Позволяет телепортировать игрока к мировому респауну, если он оказался за границей мира. Полезно, поскольку ванильную границу мира можно обойти, а урон, наносимый ею игроку, можно смягчить.

Помощники в оптимизации сервера Майнкрафт

paper.yml

anti-xray

Хорошее начальное значение: true

Включите эту опцию, чтобы скрыть руды от рентгеновских лучей. Для детальной настройки этой функции ознакомьтесь с рекомендуемыми настройками Stonar96. Включение этой функции действительно снизит производительность, однако она гораздо эффективнее, чем любой плагин анти-ксрей. В большинстве случаев влияние на производительность будет незначительным.

remove-corrupt-tile-entities

Хорошее начальное значение: true

Измените значение на true, если ваша консоль засыпана ошибками, связанными с сущностями тайлов. Это приведет к удалению всех тайловых сущностей, вызывающих ошибку, вместо того, чтобы игнорировать ее. Если вы часто получаете предупреждения о тайловых сущностях, выясните, почему они ломаются. Это не является решением основной проблемы.

nether-ceiling-void-damage-height

Хорошее начальное значение: 127

Если этот параметр больше 0, игроки, находящиеся выше заданного уровня y, будут получать повреждения, как если бы они находились в пустоте. Это не позволит игрокам использовать крышу нетча. Ванильная пустота имеет высоту 128 блоков, поэтому лучше установить значение 127. Если вы каким-либо образом изменяете высоту незера, вам следует установить значение [your_nether_height] — 1.

Флаги запуска Java для оптимизации сервера Майнкрафт

Ванильный Minecraft и серверное программное обеспечение Minecraft в версии 1.18 требуют Java 17 или выше. Oracle изменила лицензирование, и больше нет веских причин получать java от них. Рекомендуемые поставщики — Amazon Corretto и Adoptium. Альтернативные реализации JVM, такие как OpenJ9 или GraalVM, могут работать, однако они не поддерживаются бумагой и, как известно, вызывают проблемы, поэтому в настоящее время они не рекомендуются.

Ваш сборщик мусора может быть настроен для уменьшения скачков задержки, вызванных большими задачами сборщика мусора. Вы можете найти флаги запуска, оптимизированные для серверов Minecraft, здесь SOG. Имейте в виду, что эта рекомендация не будет работать на альтернативных реализациях jvm.

Плагины «слишком хороши, чтобы быть правдой»

Плагины, удаляющие наземные предметы (дроп)

Абсолютно не нужны, поскольку их можно заменить merge radius и alt-item-despawn-rate, и, честно говоря, они менее настраиваемы, чем основные конфигурации сервера. Они используют больше ресурсов для сканирования и удаления предметов, чем для того, чтобы не удалять предметы вообще.

Плагины для стакования мобов

Очень трудно оправдать его использование. Стакование естественно заспавнившихся существ вызывает больше лагов, чем отсутствие их вообще, из-за того, что сервер постоянно пытается спавнить больше мобов. Единственный «приемлемый» вариант использования — это спавнеры на серверах с большим количеством спавнеров.

Плагины, включающие/выключающие другие плагины

Все, что включает или отключает плагины во время выполнения, крайне опасно. Загрузка такого плагина может вызвать фатальные ошибки с данными отслеживания, а отключение плагина может привести к ошибкам из-за удаления зависимости. Команда /reload страдает от точно таких же проблем, и вы можете прочитать о них подробнее в статье блога me4502

Что такое лаги? — измерение производительности на сервере Майнкрафт

mspt

Paper предлагает команду /mspt, которая сообщит вам, сколько времени потребовалось серверу для расчета последних тиков. Если первое и второе значение, которое вы видите, меньше 50, то поздравляем! Ваш сервер не отстает! Если третье значение больше 50, это означает, что по крайней мере один тик занял больше времени. Это совершенно нормально и случается время от времени, так что не паникуйте.

timings

Отличный способ узнать, что может происходить, когда ваш сервер отстает, — это тайминги. Тайминги — это инструмент, позволяющий увидеть, какие задачи занимают больше всего времени. Это самый базовый инструмент поиска и устранения неполадок, и если вы обратитесь за помощью по поводу задержек, вас, скорее всего, попросят предоставить тайминги.

Чтобы получить тайминги вашего сервера, достаточно выполнить команду /timings paste и перейти по ссылке, которую вам предоставят. Вы можете поделиться этой ссылкой с другими людьми, чтобы они могли помочь вам. Также легко ошибиться, если вы не знаете, что делаете. Существует подробный видеоурок от Aikar о том, как их читать:

spark

Spark — это плагин, который позволяет вам профилировать использование процессора и памяти ваших серверов. О том, как его использовать, вы можете прочитать на его вики. Здесь также есть руководство о том, как найти причину скачков задержки.

Понравилась статья? Поделить с друзьями:
  • Сервер гис нр недоступен error 407
  • Сервер временно недоступен попробуйте обновить страницу как исправить
  • Сервер возвратил ссылку windows 10 как исправить
  • Сервер возвратил непредвиденную ошибку 1632 при попытке установки пакета 1с
  • Сервер возвратил непредвиденную ошибку 1624 при попытке установки пакета 1с