MAATRIX GAMES / Блог / Как поднять сервер Core Keeper: пошаговая инструкция

Как поднять сервер Core Keeper: пошаговая инструкция

MAATRIX GAMES

Core Keeper прекрасно играется соло, но по-настоящему раскрывается в кооперативе — а для стабильного кооператива с друзьями рано или поздно нужен свой выделенный сервер, а не игра «через интернет напрямую» с постоянными разрывами. Дальше — рабочая пошаговая инструкция: от системных требований до автозапуска, без лишней теории.

Системные требования

Core Keeper — не самая прожорливая игра для dedicated-сервера, но экономить совсем уж на копейках не стоит, особенно если вы планируете играть впятером-вшестером и активно копать вглубь карты.

Минимум, с которым сервер стабильно тянет 2-4 игроков:

  • RAM: от 3 ГБ (реальное потребление растёт по мере исследования карты и роста числа загруженных чанков — держите запас)
  • CPU: 2 ядра, частота не так критична, как для, скажем, ARK, но при 6+ игроках лишнее ядро не помешает
  • Диск: 5-10 ГБ под саму игру, SteamCMD и сохранения (плюс место под бэкапы, если делаете их локально)
  • ОС: Linux (Ubuntu/Debian) — dedicated-сервер Core Keeper одинаково хорошо работает и на Linux, и на Windows, но Linux даёт меньше накладных расходов на ту же VPS
  • Сеть: один открытый UDP/TCP порт (по умолчанию 27015) плюс, при необходимости, порт для Steam-запроса статуса сервера

Если планируете 8+ игроков или активную многочасовую фарм-сессию с десятками этажей подземелий, закладывайте 4 ГБ RAM с запасом — Core Keeper держит в памяти сгенерированные и посещённые части мира, и со временем «вес» сохранения растёт.

Установка через SteamCMD

Dedicated-сервер Core Keeper распространяется через Steam, как и большинство современных игр на выделенных серверах, поэтому первым делом ставим SteamCMD.

На Ubuntu/Debian:

sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd

Соглашаемся с лицензией Steam, когда попросит apt. Дальше создаём отдельного пользователя под сервер — так безопаснее и удобнее для последующего управления правами:

sudo useradd -m -s /bin/bash coreserver
sudo su - coreserver

Скачиваем и устанавливаем сервер Core Keeper. App ID выделенного сервера — 1963720 (это отдельный ID, не путайте с ID клиентской игры):

steamcmd +force_install_dir ~/coreserver +login anonymous +app_update 1963720 validate +quit

Установка обычно занимает несколько минут в зависимости от скорости канала VPS. По завершении в директории ~/coreserver появится исполняемый файл сервера и папка с конфигами.

Поднять сервер Core Keeper за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Конфигурация сервера

Core Keeper поддерживает два способа настройки: через переменные окружения при запуске или через конфиг-файл. Конфиг-файл удобнее для постоянного сервера — не нужно каждый раз собирать длинную командную строку.

Базовые параметры, которые обычно нужны сразу:

ПараметрЗа что отвечаетПример
SERVER_NAMEИмя сервера в спискеMyCoreKeeperServer
WORLD_NAMEНазвание мира (сида)friends_world
SERVER_PASSWORDПароль для входа (можно оставить пустым)superpass123
SERVER_PORTИгровой порт27015
SERVER_MAX_PLAYERSЛимит игроков (макс. 8 по умолчанию)8
SERVER_VISIBILITYВидимость: friends_only / public / privatefriends_only

Пример запуска с переменными окружения (Linux, bash):

cd ~/coreserver
SERVER_NAME="MyCoreKeeperServer" \
WORLD_NAME="friends_world" \
SERVER_PASSWORD="superpass123" \
SERVER_PORT=27015 \
SERVER_MAX_PLAYERS=8 \
SERVER_VISIBILITY=friends_only \
./CoreKeeperServer.x86_64

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

Сложность игры (обычная/трудная/выживание) задаётся при первой генерации мира и позже переменной окружения не переключается «на лету» — если нужен другой режим сложности, придётся стартовать новый мир.

Проброс порта и сетевые настройки

Если сервер стоит на VPS с белым IP (обычный случай для аренды выделенного сервера), отдельно пробрасывать порты через роутер не нужно — это делается только для домашних серверов за NAT.

На самой VPS нужно открыть порт в файрволе. Для UFW (Ubuntu):

sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw reload

Если провайдер хостинга использует облачный файрвол (security group) поверх системного — например, у большинства VPS-провайдеров есть панель управления с отдельными правилами — не забудьте открыть тот же порт и там. Это частая грабля: правило в UFW есть, а сервер всё равно не виден в списке — потому что порт закрыт на уровне облачной сети.

