Minecraft for Everypony Дружбомагия в каждом кубике!

This is fine

@

Когда-то давно, в далёком-далёком датацентре, в правилах одного сервера было написано примерно такое:

За какие непотребства вас забанят, и что нельзя делать?

  • создавать устройства и ситуации, прямо либо косвенно вредящие серверу или затрудняющие его работу.

Проблема

Представьте удивление наших программистов, когда без видимых причин сервер начинал вести себя очень странно. Ровный как полка TPS в один прекрасный момент резко начал проседать. Изучение логов толком ничего не дало, но внутренний мониторинг прояснил кое-что.

t1-1

Расследование

Детальное отслеживание типов «тяжёлых сущностей», и корелляция с заходами определённых игроков сложили картину в целостный паззл.

  • Сервер работает
  • Заходит игрок
  • Критически растёт число активных сущностей
  • Eden Generation вымывается медленней, чем GC того хочет
  • Все ресурсы основого потока идут на обсчёт Tile Entity
  • Сервер падает

Исследование на местах показало и корневую причину такого явления: автофермы.

2019-05-14_17.13.30

2019-05-14_17.09.49

2019-05-14_17.08.47

Последствия

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

2019-05-14_17-39-36

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

Автофермы в таком количестве наглядно вредят серверу, и с ними надо что-то делать.

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

Изменение правил

Создание лагомашин

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

На одну область прогрузки устанавливается лимит в 15 одновременно работающих механизмов (включая блоки ферм). Затем этот предел будет пересмотрен после детального исследования и оптимизаций.

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