Как поднять сервер Risk of Rain 2: пошаговая инструкция
Если вы гоняете Risk of Rain 2 регулярной командой и задолбались пересоздавать лобби через Steam-инвайты каждый раз, когда кто-то дисконнектится — вот решение. Dedicated-сервер держит мир открытым постоянно, не зависит от того, кто из вас включил компьютер, и не падает вместе с хостом на 30-й минуте забега. Разберём установку по шагам: от SteamCMD до автозапуска, без воды.
Содержание
Кому вообще нужен выделенный сервер
Сразу честно: большинство людей играют в Risk of Rain 2 через обычный P2P — один игрок хостит лобби, остальные заходят по приглашению в Steam. Для разовой пробежки на 3-4 человек это проще и быстрее — не надо ничего разворачивать. Игра неплохо держит P2P-соединение, задержки для рогалика с видом сверху не так критичны, как в шутере.
Dedicated-сервер имеет смысл в трёх случаях: у вас постоянный состав, который играет несколько раз в неделю, и надоело ждать, пока хост "докачает" мод-лист; хост часто вылетает или у него слабый канал, и весь забег обрывается вместе с ним; либо вы держите сервер под мод-сборку (например, с ChallengeMode или пачкой QoL-модов через r2modman/Thunderstore), и хочется, чтобы конфигурация не зависела от того, чей это компьютер. Если это про вас — едем дальше.
Системные требования
Risk of Rain 2 — не самая тяжёлая игра для сервера, но и не самая лёгкая: движок Unity плюс процедурная генерация карт и активная симуляция монстров/лута требуют некоторого запаса.
- RAM: от 2 ГБ на голый сервер без модов. С модами (особенно с крупными сборками вроде тех, что меняют генерацию мира или добавляют десятки новых предметов) закладывайте 3-4 ГБ.
- CPU: 2 ядра достаточно для комнаты на 4-8 игроков. Больше игроков и активный спавн монстров на поздних стадиях забега (loop-режим) — процессор начинает ощущаться сильнее, чем память.
- Диск: сама игра + сервер — около 5-8 ГБ, плюс место под SteamCMD и логи. SSD не обязателен, но HDD с высокой задержкой чтения может добавлять фризы при подгрузке карт.
- ОС: Linux (Ubuntu/Debian) — стандартный выбор для dedicated-серверов, официально поддерживается через SteamCMD. Можно и на Windows Server, но команды ниже — под Linux.
- Сеть: стабильный канал с открытым UDP-портом наружу. Для комнаты до 8 человек хватит скромного аплинка, порядка нескольких мегабит на игрока с запасом.
Если берёте VPS специально под это — 2 ГБ RAM это минимум, а не комфортный запас. Для сервера с модами и на будущее лучше сразу смотреть в сторону 4 ГБ, чтобы не upgrade'иться через неделю.
Поднять сервер Risk of Rain 2 за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверУстанавливаем SteamCMD и качаем сервер
Дальше — на чистом Ubuntu/Debian через SSH.
Сначала подключаем 32-битную архитектуру (SteamCMD на Linux всё ещё тянет 32-битные зависимости) и ставим сам SteamCMD:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1 lib32stdc++6 curl
Создаём отдельного пользователя под сервер — не гоняйте игровые процессы под root:
sudo adduser --disabled-password --gecos "" ror2
sudo su - ror2
Дальше от имени пользователя ror2 качаем сам dedicated-сервер по его app id:
steamcmd +force_install_dir /home/ror2/ror2server \
+login anonymous \
+app_update 1180760 validate \
+quit
Скачивание займёт несколько минут в зависимости от канала. После завершения в /home/ror2/ror2server появится исполняемый файл сервера и папка с данными игры. Если апдейт оборвался или ругается на нехватку места — проверьте df -h, игре с ассетами и кэшем SteamCMD нужно с запасом гигабайт 8-10 свободных.
Настраиваем запуск: параметры и базовый конфиг
Dedicated-сервер Risk of Rain 2 настраивается через параметры командной строки при запуске — отдельного текстового конфига в духе server.cfg тут нет, всё передаётся флагами. Базовый запуск выглядит так:
cd /home/ror2/ror2server
./Risk\ of\ Rain\ 2.x86_64 \
-batchmode -nographics \
-dedicatedserver.port 27015 \
-dedicatedserver.maxplayers 8 \
-dedicatedserver.password "" \
-dedicatedserver.public true \
-dedicatedserver.name "Мой сервер RoR2"
Разберём по флагам:
-batchmode -nographics— обязательны на сервере без монитора, отключают попытку инициализировать графику.-dedicatedserver.port— сетевой порт сервера, по умолчанию используется что-то в районе 27015; если поднимаете несколько серверов на одной машине, разносите порты вручную.-dedicatedserver.maxplayers— лимит игроков в комнате (у игры мягкий кап, обычно комфортно играется до 8, дальше начинает штормить производительность и баланс сложности).-dedicatedserver.password— пустая строка означает сервер без пароля; для закрытой команды поставьте свою фразу.-dedicatedserver.public— публиковать ли сервер в списке серверов игры (true/false); если играете только своей командой по прямому подключению — ставьтеfalseи не светите IP всем подряд.-dedicatedserver.name— имя, которое видно в списке серверов и при подключении.
Полный и актуальный список флагов на конкретный патч удобно смотреть прямо у бинарника:
./Risk\ of\ Rain\ 2.x86_64 -help
Разработчики время от времени добавляют новые параметры вместе с апдейтами баланса, так что если что-то из написанного выше не сработало один в один — сверьтесь с -help, это самый надёжный источник для вашей текущей версии.
Если играете с модами через r2modman/Thunderstore — сборку модов ставят в профиль на клиентской машине, но серверная часть BepInEx-модов должна стоять и на самом dedicated-сервере: копируете папку профиля с плагинами в директорию сервера рядом с исполняемым файлом. Совместимость сборки мод-на-мод — отдельная головная боль, тестируйте на паре человек перед тем, как звать весь отряд.
Пробрасываем порт и открываем сервер друзьям
Если сервер стоит на VPS с "белым" IP — обычно достаточно открыть порт в файрволе:
sudo ufw allow 27015/udp
sudo ufw status
Если хостите из дома за роутером — потребуется проброс порта (port forwarding) в настройках роутера: UDP-порт 27015 (или тот, что указали в -dedicatedserver.port) на локальный IP машины с сервером. Заодно закрепите за сервером статический локальный IP через DHCP-резервацию в роутере, иначе после перезагрузки порт может "уехать" на другой адрес.
Проверить, что порт реально открыт снаружи, можно сервисами вроде canyouseeme.org (для TCP) или банально попросить друга с другой сети подключиться напрямую по IP:порт. Для UDP полноценно проверить открытость извне сложнее, чем для TCP, так что живой тест с другом — самый надёжный способ.
Игрокам для прямого подключения (если сервер -dedicatedserver.public false) обычно нужно знать IP и порт — способ подключения по прямому адресу зависит от текущей версии клиента игры, уточните актуальный пункт меню на вашем патче.
Автозапуск и стабильная работа
Чтобы сервер не падал при разрыве SSH-сессии и поднимался сам после перезагрузки машины, заведите systemd-юнит вместо голого запуска в терминале.
Создайте файл /etc/systemd/system/ror2server.service:
[Unit]
Description=Risk of Rain 2 Dedicated Server
After=network.target
[Service]
Type=simple
User=ror2
WorkingDirectory=/home/ror2/ror2server
ExecStart=/home/ror2/ror2server/Risk of Rain 2.x86_64 -batchmode -nographics -dedicatedserver.port 27015 -dedicatedserver.maxplayers 8 -dedicatedserver.password "" -dedicatedserver.public false -dedicatedserver.name "Мой сервер RoR2"
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Дальше:
sudo systemctl daemon-reload
sudo systemctl enable --now ror2server
sudo systemctl status ror2server
Логи смотрите через journalctl -u ror2server -f — удобно ловить момент подключения игроков и падения сервера, если такое случается.
Для обновления сервера после патчей игры сервис нужно останавливать перед steamcmd +app_update, иначе файлы могут перезаписаться под запущенным процессом:
sudo systemctl stop ror2server
steamcmd +force_install_dir /home/ror2/ror2server +login anonymous +app_update 1180760 validate +quit
sudo systemctl start ror2server
Имеет смысл держать это в небольшом bash-скрипте и вешать на cron раз в неделю или запускать вручную после крупных патчей — Risk of Rain 2 обновляется не так часто, как некоторые выживалки, так что автоматический апдейт на каждый чих обычно избыточен.
Что делать, если сервер тормозит или вылетает
Пара практических моментов, с которыми реально сталкиваются на dedicated-серверах RoR2:
- Память утекает на долгих сессиях. Особенно на loop-забегах (когда команда проходит все стадии по кругу много раз) память процесса может расти. Если видите деградацию производительности через несколько часов непрерывной игры — держите под рукой
Restart=on-failureв systemd-юните (он выше уже есть) и не бойтесь просто перезапускать сервис между сессиями. - Лаги при спавне большого количества монстров на поздних стадиях — это упирается в CPU процесса Unity, а не в сеть. Если на слабом тарифе замечаете просадки именно в моменты массового спавна — это повод смотреть в сторону более быстрого процессора, а не большего канала.
- Мод-конфликты — если сервер крашится сразу после подключения игрока с модами, а без модов всё стабильно, проверяйте версии BepInEx и совпадение набора плагинов между клиентами и сервером. Несовпадающие версии одного и того же мода — самая частая причина десинков.
- Порт "прыгает" после перезагрузки роутера — см. пункт про DHCP-резервацию выше, это разово решается один раз и больше не всплывает.
Если у вас похожая механика подключения через SteamCMD и хочется свериться с другой игрой на том же движке — можно посмотреть, как устроена установка сервера Valheim или V Rising: принципы с systemd и проброс портов там почти идентичны.
Поднять сервер Risk of Rain 2 за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Нужен ли сервер Risk of Rain 2, если играем вчетвером раз в неделю?
Необязательно. Для редких сессий небольшой компанией обычный P2P-хост через Steam-инвайт проще и не требует администрирования. Dedicated-сервер оправдан, если играете часто и хотите постоянный мир без привязки к конкретному хосту.
Можно ли поставить сервер на Windows?
Да, SteamCMD и dedicated-сервер RoR2 доступны и под Windows, но большинство недорогих VPS под игровые серверы — это Linux, и команды в этой статье рассчитаны именно на него.
Сколько игроков реально тянет один сервер?
Официально играбельно до 8 человек в комнате, но по ощущениям после 6 сложность и производительность начинают требовать более мощного железа — закладывайтесь по CPU с запасом, если планируете большие составы.
Как обновить сервер после выхода патча?
Останавливаете systemd-сервис, запускаете steamcmd +app_update 1180760 validate заново, стартуете сервис обратно — шаги описаны в разделе про автозапуск выше.
Можно ли играть с модами на dedicated-сервере?
Да, но BepInEx-плагины нужно устанавливать не только клиентам, но и на сам сервер, и версии модов должны совпадать у всех участников — иначе будут десинки или мгновенный краш при подключении.