Инструкция You Should Do This: Оптимизация игровых серверов

Небольшое вступление​

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

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

Немного обо мне и почему и для кого написано это руководство​

Кто меня знает, тот знает, что я увлекаюсь разработкой игровых серверов в рамках игры Minecraft. Кроме того, я состою в небольшой команде разработчиков-энтузиастов по созданию и разработке модпаков - Faster Than Light. И на данный момент совместно с ребятами оттуда готовлю свой новый масштабный проект, который включит в себя всю практику полученных мною (и не только мною) знаний и навыков в этой сфере. Но этим всем нужно делиться с теми, кто только начал интересоваться этой темой, не так ли? Поэтому, я пишу эту статью (а в скором времени, надеюсь, что появятся и другие) прежде всего для тех, кто хочет попробовать себя здесь и создать свой первый успешный проект.

Несколько важных моментов​

Чтобы что-то оптимизировать, вам нужно что-то сделать, так ведь? Ну, в данном руководстве мы хотим оптимизировать ваш игровой сервер, так что.. здесь всё должно быть очевидно.

И перед запуском - вам нужно определить, что из себя в целом будет представлять ваш сервер. Вам необходимо определиться с версией, изданием игры, серверным оборудованием и плагинами. В этом вам может помочь me4502, который создал свой портал для объяснения многих аспектов игры и грамотного запуска вашего сервера: How to actually run a Minecraft Server: The Ultimate Guide | Me4502 (madelinemiller.dev). Ссылки, указанные на материалы в портале me4502, могут мелькать и здесь. Поэтому, вы можете непосредственно сразу пробежаться по ссылкам в его руководстве. В них он максимально подробно и правильно объяснит вам многие вещи, которые здесь я расписывать не буду (просто потому что моё мнение в плане подобных вопросов в подавляющем большинстве случаев ничем не отличается от Maddy Miller'а, и я также советую прислушаться вам к нему).

Большинство указанных здесь материалов (если вообще не все) актуальны только для последней версии игры и Java её издания, а также затрагивает лишь сервера, основанные на bukkit. К сожалению, я, как и многие другие авторы, не могу поддерживать старые версии игры, а также я не имею достаточного опыта с иным изданием (bedrock) и модовыми серверами (forge, fabric).

Далее - можете приступать к самому запуску. О том, как это сделать, вы сможете прочитать в материалах, указанных ниже, либо получив инструкции от вашего хостера.

Что делаем для начала?​

Для начала, перед работой с самим сервером в кубаче, вам ну просто необходимо прочитать официальную документацию PaperMC (Home | PaperMC Docs).

Почему именно её? Да всё просто - это официальная документация, прочитав которую (хотя бы даже раздел об администрировании), вы уже сможете понять практически всю основу, а на основе самой бумаги (PaperMC) основываются практически все современные bukkit-ядра, так что рациональнее всего было бы использовать именно его и изначально изучать именно документации их ядра.
Рассказать вам о преимуществах PaperMC над другими ядрами поможет статья me4502 в сравнении с другим ранее популярным ядром - Spigot: Paper vs Spigot, which should you use? | Me4502 (madelinemiller.dev)
Кроме того, любой, кто также более-менее разбирается в устройстве кубических серверов, посоветует вам именно Paper или некоторые его форки*.
*Fork - вилка (форк). Об этом, а также о других форках бумаги и какие из них вам стоит использовать (и стоит ли вообще), вы сможете прочитать здесь - в очередной статье me4502: Should you use a fork of Paper? | Me4502 (madelinemiller.dev).
Выделять здесь какие-то ядра я не собираюсь.
Сам по себе придерживаюсь «золотой тройки», состоящей из непосредственно самого PaperMC (о нём вы могли немного прочитать выше; Home | PaperMC), Pufferfish (форк производительности Paper; Pufferfish Host | Downloads - Pufferfish Fork) и Purpur (включает в себя патчи Pufferfish и кастомизации; Purpur - Your Minecraft, your way (purpurmc.org)).
Они считаются наиболее безопасными и проверенными из всех (о них кратко вы можете прочитать либо в статье выше, либо поискать самим), в отличии от «экспериментальных форков»*
*Крайне не советую вам ставить «экспериментальные форки», коих просто бесчисленное множество расплодилось за многие годы. Эффективность и безопасность их сомнительных патчей просто не может быть доказана, так что они вполне могут принести вам больше вреда, нежели какой-то пользы. Кроме того, в PaperMC не дураки сидят, уж поверьте. Если их действительно заинтересует какой-нибудь новый «экспериментальный» патч из их форка, то они с радостью включат его в своё ядро (об этом уже не раз упоминали сами разработчики бумаги, не удивляйтесь. А это также является причиной того, почему многие ядра сейчас являются именно форками бумаги). Но, как мы видим на практике, это если и происходит, то крайне редко (простой пример - Tuinity). Да и чего уж говорить о том, что большинство разработчиков даже патчи их великолепного творения «своими» назвать и не могут. Так что, по сути своей, большинство подобных форков просто-напросто могут портировать популярные fabric-моды, которые нашли по запросу: «minecraft optimization mods», и которые либо ничего не привнесут на деле, либо же в Paper давно существуют патчи-аналоги этих самых модификаций. Это уже кратко затронул me4502 в статье, указанной выше, но я всё-таки решил вынести это отдельно, просто потому что риски на деле будут не оправданы вашими ожиданиями.

Для работы ядра и разработки вашего сервера в целом, вам потребуется скачать одну из версий JDK (Java Development Kit). Однако существует множество реализаций JDK, хотя все они используют один и тот же язык - Java. В основном выделяют всего две: OpenJDK и Oracle JDK. Обе эти сборки примерно идентичны друг другу, однако, Oracle лицензировала свои собственные сборки JDK и требует оплаты за их использование в коммерческих целях. OpenJDK же полностью бесплатен и имеет открытый исходный код, так что использовать сборки от Oracle нам просто нет смысла (особенно, если ваш сервер стоит на Linux). OpenJDK же тоже имеет несколько реализаций*, но все они также мало чем могут отличиться друг от друга и при разработке сервера в Minecraft вы не заметите каких-либо изменений в любом из них.
Если вам нужна помощь в установке, вы можете следовать руководству PaperMC (Installing or Updating Java | PaperMC Docs).

Для поиска задержек используют инструмент Spark (spark (lucko.me)). Перед оптимизацией, внимательно изучите поведение вашего сервера с применением профилировщика и уже на основе полученных данных о нём подберите оптимальные значения и предпримите необходимые меры. Здесь всё индивидуально, ведь на работу сервера влияет множество факторов. Кроме того, вам настоятельно рекомендуется ознакомиться с такими понятиями, как TPS (Ticks Per Second) и MSPT (Milliseconds Per Tick), о которых вы сможете подробно узнать в одном из разделов документации Spark: TPS and MSPT | spark docs (lucko.me).
Кстати говоря о документации Spark. Для грамотного использования этого профилировщика и поиска источников проблем, вам необходимо ознакомиться с ней: Home | spark docs (lucko.me).
Также о том, как работают тайминги , как их понимать лучше и о других профилировщиках (помимо Spark), вы сможете узнать от me4502: How to best understand Paper and Spigot Minecraft Timings | Me4502 (madelinemiller.dev).

Надеюсь, вы всё же смогли определиться с ядром (хотя бы из тех трёх, вышеупомянутых мной). Впрочем, я ничего вам и не говорил о выборе правильного ядра перед оптимизацией самих конфигураций. Но, прочитав, вы должны сами для себя определить, что вам лучше использовать. Может показаться, что я обязал вас использовать только PaperMC или их правильные форки (ну, на деле так и есть, конечно…). Но все, что вы найдете ниже, будет относиться лишь к ним, имейте это ввиду. Итак, тогда уже перейдём непосредственно к оптимизации вашего игрового сервера :)

