Выделенному серверу ARK: Survival Ascended нужно от 10 до 16 ГБ памяти, одно быстрое ядро процессора, которое он сможет занять целиком, два UDP-порта и каталог сохранений, который по расписанию копируют куда-то ещё. Ascended - это не Evolved с более красивым светом: это Unreal Engine 5, и аппетит по памяти это отражает. Первый признак того, что ресурсов не хватает, - не падение, а сохранение, которое пишется целую минуту, пока все стоят на месте. Всё дальнейшее не зависит от хостинга. Команды, ключи ini и сценарии сбоев одни и те же, запускаете ли вы сервер на своей машине, на VDS или в панели.
Что такое сервер Ascended и чем он отличается от Evolved#
Выделенный сервер - это бесплатная отдельная загрузка: ARK: Survival Ascended Dedicated Server, Steam app id 2430930, скачивается через SteamCMD с анонимным входом. Это безголовая сборка игры: она загружает одну карту и продолжает её симулировать, даже когда никто не подключён.
Четыре отличия от Evolved важно знать до того, как вы что-либо спланируете:
- Unreal Engine 5 и World Partition. Названия всех официальных карт заканчиваются на
_WP:TheIsland_WP,ScorchedEarth_WP,TheCenter_WP,Aberration_WP,Extinction_WP,Ragnarok_WP. World Partition подгружает карту плитками; для клиента это лучше, для сервера примерно нейтрально - серверу по-прежнему приходится держать в памяти всё, что построили игроки. - Моды берутся с CurseForge, а не из Steam Workshop. Сервер сам скачивает их по списку числовых идентификаторов проектов, а подключающиеся клиенты загружают их автоматически. Это настоящее улучшение по сравнению с плясками вокруг workshop в Evolved.
- Серверный бинарник - сборка под Windows. Wildcard не выпустила нативный Linux-сервер для Ascended, поэтому на Linux запускают Windows-бинарник под Proton или Wine. Это работает, и это одна из причин, по которым серверы Ascended потребляют больше памяти, чем та же карта в Evolved. Если к моменту, когда вы это читаете, что-то изменилось, список депо на SteamDB скажет об этом раньше любого руководства.
- Сохранения Evolved не конвертируются. Файл
.arkиз Survival Evolved в Ascended не загрузится. Начать играть в Ascended - значит начать новую карту.
Лимит игроков задаётся ключом MaxPlayers в секции [/Script/Engine.GameSession] файла GameUserSettings.ini, и на свежем сервере по умолчанию он равен 70. В Evolved в строке запуска работал и ?MaxPlayers=; в Ascended этот аргумент долго не делал ничего, и народный обходной путь -WinLiveMaxPlayers=70 по-прежнему единственный, который срабатывает надёжно. Задайте значение в ini и добавьте аргумент запуска, если лимит не применился.
Требования и потребление ресурсов#
Память зависит от построек и прирученных существ, а не от игроков. Сервер с шестью людьми, построившими три базы и загон для разведения, съест больше, чем сервер с двадцатью, которые ещё бьют по деревьям кулаками. Планируйте по числу баз.
| Ситуация | RAM | CPU | Диск |
|---|---|---|---|
| Свежая карта, 2-6 игроков, одна-две базы | 10-12 ГБ | 2 ядра | 60 ГБ |
| Устоявшаяся карта, 10-20 игроков, много баз | 14-16 ГБ | 2-3 ядра | 80 ГБ |
| Тяжёлые моды, особенно наборы построек | плюс 4 ГБ | - | плюс 10 ГБ |
| Каждая дополнительная карта в кластере | свои 10-16 ГБ | свои ядра | своя установка |
- CPU: узкое место - игровой поток, поэтому частота важнее числа ядер. Второе и третье ядра всё же используются - сохранение, сеть и пакетная обработка ИИ динозавров не сидят в одном потоке, - но шестнадцатиядерная машина с умеренной частотой проиграет четырём быстрым ядрам.
- Диск: установка занимает около 25 ГБ и растёт с каждым обновлением. Сохранения начинаются маленькими и такими не остаются; у зрелой карты с большим числом племён один файл мира может перевалить за 300 МБ - ещё до файлов отдельных игроков и племён.
- Сеть: скромные требования. ARK отправляет гораздо меньше, чем принято думать, порядка 50-200 КБ/с на игрока. То, что игроки воспринимают на ARK как лаг, почти всегда означает, что игровой поток не укладывается в свой тик, а не проблему канала.
Прежде чем покупать больше чего бы то ни было, выясните, какой именно ресурс упёрся в предел, - в статье CPU или RAM для игровых серверов показано, как считывать это с графика, а не гадать. Сервер, упёршийся на 100% в свою долю процессора, ведёт себя совсем не так, как тот, что тихо подбирается к пределу памяти, и лечится это совершенно по-разному.
Установка и запуск сервера#
На собственной машине сервер загружает SteamCMD, причём анонимно:
$ steamcmd +force_install_dir /home/ark/asa +login anonymous \ +app_update 2430930 validate +quitКоманда запуска - одна длинная строка с аргументами двух разных видов, и путаница между ними - самая частая причина, по которой свежий сервер игнорирует половину сказанного:
ArkAscendedServer.exe TheIsland_WP?listen?SessionName=Longship Crew?Port=7777?QueryPort=27015?ServerAdminPassword=change-me?ServerPassword=herring42 -NoBattlEye -WinLiveMaxPlayers=40 -log -mods=930042,893657- Название карты стоит первым, без
?перед ним. - Всё, что соединено через
?, - это аргументы запроса. Никаких пробелов вокруг?и никаких кавычек. - Всё, что начинается с
-, идёт после строки запроса, через пробелы.
Аргументы запуска, которые стоит знать:
| Аргумент | Что делает |
|---|---|
-log | Выводит лог сервера в консоль, а не только в файл |
-NoBattlEye | Отключает BattlEye. Клиенты тогда тоже должны заходить с ним выключенным |
-WinLiveMaxPlayers=40 | Лимит игроков, который действительно применяется |
-mods=id,id,id | Идентификаторы проектов CurseForge в порядке загрузки |
-clusterid=name | Включает этот сервер в кластер |
-ClusterDirOverride=/path | Где хранятся данные переносов внутри кластера |
-NoTransferFromFiltering | Разрешает переносы с любой карты кластера |
-ForceAllowCaveFlyers | Пускает летающих существ в пещеры |
-servergamelog | Пишет журнал игровых событий, который может читать RCON |
Запустите сервер один раз и корректно остановите его, прежде чем что-то настраивать. Первый запуск создаёт файлы конфигурации со значениями по умолчанию, а править несуществующие файлы - пустая трата вечера. На хостинге с панелью те же аргументы выглядят как поля на вкладке Startup, а не как команда, которую вы набираете; значения при этом те же самые.
GameUserSettings.ini и Game.ini: важные настройки#
Оба файла лежат в ShooterGame/Saved/Config/WindowsServer/. В GameUserSettings.ini хранятся настройки сервера и мира; в Game.ini - коэффициенты, которые читают игровые классы, и часто этого файла нет, пока вы его не создадите.
Секция [ServerSettings] - это место, где принимается большинство решений:
| Ключ | По умолчанию | Что делает |
|---|---|---|
ServerAdminPassword | - | Права администратора в игре и пароль RCON |
ServerPassword | - | Пароль для входа. Оставьте пустым для открытого сервера |
DifficultyOffset | low | Масштабирует уровни диких существ |
OverrideOfficialDifficulty | - | Значение 5.0 даёт максимальные уровни, как на официальных серверах |
XPMultiplier | 1.0 | Скорость получения опыта |
TamingSpeedMultiplier | 1.0 | Чем больше, тем быстрее приручение |
HarvestAmountMultiplier | 1.0 | Ресурсов за один удар |
DinoCountMultiplier | 1.0 | Плотность диких существ. Множитель потребления памяти |
AutoSavePeriodMinutes | 15 | Минут между сохранениями мира |
KickIdlePlayersPeriod | 3600 | Секунд до отключения бездействующего игрока |
DisableStructureDecayPvE | False | Включите - и ничто больше не гниёт |
TheMaxStructuresInRange | 10500 | Предел построек на участке. Увеличение стоит памяти |
ItemStackSizeMultiplier | 1.0 | Размеры стопок без мода |
RCONEnabled | False | Включает удалённое администрирование |
RCONPort | 27020 | Порт, на котором слушает RCON, TCP |
AllowThirdPersonPlayer | True | Камера от третьего лица |
ServerCrosshair | True | Прицел включён или выключен |
AlwaysNotifyPlayerJoined | False | Сообщения о входе игроков в чате |
Самый частый вопрос о новом сервере ARK - почему все дикие существа четвёртого уровня. Ответ - сложность. На свежем сервере DifficultyOffset выставлен низким, а пара, которая даёт официальные уровни - дикие существа до 150-го, - это DifficultyOffset=1.0 вместе с OverrideOfficialDifficulty=5.0. Смена значений не пересчитывает уже существующих существ на карте; выполните один раз cheat DestroyWildDinos, и карта заново заселится на новых уровнях.
В Game.ini используется единственная секция, [/script/shootergame.shootergamemode], а ключи, которые чаще всего меняют, связаны с разведением и характеристиками:
[/script/shootergame.shootergamemode]MatingIntervalMultiplier=0.5EggHatchSpeedMultiplier=10.0BabyMatureSpeedMultiplier=10.0BabyCuddleIntervalMultiplier=0.2MaxNumberOfPlayersInTribe=12bAllowUnlimitedRespecs=trueGlobalSpoilingTimeMultiplier=2.0CropGrowthSpeedMultiplier=3.0PerLevelStatsMultiplier_Player[7]=2.0PerLevelStatsMultiplier_Player[8]=1.5Два правила избавят вас от путаницы. Множители со словами «interval» или «time» для ускорения уменьшают, а множители со словами «speed» или «amount» увеличивают; и BabyCuddleIntervalMultiplier=0.2, и BabyMatureSpeedMultiplier=10.0 означают «быстрее». А индексы характеристик игрока идут так: [0] здоровье, [1] выносливость, [3] кислород, [4] еда, [5] вода, [7] грузоподъёмность, [8] урон в ближнем бою - трогать стоит грузоподъёмность и ближний бой, причём удвоение урона в ближнем бою меняет баланс всего сервера сильнее любого из коэффициентов скорости.
Ключ с опечаткой молча игнорируется. Ни ошибки, ни предупреждения, ни намёка в логе: такой настройки просто не существует, и действует значение по умолчанию. Если изменение не вступило в силу, сначала проверьте написание и заголовок секции, а потом уже меняйте что-то ещё.
Порты и подключение#
| Порт | Протокол | Назначение |
|---|---|---|
7777 | UDP | Игровой трафик |
27015 | UDP | Запросы Steam, через которые общается браузер серверов |
27020 | TCP | RCON, только если RCONEnabled=True |
В Evolved также требовался 7778/udp как сырой сокет; в Ascended он не нужен, хотя открыть его ничего не стоит, если ваш хостинг всё равно выделяет порты парами. Если порт запросов закрыт, сервер работает безупречно и нигде не отображается - это классический отчёт «мой сервер сломан»; почему существует пара портов, объясняет статья порты игровых серверов.
Войти можно двумя способами. Встроенный браузер серверов с фильтром Unofficial и включённым показом серверов с паролем показывает только что запущенный сервер через пять-десять минут. Поиск по необычному слову в названии сессии работает гораздо быстрее, чем прокрутка списка. Надёжный путь - консоль клиента: нажмите клавишу консоли в главном меню и введите open 203.0.113.10:7777. Это подключает напрямую, минуя список, и заодно мгновенно показывает, проблема ли это со списком или с сетью.
Администраторы, RCON и полезные команды#
В игре откройте консоль и авторизуйтесь паролем, который вы задали:
enablecheats change-mecheat ListPlayersПосле авторизации команды администратора получают префикс cheat. Через RCON он не нужен - вы отправляете голую команду. RCON не шифруется, а пароль тот же, что даёт в игре полные права администратора, поэтому относитесь к порту так же, как к SSH: ограничьте доступ или держите выключенным, пока не пользуетесь. Что это значит на практике, разобрано в статье безопасный RCON.
| Команда | Что делает |
|---|---|
ListPlayers | Подключённые игроки с идентификаторами платформ |
SaveWorld | Немедленно записывает мир |
DoExit | Сохраняет и корректно останавливает сервер |
Broadcast <text> | Крупное сообщение на всех экранах |
ServerChat <text> | Сообщение в чате |
KickPlayer <id> | Отключает игрока |
BanPlayer <id> | Банит и отключает |
UnbanPlayer <id> | Снимает бан |
DestroyWildDinos | Уничтожает и заново создаёт всех диких существ |
SetTimeOfDay 08:00 | Устанавливает время суток |
Идентификатор игрока в Ascended - это EOS id, а не обычный SteamID64, и ListPlayers выводит ту форму, которую ожидают остальные команды. Копируйте его оттуда, а не из профиля Steam. DestroyWildDinos стоит запомнить: это лекарство после смены сложности, лекарство, когда в регионе перестали появляться существа, и неплохой способ вернуть память на карте, проработавшей две недели.
Моды и скучный способ их добавлять#
Моды Ascended - это проекты CurseForge, перечисленные по числовым идентификаторам в -mods=. Порядок - это порядок загрузки, и более поздние записи побеждают там, где два мода меняют одно и то же. Сервер скачивает их при запуске, поэтому первый старт после добавления мода медленный, а лог будет казаться замершим, пока идёт загрузка.
Добавьте один мод. Перезапустите. Поиграйте вечер. Добавьте следующий. Это медленнее, чем вставить чужой список модов, но только так вы узнаете, какой именно мод сломал сервер, ведь ответ всегда - тот, что вы добавили последним. Три конкретные привычки стоят больше любого списка модов:
- Моды на постройки и стопки - самые прожорливые по памяти. Набор, добавляющий тысячу размещаемых элементов, поднимает потолок того, что смогут построить ваши игроки, а они построят. Закладывайте память до установки, а не после того, как сохранение стало занимать минуту.
- Не включайте автообновление в день патча. Каждое обновление ARK ломает моды, пока их авторы не пересоберут. Сервер с модами должен обновляться после модов, а не до них - что делать, когда обновление мода всё ломает - это порядок действий на то утро, когда это всё же случилось.
- Удаление мода из живого сохранения разрушительно. Всё, что он разместил, становится пустой ссылкой. Иногда сохранение загружается с дырами, иногда не загружается вовсе. Сначала сделайте резервную копию, которую вы действительно проверяли, и приготовьтесь потерять всё, чем владел мод.
Файлы модов и их конфиги лежат внутри установки сервера, а значит, для их просмотра достаточно файлового менеджера или SFTP - если вы ещё не подключались к серверу таким образом, см. SFTP и файловый менеджер.
Кластеры и переносы#
Кластер - это два или более сервера с общим каталогом данных переноса, чтобы выжившие могли переносить между картами персонажей, прирученных существ и предметы. Требования точны:
- Один и тот же
-clusterid=на каждом сервере кластера. - Один и тот же путь
-ClusterDirOverride=на файловой системе, в которую могут писать все серверы. NoTributeDownloads=Falseв[ServerSettings], а такжеPreventDownloadSurvivors,PreventDownloadItemsиPreventDownloadDinos, выставленные вFalseдля того из трёх, что вы хотите разрешить.-NoTransferFromFiltering, если вы хотите принимать переносы с любой карты, а не только с тех, что игра считает связанными.
Честное ограничение: общий каталог должен быть по-настоящему общим. Два сервера в одном аккаунте панели не обязательно стоят на одной физической машине, а если это не так, каталог кластера между ними существовать не может. Спросите об этом до покупки второго сервера и будьте готовы к ответу «та же нода или никак». Если вы переносите существующий одиночный сервер в кластер, сторона объявления игрокам и DNS разобрана в статье как переехать, не потеряв игроков.
Сохранения, резервные копии и перезапуски#
Сохранения лежат в ShooterGame/Saved/SavedArks/: один файл мира на карту, один .arkprofile на каждого выжившего, хоть раз входившего в игру, и один .arktribe на племя. Если потерять файл мира, сохранив профили, вы получите чистую карту, полную выживших без баз.
- `AutoSavePeriodMinutes=15` - значение по умолчанию, и обычно оно верное. На зрелой карте именно сохранение - это та задержка, которую все называют лагом. Если ваш сервер замирает на десять секунд по расписанию, это сохранение, а увеличение интервала до 20 или 30 минут меняет более долгий откат в худшем случае на меньшее число прерываний. Сокращать интервал на большой карте - хуже, а не лучше.
- Никогда не копируйте сохранение при работающем сервере. Получите файл, записанный наполовину. Остановите сервер или возьмите копию из снимка, который делает для вас хостинг.
- Автосохранение - это не резервная копия. Оно лежит на том же диске и перезаписывается. Настоящая копия - это копия в другом месте, по расписанию, которую вы хотя бы раз восстанавливали, - резервные копии, которые действительно восстанавливаются - короткая статья, и она отделяет неудачный вечер от мёртвого сервера.
- Перезапускайте ежедневно. Потребление памяти в ARK растёт со временем. Плановый перезапуск в час, когда никто не играет, держит его на ровном уровне и занимает тридцать секунд - о времени см. расписания перезапусков, которые помогают.
Остановка из-за нехватки памяти - это случай остановки без сохранения: всё, что произошло после последнего автосохранения, потеряно. На RE:NODE контейнер, достигший лимита памяти, останавливается и запускается заново начисто, а не уходит в swap; так быстрее восстанавливаться, и это ровно тот случай, что описан выше, поэтому серверу, размер которого близок к потолку, стоит выставить более короткий интервал автосохранения. Вкладка Schedules умеет запускать ежедневный перезапуск и ночную резервную копию как упорядоченные задачи, а слоты для резервных копий есть в каждом тарифе.
Устранение неполадок#
Сервера нет в браузере. Проверьте, что порт запросов открыт и это UDP, что фильтр стоит на Unofficial, и подождите десять минут. Затем проверьте командой open <ip>:7777 из консоли клиента. Если подключение прошло, с сервером всё в порядке, а список просто медленный.
Все дикие существа четвёртого уровня. Дело в DifficultyOffset и OverrideOfficialDifficulty. Задайте их, перезапустите, затем выполните cheat DestroyWildDinos.
Изменения конфига постоянно откатываются. Вы правили GameUserSettings.ini при работающем сервере, и его корректное завершение записало поверх ваших правок старые значения.
Настройка вообще не действует. Она написана с ошибкой либо стоит не в том файле или не в той секции. Коэффициенты, которым место в Game.ini, ничего не делают в GameUserSettings.ini, и наоборот.
Запуск зависает без вывода в лог. Обычно это загрузка модов. Дайте первому запуску после смены модов десять минут; если ничего не двигается, уберите идентификатор самого нового мода и запустите снова.
Сервер останавливается без предупреждения раз в несколько дней. Память. Смотрите график за неделю, а не за минуту - какую форму искать, объясняет статья как читать график нагрузки сервера. Растущая пила, которую обрезает сверху, - это остановка из-за нехватки памяти, а не сбой.
Игроки попадают на другую карту кластера ни с чем. Один из параметров PreventDownload* равен True, либо у двух серверов на самом деле нет общего каталога кластера.
FAQ#
Сколько RAM нужно серверу ARK: Survival Ascended?
От десяти до двенадцати гигабайт для свежей карты с небольшой группой, от четырнадцати до шестнадцати для устоявшейся карты с полным списком игроков и несколькими большими базами. Моды, добавляющие постройки, - то, что вероятнее всего заставит вас выйти за предел; добавьте четыре гигабайта, прежде чем ставить набор построек.
Можно ли перенести сохранение ARK: Survival Evolved в Ascended?
Нет. Форматы сохранений различаются, и конвертера не существует. Ascended означает новую карту, новых приручённых существ и новые базы, и об этом стоит сказать игрокам вслух до объявления о переезде, а не после.
Нужно ли игрокам устанавливать моды перед входом?
Нет. Ascended при подключении автоматически загружает клиенту список модов сервера через CurseForge. Первый вход после смены модов занимает у всех больше времени, и это довод менять моды до вечера, а не посреди него.
Почему сервер замирает на несколько секунд через равные промежутки?
Это автосохранение пишет файл мира, а интервал задаёт AutoSavePeriodMinutes. Оно становится дольше по мере того, как карта заполняется постройками. Более быстрое хранилище его сокращает, увеличение интервала делает его реже, но полностью убрать не получится ничем.
Стоит ли запускать кластер для небольшой группы?
Редко. Кластер удваивает или утраивает память, за которую вы платите, и добавляет правила переноса, за которыми нужно следить, - в обмен на разнообразие карт. Большинству групп меньше десяти человек лучше подойдёт одна хорошо обеспеченная ресурсами карта и полный вайп, когда она наскучит.
Нужен ли серверу BattlEye?
Нет, но настройка должна совпадать. Если вы запускаете сервер с -NoBattlEye, каждый игрок тоже должен запускать игру с отключённым BattlEye, иначе подключиться не получится, а ошибка, которую он увидит, об этом внятно не говорит.




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