どうも、Satisfactory_Japan Serverの公式サーバーで場所を公開してる凛空です。
CentOS7や8の更新が打ち切られるということで、CentOS系の派生であるRockyLinuxを導入してみた。
今回紹介するのはEPICとSteamから発売されているゲームソフト、Satisfactoryのサーバー構築方法を解説していく。
UPDATE5.0で追加されたサーバーシステム
2021年10月下旬に公式がマルチサーバーシステムを追加できるようになった。
これにより、今まではホストが立ててないと遊べなかったシステムが、サーバーを経由することにより、遊べるようになった。
今回はその構築方法をLinux(RockyLinux)版で紹介する。
システム要求 | |
CPU | Intel / AMD プロセッサ(x86 / 64bit) 32bitまたはARMはサポートされてません。 |
Memory | 最小6GB以上(4人以上) 推奨8GB以上 |
Storage | ゲームサーバーデータはおよそ10GB程度 |
OS | サポートされてるOSはWindows10以上、Linux(Windows7などはサポート対象外) |
Internet | ブロードバンドインターネット接続。ポート開放必要 |
1.OSを最新にしよう
1 |
[root@kaijou ~]# dnf -y update |
ログが流れるのでしばらく待ちます。
その後、再起動しておきましょう。
1 |
[root@kaijou ~]# reboot |
2.SELinuxを無効化する
CentOSにはセキュリティ対策としてSELinuxというものが用意されています。SELinuxを適切に設定することでより強固なサーバを構築することができるのですが、今回はSELinuxを無効にしておきます。
1 |
[root@kaijou ~]# getenforce |
Enforcingになってる場合のみ以下のコマンドを入力する。
すでにPermissiveになってたらコマンド不要。
以下のコマンドで無効化します。
1 |
[root@kaijou ~]# setenforce 0 |
一般ユーザーを作成します
今回はSteamというユーザーを作成します。
1 2 |
[root@kaijou ~]# useradd sfserver [root@kaijou ~]# passwd sfserver |
3.必要ソフトをインストールする
1 |
[sfserver@kaijou ~]$ sudo dnf install epel-release |
ファイルが2つできるので、1個だけファイル名をリネームする。
ここではindex1をリネームし、実行ファイルへ変換する。
1 |
[sfserver@kaijou ~]$ mv index.html1 linuxgsm.sh |
ファイルに権限を与える
1 |
[sfserver@kaijou ~]$ chmod +x linuxgsm.sh |
実行ファイルを整える
1 |
[sfserver@kaijou ~]$ bash linuxgsm.sh sfserver |
4.LinuxGSMをインストールする
1 |
[sfserver@kaijou ~]$ ./sfserver install |
しばらく時間がかかります。
5.SteamCMDが入ったら、アップデートを行う
1 |
[sfserver@kaijou ~]$ ./sfserver update 1690800 |
これも時間が結構かかります。
お菓子でも食べながら気長に待ちましょう。
この表記がでたら終わりです。
6.一度起動しておこう
ファイルを生成するために一度実行しておきましょう。
1 |
[sfserver@kaijou ~]$ ./sfserver start |
ファイルが生成されたので一度止めておきます。
1 |
[sfserver@kaijou ~]$ ./sfserver stop |
7.ファイアウォールの開放
今回は指定のポートを開放してみます。
実際は各自で設定して下さい。
デフォルトポート (UDPのみ) |
ポートの使用法 | 説明 |
---|---|---|
15777 | クエリポート | これは、専用サーバーに最初に接続するときにゲームに入力する必要があるポートです。このポートは自由にリダイレクトできます。 |
15000 | ビーコンポート | 現在、このポートはリダイレクトできません。サーバーの複数のインスタンスが起動され、デフォルトがすでに使用されている場合は、自動的にインクリメントされます。 |
7777 | ゲームポート | このポートは、サーバーの起動時に-Portパラメーターを使用して自由にリダイレクトできます。たとえば、 ” -Port=10000 “を使用してゲームポートをUDPポート10000に変更します。現在、デフォルトのポートが使用されている場合は、空きポートになるまで次に高いポートがチェックされます。が見つかり、使用されます。 |
ファイアウォールが無効になってた場合は、以下のコマンドを入力しインストールする
デフォルトのポートを開放する場合は以下の通りにします。
各自で任意のポートに置き換えても大丈夫です。
1 2 3 4 |
[sfserver@Kaijou ~]$ sudo firewall-cmd --permanent --zone=public --add-port=15777/udp [sfserver@Kaijou ~]$ sudo firewall-cmd --permanent --zone=public --add-port=15000/udp [sfserver@Kaijou ~]$ sudo firewall-cmd --permanent --zone=public --add-port=7777/udp [sfserver@Kaijou ~]$ sudo firewall-cmd --reload |
8.実行ファイルの編集をする
今のまま実行してしまうとローカルIPは0.0.0.0のままなので、自分のローカルIPアドレスを割り振る必要がある。
まずは、ファイルをコピーする。
1 2 |
[sfserver@kaijou ~]$ cd /home/sfserver/lgsm/config-lgsm/sfserver [sfserver@kaijou sfserver]$ cp _default.cfg common.cfg |
コピーが完了したら、IPアドレス部分(初期設定は0.0.0.0)を変更します。
1 |
[sfserver@kaijou sfserver]$ vi common.cfg |
#### Game Server Settings ####
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
ip=”0.0.0.0″ #ここをローカルIPに変更しましょう
queryport=”15777″
beaconport=”15000″
port=”7777″
保存します。
9.設定ファイルが正しく設定されてるか、確認する
つづいて、ファイルの書き換えが完了してるか確認します。
この作業はのちほど構築後も確認することがあるので、よく見るようにしましょう。
1 |
[sfserver@kaijou ~]$ ./sfserver details |
設定ファイルや現在どうなのか確認できます。
8.実行ファイルを作成する
サーバーを起動したとき自動で実行できるファイルを設置していきます。
1 |
[sfserver@Kaijou ~]$ vi start_server.sh |
実行ファイルの中身は任意で変更して下さい
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/bin/bash export InstallationDir=/home/sfserver/serverfiles export templdpath=$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$InstallationDir/linux64:$LD_LIBRARY_PATH # Install or update the server before launching it /home/sfserver/.steam/steamcmd/steamcmd.sh +login anonymous +force_install_dir $InstallationDir +app_update 1690800 validate +quit # Launch the server $InstallationDir/FactoryServer.sh -multihome=192.168.0.240 -ServerQueryPort=15777 -BeaconPort=15000 ?listen -Port=7777 export LD_LIBRARY_PATH=$templdpath |
-multihome=192.168.XXX.XXX | サーバーのIPアドレスを記入します。ここでは開放する値は192.168.0.240にしてます。 |
-ServerQueryPort=15777 | クエリポートを指定します。FWで設定した値を入力して下さい。 |
-BeaconPort=15000 | ビーコンポートを指定します。 |
listen -Port=7777 | ゲームポートを指定します。 |
ファイルに権限を設定しよう
1 |
[sfserver@Kaijou ~]$ chmod +x ~/start_server.sh |
9.いよいよゲームサーバーを立てます
実行してみよう
1 |
[sfserver@kaijou ~]$ ./start_server.sh |
起動したのが確認できたら、最後にアップデートして最新版にしておきましょう。
1 |
[sfserver@Kaijou ~]$ ./sfserver update |
お疲れ様でした。
以下の解説では、サーバーを立てた時に自動で実行できるパッチを作成します。
9番までの状態だと、サーバーでSTOPかけた場合、再度実行しなければいけません。
10.自動パッチでサーバー起動後に走るプログラムを作る
管理者にもどり、実行ファイルを作っていきます。
1 |
[root@Kaijou ~]# vi /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=sfservercd WorkingDirectory=/home/sfserver/serverfiles ExecStart=/home/sfserver/sfserver [Install] WantedBy=multi-user.target |
最後に自動で走らせるコマンドを入力したら終わりです。
1 |
[sfserver@Kaijou ~]$ sudo systemctl start satisfactory |
11.自動起動の状態を確認する
コマンドはいろいろあるので、用途によって使い分けるといいでしょう。
実行する場合
1 |
[sfserver@Kaijou ~]$ sudo systemctl start satisfactory |
停止する場合(メンテナンスなど)
1 |
[sfserver@Kaijou ~]$ sudo systemctl stop satisfactory |
ステータスを確認する場合
1 |
[sfserver@Kaijou ~]$ sudo systemctl status satisfactory |
以上になります。
メモ帳
./sfserver の設定ファイルはどこにあるのか探ること4日・・・
みつけたので貼っておきます。
/home/sfserver/lgsm/config-lgsm/sfserver/_default.cfg
閲覧数 2,128 件
What do you think?
You must be logged in to post a comment.