Флаги оптимизации​

И начнём мы с самого запуска* вашего сервера, а именно - флагов оптимизации в вашем скрипте.
*Если вы не знаете, как запустить свой локальный сервер в Minecraft на Windows (для тестирования), советую вам прочитать руководство от проекта Paper Chan: How to self-host a (Paper) Minecraft server on Windows | Paper Chan hideout (paper-chan.moe).
Существует множество уже готовых генераторов подобных скриптов с флагами оптимизации Aikar's*, которые между собой мало чем могут отличаться.

Однако, хочется отметить лишь самые удобные - генератор скриптов от PaperMC: Start Script Generator | PaperMC Docs и от birdflop: Minecraft Flags Generator - Birdflop.
*Aikar's Flags (или по-другому флаги Айкара) - флаги оптимизации памяти (в основном именно её), не использовать которые будет ошибкой. Подробнее о них и о том, как с их помощью можно оптимизировать ваш сервер, вы можете узнать в документациях PaperMC (Aikar's Flags | PaperMC Docs), Pufferfish (How to Optimize Your Minecraft Server with Aikar's Flags (pufferfish.host)), а также здесь: JVM Tuning: Optimized G1GC for Minecraft - Aikar's Thoughts)
Флаги, используемые в этих генераторах - безопасны и принесут вам пользу (в подавляющем большинстве случаев). Но кроме представленных там флагов существует ещё множество. Вам просто стоит быть внимательнее и обращать своё внимание в первую очередь на их безопасность.
Кроме ядер, также существует множество «экспериментальных» (назовём их так) флагов. Их использование также никем не может быть доказано и обосновано, раз уж их не используют. Стоит задуматься перед использованием такого флага и внимательно изучить его работу. Возможно, этот флаг ничего не принесёт нового, а может сделать даже хуже.

