Добро пожаловать!

Хочется невероятных приключений и увлекательной игры с друзьями? Ты по адресу!
Проект Grand-Mine приглашает тебя в удивительный мир серверов Minecraft с модами!

Лимиты, требования и рекомендации к механизмам

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

Зачем нужны эти ограничения?
Сама игра, серверная платформа и модификации с плагинами, помимо постоянно всплывающих багов и уязвимостей, имеют ряд узких мест, зачастую требующих капитальный пересмотр и рефакторинг кода. Это не всегда возможно и оправдано в связи с его закрытостью и сменами версий игры.

Главная проблема самой игры: она не разрабатывалась с упором в многопоточность. И решена может быть лишь написанием ее практически с нуля.
В большей мере игровой сервер использует лишь одно логическое ядро процессора - лишь часть операций выполняется асинхронно (причем многое не было распараллелено изначально). Миры же обрабатываются в одном потоке (обновления блоков/сущностей). Любое отставание обработки чего-либо в них, оказывает влияние на общую производительность сервера.

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

Вот вам и ответ: для обеспечения комфортных условий игры для всех игроков.
Из-за прихотей одного игрока не должны страдать все.

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

Внимание!
В нижеприведенном списке перечислены лишь распространённые источники лагов, обстоятельства их вызывающие и способы их избежать! Этот список не гарантирует того, что, если вашей постройки нет в этом списке, к вам не обратится администрация или модераторы с требованием снести или оптимизировать нагружающую сервер конструкцию.
Тема может дополняться и редактироваться без оповещения игроков! Всем рекомендуется время от времени ее перечитывать.

Уточнения:
  • Под словом "участок" подразумевается вся территория рядом с конструкцией, принадлежащая одному игроку или группе игроков (даже косвенно связанных).
  • В рекомендациях указаны лишь приблизительные цифры, Они могут быть проигнорированы администрацией и модераторами. Все зависит от нагруженности сервера, вашего участка и сложности конструкции.
Общее:
2020-01-10_21.46.25_________.png
Запрещены конструкции с циклической физической установкой и разрушением блока
Требование:
не использовать генераторы булыжника и фермы для производства утильсырья
Причина: нагрузка на систему журналирования действий игроков
Hopper_(D).png
Запрещено использование большого количества воронок
Требование:
не использовать больше 16 воронок в одной конструкции
Причина: высокая нагрузка на сервер из-за плохой оптимизации перемещения предметов
2020-04-22_22.01.32__________________________.png
Запрещено использование любых автоматических транспортных систем большой протяженности и с большим количеством подключений (IC2, AE2, EnderIO, Mekanism, BuildCraft, ThermalExpansion, ImmersiveEngineering)
Рекомендация:
избегать создание сетей протяженностью более 128 блоков или с более чем 64-ми активными подключениями

IndustrialCraft 2:
2020-01-10_21.35.03________________________.png
Проводка не должна быть замкнутой
Требование:
разделить провода валиком с краской, таким образом, чтобы ток проходит напрямую от источника к потребителям, не замыкая между собой
Краска может быть применена на изолированных и стекловолоконных проводах.
Неизолированные провода можно обмотать резиной при помощи кусачек.
Причина: замкнутая проводка циклично обрабатывается, что сильно сказывается на производительности сервера.

2-bad.png
2-.png


Протяженные энергосети должны быть разделены энергохранилищами или трансформаторами
Требование:
разделять энергохранилищами или трансформаторами цепи протяженностью более 128 блоков или с более чем 64-ми подключениями
Причина: массивные энергосети создают высокую нагрузку на сервер
2020-05-07_23.54.59__6__________________________.png
Запрещено создание любых ферм для производства утильсырья
Подобные фермы не приносят ничего, кроме лагов.
Требование: создавайте утильсырье из невозобновляемых ресурсов, не имеющих способов автоматизированной добычи. Эффективность утильсырья и шансы его получения увеличены на наших серверах.
2020-01-10_21.38.24_____________.png
Запрещено использование большого количества автосадовников
Требование:
не больше 8 ферм на участок
Причина: нагрузка на систему журналирования действий игроков
2020-06-12_23.30.13________________.png
Ядерные реакторы: не больше 16 штук

