У Icarus есть бесплатный выделенный сервер (приложение Steam 2089300), рассчитанный на Windows. В руководстве: локальная установка, VPS на Windows или Linux (через Wine, без официальной поддержки), порты, служба и бэкапы. Около 15–30 минут.
Пошаговая установка
Проверьте машину: 4 ядра, 4–6 ГБ RAM и около 5 ГБ диска.
Скачайте SteamCMD и создайте папку сервера.
Установите приложение 2089300 с анонимным входом: app_update 2089300 validate.
Запустите IcarusServer.exe -Log один раз, чтобы создались файлы настроек, затем остановите.
Отредактируйте Icarus\Saved\Config\WindowsServer\ServerSettings.ini (название, пароли, игроки).
Откройте 17777/UDP и 27015/UDP в брандмауэре и на роутере.
Проверьте на localhost (127.0.0.1:17777), затем извне; игроки заходят через список серверов или по IP (при необходимости с query-портом).
Настройте автозапуск (планировщик задач или служба systemd).
Запланируйте резервные копии папки Icarus\Saved и обновления SteamCMD.
Требования
Минимум по руководствам: 4-ядерный CPU 2 ГГц, 4–6 ГБ RAM, 5 ГБ диска. Лицензионный ключ не нужен: достаточно анонимного входа SteamCMD. Windows Server 2022 — частая платформа; точные официальные цифры в изученной документации не найдены, подбирайте по числу игроков (макс. 8). Версии клиента и сервера должны совпадать.
Локальная установка (Windows)
Распакуйте SteamCMD в C:\steamcmd и запустите скрипт из этого раздела. Первый запуск: IcarusServer.exe -Log. Затем заходите из игры по 127.0.0.1 (и порту при необходимости).
C:\steamcmd\steamcmd.exe +force_install_dir C:\icarus-server +login anonymous +app_update 2089300 validate +quit
cd /d C:\icarus-server
IcarusServer.exe -Log -SteamServerName="My Icarus Server" -Port=17777 -QueryPort=27015Установка на Linux VPS / выделенный сервер
Сервер — бинарник Windows: в Linux используйте Wine (или образ Docker от сообщества), без официальной поддержки. Создайте пользователя без root, установите SteamCMD и Wine, при установке принудительно выберите платформу Windows и запускайте через wine64. На Windows Server используйте команды из раздела о локальной установке.
sudo adduser --disabled-password --gecos "" steam
sudo apt update && sudo apt install -y wine64 xvfb curl lib32gcc-s1
sudo -iu steam
mkdir -p ~/steamcmd ~/icarus && cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxf -
./steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir ~/icarus +login anonymous +app_update 2089300 validate +quit
cd ~/icarus && xvfb-run wine64 IcarusServer.exe -Log -Port=17777 -QueryPort=27015Порты для открытия
- 17777/UDP: игровой порт (-Port=, настраивается)
- 27015/UDP: query-порт Steam (-QueryPort=, 1024–65536)
Брандмауэр Linux (ufw)
В Ubuntu/Debian сначала разрешите SSH, чтобы не потерять доступ, затем порты игры.
sudo ufw allow OpenSSH
sudo ufw allow 17777/udp
sudo ufw allow 27015/udp
sudo ufw enable
sudo ufw statusБрандмауэр Windows (netsh)
В PowerShell от имени администратора (или «cmd» администратора):
netsh advfirewall firewall add rule name="Icarus 17777/UDP" dir=in action=allow protocol=UDP localport=17777
netsh advfirewall firewall add rule name="Icarus 27015/UDP" dir=in action=allow protocol=UDP localport=27015Брандмауэр хостера и проброс портов (NAT)
Если сервер у хостера (OVH, Hetzner, Scaleway…), откройте те же порты в его сетевом брандмауэре («security group»). При домашнем хостинге пробросьте порты (NAT) с роутера на постоянный локальный IP машины. Проверяйте извне (мобильный интернет или друг): проверка из своей сети ничего не доказывает.
Автозапуск и мониторинг
Создайте /etc/systemd/system/<имя>.service и выполните: sudo systemctl daemon-reload && sudo systemctl enable --now <имя>. Логи: journalctl -u <имя> -f.
[Unit]
Description=Icarus dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/icarus
ExecStart=/usr/bin/xvfb-run /usr/bin/wine64 IcarusServer.exe -Log -Port=17777 -QueryPort=27015
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.targetАвтозапуск в Windows (планировщик задач)
Создайте задачу планировщика «При запуске системы», выполняющую скрипт запуска, с наивысшими правами и «Выполнять вне зависимости от входа пользователя».
Обновления, резервные копии и перезапуски
Остановите сервер, снова выполните app_update 2089300 validate и перезапустите. Перед крупным обновлением копируйте Icarus\Saved (настройки и сохранения). Планируйте ежедневный перезапуск, если растёт память (ShutdownIfEmptyFor тоже может остановить пустой сервер).
# Linux : sauvegarde / backup
tar czf ~/icarus-backup-$(date +%F).tar.gz -C ~/icarus Icarus/SavedКак добавить и найти сервер
Когда сервер станет публичным, добавьте его на https://game-rank.com/jeux/icarus (сайт владельца этого инструмента), чтобы игроки могли найти его, следить за ним и голосовать.
Устранение неполадок
- Недоступен снаружи, но работает на localhost: нет правила в брандмауэре ОС, у хостера или проброса NAT, либо неверный протокол (UDP/TCP). Проверьте каждый уровень по очереди.
- Подключение отклонено после обновления игры: версии клиента и сервера должны совпадать. Обновите сервер ещё раз и перезапустите его.
- Сервер сразу закрывается: запустите из консоли, чтобы прочитать ошибку, и проверьте свободную RAM, диск и программные требования.
- Сервер не виден в списке: проверьте query-порт (27015/UDP) и аргумент -SteamServerName; попробуйте прямое подключение по IP.
- ServerSettings.ini не найден: он создаётся при первом запуске в Icarus\Saved\Config\WindowsServer; иначе создайте вручную. Редактируйте при остановленном сервере.
Частые вопросы
- Работает ли сервер Icarus в Linux?
- Официально нет: это приложение Windows. Его запускают через Wine или Docker без гарантий. Источники расходятся насчёт Linux-бинарника: проверьте SteamDB.
- Какой Steam App ID у сервера?
- 2089300 (сама игра — 1149460). Работает анонимный вход в SteamCMD.
- Сколько игроков максимум?
- Icarus рассчитан на 8 игроков на проспект; задайте MaxPlayers в ServerSettings.ini.
- Как обновить сервер?
- Снова запустите SteamCMD с app_update 2089300 validate (скрипт из генератора запуска делает это при каждом старте).