Изменение значений файлов конфигураций​

Основное решение проблем с производительностью сервера - правильная настройка файлов вашего ядра. Разработчики предлагают нам набор инструментов, которые могут помочь повысить производительность при грамотном их использовании.
О том, какие способы есть для оптимизации сервера, а также о многом другом, вы можете узнать из руководства проекта Paper Chan: Paper chan's Little Guide to Minecraft Server Optimization! | Paper Chan hideout (paper-chan.moe), а также «обновлённой» версией ныне древнего и всем прекрасно известного руководства Celebrimbor от разработчика из команды Purpur - YouHaveTrouble: YouHaveTrouble/minecraft-optimization: Minecraft server optimization guide (github.com)*.
Подробнее разобрать все параметры конфигураций ядра Paper вы сможете в их документации: Paper Configuration | PaperMC Docs.
*Примечание: данное руководство на первый взгляд может показаться «идеальной настройкой» вашего ядра для превосходного результата в плане повышения производительности. Но, как отмечает сам автор:
Никогда не будет руководства, которое даст вам идеальные результаты. У каждого сервера свои потребности и ограничения на то, чем вы можете или готовы пожертвовать. Настраивать опции в соответствии с потребностями вашего сервера - вот в чем суть дела. Цель данного руководства - помочь вам понять, какие опции влияют на производительность и что именно они меняют.
Не стоит слепо ставить все те рекомендуемые автором значения, ведь в конечном счёте, если вы не испытываете критических проблем с производительностью - вы рискуете сделать лишь хуже в плане полного нарушения игрового процесса на сервере. Автор описывает каждый пункт, отмечая при этом все риски и действительную пользу от изменения того или иного параметра.

Впрочем, вы можете попробовать сперва ознакомиться с руководством Paper Chan, которое стремится сохранить максимально ванильное поведение. Вместо готовых значений, вам будут предложены рекомендуемые диапазоны* или советы, в рамках которых вы сможете сохранить комфортную игру и снизить потребление ресурсов.
*Представленные в этом руководстве рекомендуемые рамки в диапазонах могут изменяться в соответствии с вашими потребностями. Впрочем, я могу быть полностью согласен с автором при выборе значений именно в рамках этого диапазона. Однако, решаете всё же вы, что конкретно вам нужно, в какую сторону стоит наклонить качель и стоит ли её вообще наклонять?
«Оптимизация - это искусство баланса между ресурсами и результатом. Не стоит нарушать этот баланс в угоду чего-то одного.»
Кроме того, автор советует вам несколько плагинов для решения проблем с производительностью. О них мы поговорим в следующем пункте…

Полезные плагины оптимизации​

Сразу стоит отметить:
НЕ используйте плагины, которые обещают вам прирост необходимой производительности. Практически всё то, что можно и действительно нужно оптимизировать и исправить - находится в вашем ядре (PaperMC). Вместо установки каких-либо дополнительных, зачастую бесполезных и столь сомнительных плагинов, я бы советовал вам просто вовремя обновлять сервер до последней версии игры.
Однако, если вы всё же видите какой-либо плагин, обещающий подобную «магию», внимательно изучите его страницу, а также код (по возможности). Задайте себе несколько вопросов: Насколько рационально его использовать в вашем случае? Нет ли подобного функционала в вашем ядре? Как именно этот плагин выполняет свою работу и что именно он делает, для чего? Какие будут «побочные» эффекты при использовании этого плагина? Не исправлено ли уже это на вашей версии игры, помимо ядра?

