На анархия-сервере нет игровых правил - ни приватов, ни банов за гриферство или читерские клиенты, ни откатов, - но оператор ему всё равно нужен, потому что игроки, которым нравится анархия, - ровно те, кто попытается его уронить. Запускайте Paper, вовремя обновляйте его и не отключайте его защиту от эксплойтов: ограничитель пакетов, лимиты размера книг и предметов, защиту от эксплойтов с поршнями и бедроком. Ограничьте скорость, с которой игроки могут генерировать новый ландшафт, заранее решите, что будете делать, когда мир заполнит диск, и ждите атак. «Без правил» - это обещание насчёт игрового процесса. Это не обещание оставить сервер беззащитным, и серверы, которые живут долго, разделяют одно и другое полностью.
Что анархия означает для оператора#
Архетип жанра - 2b2t: он работает с 2010 года на одном мире, который ни разу не сбрасывали, без правил, без банов за игровое поведение и с картой, разросшейся до огромных размеров. Анархия-серверы поменьше копируют формат: мир выживания, близкий к ванильному, никакой защиты, читерские клиенты разрешены, а история копится.
Со стороны оператора работа чётко делится на две части:
| Игровое поведение | Целостность сервера |
|---|---|
| Гриферство, убийства, воровство | Краш-эксплойты и флуд пакетами |
| Читерские клиенты для боя и движения | Лаг-машины, построенные, чтобы остановить тик |
| Строить что угодно и где угодно | Чанки, раздутые так, что их не загрузить |
| Спавн, превращённый в пустошь | Исчерпание диска и памяти |
| Не ваша проблема | Целиком ваша проблема |
Всё в левом столбце - это игра. Всё в правом столбце заканчивает игру для всех, и большинство анархия-сообществ ожидают, что с этим будут разбираться. Игрок, который раз за разом роняет сервер, не играет в анархию - он мешает играть в неё всем остальным.
Над обоими столбцами стоит ещё одна строка: условия вашего хостинга и закон по-прежнему действуют. Незаконный контент, деанонимизация и атаки на другие сервисы - не игровой процесс, и «это же анархия-сервер» - не оправдание, которое кто-то ещё примет.
Серверное ПО и базовые настройки#
Запускайте Paper. Его патчи против краш-эксплойтов, дюпов и злоупотреблений пакетами - причина, по которой анархия-серверы вообще могут существовать на скромном железе, и он первым исправляет новые эксплойты. У vanilla и Fabric такой защиты гораздо меньше, а форки Paper получают его исправления позже. Обновляйтесь быстро: на анархия-сервере опубликованный краш-эксплойт попробуют на вас в течение нескольких дней.
Нужные настройки server.properties:
online-mode=truespawn-protection=0white-list=falsemax-players=100view-distance=8simulation-distance=6max-world-size=29999984rate-limit=0max-chained-neighbor-updates=1000000network-compression-threshold=256enforce-secure-profile=trueЧто делает каждая из них:
- `online-mode=true` - не обсуждается. Анархия-сервер в офлайн-режиме позволяет любому зайти под любым именем, в том числе под вашим.
- `spawn-protection=0` убирает ванильное кольцо вокруг спавна, которое могут менять только операторы. Спавн на анархии и должен быть разрушен.
- `max-world-size` - жёсткий край мира, по умолчанию
29999984. Уменьшите, если хотите конечный мир; подробнее ниже. - `rate-limit` - ванильный лимит пакетов на соединение,
0означает «выключено». Ограничитель пакетов Paper точнее, поэтому оставьте здесь0и настройте Paper. - `max-chained-neighbor-updates` ограничивает число обновлений блоков, которое может вызвать одна цепочка, и этим ограничивает некоторые конструкции лаг-машин. По умолчанию
1000000.
Ваш операторский аккаунт не должен играть. Если он играет, он станет целью каждой попытки социальной инженерии на сервере, а сессия оператора, перехваченная вредоносным клиентом, - худший исход из всего списка.
Лимиты пакетов и спама#
Многие краш- и лаг-эксплойты сводятся к тому, чтобы отправить серверу больше чего-то, чем он ожидает: тысячи пакетов в секунду, данные завышенного размера или запросы, на которые дорого отвечать. В глобальном конфиге Paper для этого есть отдельные разделы в config/paper-global.yml. Имена ключей и значения по умолчанию меняются от версии к версии Paper, так что считайте пример ниже картой того, что искать в вашем сгенерированном файле, а не значениями для копирования:
packet-limiter: all-packets: action: KICK interval: 7.0 max-packet-rate: 500.0 overrides: ServerboundPlaceRecipePacket: action: DROP interval: 4.0 max-packet-rate: 5.0spam-limiter: incoming-packet-threshold: 300 recipe-spam-limit: 20 tab-spam-limit: 500Ограничитель пакетов считает пакеты от каждого игрока за скользящий интервал. Если скорость превышает max-packet-rate, игрока кикает или лишние пакеты отбрасываются. all-packets - общий лимит; overrides задаёт более жёсткие лимиты для отдельных типов пакетов, которые заведомо дороги. Переопределение для пакета книги рецептов в стандартном конфиге существует потому, что спам им был реальным лаг-эксплойтом.
Не снижайте общий лимит агрессивно. Обычные игроки с плохим соединением отправляют пачки пакетов, когда связь восстанавливается, а анархия-сервер полон игроков с клиентами, которые отправляют больше, чем vanilla. Начните со значений по умолчанию и ужесточайте лимиты для отдельных типов пакетов, когда увидите злоупотребления.
Ограничитель спама охватывает чат, автодополнение по Tab и спам рецептами. Про автодополнение стоит знать: просьба к серверу дополнить длинную строку команды обходится дорого, и повторяющиеся запросы автодополнения были классическим способом положить сервер лагами.
Книги, данные предметов и баны чанков#
Самое известное семейство анархия-эксплойтов - «бан чанка», который исторически делали с помощью написанных книг. Набейте сундук книгами с максимальным количеством текста, поставьте достаточно таких сундуков в один чанк - и чанк становится настолько большим, что пакет для его отправки игроку превышает то, что принимает клиент. Любого, кто заходит в этот чанк, отключает, а если это чья-то база, её владелец больше никогда не сможет там зайти в игру.
Paper ограничивает размер данных книг и предметов, чтобы это нельзя было сделать обычными предметами:
item-validation: book: author: 8192 page: 16384 title: 8192 book-size: page-max: 2560 total-multiplier: 0.98 display-name: 8192 lore-line: 8192 resolve-selectors-in-books: falsebook-size.page-max ограничивает число байт на одной странице, а total-multiplier делает допустимый объём каждой следующей страницы чуть меньше, так что полная книга ограничена. resolve-selectors-in-books: false не даёт книгам разрешать селекторы и компоненты скорборда - раньше так можно было заставить сервер выполнять дорогую работу. Оставьте эти значения по умолчанию, если нет причины; ослабление лимитов - это то, как эксплойт возвращается.
Вариации бана чанков использовали и другие данные - шалкеры, полные предметов с длинными именами, карты, баннеры, таблички, - а защита та же: держите Paper свежим, не отключайте его лимиты, и если игрок сообщает, что конкретный чанк его отключает, считайте это проблемой сервера. MCA Selector может открыть мир офлайн и удалить или изучить чанк; как найти нужный region-файл, рассказано в статье бэкап и восстановление мира.
Лаг-машины, сущности и редстоун#
Лаг-машина - это конструкция, построенная, чтобы тик длился как можно дольше: часы на редстоуне, обновляющие тысячи блоков, кучи сущностей, сталкивающихся друг с другом, спам падающими блоками и предметами, массивы воронок. На обычном сервере вы бы забанили строителя. На анархия-сервере вы ограничиваете то, что может сделать любая конструкция.
Самые важные настройки - в config/paper-world-defaults.yml:
collisions: max-entity-collisions: 8chunks: entity-per-chunk-save-limit: arrow: 16 experience_orb: 16 snowball: 8 ender_pearl: 8misc: redstone-implementation: ALTERNATE_CURRENTЧто делают эти три настройки:
- `max-entity-collisions` ограничивает число столкновений, которое одна сущность обрабатывает за тик. Машины на скоплении сущностей рассчитаны на огромное число столкновений.
- `entity-per-chunk-save-limit` ограничивает, сколько сущностей каждого из перечисленных типов сохраняется в чанке. Спам снарядами и сферами опыта, который иначе жил бы вечно, обрезается при сохранении чанка. По умолчанию
-1(без лимита); ограничивать снаряды на анархия-серверах - обычная практика. - `redstone-implementation` выбирает алгоритм редстоун-пыли.
ALTERNATE_CURRENTгораздо дешевлеVANILLAи устойчив к лаг-машинам на пыли, ценой другого порядка обновлений для некоторых механизмов.
Ванильное игровое правило maxEntityCramming (по умолчанию 24) убивает мобов, набитых слишком плотно, что ограничивает лаг-машины на мобах. А в spigot.yml есть радиусы активации и отслеживания сущностей, которые снижают стоимость сущностей вдали от игроков; они разобраны в статье оптимизация Paper.
Ничто из этого не остановит решительного игрока полностью. Зато это превращает «один игрок может остановить сервер» в «один игрок может замедлить свою собственную область» - а это реалистичная цель. Регулярно профилируйте через spark, чтобы найти чанк, на который уходит тик, и затем решайте, игра это или атака. Как найти один дорогой чанк, показывает статья как читать отчёт spark.
Движение, элитры и генерация чанков#
На анархия-сервере самое дорогое обычное занятие - путешествия. Игроки часами летят на элитрах по прямой, чтобы убраться подальше от спавна, и каждый новый чанк, до которого они добираются, нужно сгенерировать. Один игрок на быстрых элитрах способен в одиночку загрузить генерацию чанков сервера; десять - положить её лагами для всех.
Paper ограничивает, как быстро один игрок может заставлять сервер загружать и генерировать чанки:
chunk-loading-basic: player-max-chunk-generate-rate: -1.0 player-max-chunk-load-rate: 100.0 player-max-chunk-send-rate: 75.0player-max-chunk-generate-rate - чанков в секунду на игрока, -1 означает «без ограничений». Если задать лимит, быстрый путешественник обгоняет ландшафт и летит в незагруженную пустоту, пока тот не догонит. Анархия-игрокам это не нравится, но на большинстве серверов они с этим мирятся. Сначала измерьте общую скорость генерации своего сервера, затем выберите лимит на игрока, который оставит место для нескольких путешественников одновременно.
Вторая половина - проверки скорости движения в spigot.yml:
settings: moved-wrongly-threshold: 0.0625 moved-too-quickly-multiplier: 10.0Они определяют, когда сервер отвергает движение как невозможное. Читерские клиенты, которые двигаются гораздо быстрее, чем позволяет игра, по сути являются инструментом генерации чанков быстрее, чем сервер может себе позволить. Многие анархия-серверы ставят античит, сосредоточенный на движении, - Grim широко используется, - настроенный останавливать скорость и полёт сверх того, что позволяют элитры, и не трогать боевые читы. Это согласуется с «без правил»: проверка защищает сервер, а не чью-то честность.
Размер карты, диск и память#
Анархия-серверы определяются миром, который никогда не сбрасывается, и этот мир растёт вечно. Каждый чанк, где кто-либо когда-либо побывал, хранится. На активном сервере, где игроки уходят всё дальше, занятое место на диске неуклонно растёт и никогда не уменьшается.
Честных вариантов три:
- Граница. Задайте большую границу мира - 100,000 или 500,000 блоков - и примите, что мир конечен. Сгенерируйте внутреннюю область заранее, чтобы спавн обходился дёшево. Пуристы возражают; ваш диск - нет.
- Без границы, но с бюджетом. Пусть растёт, а вы планируете увеличение диска. Знайте свою скорость роста, проверяя размер папки мира каждую неделю, и считайте до того, как диск заполнится, а не после.
- Обрезка. Удаляйте чанки, которые были сгенерированы, но толком не использовались - пролёт мимо, очень малое время обитания, - с помощью MCA Selector на копии мира. Значительная часть исхоженного мира - коридоры магистралей, куда никто не возвращается. Некоторые сообщества считают это сбросом; объявите свою политику.
Когда диск заполняется, сервер не может сохраняться. Чанки не записываются, игроки теряют прогресс, а повреждение данных становится вероятным. Это хуже любого из трёх вариантов выше.
В RE:NODE у тарифов Minecraft от 15 до 100 ГБ диска и от 2 до 14 ГБ памяти в зависимости от уровня, а график диска находится рядом с консолью. Долгоживущий анархия-мир может перерасти маленький тариф за несколько месяцев, так что следите за графиком и переходите на тариф выше до того, как это станет срочным, - смена тарифа не пересобирает сервер. Бэкапы - вторая статья расходов диска: мир на 40 ГБ - это бэкап на 40 ГБ, который долго снимается и долго восстанавливается. Память разобрана в статье сколько RAM нужно серверу Minecraft; на анархии дальность прорисовки и число отдельных мест, где игроки загружают чанки, важнее числа игроков.
Атаки, краши и как оставаться онлайн#
Анархия-серверы притягивают атаки - как по сети, так и через игру. Исходите из того, что кто-то попытается завалить ваш адрес трафиком в тот же день, когда о сервере узнают.
- Сетевые атаки. У RE:NODE есть фильтрация на стороне провайдера, которая отбрасывает очевидные объёмные флуды, а также отражённый и некорректный трафик. Атаки, которые выглядят как настоящие игроки, не фильтруются - включая заходы ботов, которые логинятся и делают дорогие вещи. Ни один хостинг не может пообещать, что не пройдёт ничего, и статья DDoS-атаки на игровые серверы честно говорит о том, что фильтрация может, а что нет.
- Заходы ботов. Волны аккаунтов, заходящих одновременно.
online-mode=trueозначает, что каждому нужен настоящий аккаунт, а это ограничивает масштаб; ещё сильнее помогают ограничение частоты подключений и плагин, который лимитирует заходы. - Циклы крашей. Если незакрытый эксплойт раз за разом роняет сервер, это проблема сервера, которую надо исправлять быстро. В RE:NODE наблюдатель считает неожиданные перезапуски: три за час выводят предупреждение на странице сервера и автоматически открывают тикет, а шесть приостанавливают сервер. Перезапуски, которые вы запускаете сами, не учитываются. Эксплойт, который кто-то запускает снова и снова, - ровно та картина, которая это вызывает, так что ставьте патч или остановите сервер, пока разбираетесь, что происходит.
- Исчерпание памяти. Некоторые эксплойты нацелены на заполнение памяти. В RE:NODE контейнер, достигший лимита памяти, останавливается и чисто перезапускается, а не уходит в swap, так что атака превращается в перезапуск, а несохранённые минуты теряются. Держите интервал автосохранения достаточно коротким, чтобы это обходилось дёшево.
Отличить эксплойт от обычного краша поможет статья почему игровой сервер постоянно перезапускается, а статья что делать, если сервер взломали разбирает случай, когда атаковали панель или аккаунт оператора, а не игру.
Бэкапы и правило «без откатов»#
Большинство анархия-серверов обещают не откатывать игровые события. Это честное обещание, и оно совместимо с бэкапами, потому что бэкапы нужны на случай сбоев сервера, а не ошибок игроков.
Запишите политику: никаких откатов за гриферство, кражи, смерти и всё остальное, что игрок сделал в игре; откаты только при повреждении данных, отказе диска или краш-эксплойте, который повредил мир. А затем относитесь к бэкапам так же серьёзно, как на любом другом сервере. В каждом игровом тарифе RE:NODE есть слоты для бэкапов вне машины - по запросу или по расписанию, с возможностью скачать и восстановить одной кнопкой, - и один из них можно заблокировать, чтобы ротация не удалила последнюю хорошую копию до эксплойта, последствия которого вы ещё разгребаете.
FAQ#
Нужен ли анархия-серверу античит?
Не ради честности - читерские клиенты часть жанра. Но многие всё равно ставят античит, сосредоточенный на движении, чтобы останавливать скорость и полёт сверх элитр: такие клиенты генерируют новые чанки быстрее, чем сервер может себе позволить, и облегчают его падение.
Как остановить баны чанков и баны книгами?
Используйте свежую сборку Paper и не отключайте её лимиты item-validation. Они ограничивают размер страниц книг, заголовков и имён предметов, так что чанк нельзя набить данными настолько, чтобы отключать игроков. Если конкретный чанк всё равно отключает людей, изучите или удалите его офлайн через MCA Selector.
Нужна ли анархия-серверу граница мира?
Это решение сообщества, но в любом случае планируйте диск. Без границы мир растёт бесконечно и в итоге потребует тарифа побольше или обрезки. Большая граница делает мир конечным и позволяет заранее сгенерировать внутреннюю область.
Могут ли игроки уронить сервер на Paper?
Они пытаются. Paper быстро исправляет известные краш-эксплойты, так что большинство из них срабатывает на серверах со старыми сборками. Обновляйтесь вовремя, не отключайте лимиты пакетов и предметов и считайте повторяющиеся краши срочной проблемой сервера, а не игровым процессом.
Допустим ли офлайн-режим на анархия-сервере?
Нет. Офлайн-режим позволяет зайти любому под любым именем, в том числе под именем оператора, и убирает цену флуда ботами. Оставьте online-mode=true.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.