Q.CentOS7はもうアップデート終了なんじゃない?
A. そうだよ!サポート外だよ!
でもとりあえず記録として、β版で動かせてたCentOS7で構築してた記録を残しておこうと思います。
今回紹介するのはEPICとSteamから発売されているゲームソフト、Satisfactoryのサーバー構築方法を解説していく。
UPDATE5.0で追加されたサーバーシステム
2021年10月下旬に公式がマルチサーバーシステムを追加できるようになった。
これにより、今まではホストが立ててないと遊べなかったシステムが、サーバーを経由することにより、遊べるようになった。
構築するのはLinuxのCentOS7(サポート切れ)版で紹介する。
とあるブログに書いてあった記事でもあるが、ページがなくなってたのでメモしてあった情報を復元してみる。
システム要求 | |
CPU | Intel / AMD プロセッサ(x86 / 64bit) 32bitまたはARMはサポートされてません。 |
Memory | 最小6GB以上(4人以上) 推奨8GB以上 |
Storage | ゲームサーバーデータはおよそ10GB程度 |
OS | サポートされてるOSはWindows10以上、Linux(Windows7などはサポート対象外) |
Internet | ブロードバンドインターネット接続。ポート開放必要 |
1 2 |
$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) |
以下、実行したコマンド一覧。
<ユーザー名>ってなってるところは適宜お好きな名前にしてくださいね。
1. ユーザーを作成してパスワードを設定するのとsudo権限を与える
→sudo権限を与えておくと、LinuxGSMの中でDependencyを自動で解決してくれる。
1 2 3 |
$ sudo adduser <ユーザー名> $ sudo passwd <ユーザー名> $ gpasswd -a <ユーザー名> wheel |
2. 作成したユーザーに変更
1 |
$ su - <ユーザー名> |
3. LinuxGSMをダウンロード
1 |
$ wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh sfserver |
4. Satisfactory Dedicated Serverをインストール
1 |
./sfserver install |
ファイアウォールの設定
デフォルトポートのままでいくなら、以下の3つを開放してあげる。
ポートを変更する場合は、適宜ポート番号を読み替えてください。
デフォルトポート (UDPのみ) |
ポートの使用法 | 説明 |
---|---|---|
15777 | クエリポート | これは、専用サーバーに最初に接続するときにゲームに入力する必要があるポートです。このポートは自由にリダイレクトできます。 |
15000 | ビーコンポート | 現在、このポートはリダイレクトできません。サーバーの複数のインスタンスが起動され、デフォルトがすでに使用されている場合は、自動的にインクリメントされます。 |
7777 | ゲームポート | このポートは、サーバーの起動時に-Portパラメーターを使用して自由にリダイレクトできます。たとえば、 ” -Port=10000 “を使用してゲームポートをUDPポート10000に変更します。現在、デフォルトのポートが使用されている場合は、空きポートになるまで次に高いポートがチェックされます。が見つかり、使用されます。 |
1 2 3 4 |
$ sudo firewall-cmd --permanent --zone=public --add-port=15777/udp $ sudo firewall-cmd --permanent --zone=public --add-port=15000/udp $ sudo firewall-cmd --permanent --zone=public --add-port=7777/udp $ sudo firewall-cmd --reload |
systemdによる起動
デフォルトポートのままでいいなら、以下のコマンドを実行すればサーバーが起動します。
1 |
$ ./sfserver start |
自分の知識不足の可能性があるけど、これだとポートの変更ができなかったので、スクリプトを作成してポートの変更ができるようにしました。
<ユーザー名>ってなってるところは、上で作成したユーザー名に読み替え。
FactoryServer.shの引数になってるXXXX、YYYY、ZZZZは任意の値。自分のポートがバレるので隠してますw
【2021/11/04: v0.5.0.6、Build 171407】
IPv6対応が入ったので、IPv4で稼働する場合?は -multihome パラメータの追加が必要になりました。
設定する値はDedicated ServerのIPアドレスになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash export InstallationDir=/home/<ユーザー名>/serverfiles export templdpath=$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$InstallationDir/linux64:$LD_LIBRARY_PATH # Install or update the server before launching it /home/<ユーザー名>/.steam/steamcmd/steamcmd.sh +login anonymous +force_install_dir $InstallationDir +app_update 1690800 validate +quit # Launch the server $InstallationDir/FactoryServer.sh -multihome=VVV.VVV.VVV.VVV -ServerQueryPort=XXXX -BeaconPort=YYYY ?listen -Port=ZZZZ export LD_LIBRARY_PATH=$templdpath |
スクリプトを記述したら、任意のフォルダに保存してから実行権限を与えておきます。
続いて、systemdで実行できるように、/etc/systemd/system/satisfactory.service を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[Unit] Description=Satisfactory Server Wants=network.target After=syslog.target network-online.target [Service] Type=simple Restart=always RestartSec=10 User=<ユーザー名> WorkingDirectory=/home/<ユーザー名>/serverfiles ExecStart=/home/<ユーザー名>/serverfiles/start_server.sh [Install] WantedBy=multi-user.target |
あとは自動起動を有効化して起動して完了です。
1 2 |
$ sudo systemctl enable satisfactory $ sudo systemctl start satisfactory |
ゲーム側の設定
Satisfactory
Add ServerからサーバーのIPアドレスとポート番号を指定するだけです。
終わったら、Create Gameでソロプレイと同じようにセッションを作成すればいいです。
サーバーのアップデート
以下のコマンドでアップデートできます。
まずは動いてるサービスを止めます。
1 |
$ ./sfserver stop |
その後、アップデートを走らせます。
1 |
$ ./sfserver update 1690800 |
とても時間がかかるので待ちましょう。
回線が早くてもSteam側のネットワークが混んでるのか時間がかかってしまいます。
この表記がでたらアップデート完了です。
お疲れ様でした。
サーバー起動してみましょう。
1 |
$ ./sfserver start |
構築は以上です、お疲れ様でした。
閲覧数 460 件
What do you think?
You must be logged in to post a comment.