Empyrion - Galactic Survivalには、dedicated.yamlで設定する無料のWindows向け専用サーバー(SteamCMDアプリ530870、匿名ログイン)があります。本ガイドはWindows、Wine経由のLinux、ポート、バックアップを扱います。完全な公式文書が見つからなかったため、第三者のガイドに基づきます。
手順ごとのインストール
マシンを確認:4 cores, 8 GB RAM, 30 GB disk (community estimate)。
SteamCMDをダウンロードし、サーバー用フォルダを作成します。
SteamCMDでサーバーをインストール:login anonymous, app_update 530870 validate。
DedicatedServer\EmpyrionDedicated.exe -batchmode -nographicsを一度実行してファイルを作成し、停止します。
サーバーを一度起動して停止し、dedicated.yamlを編集します。
ファイアウォールとルーターでポート 30000/UDP (+ 30001/UDP) を開放します。
localhost(127.0.0.1)で確認し、別のネットワークから外部接続も確認します。
自動起動(タスクスケジューラまたはsystemdサービス)を設定します。
Saves/のバックアップと更新をスケジュールします。
必要条件
サードパーティのガイドによる非公式の目安:高速なマルチコアCPU、人数に応じてRAM 6〜16GB、ディスク30〜70GB。Windows(Server 2016以降、最新のVisual C++)またはWine上のLinux。ライセンスキー不要でSteamCMDは匿名。EACはクライアントとサーバーで一致させます。
ローカル環境へのインストール(Windows)
SteamCMDでインストールし、dedicated.yamlを編集してサーバーを起動、ゲームから127.0.0.1で接続します。
C:\steamcmd\steamcmd.exe +force_install_dir C:\empyrion-server +login anonymous +app_update 530870 validate +quit
cd /d C:\empyrion-server
DedicatedServer\EmpyrionDedicated.exe -batchmode -nographics -logFile Logs/current.logLinux VPS/専用サーバーへのインストール
LinuxではWine経由で動作します(公式サポートなし)。WineとXvfbを入れ、Windowsプラットフォームを指定してサーバーをインストールし、非rootユーザーで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 ~/empyrion && cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxf -
./steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir ~/empyrion +login anonymous +app_update 530870 validate +quit
cd ~/empyrion && xvfb-run wine64 DedicatedServer/EmpyrionDedicated.exe -batchmode -nographics開放するポート
- 30000/UDP:ゲームポート(Srv_Port)
- 30001/UDP:ゲームポート+1(内部用、第三者ガイド)。30000〜30002をUDP/TCPで開ける情報もあります
- 30004/TCP:Telnet(Tel_Port):ローカルのみ、公開しない
Linuxファイアウォール(ufw)
Ubuntu/Debianでは、締め出されないよう先にSSHを許可し、続いてゲームのポートを許可します。
sudo ufw allow OpenSSH
sudo ufw allow 30000:30001/udp
sudo ufw enable
sudo ufw statusWindowsファイアウォール(netsh)
管理者権限のPowerShell(または管理者のcmd)で実行します。
netsh advfirewall firewall add rule name="Empyrion 30000-30001/UDP" dir=in action=allow protocol=UDP localport=30000-30001プロバイダーのファイアウォールとポート転送(NAT)
サーバーをOVH・Hetzner・Scalewayなどに置く場合は、同じポートをネットワークファイアウォール(セキュリティグループ)でも開放します。自宅運用ではルーターからマシンの固定ローカルIPへポート転送(NAT)してください。確認は外部(モバイル回線や友人)から行います。自宅ネットワーク内のテストでは判断できません。
自動起動と監視
/etc/systemd/system/<name>.service を作成し、sudo systemctl daemon-reload && sudo systemctl enable --now <name> を実行します。ログは journalctl -u <name> -f。
[Unit]
Description=Empyrion dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/empyrion
ExecStart=/usr/bin/xvfb-run /usr/bin/wine64 DedicatedServer/EmpyrionDedicated.exe -batchmode -nographics
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.targetWindowsでの自動起動(タスクスケジューラ)
「スタートアップ時」に起動スクリプトを実行するタスクを作成し、最上位の特権と「ユーザーがログオンしているかどうかにかかわらず実行する」を設定します。
更新・バックアップ・再起動
サーバーを停止し、app_update 530870 validateを再実行して再起動します。大きな更新の前にSaves/をバックアップしてください。 古いバージョンのdedicated.yamlは、生成されたファイルと比較せずにそのままコピーしないでください。
# backup
tar czf ~/backup-$(date +%F).tar.gz -C ~/server Saves/サーバーの登録と見つけ方
サーバーを公開したら、https://game-rank.com/jeux/empyrion(このツールの運営サイト)に登録すると、プレイヤーが見つけてフォロー・投票できます。
トラブルシューティング
- 外部から接続できないがlocalhostでは動く場合:OSのファイアウォール、プロバイダーのファイアウォール、NAT転送のいずれかが未設定か、プロトコル(UDP/TCP)が違います。1層ずつ確認してください。
- ゲーム更新後に接続できない場合:クライアントとサーバーのバージョンを一致させる必要があります。サーバーを更新して再起動してください。
- サーバーがすぐ終了する場合:コンソールから起動してエラーを確認し、空きRAM・ディスク・必要なソフトウェアを確認してください。
- 起動時のYAMLエラー:タブをスペースに置き換え、ServerConfigとGameConfigブロックのインデントを確認してください。
- EACでプレイヤーが切断される場合:EACActiveはクライアントとサーバーで一致させてください。
よくある質問
- サーバーのSteamアプリIDは?
- 530870(専用サーバー、匿名ログイン)。
- サーバーを更新するには?
- サーバーを停止してapp_update 530870 validateを再実行します。クライアントとサーバーは同じバージョンが必要です。
- PvPかPvEはどこで設定しますか?
- シナリオ内の各playfield.yamlでプレイフィールドごとに設定します。dedicated.yamlのグローバルなキーではありません。
- サーバーを知ってもらうには?
- https://game-rank.com/jeux/empyrion(このツールの運営サイト)に登録すると、プレイヤーが見つけてフォロー・投票できます。
