- Поддерживаемые версии
-
- 1.12.2
ПодготовкаЯдро сервераВаш выбор серверного программного обеспечения может иметь огромное значение для производительности и возможностей API. В настоящее время существует множество жизнеспособных популярных ядер для сервера, но есть и несколько, от которых лучше держаться подальше по разным причинам.Какое ядро выбрать для сервера Майнкрафт:
Вам следует держаться подальше от:
Предварительная генерация карт на сервере МайнкрафтПредварительная генерация карт — один из самых важных шагов в улучшении малобюджетного сервера. Больше всего это помогает серверам, размещенным на общем CPU/одноядерном узле, поскольку они не могут в полной мере использовать асинхронную загрузку чанков. Вы можете использовать такой плагин, как Chunky, для предварительной генерации мира. Обязательно установите границу мира, чтобы ваши игроки не генерировали новые чанки! Обратите внимание, что предварительная генерация иногда может занять несколько часов в зависимости от радиуса, который вы установите в плагине предварительной генерации.Имейте в виду, что при использовании Paper и выше загрузка чанков не влияет на ваш tps, но скорость загрузки чанков может значительно замедлиться, если процессор вашего сервера перегружен. Обязательно установите ванильную границу мира (/worldborder set [радиус]), так как она ограничивает некоторые функции, например, диапазон поиска карт сокровищ, что может вызвать скачки лагов. Важно помнить, что земной мир, незер и энд имеют отдельные границы мира, которые должны быть установлены для каждого мира. Измерение nether (нижний мир) в 8 раз меньше, чем overworld (если не изменено с помощью datapack), поэтому если вы неправильно установите размер, ваши игроки могут оказаться за границей мира! Конфигурацииserver.propertiesnetwork-compression-threshold: Хорошее значение: 256Это позволяет установить предельный размер пакета перед тем, как сервер попытается его сжать. Установка большего значения может сэкономить некоторые ресурсы процессора за счет пропускной способности, а установка значения -1 отключает эту функцию. Установка большего значения также может навредить клиентам с медленным сетевым соединением. Если ваш сервер находится в сети с прокси-сервером или на той же машине (с пингом менее 2 мс), отключение этого параметра (-1) будет полезно, так как скорость внутренней сети обычно может справиться с дополнительным несжатым трафиком. purpur.ymluse-alternate-keepalive: Хорошее начальное значение: trueВы можете включить систему альтернативного keepalive в Purpur, чтобы игроки с плохим соединением не получали тайм-ауты так часто. Имеет известную несовместимость с TCPShield. Включение этой функции посылает пакет keepalive раз в секунду игроку, и выбивает таймаут только если ни один из них не был отвечен в течение 30 секунд. Ответ на любой из них в любом порядке будет поддерживать соединение с игроком. Таким образом, он не будет кикать ваших игроков из-за того, что 1 пакет был потерян где-то на линии ~ https://purpurmc.org/docs/Configuration/#use-alternate-keepalive Чанкиserver.propertiessimulation-distance:Хорошее начальное значение: 4Расстояние симуляции — это расстояние в чанках вокруг игрока, на котором будет тикать сервер. По сути, это расстояние от игрока, на котором будут происходить события. Это включает в себя плавку в печах, рост культур и саженцев и т. д. Это параметр, который вы хотите специально установить низким, где-то около 3 или 4, из-за существования view-distance. Это позволяет загружать больше фрагментов, не ставя на них галочки. Это эффективно позволяет игрокам видеть дальше без такого же влияния на производительность. view-distance:Хорошее начальное значение: 7Это расстояние в чанках, которое будет отправлено игрокам, аналогично no-tick-view-distance из Paper. В версии 1.18 клиент теперь учитывает расстояние просмотра на стороне сервера, что приводит к появлению уродливого тумана при низком значении этого параметра. Общее расстояние просмотра будет равно наибольшему значению между simulation-distance и view-distance. Например, если расстояние моделирования установлено на 4, а расстояние просмотра — на 12, общее расстояние, отправляемое клиенту, будет равно 12 чанкам. spigot.ymlview-distanceХорошее начальное значение: defaultЭто значение перезаписывает одно из значений server.properties, если оно не установлено по умолчанию. Вы должны оставить его по умолчанию, чтобы иметь и симуляцию, и расстояние просмотра в одном месте для более легкого управления. paper.ymldelay-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.ymlmax-loads-per-projectileХорошее начальное значение: 8Определяет максимальное количество чанков, которые сможет загрузить один объект за время своей жизни. Уменьшение уменьшит нагрузку на чанки, вызванную объектами сущностей, но может вызвать проблемы с трезубцами, эндерперлами и т. д. Мобыbukkit.ymlspawn-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 water-spawns: 400 water-ambient-spawns: 400 water-underground-creature-spawns: 400 axolotl-spawns: 400 ambient-spawns: 400 Этот параметр устанавливает, как часто (в тиках) сервер пытается спавнить определенные живые существа. Водные/амбиентные мобы не должны спавниться каждый тик, так как их обычно не убивают так быстро. Что касается монстров: Небольшое увеличение времени между спавнами не должно повлиять на частоту спавнов даже на фермах мобов. В большинстве случаев все значения этого параметра должны быть больше 1. Установка этого значения также позволит вашему серверу лучше справляться с зонами, где спавн мобов отключен. spigot.ymlmob-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.ymldespawn-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.ymldabХорошее начальное значение: trueDAB (динамическая активация мозга) уменьшает количество галочек, тем больше, чем дальше объект находится от игроков. DAB работает по градиенту, а не по жесткому пределу, как EAR. Вместо того, чтобы полностью тикать близкие сущности и едва тикать дальние, DAB уменьшает количество тиков сущности, основываясь на результатах вычислений, на которые влияет activation-dist-mod (параметр в файле pufferfish.yml). max-tick-freqХорошее начальное значение: 20Определяет, насколько медленно будут тикать самые дальние от игроков сущности. Увеличение этого значения может улучшить работу сущностей, находящихся далеко от игроков, но может разрушить фермы или сильно ухудшить поведение мобов. Если включение DAB разрушает фермы мобов, попробуйте уменьшить это значение. activation-dist-modХорошее начальное значение: 7Управляет градиентом, в котором мобы получают галочку. Уменьшение этого параметра активирует DAB ближе к игрокам, улучшая прирост производительности DAB, но влияет на взаимодействие существ с окружением и может нарушить фермы мобов. Если включение DAB нарушает фермы мобов, попробуйте увеличить это значение. purpur.ymlaggressive-towards-villager-when-laggingХорошее начальное значение: falseВключение этого параметра заставит зомби перестать нападать на жителей деревень, если сервер находится ниже порога tps, установленного в параметре lagging-threshold в purpur.yml. entities-can-use-portalsНачальное значение: falseЭта опция может отключить использование порталов всеми сущностями, кроме игрока. Это не позволит сущностям загружать куски, меняя миры, что обрабатывается в главном потоке. Побочным эффектом является то, что сущности не могут проходить через порталы. villager.brain-ticksХорошее начальное значение: 2Этот параметр позволяет установить, как часто (в тиках) будут тикать мозги сельских жителей (работа и пои). Если значение больше 3, то подтверждено, что жители будут непоследовательными и глючными. villager.lobotomizeХорошее начальное значение: trueЖители лишаются своего ИИ и пополняют запасы предложений только время от времени. Включение этого параметра приведет к лоботомии жителей, которые не могут найти путь к месту назначения. Освобождение их разблокирует их. Эту функцию следует включать только в том случае, если жители вызывают лаг! В противном случае проверка поиска пути может снизить производительность. Другие настройки оптимизации сервера Майнкрафтspigot.ymlmerge-radiusХорошие параметры:item: 3.5 exp: 4.0 Этот параметр определяет расстояние между объединяемыми предметами и эксп-орбами, уменьшая количество предметов на земле. Слишком высокое значение этого параметра приведет к иллюзии исчезновения предметов или сфер экспы при их слиянии. Слишком высокое значение приведет к поломке некоторых ферм, а также позволит предметам телепортироваться через блоки. Нет никаких проверок, чтобы предотвратить слияние предметов через стены. Exp сливаются только при создании. hopper-transferХорошее начальное значение: 8Время в тиках, которое воронки будут ждать, чтобы переместить предмет. Увеличение этого параметра поможет повысить производительность, если на вашем сервере много хопперов, но при слишком высоком значении нарушит часы на основе воронок и, возможно, системы сортировки предметов. hopper-checkХорошее начальное значение: 8Время в тиках между проверкой бункеров на наличие предмета над ними или в инвентаре над ними. Увеличение этого значения повысит производительность, если на вашем сервере много бункеров, но нарушит часы на основе бункеров и системы сортировки предметов, полагающиеся на потоки воды. paper.ymlalt-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Хорошее начальное значение: falseInventoryMoveItemEvent не срабатывает, если нет плагина, активно слушающего это событие. Это означает, что вы должны установить значение 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.ymldisable-treasure-searchingХорошее начальное значение: trueПредотвращает выполнение дельфинами поиска структур, аналогичных картам сокровищ. teleport-if-outside-borderХорошее начальное значение: trueПозволяет телепортировать игрока к мировому респауну, если он оказался за границей мира. Полезно, поскольку ванильную границу мира можно обойти, а урон, наносимый ею игроку, можно смягчить. Помощники в оптимизации сервера Майнкрафтpaper.ymlanti-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Что такое лаги? — измерение производительности на сервере МайнкрафтmsptPaper предлагает команду /mspt, которая сообщит вам, сколько времени потребовалось серверу для расчета последних тиков. Если первое и второе значение, которое вы видите, меньше 50, то поздравляем! Ваш сервер не отстает! Если третье значение больше 50, это означает, что по крайней мере один тик занял больше времени. Это совершенно нормально и случается время от времени, так что не паникуйте.timingsОтличный способ узнать, что может происходить, когда ваш сервер отстает, — это тайминги. Тайминги — это инструмент, позволяющий увидеть, какие задачи занимают больше всего времени. Это самый базовый инструмент поиска и устранения неполадок, и если вы обратитесь за помощью по поводу задержек, вас, скорее всего, попросят предоставить тайминги.Чтобы получить тайминги вашего сервера, достаточно выполнить команду /timings paste и перейти по ссылке, которую вам предоставят. Вы можете поделиться этой ссылкой с другими людьми, чтобы они могли помочь вам. Также легко ошибиться, если вы не знаете, что делаете. Существует подробный видеоурок от Aikar о том, как их читать: |