Buildcraft:

золотая транспортная труба Buildcraft grand-mine.net
Трубы не должны использоваться в высоконагруженных системах
Реализация транспортных систем в этом моде имеет огромное количество узких мест и огромное количество ресурсоёмких проверок целостности
Требование: использовать трубы из других модификаций (ThermalDynamics, AE2)

Трубы не должны быть зациклены.
Замкнутая цепь циклично обрабатывается, что сильно сказывается на производительности сервера.
Требование: Разделять крышками или кисточкой с краской

BC1-.png
-.png


Трубы не должны выбрасывать лут в большом количестве
Увсех труб в моде есть ограничение, при превышении которого они начинают “лопаться” и выбрасывать предметы
Требование: Следить за нагрузкой труб
2020-01-10_21.15.08_________.png
Запрещена массовая установка цистерн большой высоты
Проверка целостности конструкции затрачивает слишком много процессорного времени
Рекомендация:
не более 32 блоков на 1 транспортную систему. Используйте улучшенные цистерны или другие хранилища жидкости
2020-01-10_21.15.12__________________.png
Запрещены конструкции высоконагруженные системы автоматического крафта.
Требование:
минимизировать использование сборочных верстаков, не использовать для производства мусора для утилизатора.
Причина: Данные о рецептах в игре хранятся неэффективно и не предназначены для авто-крафта

Applied Enegistics 2:
молекулярный сборщик Applied Energistics 2
Запрещены высоконагруженные системы автоматического крафта
Данные о рецептах в игре хранятся неэффективно и не предназначены для авто-крафта
Требование: минимизировать использование молекулярного сборщика в связке с любыми загрузчиками предметов не из этой модификации и аддонов к ней

ThermalDynamics:

2020-02-15_00.29.15_______.png
Трубы не должны быть замкнуты
Требование:
разомкнуть ключом.
Причина: замкнутая цепь циклично обрабатывается, что сильно сказывается на производительности сервера.

TE-1.png
TE-2.png

ImmersiveEngineering:

2020-04-22_21.46.28_____________________________.png
Запрещено использование более 28 термоэлектрических генераторов на 1 чанк и более 128 на участок.
Причина:
снижение производительности сервера из-за неоптимизированных вызовов OreDictionary
Запрещено использование более 2

EnderIO:

2020-05-15_00.11.39_________________________________.png
Запрещено использование более 4 электроспаунеров на участок
Причина:
обход лимита мобов в чанке, нагрузка от коллизиий сущностей

StorageDrawers:
  • Контроллеры и подчиненные контроллера запрещены в высоконагруженных системах:
    Требование:
    использовать только в единичном количестве и не в связке с любыми высоконагруженными механизмами.
    Причина: высокая нагрузка на сервер из-за поиска принимающей стороны (со всех сторон каждого блока) при перемещении предмета.

Mekanism:

2020-06-26_21.51.55_Wind_Generator.png
Ветрогенераторы.
Требование:
не более 64 шт

Chisel:

2020-05-07_23.46.06________________________.png
Запрещены автоматические стамески для длительного использования.
Низкая производительнотсть метода проверки активных рецептов
Требование:
использовать блоки из мода в количестве не более 1 шт

Carpenters Block:

2020-01-10_21.20.33______________________.png
Запрещены блоки и плитки в качестве основного строительного материала в массивных постройках.
Чрезмерное использование блоков из мода приводит к появлению зон, которые, игрок со слабым железом или малой пропускной способностью интернета, покинуть не может.
Рекомендация:
использовать блоки из мода в умеренном количестве.

Forge Microblocks:

2020-01-10_21.27.02______________-____.png
Запрещены микроблоки в качестве основного строительного материала.
Рекомендация:
использовать блоки из мода только как декоративные элементы и в умеренном количестве.
Причина: высокая нагрузка на ПК игроков, создание зон, которые игрок покинуть не может.


PS: Спасибо Shadowmined за скриншоты
 
Статус
В этой теме нельзя размещать новые ответы.
  • © 2013 Grand Mine Inc.

    [email protected]

    Запрещается использование материалов сайта без разрешения со стороны администрации.
Мы принимаем GooglePay Мы принимаем Visa Мы принимаем Mastercard