Arma 3専用サーバー(SteamCMD、app 233780)はWindowsとLinuxで動作し、匿名でダウンロードできます。Workshop MODだけはArma 3を所有するSteamアカウントが必要です。所要時間は30〜60分:インストール、server.cfg、UDPポート2302〜2306、自動起動サービス。
手順ごとのインストール
シングルスレッド性能の高いCPUを持つ64ビットマシンを用意します(サーバーはこれに大きく依存)。
SteamCMDをインストールし、匿名ログインでapp 233780をダウンロードします。
サイトのツールでserver.cfgとbasic.cfgを生成し、ミッション(.pbo)をmpmissionsに置きます。
arma3server_x64を-config、-cfg、-port、-autoInitで起動します。
UDPポート2302〜2306を開放します(システム、プロバイダー、ルーター)。
MODはArma 3を所有するSteamアカウントでWorkshopからダウンロードし、@フォルダーとして配置します。
systemdサービス(Linux)またはタスクスケジューラ(Windows)を作成します。
アップデート、プロファイルのバックアップ、毎日の再起動をスケジュールします。
外部から確認し、game-rank.comにサーバーを登録します。
必要条件
対応OS:64ビットのWindowsとLinux。Arma 3のエンジンは主にシングルスレッドなので、コア数よりも1コアのクロックを重視してください。RAMは4〜8GB(大型MODや重いミッションではそれ以上)、SSD、十分な上り帯域が目安です。サーバー自体にアカウントは不要で、Workshop MODのダウンロードにのみArma 3を所有するSteamアカウントが必要です。数値は目安であり公式の最小要件ではありません。
ローカルインストール(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 -autoInitLinux 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に使われます(Bohemia Interactive wikiによるとUDP 2302〜2306)。-portを変えたら範囲全体をずらしてください。
- 2302/UDP — ゲーム
- 2303〜2305/UDP — Steamクエリとマスター通信
- 2306/UDP — BattlEye
Linuxファイアウォール(ufw)
sudo ufw allow 2302:2306/udp
sudo ufw status verboseWindowsファイアウォール(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 などでは、サーバー本体より前で通信を制御するプロバイダー側ファイアウォール(セキュリティグループ/パネルのファイアウォール)でも同じポートを開放してください。自宅ホスティングでは、ルーターで各ポートをサーバーのローカルIPへ正しいプロトコルで転送(NAT)します。外部(モバイル回線)から確認し、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 MODを(Arma 3所有のSteamアカウントで)更新してから再起動します。クライアントはサーバーと同じバージョンが必要です。
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をバックアップし、毎日の再起動をスケジュールします(ここでは5:00、バックアップは4: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」やキック:サーバーのMODがクライアントと一致しません(バージョン違い、keysフォルダーに.bikeyがない)。
- ミッションが読み込まれない:PBO名にマップ接尾辞がない、mission.sqmがルートにない、server.cfgのtemplateがファイル名(.pboなし)と異なる。
- サーバーのラグ:CPUのシングルスレッド性能不足、AIやスクリプトの過多。ヘッドレスクライアントの導入とbasic.cfgの確認を検討してください。
- サーバーがすぐ終了する:server.cfgの構文エラー(セミコロンや引用符の欠落)。profilesフォルダーの.rptファイルを確認してください。
よくある質問
- ホストするにはArma 3の所有が必要ですか?
- サーバー本体には不要です(app 233780、匿名ログイン)。Workshop MODのダウンロードにはゲームを所有するアカウントが必要です。
- どのポートを開放しますか?
- 既定設定(-port=2302)ではUDP 2302〜2306です。
- サーバーにMODを導入するには?
- 各MODを@名前フォルダーに置き、.bikeyをサーバーのkeysフォルダーにコピーして、-mod=(サーバー専用なら-serverMod=)に記載します。
- 再起動をスケジュールする理由は?
- 毎日の再起動でメモリが解放され、長時間の永続セッションの劣化を防げます。バックアップ後の空いている時間帯に行ってください。
