Loading...
ゲーム自分メモ

SATISFACTORYの専用サーバをSteamアカウント無しで建てる

満足工場ことSatisFactoryにUPDATE5が来たことで専用サーバー(Dedicated Server)の構築が可能になりました。
とりあえずメモレベルですが記載していきます。

前提

まず実行環境等の条件から

最低要件

メモリ6GB(4人以上のセッションがある場合は8GBが最低)
アンリアルエンジン4が動作すること
※ヘッドレス(GUI無し)の場合、グラフィック性能などは不要

WindowsOSあるいはLinux。
CPUはIntel,AMDのみでARMはサポートしていません。

※今回はWindows環境を用いりました

手順

SteamCMDのインストール

まずはSteamのヘッドレスコンソールであるSteamCMDをインストールします。

こちらのURLからZIPファイルをダウンロードし解凍。
お好きなパスに設置します。
今回は”c:\steamcmd”配下に設置しました。
別のパスを使われる方は読み替えてください。

C:\steamcdmの下に設置した「steamcmd」をダブルクリックで起動します。
コマンドプロンプト経由などでなくてもOKです。
SteamCMDのアップデートが始まります

Loading Steam API…OKのあと、「Steam>」のプロンプトが表示されていればOKです。

SatisFactoryサーバのインストール

次にSatisFactoryのヘッドレスサーバをインストールします。
まずはコマンドプロンプトを起動し、SteamCMDがインストールされたパス迄移動します。

cd c:\steamcmd

次にSteamCMDをコマンドプロンプト経由で叩いてSatisFactoryをインストールします。

まずはSatisFactoryをインストールするディレクトリを作成します。
場所はどこでもいいですが、今回は「C:\SatisfactoryServer」としました。
SteamCMDから直接コマンドを叩こうと思いましたがなんかうまくいきませんでした。

steamcmd.exe +login anonymous +force_install_dir "C:\SatisfactoryServer" +app_update 1690800 validate +quit

一応説明をば

・login anonymous ・・・ ログインしない匿名ユーザーIDで実行します。SteamCMDのオプションです
・force_install_dir・・・インストール先を指定するSteamCMDのオプションです。
・C:\SatisfactoryServer ・・・ ↑のforce_install_dirの引数です。インストール先のディレクトリになります。先ほど上で作成したディレクトリになります。
・app_update 169800 ・・・ 指定したIDのコンテンツをダウンロードしインストールします。169800はSatisFactoryの専用サーバーのコンテンツIDです。
・Validate ・・・ ダウンロードしたコンテンツの確認を行うコマンド。外してもよさそうですが外したら起動失敗しました。

上記コマンドで数回失敗しましたが3回目くらいに成功しました。
成功すると指定したインストールディレクトリにSatisFactoryのサーバが出てきます。

ポート開放

この状態になったら起動の前にWindowsのポート開放を行います。
アプリケーションの例外設定でもいいですし、以下のようにPowerShellからポート開放してもOKです。
解放するポートは以下の通り

ポート番号 プロトコル 主な用途
15000 UDP サーバの初期設定に必要なポート
15777 UDP サーバのステータス確認に用いるポート
7777 UDP ゲームプレイに用いるポート

PowerShell

New-NetFirewallRule -DisplayName "Allow Satisfactory default inbound ports" -Direction Inbound -Action Allow -EdgeTraversalPolicy Allow -Protocol UDP -LocalPort 15000,15777,7777

PowerShell経由だと成功するとこんな感じ

また、サーバのデフォルトゲートウェイとなっているルータのポートマッピング、ポート開放も実行しましょう。

SatisFactoryServerの起動

SatisFactoryServerを起動します。
コマンドプロンプトからexeを起動すればOKです。

C:\SatisfactoryServer\FactoryServer.exe -log -unattended

これでOK

SatisFactoryホストからサーバへ接続して追加

最後の設定はホストから行います。

まず起動したら「ServerManager」を選択します。
そして一番下の「+ AddServer」を選び今回構築したサーバのURL、或いは外部IPアドレスを入力します。

ここで接続に成功すると「サーバ名」と「パスワード」を求められますのでこれを入力します。
パスワードはセッション参加に必要です。

尚この設定は後から「Server Settings」の項目より変更可能です。

これでホストへのサーバ追加が完了です。

サーバ最終設定

最後の設定はホストから行います。タブの「CreateGame」を選択します。

NewGameしたときと同じ表示が出てきます。
セッションネームを入力し、リスポーン地点を選択しゲームを作成します。

これでゲームも作成されました。

サーバを選択した際に右下部に表示される「Join」からゲームへの参加も可能となります。

その他注意

ゲームは自動的にセーブされます。
保存先はサーバ側でWindowsの場合、%LOCALAPPDATA%\FactoryGame\Saved\SaveGamesに生成されます。
このデータをローカルデータと差し替えると既存セーブデータを専用サーバへ移行できます。

サーバが停止した際に自動的に再起動は行いません。
サービス化するなどで対処する必要があります。

追記

アップデートについて(2021/11/4追記)

サーバのアップデートが必要な場合は、サーバ停止後に上記のSatisFactoryServerのインストールコマンドを再度実行すればOKでした。

steamcmd.exe +login anonymous +force_install_dir "C:\SatisfactoryServer" +app_update 1690800 validate +quit

 



よろしければ記事に対し、寄付を頂けますと幸いです。
頂いた寄付につきましてはszkhaven.comのサーバ運用資金、記事執筆の活動資金として使用させていただきます。