Попробуйте ответить на них. Paper Chan в своей статье (Paper chan's Little Guide to Minecraft Server Optimization! | Paper Chan hideout (paper-chan.moe)) советует также такие плагины, как:

OkTreasures* (OkTreasures | Hangar (papermc.io)):
*Вероятно, вполне себе достойный пример правильного плагина оптимизации. Применяет свои оптимизированные алгоритмы для генерации и вычисления сокровищ, без особого влияния на ванильную игру. Думаю, вам следует использовать этот плагин, если вы: 1. Собираетесь отключить карты сокровищ на сервере в пользу оптимизации; 2. Не используете пользовательские генераторы мира. Кроме того, сюда можно отнести ещё 1 пункт с недавнего времени: 3. Если вы используете версию игры ниже 1.20.5. Дело в том, что этот плагин может оказаться бесполезным с этой версии, ведь Mojang, вероятно, исправили проблему с картами с выходом нового обновления (это ещё не проверено мной, но в списках изменений указано исправление (см. скриншот ниже)).
1718978413212

(Список изменений 1.20.5 с minecraft.net (про карты сокровищ))
harderdespawn* (harderdespawn | Hangar (papermc.io))
*Плагин, обещающий решить проблемы hard-despawn, позволяющий оставить его значение на высоте. Вероятно, будет полезен далеко не для всех, а только для тех, кто захочет держать этот диапазон достаточно высоким для работы ферм. В целом, минимальные условия для его работы укладываются в минимальные значения диапазонов, указанных в руководстве, поэтому вы можете попробовать использовать его, если испытываете проблемы с фермами из-за слишком низкого жёсткого деспауна. Однако, нужно более подробно изучить работу и действительную полезность этого плагина перед его использованием.
AntiVillagerLag* (AntiVillagerLag - Minecraft Plugin (modrinth.com)):
*Позволяет отключать искусственный интеллект у жителей игрокам на их площадках с сохранением механик редстоун ферм. Не делает ничего сверхъестественного, достаточно полезный плагин для уменьшения задержек, регулируемый самими игроками.
Эти плагины, вероятно, действительно могут помочь вам в каких-то случаях. Но, посмотрев на них, какой вывод мы можем сделать? Первый плагин стал бесполезным с новой версией игры, второй подходит только для некоторых случаев, а третий нужен только в случаях сильных задержек, которые вынудили бы игроков самостоятельно оптимизировать сущностей вашего сервера. И это только плагины, которые выглядят вполне себе полезно и убедительно. Поэтому сейчас нет причин использовать какие-либо плагины оптимизации на последней версии вашей игры (на момент написания этой статьи последняя версия игры - 1.20.6).
Если вы испытываете проблемы с производительностью - обратитесь в сообщество вашего ядра для поддержки, вариантов исправления или будущего обновления для исправления этой проблемы. Вам действительно не стоит скачивать, а тем более и покупать сторонние сомнительные плагины или ядра. Подумайте над этим много раз, прежде чем заплатить за это и использовать. Скорее всего, это будет лишь пустая трата денег, времени и нервов.

Микро-оптимизация​

Кратко о том, что это такое:
Несмотря на то что в названии этого термина есть слово "оптимизация", не обманывайте себя. Этот термин в основном используется для обозначения изменений производительности, которые дают настолько незначительный выигрыш, что нет никакой реальной пользы от этих изменений. "Преимущества" (иногда составляющие даже не 0,0001 %) не покрывают всевозможные поломки плагинов или возникновения проблем с сервером по якобы непредвиденным причинам. Время должно быть потрачено на оптимизацию/восстановление систем, которые сломаны или плохо реализованы, а не на поиск небольших изменений, которые не дают почти никакой пользы.

1718978597218

(Микро-оптимизация, скриншот ответа с Discord-сервера Purpur* (см. перевод выше))

*На этом сервере, как и на множестве других, вы можете найти много полезной информации, среди которых чаще всего встречаются подобные объяснения или готовые решения проблем пользователей. Используйте сервера в Discord как форум. Не бойтесь задавать вопросы (ну, разве что вам есть что скрывать :) )
Вам действительно нет смысла оптимизировать то, что не принесёт вам какой-то значительной пользы в этом. Пожалуйста, не тратьте своё время на руководства, в которых вы можете найти лишь мелкие изменения, на деле ничего не меняющих.

Folia - что это?​

Относительно недавно точно уж подняло шуму новое ядро - Folia (Folia | PaperMC), новый форк Paper от самих PaperMC. Все говорили о переменах, новой эре игровых серверов в кубаче… Но что же имеем на деле?

Folia действительно позволяет вам сохранять превосходный геймплей даже при сотнях игроков онлайн. Как они этого добились - вы можете узнать из статьи проекта Paper Chan: Folia - Multithreading Coming to your Minecraft server | Paper Chan hideout (paper-chan.moe).

