Вылетает при загрузке карты
Заходишь на сервер, в консоли мелькает загрузка карты — и вместо мира получаешь закрывшийся процесс или зависшую консоль без единой новой строки в логе. Знакомая боль для любого, кто держал ARK дольше пары недель: игра тяжёлая, конфиги раскиданы по нескольким файлам, а причина краша на загрузке карты может быть где угодно — от битого сейва до банальной нехватки памяти под конкретную карту. Разберём по порядку, что проверять первым, вторым и так далее, чтобы не гадать вслепую.
Содержание
- Как понять, что это именно краш на загрузке карты
- Причина 1: повреждённый файл сохранения мира
- Причина 2: не хватает оперативной памяти под конкретную карту
- Причина 3: несовместимый мод-карта после обновления игры
- Причина 4: конфликт нескольких модов на одной области карты
- Как читать серверный лог в момент краша
Как понять, что это именно краш на загрузке карты
Важно сразу отделить эту проблему от других видов вылетов — иначе легко потратить час не на то. Признаки именно краша на загрузке:
- Процесс
ShooterGameServer(Evolved) илиArkAscendedServer(ASA) стартует, в логе идут привычные строки про инициализацию, но обрывается ДО строки о том, что сервер начал слушать порт. - Игроки вообще не могут зайти — сервер не появляется в списке или висит на экране загрузки бесконечно.
- Краш происходит стабильно, не через час игры, а именно в первые секунды-минуты после старта процесса.
Если сервер нормально стартует и падает уже во время игры (не на загрузке) — это, скорее всего, другая история: перегрузка CPU, утечка памяти за долгую сессию или конкретное действие игрока (постройка, спавн существа). Ниже речь именно про краш на самой загрузке карты.
Первым делом — процесс:
ps aux | grep ShooterGame
Если процесса нет спустя минуту-две после запуска — сервер точно упал, а не завис. Дальше смотрим лог, но об этом подробнее в последнем разделе — сначала пройдёмся по типичным причинам.
Причина 1: повреждённый файл сохранения мира
Самая частая причина вылета именно на загрузке конкретной карты — битый файл сейва. ARK хранит прогресс карты в папке ShooterGame/Saved/SavedArks/ (Evolved) или ShooterGame/Saved/SavedArksLocal/ (ASA), и файл <КартаКод>.ark — это как раз то, что грузится при старте. Повреждение может случиться из-за жёсткого выключения хоста посреди записи, обрыва диска, или банально из-за того, что сервер убили kill -9 в момент автосохранения.
Проверить целостность напрямую сложно — у ARK нет встроенной утилиты валидации сейва, но косвенные признаки есть:
ls -la ShooterGame/Saved/SavedArks/
Если файл TheIsland.ark (или другой карты) имеет подозрительно маленький размер по сравнению с бэкапами за прошлые дни, либо дата изменения обрывается на середине автосохранения — это тревожный звонок. Полезно сравнить с файлом .ark.bak — ARK сам создаёт резервную копию перед каждой перезаписью, и если основной файл битый, можно попробовать поднять карту именно с .bak:
cd ShooterGame/Saved/SavedArks/
cp TheIsland.ark TheIsland.ark.broken
cp TheIsland.ark.bak TheIsland.ark
Перезапустите сервер и проверьте, грузится ли карта. Если .bak тоже битый или отсутствует — остаётся восстановление из внешнего бэкапа, который вы (надеюсь) настраивали заранее. Подробный практический разбор процесса восстановления — в статье про восстановление сервера из бэкапа. Если регулярных бэкапов ещё нет — самое время их настроить, пока карта снова не отвалилась.
Поднять сервер ARK: Survival за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПричина 2: не хватает оперативной памяти под конкретную карту
ARK не одинаково прожорлив на разных картах. The Island — самая лёгкая база для сравнения, а более крупные и детализированные карты (Ragnarok, Genesis части 1 и 2, Crystal Isles, Extinction) заметно тяжелее по потреблению RAM на этапе генерации/загрузки мира — там больше уникальных ассетов, зон и биомов, которые движок должен прогрузить в память единовременно. Точные цифры сильно гуляют от версии игры к версии и от количества построек на карте, поэтому ориентируйтесь не на конкретные мегабайты, а на запас: если сервер стабильно тянул The Island на 8 ГБ, для Ragnarok или Genesis тот же объём может оказаться впритык или недостаточным, особенно с обжитой картой и десятками построек игроков.
Проверить, не в память ли дело, можно двумя способами. Первый — смотреть на использование памяти прямо во время загрузки:
watch -n 1 free -h
Если available падает почти до нуля синхронно с моментом краша — это она. Второй способ — проверить системный журнал на предмет вмешательства OOM killer (ядро само убивает процесс, когда памяти совсем не хватает):
dmesg -T | grep -i "out of memory"
sudo journalctl -k | grep -i "killed process"
Если видите строку про Killed process с именем ShooterGameServer рядом — сомнений нет, сервер убила нехватка RAM, а не баг конфига. Решения два: либо увеличить объём RAM на хосте (для ASA закладывайте от 12 ГБ, для Evolved на тяжёлых картах — от 12-16 ГБ вместо стартовых 8), либо снизить нагрузку — уменьшить число одновременно активных построек через ?ClusterId разделение по картам, почистить заброшенные структуры или ограничить MaxStructuresInRange в GameUserSettings.ini.
Причина 3: несовместимый мод-карта после обновления игры
Если краш начался сразу после обновления ARK (плановый патч или обновление движка), а карта была не ванильной, а модовой (загружена через Steam Workshop) — велика вероятность, что автор мода ещё не успел обновить её под новую версию игры. Модовые карты особенно чувствительны к обновлениям движка: меняется формат ассетов или API, и старая сборка карты просто не грузится, вызывая краш на самом раннем этапе инициализации мира.
Проверить это просто: временно уберите ID модовой карты из параметра GameModIds в GameUserSettings.ini (или из команды запуска, если карта передаётся через ?ActiveMods=) и попробуйте поднять сервер на стандартной ванильной карте, например The Island:
./ShooterGameServer TheIsland?listen?SessionName=Test -server -log
Если сервер поднялся без проблем — дело точно в конкретном моде-карте, а не в общей конфигурации хоста. Дальше — идёте на страницу мода в Steam Workshop и смотрите раздел обновлений и обсуждений: обычно после крупного патча игры там быстро появляются жалобы других админов и, если повезло, комментарий автора с оценкой сроков обновления. Пока фикса нет, откатите сервер на предыдущую версию игры (если хостинг это позволяет) либо временно переключитесь на ванильную или другую, уже обновлённую модовую карту. Подробнее про работу с модами и картами из Workshop — в статье про мод-меню и Workshop-карты для ARK.
Причина 4: конфликт нескольких модов на одной области карты
Отдельная головная боль — когда крашит не из-за одного конкретного мода, а из-за сочетания нескольких, каждый из которых по отдельности работает нормально. Типичный сценарий: два мода структурного/строительного толка (или два мода на спавны существ) пытаются модифицировать одну и ту же зону карты или переопределить одни и те же классы объектов — движок ARK не всегда корректно разруливает такие пересечения, и результат — краш именно на загрузке, когда все модификации карты применяются одновременно.
Диагностика здесь методом исключения — по одному отключаете моды из списка GameModIds и пробуете поднять сервер после каждого шага:
GameModIds=1565015734,839162288,731604991
Уберите последний ID, перезапустите, проверьте. Если помогло — виновник найден или сузили круг подозреваемых до пары модов. Если карта поднялась только после отключения сразу нескольких, но не одного — вероятно, конфликтуют именно они между собой, а не каждый по отдельности. В таком случае ищите на странице модов в Workshop упоминания известной несовместимости (авторы популярных структурных модов часто прямо пишут в описании, с чем их мод не дружит) или пробуйте изменить порядок ID в GameModIds — очерёдность загрузки иногда влияет на то, чья модификация зоны применится первой.
Как читать серверный лог в момент краша
Какая бы из причин выше ни оказалась верной — финальное подтверждение всегда даёт лог сервера. Файлы лежат в ShooterGame/Saved/Logs/ShooterGame.log (или ротируются с датой в имени, в зависимости от настроек). Смотрите именно конец файла, с момента запуска до обрыва:
tail -n 200 ShooterGame/Saved/Logs/ShooterGame.log
Если сервер запущен через systemd-юнит — удобнее сразу смотреть системный журнал в реальном времени во время следующей попытки запуска:
sudo journalctl -u ark-server -f
Конкретные фразы, на которые стоит обратить внимание в момент обрыва лога:
| Текст в логе | Что означает |
|---|---|
LowLevelFatalError [File:Unknown] [Line: ...] | Критическая ошибка движка — часто из-за битых данных карты или несовместимого мода |
Out of memory / упоминание allocation failure | Прямое указание на нехватку RAM |
Assertion failed рядом с именем мода/ассета | Конфликт или ошибка конкретного модового контента |
Failed to load package с путём к файлу карты | Проблема именно с файлом сейва или ассетом карты |
| Обрыв без явной ошибки, просто тишина | Часто OOM killer — проверяйте dmesg/journalctl -k, лог самой игры может ничего не успеть написать |
Не пытайтесь угадывать причину без этого шага — визуально краши на загрузке разных карт выглядят одинаково снаружи (просто пропавший процесс), а причины принципиально разные. Пять минут на чтение лога экономят часы бесполезных экспериментов с конфигами. Общий подход к разбору логов и краш-репортов, если хотите разобраться глубже — в статье про чтение логов и краш-репортов.
Поднять сервер ARK: Survival за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Сервер крашится только на одной конкретной карте, остальные грузятся нормально — с чего начать?
Начните с проверки, ванильная это карта или модовая. Ванильная и битая только у вас — почти всегда дело в файле сейва (причина 1). Модовая — сначала проверяйте совместимость с текущей версией игры (причина 3).
Помогает ли просто увеличить своп-память вместо покупки RAM?
Своп может спасти от жёсткого OOM-килла, но для ARK это плохое временное решение — своп на порядок медленнее оперативной памяти, и загрузка тяжёлой карты через своп займёт кратно больше времени, а в реальной игре это выльется в чудовищные лаги. Годится только как экстренная затычка на день-два, не как постоянная настройка.
Как понять, что причина именно в конфликте модов, а не в одном конкретном моде?
Если отключение любого мода по отдельности не помогает, а карта поднимается только при отключении двух и более одновременно — это признак именно конфликта между ними, а не проблемы одного мода.
Можно ли восстановить сейв, если бэкапов вообще нет?
Иногда помогает файл .ark.bak, который ARK создаёт автоматически перед каждой перезаписью — если он не пострадал в том же сбое, это единственный шанс откатиться без полноценного внешнего бэкапа. После такого случая настройка регулярных автобэкапов должна стать приоритетом номер один.
Нужно ли перезаписывать GameModIds после каждого патча ARK?
Нет, список модов в конфиге не меняется автоматически патчами игры — но сами моды могут перестать грузиться, если их авторы не успели обновить контент под новую версию. Список ID остаётся тем же, ломается именно содержимое конкретных модов.