Запуск собственного выделенного сервера
Enshrouded Dedicated Server позволяет создать постоянный игровой мир для большой компании. Однако актуальная версия воксельного движка Holts Engine накладывает жесткие требования к серверной части. Поскольку сервер должен непрерывно держать в памяти и просчитывать физику, геометрию чанков, ИИ мобов и тысячи измененных игроками блоков земли, стандартные дефолтные настройки приводят к лавинообразному росту пинга, рассинхронизации и падению серверного тикрейта (TPS).Основная техническая проблема кроется в некорректном распределении потоков процессора серверным приложением, а также в агрессивной утечке памяти при сохранении базы данных мира
.json. Если сервер запущен на том же ПК, где вы играете, или на слабом хостинге, без тонкого тюнинга конфигурационного файла enshrouded_server.json игра превратится в слайд-шоу. Ниже описано, как правильно настроить и оптимизировать выделенный сервер для идеальной плавности мультиплеера.Шаг 1: Тонкая настройка конфигурационного файла enshrouded_server.json
Правильное распределение ресурсов и ограничение максимального количества пакетов напрямую в файле конфигурации сервера позволяет снизить нагрузку на сеть в несколько раз.
- Перейдите в корневую директорию вашего выделенного сервера (обычно это папка
...\Steamapps\common\Enshrouded Dedicated Server). - Найдите файл конфигурации с именем
enshrouded_server.jsonи откройте его через Блокнот. - Найдите строку
"slotCount"и установите реальное количество игроков (не завышайте этот параметр, каждый лишний слот резервирует под себя потоки CPU). - Добавьте или измените скрытый параметр сетевого буфера, прописав строчку
"queryPort": 15637,и убедитесь, что значение"gamePort"выставлено как15636. - Проверьте блок
"saveInterval". По умолчанию сервер сохраняется слишком часто, вызывая секундные фризы у всех игроков. Установите значение в секундах равным1800(один раз в 30 минут) для снижения пиковых нагрузок на накопитель. - Сохраните изменения в текстовом редакторе.
Шаг 2: Жесткое закрепление серверных потоков процессора и высокого приоритета
По умолчанию операционная система Windows может выделять под серверное приложение слабые энергоэффективные ядра или урезать приоритет, если окно свернуто. Мы исправим это через командную строку.
- Создайте в папке с сервером новый текстовый файл и переименуйте его в
start_server.bat(расширение должно быть строго.bat, а не.txt). - Кликните по нему правой кнопкой мыши, выберите «Изменить» и пропишите следующий оптимизированный скрипт запуска:
start /high /affinity FFFF enshrouded_server.exe - Учтите, что параметр
/highавтоматически выдает серверу максимальный приоритет в системе, а маска/affinity FFFFзаставляет ОС использовать только первые 16 логических потоков (физические ядра), полностью игнорируя E-cores. - Используйте этот созданный
.batфайл для каждого последующего запуска вашего выделенного сервера.
Шаг 3: Автоматизация очистки оперативной памяти сервера с помощью скрипта
Серверная часть Enshrouded страдает от утечки памяти так же, как и клиентская игра. Для предотвращения падений сервера из-за нехватки ОЗУ раз в сутки необходимо выполнять принудительный перезапуск с очисткой кэша вокселей.
- Откройте «Планировщик заданий» Windows через встроенный поиск на панели задач.
- Нажмите «Создать простую задачу» в правом вертикальном меню утилиты.
- Задайте имя задачи (например,
Reset Enshrouded) и выберите триггер «Ежедневно», указав ночное время (например, 04:00). - Выберите действие «Запустить программу» и в строке сценария пропишите системную команду
taskkill /f /im enshrouded_server.exe. - Создайте вторую задачу на 04:05, которая будет запускать ваш ранее созданный файл
start_server.bat— это гарантирует чистую память и отсутствие сетевых лагов на сервере при длительной работе.
Шаг 4: Настройка сетевой карты сервера для обработки UDP-трафика без задержек
Сервер отправляет колоссальные массивы мелких UDP-пакетов. Если на сетевой карте активны функции энергосбережения, это приведет к искусственному росту пинга у подключающихся игроков.
- Откройте «Диспетчер устройств» Windows с помощью комбинации клавиш
Win + X. - Найдите вашу сетевую карту в блоке «Сетевые адаптеры» и откройте её «Свойства».
- Перейдите во вкладку «Управление электропитанием» и полностью снимите галочку с пункта
Разрешить отключение этого устройства для экономии энергии. - Перейдите во вкладку «Дополнительно», найдите параметр
Interrupt Moderation(Модерация прерываний) и переведите его в положениеDisabled(Выключено) — это снизит задержку обработки пакетов до технического минимума.
Шаг 5: Изоляция базы данных сервера на скоростном NVMe накопителе
При сохранении мира сервер пишет воксельные изменения в базу данных SQL-лайт структуры. Если файлы лежат на медленном HDD, в момент автосохранения сервер будет намертво зависать.
- Убедитесь, что папка с выделенным сервером находится строго на SSD-накопителе с интерфейсом NVMe.
- Добавьте исполняемый файл
enshrouded_server.exeи папкуsavegameв список исключений вашего антивируса и Защитника Windows, чтобы защитные службы не блокировали файлы и не тратили ресурсы процессора на их сканирование в режиме реального времени.
Заключение
Стабильная работа выделенного сервера Enshrouded без сетевых лагов достигается за счет снижения частоты автосохранений в
enshrouded_server.json, принудительного выделения физических ядер процессора с высоким приоритетом через .bat скрипт и отключения модерации прерываний сетевой карты. Регулярный автоматический перезапуск сервера полностью нивелирует проблему утечки воксельной памяти и обеспечивает низкий пинг для всех участников сессии.
Комментариев нет:
Отправить комментарий