本ページはプロモーションが含まれています
2024年6月25日、ついにPC(Steam版)「7 Days to Die」の正式版(Ver.1.0)がリリースされましたね。
これを機にまたゾンビたちと遊んでみようという方も多いのではないでしょうか?
今回はその7 Days to Dieのマルチプレイサーバーを自宅PCをサーバー化する方法をご紹介します。
自宅PCをサーバー化してマルチプレイする際の注意点
自宅PCをサーバー化してマルチプレイする際にいくつか注意すべき点があります。
チェックせずに運用を始めると、後で痛い目を見る場合もありますので、あらかじめチェックしておきましょう。
セキュリティ対策に気をつける
自宅PCをサーバー化してマルチプレイする場合、フレンドのアクセスを許可するために、自宅のネットワークのポートを一部解放する必要があります。
必要なポートだけでなく、SSHなど外部から直接PCが操作できるようなポートまで開放してしまうと致命傷になりかねません。
開放しているポートの管理とファイアウォールの適切な設定を行いましょう。
サーバーのセキュリティ設定や運用に自信がない方はレンタルサーバーを利用することも検討しても良いかもしれません。
以下の記事ではレンタルサーバーを使った7 Days to Dieのマルチプレイサーバーを立てる方法を紹介しています。
PCの消耗が激しい
フレンドとマルチプレイする際は、ホストプレイヤーがいなくてもサーバーに参加できるように、24時間常設サーバーを缶がている方も多いと思います。
当然ですが、24時間稼働しつづけるとCPUなどPCの機器の消耗が早くなります。
消費電力に気をつける
こちらも常設サーバーにする場合ですが、電気代も当然それなりにかかってくるでしょう。
場合によっては、VPSをレンタルした方が安かったなんてこともありますので、稼働中はバックグランドで無駄なアプリを動かさないなど対策が必要です。
スペック不足に気をつける
PCをサーバー化する場合、十分なスペックを持ったPCを用意しましょう。
最初は快適にプレイできでも、ゾンビの数が増えてきたり、MODを入れたりするとだんだんとスペックが足りなくなってくることもあります。
PCの場合、すぐにスペックを上げることができませんので、最初の段階である程度余裕を持ったスペックを用意しておくことをお勧めします。
自宅PCをサーバー化して遊ぶ方法は2パターンある
ゲームクライアントと同じPCをサーバー化する
サーバー化したPCを使ってゲームをプレイする方法です。ゲームクライアントとホストサーバー両方の役割と担うため、PCの要求スペックが高くなります。
ただ、PCを2台用意する必要がない点や電気代を抑えることができる点はメリットでしょう。
ゲームクライアントとは別のPCをサーバー化する
PCを2台用意して、サーバー化するPCとゲームクライアントのPCを分ける方法です。
それぞれ独立して起動させるため、一台あたりのメモリやCPUの消費を抑えることができ、安定した運用が可能になります。
ただ、2台同時に起動させると電気代が1台で賄う場合に比べると高くなるでしょう。
7DTDのサーバーに必要なPCスペック
Steam公式ページに記載されている7Day to Dieの必要スペックは以下のとおりです。
ただ、追記事項にもある通り、ゲームクライアントと専用サーバーを同じPCで担う場合、メモリの容量が2倍必要になってきます。
以下でゲームクライアントを別のPCでプレイする場合と、同じPCでプレイする場合の両方の必要スペックを実体験をもとに記載しました。
あくまで目安となりますが、参考にしてみてください。
ゲームクライアントとは別のPCをサーバー化する場合のスペック
ゲームクライアントとは別のPCをサーバー化する場合、Steam公式ページにも記載されているスペックを満たしていれば問題ないでしょう。
ただ、MODをたくさん導入したり、広いマップでプレイする場合は下記よりも余裕を持ったスペックを持たせましょう。
最低スペック(1~4人) | 推奨スペック(5人~10人) | |
---|---|---|
CPU | 4コア | 6コア |
メモリ | 8GB | 16GB |
ストレージ | 20GB | 20GB |
ゲームクライアントと専用サーバーを同じPCにする場合のスペック
ゲームクライアントと専用サーバーを同じPCにする場合は、公式Steamページに記載されているスペックよりも一回り余裕を持ったスペックを持たせましょう。
最低スペック(1人~4人) | 推奨スペック(5人~10人) | |
---|---|---|
CPU | 6コア | 12コア以上 |
メモリ | 16GB | 32GB以上 |
ストレージ | 30GB | 30GB |
Steamページにも以下のように記載されています。
Running a Dedicated Server and Client on the same computer will double ram requirements. Also future releases may require more hard drive space.
「専用サーバーとクライアントを同じコンピューターで実行すると、RAMの必要量が2倍になります。また、将来のリリースでは、より多くのハードドライブ容量が必要になる場合があります。」
https://store.steampowered.com/app/251570/7_Days_to_Die/?l=japanese
実際には2倍というのは目安ではありますが、よりハイスペックなPCが必要にはなります。
自分のPCのスペックを確認する方法
Windowsの場合、検索ボックスから「dxdiag」と検索してください。
WindowsのバージョンとCPU、メモリが表示されます。
ストレージはWindowアイコンを右クリックし、「エクスプローラー」をクリックします。
「PC」を選択すると、空き容量が表示されます。
PCに7DTDの専用サーバーを立てる流れ
PCに7 Days to Dieの専用サーバーを立てる流れは以下の通りです。
- SteamCMDをインストールする
- 専用サーバー(Dedicated Servers)のファイルをダウンロード
- サーバーの設定ファイルを編集
- 専用サーバーを起動する
- 自宅ネットワークとPCのポートを解放
- 7 Days to Dieから専用サーバーに参加する
難しいところは自宅にひいているネットワークとPCのポート解放の工程です。
セキュリティリスクにも関わるところなので、慎重に行いましょう。
PCに7DTDの専用サーバーを立てる手順
それでは、さっそくPCに7 Days to Dieの専用サーバーを立てていきます。
SteamCMDをインストールする
配布されている7 Days to Dieの専用サーバーのファイルは「SteamCMD」を使ってインストールしていきます。
「SteamCMD」を先にインストールする必要がありますので、まだインストールできていない人はインストールしていきましょう。
すでに「SteamCMD」がインストールされている方はこの工程はスキップしていただいて結構です。
「SteamCMD」とはSteamゲームのインストールや管理をコマンドラインで行うことができるツールです。
Steamアプリでもこれらの操作を行うことができますが、専用サーバーのインストールや管理はSteamCMDを使用することが推奨されているゲームもあります。
また、Steamアプリで行うよりも軽量で速く実行できるのもメリットです。
SteamCMDのインストーラをダウンロード
以下のURLからSteamCMDのインストーラをダウンロードします。
ダウンロードできたらダブルクリックして、zipファイルを解凍してください。
SteamCMDをインストール
SteamCMDの実行ファイル「steamcmd.exe」を格納するフォルダをお好きな場所に作成してください。
先ほど解凍したSteamCMDの実行ファイル「steamcmd.exe」を作成したフォルダに移動させます。
移動させたら「steamcmd.exe」をダブルクリックしてインストーラを起動します。
「Loading Steam API…OK」と表示されたらインストールが完了です。
先ほど新規作成したフォルダにダウンロードされたSteamCMDのファイルが格納されていると思います。
7 Days to Dieの他にも専用サーバーをダウンロードしたりする際に「SteamCMD」を使用するシーンがあります。
「SteamCMD」を使用する時はこの実行ファイル「steamcmd.exe」を起動させましょう。
専用サーバー(Dedicated Servers)のファイルをダウンロード
それでは本題の7 Days to Dieの専用サーバーをダウンロードしていきましょう。
まずはインストール先のフォルダを指定します。
SteamCMDを起動した状態で、force_install_dir
コマンドに任意のディレクトリを指定します。
force_install_dir "D:\xxx\Desktop\7DTD\DedicatedServer"
今回はデスクトップに7 Days to Die用のディレクトリを作成し、その中の「DedicatedServer」フォルダにインストールすることにしました。
force_install_dir
コマンドで指定するフォルダへのパスがわからない場合、保存したいフォルダのアイコンの上で右クリックし、「パスのコピー」をクリックしてください。
これでフォルダへのパスがコピーされますので、コマンドラインに戻ってペーストしましょう。
続いて、匿名アカウントでSteamにログインします。
login anonymous
ログインできたら、7 Days to Die専用サーバーのファイルをダウンロードします。
app_update 294420 validate
「Success! App ‘294420’ fully installed.」と表示されれば、ダウンロードは完了です。
サーバーの設定ファイルを編集
先ほどインストールフォルダに指定した場所に「serverconfig.xml」という設定ファイルがあると思います。
こちらのファイルをテキストエディタで編集していきます。
ファイルにはいろいろな設定項目が記述されています。「name=”xxx”」に書かれている値が設定項目を表すプロパティ名で、「value=”xxx”」がその設定値です。
例えば、以下の設定例では、「ServerName」(サーバー名)、「My 7DTD Server」を設定しています。
<property name="ServerName" value="My 7DTD Server"/>
サーバー名の他にもゲームの環境設定に関するいろいろな設定項目を編集することができます。以下に設定可能な項目をまとめておきますので、お好みで編集してください。
GENERAL SERVER SETTINGS
Server Representation
項目 | デフォルト値 | 説明 |
---|---|---|
ServerName | My Game Host | 任意のサーバー名 |
ServerDescription | A 7 Days to Die server | 任意のサーバーの説明文 |
ServerWebsiteURL | サーバーのWebサイトURLがある場合、設定可能 | |
ServerPassword | サーバーにアクセスするためのパスワード | |
ServerLoginConfirmationText | ログイン時に表示させるメッセージを設定 | |
Region | NorthAmericaEast | このサーバーが存在する地域 |
Language | English | このサーバーのプレイヤーの主要言語(日本語の場合は「Japanese」) |
Networking
項目 | デフォルト値 | 説明 |
---|---|---|
ServerPort | 26900 | サーバーがリッスンするポート。 |
ServerVisibility | 2 | このサーバーの公開状態。 2 = 公開、1 = 友達にのみ表示、0 = リストに表示させない |
ServerDisabledNetworkProtocols | SteamNetWorking | 接続を遮断するネットワークプロトコル |
ServerMaxWorldTransferSpeedKiBs | 512 | 最初の接続時にワールドがクライアントに転送される最大速度(kiB/s) |
Slots
項目 | デフォルト値 | 説明 |
---|---|---|
ServerMaxPlayerCount | 8 | 最大同時接続プレイヤー数 |
ServerReservedSlots | 0 | 予約済みスロットの数を指定 |
ServerReservedSlotsPermission | 100 | 予約済みスロットを使用することができる権限レベルの下限を指定 |
ServerAdminSlots | 0 | サーバーがMaxPlayerCountに達した場合でも参加できる管理者の数 |
ServerAdminSlotsPermission | 0 | 上記の管理者スロットを使用するために必要な権限レベル |
Admin interfaces
項目 | デフォルト値 | 説明 |
---|---|---|
WebDashboardEnabled | false | Webダッシュボードを有効/無効にする |
WebDashboardPort | 8080 | Webダッシュボードのポート番号 |
WebDashboardUrl | サーバーのパブリック IP のみを使用していない場合の Web ダッシュボードへの外部 URL | |
EnableMapRendering | false | マップを探索中に画像をタイル表示するレンダリングを有効/無効にする |
TelnetEnabled | true | telnetを有効/無効にする |
TelnetPort | 8081 | Telnet サーバーのポート番号 |
TelnetPassword | Telnetインターフェースにアクセスするためのパスワード | |
TelnetFailedLoginLimit | 10 | 設定した回数Telnetへのログインを失敗すると接続をブロックする |
TelnetFailedLoginsBlocktime | 10 | ログイン制限したアカウントをどれくらいの時間ブロックするか |
TerminalWindowEnabled | true | ログ出力/コマンド入力用のターミナルウィンドウを表示 |
Folder and file locations
項目 | デフォルト値 | 説明 |
---|---|---|
AdminFileName | serveradmin.xml | サーバー管理ファイル名 |
UserDataFolder | absolute path | サーバーが生成されたすべてのデータを保存場所を上書きする |
SaveGameFolder | absolute path | セーブデータの保存場所を上書きする |
Other technical settings
項目 | デフォルト値 | 説明 |
---|---|---|
EACEnabled | true | アンチチートソフト「EasyAntiCheat」を有効にするか |
HideCommandExecutionLog | 0 | コマンド実行のログを非表示 0 = すべて表示、1 = Telnet/ControlPanel からのみ非表示、2 = ゲームクライアントからも非表示、3 = すべてを非表示 |
MaxUncoveredMapChunksPerPlayer | 131072 | 各プレイヤーがゲーム内マップ上で発見できるチャンクの数を上書き |
PersistentPlayerProfiles | false | falseにするとプロフィールを変更してゲームに参加可能 |
編集が完了したら保存してください。
専用サーバーを起動する
専用サーバーを起動させます。
専用サーバーのフォルダに「startdedicated.bat」があると思います。
そのファイルをダブルクリックで専用サーバーが起動します。
ファイアウォールの許可に関するアラートが表示されますので、「許可」をクリックしてください。
[GameServer.LogOn successful, SteamID=xxxxxx, public IP=xxx.xx.xx.xx]と表示されれば専用サーバーが正常に起動しています。
自宅ネットワークとPCのポートを解放
続いて、自宅ネットワークとPCのポートを開放していきます。
7Days to Dieでマルチプレイする際は、以下の5つのポートを解放する必要があります。
プロトコル | ポート番号 |
---|---|
TCP | 26900 |
UDP | 26900 |
UDP | 26901 |
UDP | 26902 |
UDP | 26903 |
ファイアウォールの設定
最初にPCのファイアウォールの設定を変更しておきます。
Windowsの検索から「ファイアウォールとネットワーク保護」を検索して開いてください。
「詳細設定」をクリックします。
「受信の規則」を選択し、「新規規則…」をクリックしてください。
規則の種類は「ポート」を選択します。
プロトコルは「UDP」を選択、ポートは「特定のローカルポート」を選択し、「26900-26903」を入力してください。
「接続を許可する」を選択します。
適用の条件は全てにチェックを入れてください。
わかりやすい名前をつけておきましょう。
専用サーバーをしばらく使わない場合など、ポートを閉じる際にわかりやすいように、名前は覚えやすいものにしておくことをおすすめします。
続いて、同じようにTCPのプロトコルも設定していきます。
後の手順は上述のとおりです。これで受信の規則の設定は終了です。
送信の規則も同様の設定で設定してください。
以下すべてのポートの受信・送信の規則を設定したことを確認してください。
プロトコル | ポート番号 |
---|---|
TCP | 26900 |
UDP | 26900 |
UDP | 26901 |
UDP | 26902 |
UDP | 26903 |
ポートの開放設定
いよいよポートの開放設定です。
ポート解放ソフトを使う方法もありますが、自宅で利用している回線によっては専用の設定を行う必要がありますので、今回はルーターの管理画面から設定していきます。
今回はHUMAXのルーターを使用していますが、どのルーターでも基本的な流れは同じです。
「(ルーターの品番) + ポート解放」等でGoogle検索すると設定方法が見つかるはずです。
ルーター(モデム)の管理画面にログインする
最初にIPアドレスを確認します。
Windows検索ボックスに「cmd」と入力し、「コマンドプロント」を開いてください。
「ipconfig」と入力すると、ご自身が接続しているIPアドレス情報が表示されます。
「デフォルト ゲートウェイ」のアドレスをブラウザのURLボックスにペーストしてアクセスしてください。
ログイン画面のIDに「admin」、パスワードにルーター本体に書かれているパスワードを入力してください。
ルーター(モデム)からポート解放設定を行う
先述したようにポート解放の設定画面はルーターやモデムによって異なります。
HUMAXの場合、「ネットワークの詳細設定へ」を開きます。
左メニューから「詳細設定」→「フォワーディング」を開きます。
フォワーディング設定に以下の設定を入力してください。「有効」ボタンを忘れずに押してください。
設定項目 | 内容 |
プロトコル | 両方(UDPとTCPどちらも) |
---|---|
アプリケーションとポート | ユーザ定義 |
LAN側IPアドレス | ipcofigコマンドで調べたIPv4アドレス |
LAN側開始ポート | 26900 |
LAN側終了ポート | 26900 |
WAN側IPアドレス | 0.0.0.0 |
WAN側開始ポート | 26900 |
WAN側終了ポート | 26900 |
「適用」をクリックしてポートの解放設定は完了です。
ポートが解放されているか確認
無事にポートが解放され、26900番ポートが外部からアクセスできるか確認してみましょう。
CMANのポートチェックテストツールを使うと、簡単にポートが開放されているかチェックすることができます。
「ホスト名(FQDN) または グローバルIPアドレス」にグローバルIPアドレスを入力し、「チェックポート番号」に「26900」を入力します。
正常にポートが開放されていますね。
どうでしょうか?少し作業が難しいと感じる方はレンタルサーバーを利用することも検討しても良いかもしれません。
以下の記事ではレンタルサーバーを使った7 Days to Dieのマルチプレイサーバーを立てる方法を紹介しています。
7 Days to Dieから専用サーバーに参加する
ポート解放ができたらSteamから7 Days to Dieを起動してサーバーに参加してみましょう。
スタートメニューの「ゲームに参加」をクリックしてください。
「IPに接続しています…」をクリックします。
「IP」に「localhost」、「ポート」に「26900」を入力して「接続」をクリックしてください。
これで立てたサーバーに参加することができました。
管理者権限を付与する方法
サーバーを立てることができたら、運用時に便利な管理者コマンドを使えるように、プレイヤーに管理者権限を付与しましょう。
管理コマンドを使うと、サーバーを停止や、アイテムの入手、プレイヤーの移動などを簡単に行うことができます。
サーバーを立てた直後は管理者権限を持つプレイヤーはいませんので、Telnet経由でプレイヤーに管理者権限を付与していきます。
Telnetとは、外部からサーバーなどのコンピューターに接続し、コマンドラインを使って遠隔操作できる通信プロトコルです。
7Days to Dieでは、設定ファイル(servervconfig.xml)でTelnetの有効化とTelnetユーザーのパスワードを設定することができます。
7Days to Dieの仕様として、プレイヤーへの管理者権限の付与は管理者しか行うことができません。
ただ、上述したように、サーバーの初期状態では、管理者権限を持つプレイヤーはいません。これでは、管理者権限の付与を行うことは誰もできませんよね。
そこで、Telnet接続を使って、コマンドラインから管理者権限を付与する作業を行うのです。
設定ファイルからTelnetの設定を行う
serverconfig.xmlを開き、以下のプロパティを編集します。
<property name="TelnetEnabled" value="true"/>
<property name="TelnetPassword" value="20240707"/>
ver.1.1では、33行目あたりにあると思います。
TelnetEnabled
をtrue
に、TelnetPassword
に任意のパスワードを設定してください。
これで7Days to DieサーバーへのTelnet接続が許可されました。
ターミナルソフトからTelnet接続する
続いて、ターミナルソフトを立ち上げ、Telnet接続を使って、7Days to Dieサーバーに接続してみます。
Windowsの方は「コマンドプロンプト」、macOSの方は「ターミナル」を起動してください。
以下のコマンドを入力し、「Enter」を押してください。
telnet localhost 8081
「Please enter password」と表示されますので、先ほど設定ファイルに設定したTelnetパスワードを入力してください。
「Logon successful.」と表示されれば、Telnet接続は完了です。
「’telnet’は、内部コマンドまたは外部コマンド…」と表示される場合
上記のコマンドを実行した際に「’telnet’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示された場合、お使いのPCにtelnetクライアントがインストールされていません。
Windows 11の場合、以下の手順でTelnetクライアントを有効化することができます。
アプリ検索ボックスに「Windowsの機能の有効化」と入力して、「Windowsの機能の有効化または無効化」を選択してください。
「Telnet」クライアントにチェックを入れて、「OK」をクリックしてください。
これでTelnetクライアントが有効化されました。再度、上記のコマンドを実行してみてください。
プレイヤーに管理者権限を付与する
特定のプレイヤーに管理者権限を付与してみます。今回は自分自身に権限を付与しますが、基本的にどのプレイヤーも流れは同じです。
まず、プレイヤーIDを確認しましょう。以下のコマンドを入力して、「Enter」を押してください。
listplayerids
プレイヤーの一覧が表示されます。自分のIDを確認します。
自分のIDを確認したら、管理者権限を付与します。以下のコマンドを実行してください。
admin add xxx 0
これで管理者権限を持つプレイヤーを作成することができました。
7Days to Dieのマルチプレイ時にやっておきたいセキュリティ対策
自宅サーバーでマルチプレイする際に気になるのはセキュリティ対策ではないでしょうか。
安心して7Days to Dieを遊べるように、基本的なセキュリティ対策は取っておきましょう。
ホワイトリストの設定
7Days to Dieはサーバーに接続することができるユーザーを管理する「ホワイトリスト」を設定することができます。
不特定多数に開放するのではなく、決められたフレンドのみで遊びたい方は設定しておくことをおすすめします。
Steam IDを確認する
ホワイトリストに設定したいプレイヤーのSteam IDを確認します。
Steam IDはSteamのアカウントページに表記されています。
フレンドをホワイトリストにしたい場合は、フレンドにSteam IDを確認してもらいましょう。
ホワイトリストの設定を行う
7Days to Dieを起動し、ゲーム内から「F1」を押すと、コマンド入力画面が表示されます。
以下のコマンドを入力して、「Enter」を押してください。
whitelist add xxxxxxx
複数人いる場合は、上記のコマンドを人数分繰り返し実行します。
きちんと登録されているか確認してみましょう。以下のコマンドを実行します。
whitelist list
ポート番号の変更
7Days to Dieサーバーのポート番号を変更することもセキュリティ対策に繋がります。デフォルトのポート番号は26900
ですが、ポート番号がわかっているため、攻撃の対象となりやすくなっています。
設定ファイルの変更
設定ファイル(serverconfig.xml)の「Serverport」の値を変更することで、ポート番号を変更することができます。
serverconfig.xmlを開いて、ServerPort
のvalueを任意のポート番号に変更しましょう。
<property name="Serverport" value="27016"/>
ポート解放の再設定
「自宅ネットワークとPCのポートを解放」で行ったポートの解放作業では、「26900」番のポートを解放したと思います。
設定ファイルでポート番号を変更した場合、PCのファイアウォールとネットワークのポート解放も再設定する必要があります。
「自宅ネットワークとPCのポートを解放」を参考に、開放するポート番号を「26900」番から設定した番号に変更してください。
開放しているポートを管理する
どのポートが開放されているか把握しておきましょう。ポートを開放するということは、PCへの玄関を開放しているということです。
不必要なポートの開放が行われていないか確認しておくことも大切です。
nmapのインストール
開放されているポートの確認には、nmapというツールを使います。
Nmapダウンロードページ にアクセスし、Windowsの方は「Microsoft Windows binaries」のインストーラを、macOSの方は「Mac OS X Binaries」のインストーラをダウンロードしてください。
ダウンロードしたインストーラー(nmap-setup.exe)を実行し、画面の指示に従ってインストールします。
これでnmapが使えるようになりました。
開放されているポートを調べる
コマンドプロンプトを開いて、以下のコマンドを実行してください。
nmap -p- 192.168.0.28
開放されているポートのリストが表示されます。
C:\Users\infoc>nmap -p- 192.168.0.28
Starting Nmap 7.95 ( https://nmap.org ) at 2024-11-11 16:39 東京 (標準時)
Nmap scan report for 192.168.0.28
Host is up (0.0092s latency)
Not shown: 65518 closed tcp ports (reset)
PORT STATE SERVICE
26900/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 28.67 seconds
SSHやFTPなどは攻撃対象になりやすいため、使用する時以外は開放しないようにしましょう。
基本的には7Days to Dieのポート(26900)以外は必要なポートのみ開放されている状態が好ましいです。
7 Days to Dieのマルチプレイに関するよくある質問
まとめ
今回は先日ついに正式版がリリースされた7 Days to Dieの専用サーバーをPCに立てる方法を紹介しました。
ポートの解放やサーバー設定ファイルの編集の部分が慣れていない方にとってはやや難しく感じるかもしれません。
どうしても難しい場合はレンタルサーバーを利用すれば、クリック操作のみでサーバーを立てることができるので検討してみましょう。