Как поднять сервер Arma 3: пошаговая инструкция
Захотели погонять Antistasi или King of the Hill со своей группой без чужих админов и рандомных вайпов миссии — и уткнулись в то, что Arma 3 не похожа на условный Rust, где сервер поднимается за пять минут. Тут своя терминология, отдельный бинарник, конфиги в двух местах и ключи подписи модов. Разберём по шагам весь путь: от установки через SteamCMD до автозапуска, без лишней воды.
Содержание
Системные требования
Arma 3 Server не такой прожорливый, как клиентская игра, но экономить на железе всё равно не стоит — движок Enfusion/RV известен тем, что слабо параллелится, и упирается в частоту ядра куда быстрее, чем в их количество.
- RAM: от 4 ГБ хватает для старта на лёгких миссиях (Team Deathmatch, небольшие коопы) с 10-20 игроками. Для миссий с активным ИИ и скриптами — Antistasi, Escape from Tarkov-style режимы, King of the Hill — закладывайте 6-8 ГБ с запасом, память там уходит не только на игроков, но и на ботов, зоны и логику миссии.
- CPU: важнее частота ядра, а не их число — сервер практически весь висит на одном потоке. Берите тариф с современным процессором с высокой одноядерной производительностью.
- Диск: SSD/NVMe обязателен. Сама игра с DLC весит около 40-50 ГБ, серверные файлы чуть компактнее, но с модами и несколькими картами (Altis, Tanoa, Livonia, Global Mobilization и другие воркшоп-карты) закладывайте от 60 ГБ свободного места.
- ОС: Linux (Debian/Ubuntu) или Windows Server — оба варианта официально поддерживаются, серверный бинарник для Linux работает стабильно уже много лет, ниже разберём именно этот путь как более бюджетный у большинства хостеров.
- Сеть: белый IP обязателен, без него сервер не зарегистрируется в списке через Steam Query и его не найдут через браузер серверов.
Если берёте VPS у MAATRIX GAMES под Arma 3, тариф уже подобран под этот движок — не придётся угадывать, хватит ли памяти под конкретную модовую сборку.
Установка сервера через SteamCMD
У Arma 3 отдельный дедик-сервер со своим App ID — 233780, он не совпадает с App ID самой игры (107410) и качается отдельно.
Важный нюанс, который часто путает новичков: серверные файлы Arma 3 бесплатны и скачиваются анонимным логином в SteamCMD, владеть игрой на этом аккаунте не нужно. Лицензия на саму игру требуется только тем, кто подключается как игрок.
Ставим SteamCMD и зависимости (Debian/Ubuntu):
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl unzip
useradd -m steam
su - steam
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Отдельный непривилегированный пользователь steam — не формальность: если через уязвимый мод кто-то доберётся до процесса сервера, root на машине он не получит.
Скачиваем сервер:
./steamcmd.sh +force_install_dir ~/arma3server +login anonymous +app_update 233780 validate +quit
Первая закачка может занять 20-40 минут в зависимости от канала — ждите строку Success! App '233780' fully installed. Той же командой сервер обновляется после патчей — гоняйте её каждый раз, когда выходит апдейт Arma 3, и лучше останавливать сервер перед обновлением.
Поднять сервер Arma 3 за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверБазовая конфигурация server.cfg
Основной конфиг сервера — текстовый файл server.cfg, который вы создаёте сами в корне папки сервера (~/arma3server/server.cfg). Готового шаблона из коробки нет.
hostname = "Мой Arma 3 сервер";
password = "";
passwordAdmin = "supersecretpassword";
maxPlayers = 32;
motd[] = {"Добро пожаловать!", "Правила в дискорде"};
motdInterval = 5;
persistent = 1;
verifySignatures = 2;
kickDuplicate = 1;
voteThreshold = 0.33;
voteMissionPlayers = 1;
disableVoN = 0;
vonCodecQuality = 20;
class Missions
{
class Mission1
{
template = "coop_antistasi.altis";
difficulty = "Regular";
};
};
Что реально важно на старте:
- hostname — имя в браузере серверов.
- password / passwordAdmin — пароль входа для игроков и отдельный пароль администратора, обязательно смените дефолтное значение.
- maxPlayers — реальный лимит слотов соотносите с RAM: на 4 ГБ комфортно держать 15-20 слотов на лёгкой миссии, выше — уже риск просадок при активном ИИ.
- persistent = 1 — сервер не закрывается, когда на нём никого нет, а ждёт подключения новых игроков.
- verifySignatures = 2 — проверка ключей подписи модов, отключать не стоит даже на модовом сервере.
- class Missions — список миссий в ротации,
templateуказывает на файл миссии в папкеmpmissionsв форматеимя_миссии.карта(без расширения.pbo).
Запуск сервера
Сервер запускается бинарником arma3server_x64 (64-битный, рекомендуемый вариант) из корня папки сервера. Помимо server.cfg есть второй конфиг — basic.cfg, он отвечает за сетевые параметры (размер пакетов, полосу пропускания) и подключается отдельным ключом.
Базовая команда запуска:
./arma3server_x64 -config=server.cfg -port=2302 -profiles=profiles -cfg=basic.cfg -world=empty -noSound
Разберём ключи:
- -config — путь к
server.cfg. - -port — базовый игровой порт, по умолчанию 2302.
- -profiles — папка профиля сервера, где хранятся логи (создаётся автоматически).
- -cfg — путь к
basic.cfgс сетевыми настройками (необязателен на старте, но полезен при просадках у игроков с плохим пингом). - -world=empty — предзагрузка пустой карты вместо стандартной, ускоряет первый запуск и смену миссий.
- -noSound — на headless-Linux звуковое устройство всё равно не нужно, ключ убирает лишние попытки его инициализировать.
Если добавляете моды, сюда же дописывается -mod=@ace;@cba_a3 — подробнее в следующем разделе.
Установка миссии и модов
Миссии — это .pbo-файлы, которые кладутся в папку mpmissions (~/arma3server/mpmissions/). Имя файла миссии — то самое значение template из server.cfg плюс расширение .pbo, например coop_antistasi.altis.pbo.
Моды качаются со Steam Workshop через тот же SteamCMD, но уже под App ID клиентской игры — 107410, с указанием ID конкретного мода из ссылки воркшопа:
./steamcmd.sh +login anonymous +workshop_download_item 107410 <workshop_id> +quit
Дальше скачанную папку с цифровым ID нужно переименовать в формат @ИмяМода (в нижнем регистре, без пробелов) и положить рядом с папкой сервера. Ключи подписи мода (файлы .bikey из подпапки Keys внутри мода) копируются в общую папку keys сервера — без этого игроков с модом будут банить как "unsigned data".
Есть два типа модов в запуске: -mod= — для модов, которые должны совпадать у клиента и сервера (контент, оружие, техника), и -serverMod= — для серверных модов, которые не видны игрокам (например, серверная часть логирования или админ-инструментов). Похожий принцип разделения контента и инструментов встречается и в других играх на модах — например, при установке сервера DayZ, тоже родом от Bohemia Interactive, или в Garry's Mod, где Steam Workshop интегрирован ещё плотнее через коллекции аддонов.
Проброс портов
Arma 3 использует не один порт, а диапазон из пяти, начиная с базового игрового (по умолчанию 2302):
| Порт | Протокол | Назначение |
|---|---|---|
| 2302 | UDP | Основной игровой трафик |
| 2303 | UDP | Steam Query (отображение в браузере серверов) |
| 2304 | UDP | Steam Query / регистрация в мастер-сервере |
| 2305 | UDP | VoN — голосовой чат в игре |
| 2306 | UDP | Резервный Steam-порт |
Если сервер стоит на VPS с публичным IP напрямую на интерфейсе (как обычно бывает у игровых хостеров), достаточно открыть эти порты в файрволе самой машины:
sudo ufw allow 2302:2306/udp
Если разворачиваете сервер дома за роутером — пробросьте тот же диапазон на локальный IP машины и убедитесь, что провайдер выдаёт реальный белый IP, а не серый адрес за NAT. Логика портов в целом похожа на другие игры с ботами и большими картами вроде ARK: Survival Evolved — тоже диапазон UDP-портов под игровой трафик и отдельный порт под query.
Автозапуск сервера
Запускать сервер вручную через SSH-сессию — плохая идея: закрыли терминал, процесс оборвался вместе с ним. Правильный путь на Linux — systemd-юнит с автоперезапуском.
Создаём /etc/systemd/system/arma3server.service:
[Unit]
Description=Arma 3 Dedicated Server
After=network.target
[Service]
User=steam
WorkingDirectory=/home/steam/arma3server
ExecStart=/home/steam/arma3server/arma3server_x64 -config=server.cfg -port=2302 -profiles=profiles -cfg=basic.cfg -world=empty -noSound -mod=@ace;@cba_a3
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Включаем и запускаем:
sudo systemctl daemon-reload
sudo systemctl enable arma3server
sudo systemctl start arma3server
Проверка статуса и логов:
sudo systemctl status arma3server
journalctl -u arma3server -f
С таким юнитом сервер сам поднимется после перезагрузки хоста и после случайного краша — не придётся среди ночи вручную стартовать процесс, потому что кто-то в дискорде написал "сервер лёг".
Поднять сервер Arma 3 за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Нужно ли покупать Arma 3, чтобы поднять сервер?
Нет, дедик-сервер (App ID 233780) бесплатен и скачивается через анонимный логин в SteamCMD. Лицензия на игру нужна только тем, кто подключается как игрок.
Сколько игроков потянет сервер на минимальных 4 ГБ RAM?
На лёгкой миссии без активного ИИ — комфортно 15-20 слотов. На миссиях с постоянно работающим ИИ и скриптами (Antistasi, King of the Hill) нагрузка на RAM и CPU заметно выше, точные цифры зависят от конкретной сборки и лучше проверять на своём железе.
Как обновить сервер после патча Arma 3?
Останавливаете сервис (sudo systemctl stop arma3server), запускаете ту же команду SteamCMD с +app_update 233780 validate, затем стартуете сервис обратно.
Можно ли запустить сервер на Windows?
Да, используется arma3server_x64.exe, установка через SteamCMD аналогична, а для автозапуска вместо systemd применяют службу Windows или сторонний менеджер вроде NSSM.
Почему сервер не отображается в браузере серверов?
Чаще всего не открыт диапазон Steam Query портов (2303-2304 UDP) либо сервер ещё не прошёл первую регистрацию в мастер-сервере Steam — подождите пару минут после старта и перепроверьте файрвол.