Почему важно учитывать нагрузку ферм на сервере?

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

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

Чтобы комфортно играть всем на сервере при 20 TPS, нужно поддерживать MSPT ниже 50. Посмотреть MSPT в игре, можно в табе нажав на клавишу TAB.

tablist.png

Почему важно соблюдать ограничения на сервере?

Соблюдение ограничений на сервере — ключ к стабильной и комфортной игре для всех участников. Когда фермы или скопления мобов создают чрезмерную нагрузку, это не только снижает производительность сервера, но и ухудшает игровой опыт других игроков. Ограничения основаны на многолетнем опыте администрирования и наблюдениях, позволяя избежать проблем с производительностью, такими как лаги или краши, и поддерживать стабильную работу сервера.

Что такое TPS и MSPT?

TPS и MSPT — это ключевые показатели производительности Minecraft-сервера.

TPS (Ticks Per Second) измеряет, сколько игровых тиков сервер обрабатывает за одну секунду. В идеальных условиях TPS всегда должно быть 20 — это значит, что сервер работает без задержек и обрабатывает игровые события с максимальной скоростью.

MSPT (Milliseconds Per Tick) показывает, сколько времени уходит на обработку одного игрового тика в миллисекундах. Каждый тик должен обрабатываться за 50 миллисекунд или меньше, чтобы поддерживать TPS на уровне 20. Если MSPT превышает 50, сервер начинает замедляться, что приводит к лагам и снижению TPS.

Эти показатели помогают понять, насколько эффективно работает сервер и как на его производительность влияют различные элементы, такие как фермы, механизмы и скопления мобов.

Что такое FPS?

FPS (Frames Per Second) — количество кадров в секунду, которое зависит от конфигурации ПК и оборудования игрока. Этот параметр может значительно варьироваться в зависимости от мощности графической карты, процессора и других факторов на стороне клиента.

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

Примеры и тесты из практики

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

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

Описание тестового стенда

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

Настройки мира:

Используемые моды:

Настройка Sodium:

Sodium_settings_all.png

Хотя тестовый стенд отличается от реальной конфигурации сервера, его основная цель — предоставить ориентировочные данные. Мы не стремимся к идеальной точности, а фокусируемся на получении приблизительных цифр, которые помогают оценить общее влияние игровых механик на TPS и MSPT. Это позволяет выявить ключевые проблемы и принять меры для оптимизации.

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

При проведении тестов будут оцениваться FPS, TPS и MSPT

Создание мира

Мир был создан абсолютно ванильным образом с использованием стандартных настроек на первой и второй вкладке. Третья вкладка осталась без изменений.

World_create_all.png

Первый взгляд

На первом взгляде, сразу после входа в мир, не будет никаких ферм, нагрузок или мобов. Это чистая, пустая игровая среда, которая позволяет нам увидеть начальное состояние мира без влияния каких-либо механик или построек, создающих дополнительную нагрузку на сервер.

world.webp

Основные команды
Дополнительные команды:

Для создания дополнительных виртуальных игроков

Основной аккаунт для тестов и скриншотов — prestig9110, который будет находиться в точке /tp 0 86 0.

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

Для тестов, которые проводятся в воздухе, будет использоваться высота 270 блоков, в то время как для тестов на земле — высота 70 блоков.

Тест #1: Стандартная прогрузка с несколькими игроками

test_1.1.png

test_1.2.png

test_1.3.png

test_1.4.png

Нагрузка на сервер зависит от расстояния между игроками и их положения. Когда игроки находятся далеко друг от друга, каждый из них загружает в среднем 70 враждебных мобов и +-30/35 мирных мобов, что суммарно для 5 игроков даёт 350 враждебных и +-175 мирных мобов. Если все игроки находятся в одной точке, количество загружаемых мобов делится между ними, и сервер грузит только одно количество мобов на всех, например, +-70 враждебных мобов на 5 игроков.

Аналогичная ситуация возникает и с чанками. При радиусе симуляции в 8 чанков, для одного игрока серверу нужно обработать 256 чанков. Если игроки распределены по разным точкам, то обрабатывается 256 * 5 = 1280 чанков. Однако если все игроки находятся в одной точке, они используют одни и те же чанки, и серверу нужно обработать только 256-280 чанков, так как они не могут точно стоять в одной точке. 

Если игроки находятся в воздухе, это также влияет на нагрузку. В воздухе меньше блоков, с которых могут появляться мобы, и так как вокруг в 80% пустота, нагрузка на сервер снижается. В отличие от земли, где мобы могут спауниться в большем количестве, в воздухе их количество ограничено. Таким образом, небольшим плюсом является строительство в воздухе или выкапывание большой ямы (например, 256x256), что снижает нагрузку на сервер.

В данном примере нет смысла акцентировать внимание на FPS, так как основная нагрузка идёт на сервер.

Тест #2: сундуки




Версия #10
prestig9110 создал 29 ноября 2024 15:47:54
prestig9110 обновил 5 декабря 2024 21:59:44