Выделенный сервер Arma 3 (SteamCMD, app 233780) работает в Windows и Linux и скачивается анонимно; только моды Workshop требуют аккаунт Steam с Arma 3. Потребуется 30–60 минут: установка, server.cfg, UDP-порты 2302–2306, автоматическая служба.
Пошаговая установка
Подготовьте 64-битную машину с быстрым однопоточным процессором (сервер сильно от него зависит).
Установите SteamCMD и скачайте app 233780 с анонимным входом.
Создайте server.cfg и basic.cfg инструментом сайта и положите миссии (.pbo) в mpmissions.
Запустите arma3server_x64 с -config, -cfg, -port и -autoInit.
Откройте UDP-порты 2302–2306 (файрвол системы, хостера, роутер).
Моды скачайте из Workshop аккаунтом Steam с Arma 3 и скопируйте как папки @.
Создайте службу systemd (Linux) или задачу планировщика (Windows).
Запланируйте обновления, бэкапы профиля и ежедневный перезапуск.
Проверьте снаружи и добавьте сервер на game-rank.com.
Требования
Системы: 64-битные Windows и Linux. Движок Arma 3 в основном однопоточный: важнее частота одного ядра, чем их число; 4–8 ГБ ОЗУ (больше при крупных модах и тяжёлых миссиях), SSD и хороший исходящий канал. Для сервера аккаунт не нужен; аккаунт Steam с Arma 3 требуется только для загрузки модов Workshop. Цифры ориентировочные, не официальные минимумы.
Локальная установка (Windows)
Установите сервер через SteamCMD (Valve) и запустите с файлами конфигурации; в игре: Мультиплеер > Браузер серверов > Прямое подключение: 127.0.0.1.
steamcmd.exe +force_install_dir C:\Arma3Server +login anonymous +app_update 233780 validate +quit
cd /d C:\Arma3Server
arma3server_x64.exe -name=server -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=profiles -world=empty -autoInitУстановка на Linux VPS / выделенный сервер
В Ubuntu/Debian создайте пользователя без root и установите SteamCMD (в Debian сначала включите «non-free»).
sudo apt update && sudo apt install -y software-properties-common
sudo add-apt-repository -y multiverse && sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install -y steamcmd lib32gcc-s1 ca-certificates
sudo adduser --disabled-password --gecos "" arma3Первый запуск
Скачайте сервер под выделенным пользователем, добавьте server.cfg, basic.cfg и миссии в mpmissions и запустите. -world=empty и -autoInit загружают первую миссию из server.cfg (нужен persistent = 1).
sudo -iu arma3
mkdir -p ~/server && /usr/games/steamcmd +force_install_dir ~/server +login anonymous +app_update 233780 validate +quit
cd ~/server && mkdir -p profiles
./arma3server_x64 -name=server -port=2302 -config=server.cfg -cfg=basic.cfg -profiles=profiles -world=empty -autoInitПорты для открытия
Порт игры по умолчанию — 2302 (-port=); следующие используются для запросов Steam, мастер-трафика и BattlEye (диапазон UDP 2302–2306 по вики Bohemia Interactive). При смене -port сдвиньте весь диапазон.
- 2302/UDP — игра
- 2303–2305/UDP — запросы Steam и мастер-трафик
- 2306/UDP — BattlEye
Файрвол Linux (ufw)
sudo ufw allow 2302:2306/udp
sudo ufw status verboseБрандмауэр Windows (netsh)
netsh advfirewall firewall add rule name="Arma 3 2302-2306 UDP" dir=in action=allow protocol=UDP localport=2302-2306Файрвол хостера и домашний роутер (NAT)
У OVH, Hetzner, Scaleway и подобных хостеров откройте те же порты и в файрволе провайдера (security group / файрвол панели): он фильтрует трафик до машины. При домашнем хостинге настройте на роутере проброс (NAT) каждого порта на локальный IP сервера с нужным протоколом. Проверяйте снаружи (мобильная сеть); не открывайте порты администрирования (RCON) без надёжного пароля.
Автозапуск (systemd)
Создайте start.sh (см. инструмент запуска на сайте) и службу /etc/systemd/system/arma3.service, затем выполните: sudo systemctl daemon-reload && sudo systemctl enable --now arma3. В Windows используйте задачу планировщика при запуске, выполняющую ваш start.bat.
[Unit]
Description=Arma 3 server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=arma3
WorkingDirectory=/home/arma3/server
ExecStart=/home/arma3/server/start.sh
Restart=on-failure
RestartSec=15
LimitNOFILE=100000
[Install]
WantedBy=multi-user.targetОбновления
Остановите службу, снова выполните app_update, обновите моды Workshop (аккаунтом Steam с Arma 3) и перезапустите. Версия клиентов должна совпадать с версией сервера.
sudo systemctl stop arma3
sudo -u arma3 /usr/games/steamcmd +force_install_dir /home/arma3/server +login anonymous +app_update 233780 validate +quit
sudo systemctl start arma3Резервные копии и плановые перезапуски
Делайте бэкап папки profiles (профиль, файлы .Arma3Profile, сохранения персистентных миссий), а также server.cfg и basic.cfg; планируйте ежедневный перезапуск (здесь 05:00, бэкап в 04:55).
# crontab -e (root)
55 4 * * * tar czf /var/backups/arma3-$(date +\%F).tgz -C /home/arma3/server profiles server.cfg basic.cfg
0 5 * * * systemctl restart arma3Публикация и поиск сервера
Когда сервер станет доступен снаружи, добавьте его на game-rank.com/jeux/arma-3 (сайт владельца инструмента), чтобы игроки могли его найти.
Устранение неполадок
- Сервера нет в списке: закрыты UDP-порты 2302–2306 (файрвол, хостер, NAT) или в server.cfg задан пароль — проверьте прямым подключением.
- «Signature check failed» или кик игроков: мод сервера не совпадает с клиентским (версия, нет .bikey в папке keys).
- Миссия не загружается: PBO без суффикса .Карта, mission.sqm не в корне или template в server.cfg не совпадает с именем файла (без .pbo).
- Лаги сервера: слабый однопоточный CPU, слишком много ИИ/скриптов; рассмотрите headless-клиенты и проверьте basic.cfg.
- Сервер сразу завершается: синтаксическая ошибка в server.cfg (нет точки с запятой или кавычки) — смотрите файл .rpt в папке profiles.
Частые вопросы
- Нужно ли владеть Arma 3 для хостинга?
- Для самого сервера нет (app 233780, анонимный вход). Для загрузки модов Workshop — да, нужен аккаунт с игрой.
- Какие порты открыть?
- UDP 2302–2306 для конфигурации по умолчанию (-port=2302).
- Как установить моды на сервер?
- Положите каждый мод в папку @имя, скопируйте его .bikey в папку keys сервера и укажите в -mod= (или -serverMod= для серверных).
- Зачем планировать перезапуски?
- Ежедневный перезапуск освобождает память и предотвращает деградацию длинных персистентных сессий; делайте его в непиковое время после бэкапа.