Однако, Folia требует огромного количества потребляемых ресурсов, и большинство всех плагинов bukkit не будет работать на ней. Приятно, конечно, видеть, что разработчики этих плагинов добавляют поддержку фолии постепенно, но это слишком долгий процесс, чтобы внести во все необходимые плагины поддержку этого ядра. Да и это, скорее всего, будет просто не нужно. Большинство находятся не в той аудитории, которая смогла бы позволить себе мощное оборудование для поддержания работы фолии. Если вы планируете держать на сервере около двухсот игроков и больше, а также имеете возможность купить необходимое оборудование и имеете все необходимые на ней плагины - Folia для вас!
Подробнее о том, какое оборудование рекомендовано при использовании Folia, какие типы серверов подходят для этого и как её настроить вы сможете узнать в разделе FAQ репозитория этого ядра на GitHub: PaperMC/Folia: Fork of Paper which adds regionised multithreading to the dedicated server. (github.com).
Folia до сих пор находится в стадии тестирования и может вызывать ошибки. Давайте подождём её релиза, чтобы уже точно делать какие-то выводы о её стабильной работе.
1718979067440

(Folia - не для вас, скриншот с блока страницы Folia на PaperMC (Folia | PaperMC))

Безопасность​

Относительно безопасности вашего сервера - грамотная настройка, постоянные обновления на новые версии и установленные с проверенных (официальных) источников ресурсы сделают всё возможное, чтобы устранить различные уязвимости, которые также могут нанести существенный удар по вашей производительности.
Могу посоветовать вам руководство MrDienns о том, как защитить свой сервер от уязвимостей: Minecraft security | Part 1; Awareness | SpigotMC - High Performance Minecraft.
Кроме того, вы также можете прочитать небольшое руководство YouHaveTrouble по исправлению эксплоитов с помощью конфигураций вашего ядра: YouHaveTrouble/minecraft-exploits-and-how-to-fix-them: A guide on how to fix most common bugs that can be exploited to bring your server to its knees. (github.com).
Многие также устанавливают такие плагины, как: ExploitFixer, LPX и т. п. И хотя эта тема довольно-таки спорная, но что я могу сказать про эту «парочку»?
*Практически всё то, что в них представлено, вероятно, будет уже исправлено в новых версиях. Использовать их, я считаю, будет иметь смысл только тогда, когда вы отстаёте от обновлений по тем или иным причинам, либо же выдаёте игрокам слишком много разрешений. В остальном же, ставить эти плагины нужно только тогда, когда вы действительно имеете какие-либо проблемы. Лишняя «профилактика» в этом случае может сыграть с вами злую шутку, особенно если учесть то, что оба этих плагина - платные.
И здесь касательно премиум-плагинов и закрытого исходного кода. Многие задаются вопросом, а что же лучше: премиум-плагин или бесплатный? Об этом рассказал me4502 в своей статье: Are free or premium Minecraft plugins better? | Me4502 (madelinemiller.dev).

Что хочется кратко выделить из неё, что будет характерное для этого раздела? Это раздел о безопасности (Security) соответственно. Обфусцированные плагины могут нести в себе куда большую опасность, чем проекты с открытым исходным кодом (коими в подавляющем большинстве являются бесплатные плагины). Кроме того, с закрытым исходным кодом вы не сможете самостоятельно исправить ту или иную уязвимость, которая может «найтись» у вас при использовании этого плагина, а также многое чего ещё, о чем расскажет вам Maddy Miller.

Пиратские плагины или плагины на сомнительных площадках? - тоже по большей части закрытый код. Точно так же несёт в себе опасность, только на этот раз в куда большем размере, чем с официальными ресурсами на проверенных площадках. Так что, будьте аккуратны при выборе вашего программного обеспечения для сервера и всегда проверяйте ресурсы, если получаете их от какого-либо человека (в том числе студии, компании, простые разработчики-работяги).
Площадки, на которых можно скачивать и покупать плагины: SpigotMC, Polymart, Hangar, Modrinth, Bukkit, CurseForge, MCModels.
Площадки, на которых не рекомендуется находиться: BlackSpigot, BuiltByBit, DirectLeaks и т. п.
Ещё несколько немаловажных моментов:

