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