このガイドでは、Satisfactoryの専用サーバーの構築方法を説明します。まずWindowsのローカル環境でテストし、その後VPSまたは専用サーバーに構築します。対応OS:LinuxまたはWindows。初回構築はダウンロードを除き30〜60分が目安です。
手順ごとのインストール
要件(CPU・RAM・ディスク)を確認し、ホスト(Windows PC、VPS、専用サーバー)を選びます。
SteamCMDをインストールし、サーバー(Steamアプリ 1690800)をダウンロードします。
Linuxでは非rootユーザーと専用フォルダーを作成し、Windowsでは単純なフォルダー(例:C:\server)を使います。
サーバーを一度起動して設定ファイルを生成し、正常に停止します。
名前・パスワード・スロット数を設定します(ファイルの生成にはSatisfactory用ツールを利用できます)。
システムとプロバイダーのファイアウォールでポート7777/UDP, 7777/TCP, 8888/TCPを開放し、自宅ホストの場合はルーターでポートを転送します。
まずローカル(127.0.0.1)で、次にネットワーク外の回線から接続テストをします。
自動起動のため、systemdサービス(Linux)またはタスクスケジューラ(Windows)を作成します。
サーバーのバックアップとアップデートをスケジュールします。
game-rank.com/jeux/satisfactory にサーバーを登録して知ってもらいましょう。
必要条件
- 対応OS:LinuxまたはWindows。
- ハードウェア(公式情報):RAM 8 GB min. / 16 GB rec.、ディスク 8 GB (Linux) / 12.4 GB (Windows)。
- Steamアカウント:SteamCMDの匿名ログインでサーバーをダウンロードできます。ゲームの所有が必要なのはプレイヤーだけです。
- ネットワーク:パブリックIP(またはポート転送)とポート7777/UDP, 7777/TCP, 8888/TCPの開放。
- アクセス:SSH(Linux)またはリモートデスクトップ(Windows Server)。SSD推奨。
ローカル環境での構築(Windows)
SteamCMD(steamcmd.exe)を専用フォルダーに配置し、コマンドプロンプトで以下のコマンドを実行します。その後サーバーを起動し、ゲームから127.0.0.1に接続します。
steamcmd +force_install_dir "C:\satisfactory-server" +login anonymous +app_update 1690800 validate +quit
cd C:\satisfactory-server
FactoryServer.exe -log -unattendedLinuxのVPS・専用サーバーでの構築(Ubuntu/Debian)
root権限のない専用ユーザーを作成し、SteamCMDに必要な32ビット依存パッケージをインストールしてからサーバーをダウンロードします。ユーザー名やフォルダーは適宜変更してください。
sudo dpkg --add-architecture i386
sudo apt update && sudo apt install -y curl tar lib32gcc-s1
sudo adduser --disabled-password --gecos "" satisfactory
# then, as the satisfactory user (sudo -iu satisfactory):
mkdir -p ~/steamcmd ~/satisfactory-server && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/satisfactory-server +login anonymous +app_update 1690800 validate +quit開放するポート
既定値です。通信の向きは受信(サーバー宛て)です。
ポートを変更するには、サーバー設定または起動コマンド(-Port, -ReliablePort)で変更し、ファイアウォールも合わせます。
- 7777/UDP — ゲーム通信
- 7777/TCP — サーバー通信とHTTPS API(TCP)
- 8888/TCP — 信頼性メッセージ(TCP)
Linuxファイアウォール(ufw)、プロバイダー、ルーター
ロックアウトを避けるため、先にSSHを許可し、続いてゲームのポートを許可します。プロバイダー側のファイアウォール(OVH、Hetzner、Scalewayなど:セキュリティグループまたはパネルのネットワークルール)でも開放しないと到達できません。
自宅ホストの場合:ルーターでサーバーの固定ローカルIP宛てに、同じポートとプロトコルのポート転送(NAT)を設定します。回線がCGNAT(パブリックIPv4なし)の場合は転送できないため、パブリックIPを依頼するかVPSを借りてください。
テスト:UDPは単純なWebのポートチェッカーでは確認できません。外部ネットワーク(モバイルのテザリングなど)からゲームで接続して確認し、サーバーのログも確認してください。
sudo ufw allow 22/tcp
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
sudo ufw allow 8888/tcp
sudo ufw enable
sudo ufw status verboseWindowsファイアウォール(netsh)
管理者として起動したコマンドプロンプトでこれらのコマンドを実行します。自宅ホストの場合は、ルーターでのポート転送も設定してください。
netsh advfirewall firewall add rule name="Satisfactory 7777 UDP" dir=in action=allow protocol=UDP localport=7777
netsh advfirewall firewall add rule name="Satisfactory 7777 TCP" dir=in action=allow protocol=TCP localport=7777
netsh advfirewall firewall add rule name="Satisfactory 8888 TCP" dir=in action=allow protocol=TCP localport=8888Linuxでの自動起動(systemd)
このサービスは、クラッシュ後およびマシン起動時にサーバーを再起動します。ブロック内のコマンドで有効化します。
[Unit]
Description=Satisfactory dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=satisfactory
WorkingDirectory=/home/satisfactory/satisfactory-server
ExecStart=/home/satisfactory/satisfactory-server/FactoryServer.sh -Port=7777 -ReliablePort=8888
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=90
[Install]
WantedBy=multi-user.target
# sudo nano /etc/systemd/system/satisfactory.service
# sudo systemctl daemon-reload && sudo systemctl enable --now satisfactory
# journalctl -u satisfactory -fWindowsでの自動起動(タスクスケジューラ)
Windows起動時に起動スクリプトを実行するタスクを作成します(可能なら専用アカウントで)。スクリプトのパスは環境に合わせてください。
schtasks /Create /TN "Satisfactory Server" /TR "C:\satisfactory-server\start-satisfactory.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST
schtasks /Run /TN "Satisfactory Server"
schtasks /End /TN "Satisfactory Server"アップデート、バックアップ、再起動
アップデート前に必ずサーバーを停止し、データをバックアップしてから再起動します。バックアップはcron(Linux)またはタスクスケジューラ(Windows)で定期実行し、メモリリークがあるゲームでは毎日の再起動も設定します。
sudo systemctl stop satisfactory
/home/satisfactory/steamcmd/steamcmd.sh +force_install_dir /home/satisfactory/satisfactory-server +login anonymous +app_update 1690800 validate +quit
# Experimental branch: append -beta experimental (back to stable: -beta public)
sudo systemctl start satisfactory
mkdir -p ~/backups
tar czf ~/backups/satisfactory-$(date +%F).tar.gz -C ~/.config/Epic/FactoryGame/Saved SaveGames
find ~/backups -name 'satisfactory-*.tar.gz' -mtime +14 -delete
# crontab -e -> 30 4 * * * <the two lines above, as a script>サーバーの登録と見つけ方
サーバーが安定したら、game-rank.com/jeux/satisfactory(このツールの運営者のサイト)に、接続アドレス、スロット数、言語、バージョンとともに登録しましょう。共有する直接接続アドレス:<IP>:7777(ゲームのバージョンにより異なる場合があります)。管理者パスワードは絶対に公開しないでください。
トラブルシューティング
- サーバーが一覧に表示されない — 原因:クエリポートが閉じている、または一覧に未登録。対処:7777/UDP, 7777/TCP, 8888/TCPを開放し、名前とパスワードを確認して数分待ちます。IP直接接続でテストしてください。
- インターネットから接続できないがローカルでは接続できる — 原因:システム/プロバイダーのファイアウォール、ポート転送の未設定、またはCGNAT。対処:3か所(ufw/Windows、プロバイダー、ルーター)とプロトコル(UDP/TCP)を確認します。
- 起動直後に終了する、またはメモリ不足になる — 原因:RAM不足、ライブラリ不足、作業ディレクトリの誤り。対処:フォアグラウンドで起動してログを確認し、RAMまたはスワップを増やします。
- ゲームのアップデート後にバージョン不一致と表示される — 原因:サーバーが未更新。対処:停止して更新し(「アップデート」の項を参照)、再起動します。
- 設定の変更が反映されない、または上書きされる — 原因:サーバー稼働中にファイルを編集した、フォルダーの誤り、構文エラー。対処:サーバーを停止して正しいファイルを編集し、構文(JSON/XML)を検証して再起動します。
よくある質問
- Satisfactoryサーバーにはどんなマシンが必要ですか?
- ハードウェア(公式情報):RAM 8 GB min. / 16 GB rec.、ディスク 8 GB (Linux) / 12.4 GB (Windows)。
- どのポートを開放すればよいですか?
- 7777/UDP, 7777/TCP, 8888/TCPを受信方向で、システムのファイアウォール、プロバイダー、必要ならルーターでも開放します。これらは既定値で、サーバー設定で変更できます。
- ホストするにはゲームを所有している必要がありますか?
- 専用サーバーはSteamCMD(匿名ログイン)で無料ダウンロードできます。ゲームを所有している必要があるのはプレイヤーだけです。
- サーバーはどうやって更新しますか?
- サーバーを停止し、SteamCMDのコマンド +app_update 1690800 validate を再実行して(「アップデート」の項を参照)、再起動します。ベータブランチは -beta <名前> を追加します。
- 自宅でホストできますか?
- はい。回線にパブリックIPがあり、ルーターでポート転送できれば可能です。CGNATやアップロード速度が遅い場合は、VPSか専用サーバーをおすすめします。
