Jump to content
В разделе "Гайды" запрещено задавать вопросы по Майнкрафту.

[ГАЙД] Оптимизация вашего сервера


K.Devyan
 Share

Recommended Posts

11 posts in this topic

Ядро сервера

Ваш выбор серверного программного обеспечения может иметь огромное значение для производительности и возможностей 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 - это плагин, который позволяет вам профилировать использование процессора и памяти ваших серверов. О том, как его использовать, вы можете прочитать на его вики. Здесь также есть руководство о том, как найти причину скачков задержки.

Link to comment
Share on other sites

11 минут назад, Только уважение и музыка сказал:

нашелся умный
откуда я должен знать что такое ФОРК и что такое ТИМИНГС

Я по таймингам целый видос вставил, ты о чем?)

Link to comment
Share on other sites

4 минуты назад, Только уважение и музыка сказал:

там на английском

Ну если ты лезешь в сервера, которые на 100% состоят из английского. То уж не знаю что ты сделаешь. К тому-же яндекс придумал сервис для перевода видео, если так приспичит

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...

Спасибо большое за статью, у меня проблемы с английским, и дабы в разы уменьшить мои мучения мне просто крайне важно было найти эту статью. ОГРОМНОЕ спасибо, очень помог!💚

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...