Игрокам для подключения по прямому IP нужен адрес вида IP:PORT, который вводится в игре через меню «Join by IP». Если используете SERVER_VISIBILITY=public, сервер дополнительно засветится в общем браузере серверов Steam — учтите это, если не хотите случайных подключений посторонних.

Автозапуск через systemd

Ручной запуск через SSH-сессию — плохая идея для постоянного сервера: закрыли терминал — сервер упал. Решение — systemd-юнит, который держит процесс живым и поднимает его заново после перезагрузки VPS или падения.

Создаём файл /etc/systemd/system/corekeeper.service:

[Unit]
Description=Core Keeper Dedicated Server
After=network.target

[Service]
Type=simple
User=coreserver
WorkingDirectory=/home/coreserver/coreserver
Environment=SERVER_NAME=MyCoreKeeperServer
Environment=WORLD_NAME=friends_world
Environment=SERVER_PASSWORD=superpass123
Environment=SERVER_PORT=27015
Environment=SERVER_MAX_PLAYERS=8
Environment=SERVER_VISIBILITY=friends_only
ExecStart=/home/coreserver/coreserver/CoreKeeperServer.x86_64
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Применяем и включаем автозапуск:

sudo systemctl daemon-reload
sudo systemctl enable corekeeper
sudo systemctl start corekeeper

Проверить статус и логи:

sudo systemctl status corekeeper
journalctl -u corekeeper -f

Теперь сервер переживёт перезагрузку хоста и автоматически перезапустится, если процесс аварийно завершится (например, из-за нехватки памяти при слишком низком лимите RAM).

Обновление и бэкапы

Core Keeper регулярно получает патчи, и dedicated-сервер нужно обновлять отдельно от клиента — версии должны совпадать, иначе игроки не смогут подключиться.

Обновление через SteamCMD:

sudo systemctl stop corekeeper
steamcmd +force_install_dir /home/coreserver/coreserver +login anonymous +app_update 1963720 validate +quit
sudo systemctl start corekeeper

Сохранения мира лежат в пользовательской директории (обычно ~/.local/share/CoreKeeperServer или в подпапке рядом с сервером — точный путь зависит от версии, проверьте после первого запуска через find ~ -iname "*.sav" 2>/dev/null или аналогичный поиск). Перед каждым обновлением стоит делать бэкап:

tar -czf ~/backups/coreworld-$(date +%Y%m%d-%H%M).tar.gz -C /home/coreserver/coreserver/saves .

Настройте это простой cron-задачей раз в день — вайп мира из-за битого сохранения после неудачного обновления обиднее любого лута, который в нём был.

Типичные проблемы при запуске

Несколько граблей, на которые чаще всего натыкаются при первом поднятии сервера:

  • Сервер не виден в списке друзей — проверьте, что SERVER_VISIBILITY выставлен верно и что Steam-аккаунты игроков действительно в друзьях у владельца сервера (для friends_only это обязательное условие).
  • «Connection timed out» при подключении по IP — почти всегда порт закрыт либо в системном файрволе, либо на уровне облачного провайдера. Проверяйте оба места.
  • Сервер падает при старте без явной ошибки — часто банальная нехватка памяти. Проверьте free -h и логи через journalctl -u corekeeper -n 100.
  • После обновления игроки не могут зайти («version mismatch») — версия клиента и сервера разошлась. Убедитесь, что обновление через app_update действительно прошло успешно (сверьте дату файлов).
  • Мир не сохраняется между рестартами — проверьте права на папку saves, процесс должен иметь право на запись (владелец — тот же coreserver, от имени которого запущен systemd-юнит).

Поднять сервер Core Keeper за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Сколько игроков поддерживает сервер Core Keeper?

По умолчанию лимит — 8 игроков, это задаётся параметром SERVER_MAX_PLAYERS. Больше без модификации клиента и сервера не поддерживается.

Можно ли сменить сложность мира после создания?

Нет, сложность (обычная, трудная, выживание) фиксируется при генерации мира. Для смены нужно создавать новый мир с другим WORLD_NAME.

Нужен ли отдельный аккаунт Steam для сервера?

Нет, dedicated-сервер запускается через +login anonymous и не требует привязки к личному аккаунту Steam.

Работает ли сервер на Windows-хостинге?

Да, Core Keeper Dedicated Server поддерживает и Windows, и Linux, но конфигурация через переменные окружения и systemd-автозапуск, описанные выше, специфичны для Linux — на Windows автозапуск обычно настраивают через службу Windows или планировщик задач.

Как узнать, что сервер реально запущен и слушает порт?

Выполните ss -tulnp | grep 27015 на сервере — если процесс слушает нужный порт, строка появится в выводе.