НЕ запускайте ваш сервер от рут-пользователя. Предупреждение об этом стоит вовсе не случайно. Это может нести в себе потенциальные риски, если удастся получить к серверу доступ.
Подробнее об этом - в блоге Maddy Miller: Why you shouldn't run a Minecraft server as root | Me4502 (madelinemiller.dev). Ссылку на этот материал вы также сможете обнаружить, изучив это небольшое предупреждение в вашей консоли:
1718979649040

(Предупреждение при запуске сервера от рут-пользователя)
НЕ запускайте сервер в оффлайн-моде. Может показаться, что это будет хорошим решением ваших проблем с онлайном и прибылью, но на деле их будет гораздо больше. Открывая доступ на свой сервер неавторизированным в системе Microsoft пользователям, вы сильно рискуете.

Анти-читы​

Раздел, который может относиться к разделу безопасности.

Запомните: нет ни одного анти-чита, который бы вас сейчас защитил полностью. Популярные анти-читы, которые вы сможете найти на площадках, собственно, находятся в публичном доступе. Ничего не мешает создателям чит-клиентов обратиться к этому анти-читу (в некоторых случаях им даже необязательно его покупать) или его коду (некоторые анти-читы также находятся просто в публичном доступе), чтобы написать обход. И в этом случае даже «грамотная настройка» вашего анти-чита ничем не поможет. Максимум, что вы можете сделать - усилить проверки (тем самым повышая количество ложных срабатываний в несколько раз, что сделает игру на вашем сервере просто невыносимой), или же их ослабить (тем самым облегчая работу для читов, но при этом делая игру комфортной). Какой есть выход? - написать собственный анти-чит. Но, если подумать, борьба с читерством действительно ли будет стоить затраченных на это средств? Вас всё равно не убережёт никакой анти-чит, если предметом для обхода будете являться именно вы. Так стоит ли тратиться на разработку собственного анти-чита? Я думаю, что нет.
Лучший анти-чит - создание сообщества, в условиях которого использование читов будет недопустимым и презираемым, благодаря чему их пользователи будут разоблачены и наказаны, а также в сочетании с активной модерацией вашего сервера - это действительно поможет избежать использование игроками запрещённых клиентов.

1718980088081

Paper chan's Little Guide to Minecraft Server Optimization! | Paper Chan hideout (paper-chan.moe).
Если вы хотите получить более подробный опыт - можете обратиться к блогу Maddy Miller (me4502), где он расскажет вам о своём опыте в разработке собственных анти-читов и расскажет о проблемах анти-читов других игр: Anticheat Posts on Me4502's Blog (madelinemiller.dev).
Многие также находят решение этой проблемы в отключении модифицированных клиентов. Но это лишь оттолкнёт ваших игроков, ведь многие игроки используют модифицированные клиенты для более плавной и комфортной игры, не более. Вы же не хотите забирать у них эту возможность, правда? Да и это будет вовсе бесполезно, ведь чит-клиенты способны подменить свой клиент на Vanilla, например. Таким образом, вы запрещаете игру легальным игрокам и разрешаете её для нелегальных. Это смешно.
Впрочем, если же вы всё-таки решили использовать анти-чит (что я вам делать всё же рекомендую, ведь далеко не все клиенты способны на обходы вашего анти-чита) - не используйте их связки без должной настройки. Это может привести лишь к ещё большим конфликтам и ложным срабатываниям, потому что каждый анти-чит применяет свои методы борьбы с читерством. Однако, я также не отрицаю существование хороших связок, имейте это ввиду. Всё это требует отдельного разбора и подробного анализа.

Хостинг​

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

Однако, не стоит доверять сомнительным организациям. Вы также рискуете остаться ни с чем. Внимательно изучайте отзывы, читайте пользовательское соглашение, проверяйте реквизиты, сравнивайте услуги и цены на них. Это всё может выдать в себе «нечестного хостинга». Например, так вы можете просто подарить кому-то свою сборку или рискнуть получить множество уязвимостей, выяснить, что администратор без вашего ведома изменял какие-либо файлы и прочее. Также от хостинга зависит ваша защита от DDoS-атак, которые часто могут устраивать, например, конкуренты, что также очевидно скажется на игре.
Подробнее о том, какие виды хостингов для вашего сервера существуют в природе, в чём их плюсы и минусы, вы прочтёте здесь: Paper chan's Little Guide to Minecraft Server Optimization! | Paper Chan hideout (paper-chan.moe).
Также о признаках плохого хостинга расскажет Maddy Miller: Is my Minecraft Server Host bad? | Me4502 (madelinemiller.dev).

Спасибо за внимание!​

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

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

Автор

Shadedfern
ВерхНиз