マルチサーバー構築について

Last-modified: 2022-11-15 (火) 08:14:10

このページは常時更新中です。旧Verの情報も含まれています。その点を理解してご利用ください。

はじめに

マルチプレイのホストとなるには
1.P2Pサーバー:クライアントの設定だけで遊べる代わりにホストのクライアントを終了させると他プレイヤーも強制ログアウトされる。
2.専用サーバー:専用のサーバーアプリケーションを走らせてホストのクライアントを終了させても他プレイヤーはログイン出来る。

ここでは後者の2.専用サーバーについて解説します。

サーバーの運営には知識や経験が必要になります。また、ゲームサーバーとはいえ踏み台にされ周囲に被害を及ぼし損害賠償責任を負わされる可能性もあります。よって

  • 自力で解決する事が出来ない人
  • OSやネットワークの最低限の知識をお持ちで無い人
  • 責任を取ることができない未成年

は、既存のマルチに入ってプレイされることをお勧めします。

LogMeIn Hamachi(いわゆるハマチ)の安易な使用は推奨されません。
HamachiはVPNを構築するソフトウェアであり、ポート開放に代わる手段ではありません。
VPNの特性を十分理解せずに使用すると、あなたの端末が危険に晒されます。あるいは接続者にも危険が及びます。

サーバー機の必要スペック

展開

クライアントが十分に動かせる能力があれば問題ないと思います。なおGPUは必要ありません。
また、ネットワークは十分な上り速度を持つ光回線なら問題ないと思います。
無線接続や、携帯電話回線は使用しないようにしましょう。光回線メーカーによりパソコンの最大接続数が[10]台に限定されている場合もあります

  • 実績
    運用方法バージョンCPUメモリストレージOS上り回線速度備考
    専用サーバー
    (単独)
    α12.5i5-2520M8GBSSD 250GBWin7約16Mbps最大3人程度なら問題なし
    専用サーバー
    (単独)
    α19.2i5-496016GBSSD 250GBWin10約30Mbps最大10人程度なら問題なし
    専用サーバー
    (クライアントと併用)
    α12.5G161016GBSSD 320GBWin8約16Mbps最大3人程度ならギリギリ
    VPS
    (Dedicated Server 64bit)
    α14系
    α15.2 b8
    仮想CPU:2コア4GB+4GB(Swap)SSD 60GBUbuntu 16.04
    (Linux)
    約300Mbps(国内専用線の場合)最大8人設定で運用、6人ほどで問題なし。定期的な再起動が必要。
  • 公式推奨スペック(Dedicated Server単独)
    • 32bit環境
      • CPU: 3.0Ghz Quad Core(SSE2対応)
      • メモリ: 6GB
      • ネットワーク: 最低でも上り3Mbps
      • ストレージ: 3GB以上の空き領域
    • 64bit環境
      • CPU: 3.0 Ghz Quad Core CPU(SSE3対応)
      • メモリ: 6GB
      • ネットワーク: 最低でも上り3Mbps
      • ストレージ: 3GB以上の空き領域

サーバーの立て方

展開

マルチサーバー構築には以下の方法があります。

  • クライアントとは別にサーバーソフトを起動し動かす方法(専用サーバー)
    • クライアントとサーバーソフトを同一のPCで起動する
    • クライアントとサーバーソフトを別PCで起動する
    • ゲームサーバーをレンタルして設定を行い、そこに接続する
  • ゲーム開始(再開)する時に「サーバー可視性」を「公開」または「友達のみ」にする等してゲームクライアントにサーバーを兼ねさせて動かす方法(P2Pサーバー)

P2Pサーバーの場合、サーバー構築者には相応のマシンスペックが要求されます。また、サーバー構築者がクラッシュやエラーによって強制終了してしまうと、プレイヤーデータはロールバックされてしまいます。
TFPは今後のバージョンにおいてクライアントがサーバーを兼ねる方式のサポートはしないとAlpha9の頃に発言した事があった為、サーバ専用のビルドを使うほうが望ましいでしょう。

Step.1ポート開放

展開

専用サーバーを建てる場合はまずはじめにポート開放をします。

手順は

  1. ポート開放するPCのIPアドレスを固定、確認します。
  2. ポート開放を行います。
    • その際に必要な情報が、「ポート開放するPCのIPアドレス」「解放するポート、プロトコル」
  3. ファイヤーウォールの設定が必要なら行います
  4. ポート開放をされているかの確認をします

IPアドレスの固定方法やポート開放の作業は環境によって手順が変わるので割愛しますが、リスクを理解せず開放したり、出所の定かでないツール等を実行することは大変危険なので気をつけましょう。


開放するポート

TCP26900(必須)
UDP26900-26903(公式では必須、開放しなくても動作する報告あり)

※上記はゲームポート設定が26900(デフォルト)の場合です。別途必要なら管理コンソールの8080、Telnetの8081も確認してください。普通必要ありません。
※専用ビルドとして24/7(Time&Weeks)24時間常設サーバーと表記・管理するならば、Telnet8081のネットワーク通信許可をチェックしてください。7DaystoDieネットワークサーバー間通信が必須・ゲームサーバー傘下としてサーバーIDが登録されます。MPゲーム一覧にある全てのサーバーにサーバーIDは連番登録されている

  • Ping豆知識:

    ポートを設定なしで同一量のデータ通信になります。UDPポートを設定すると、光やADSL回線によりゲーム内プレイヤー一覧のPing番号がばらつき、設備が高いプレイヤーが優先になります。低スペックは4桁、高スペックは2桁。または距離にもよります。300kmがPing100前後、国内なら2桁約45、アメリカなら3桁約148前後 通信混乱により増える場合あり。ホストプレイヤーのPing番号は0です
    ※26903は個人サーバーのインターネットブラウザ(IE/FOX/Chrome)からのサテライトマップ用としてMOD使用されている。レンタルサーバーで用意されるポートは3つ(TCP1つとUDP2つ)のみです


ポート開放参考サイト
WindowsのIPアドレス固定する方法一覧
気まま研究所 7Days To Die サーバーの建て方
使用しているルータがUPnPに対応している場合はこのようなオープンソースのツールもあります。
ポート開放の確認

7dtd Alpha12.5におけるサーバーの建て方 for Windows 7

Step.2 サーバー構築

展開

Step.2(1) 7 Days to die(以下7DTD)付属の起動batを使う方法

Windowsでのサーバー構築
Alpha11より既存のbatファイルでの起動が可能になってます。
 この方法は最もスタンダードで安全です。(ここでいう安全とは、問題があった場合公式が対応してくれる可能性があるということ。)

 まずサーバーの設定を行います。7DTDをダウンロードした場所を開いてください。steamならば以下の場所にあるでしょう。
 「C:\Program Files (x86)\Steam\SteamApps\common\7 Days To Die」

 このフォルダの中にserverconfig.xmlというファイルがあります。これをテキストエディタ等で開きます。
 開き終わったら、この中の各種項目を変更していきます。

 <property name="○○○" value="△△△"/>の△△△を変更します。

※Alpha18.4(b4)時点

展開

GENERAL SERVER SETTINGS
プロパティ名説明
ServerName文字列(全角は×)サーバーの名前です。(サーバー一覧のサーバー管理者の名前になります。)
ServerDescription文字列(全角は×)サーバーの説明文(触らなくてもいいです)
ServerWebsiteURL文字列(全角は×)サーバーのウェブサイトのURL(公開しないのなら触らなくてもいいです)
ServerPassword文字列(全角は×)サーバーにパスワードを設定します。
ServerLoginConfirmationText文字列サーバーにログインする前の確認メッセージを設定します(ローカルルール等)。
ServerPort数値(ポート番号)使用するポート番号を変更します。ここを変更した場合、開放するポート番号が変わります。
ServerVisibility[2]-1-0サーバーの公開設定をします(2:公開/1:友達のみ/0:非公開)。
ServerDisabledNetworkProtocols[SteamNetworking] or LiteNetLib遮断するネットワークシステムを設定します。サーバーに接続できない場合はこの設定を空欄にすることで解決する場合があります。
ServerMaxWorldTransferSpeedKiBs[512]クライアントに送信されるワールドの転送速度を設定します(最大1300KiB/s)。
ServerMaxPlayerCount数値(1-2-4-8-16-32-40-?)最大接続人数です。変更人数はゲーム内からサーバーを建てる場合の数値を参考にしました。上限は不明です。上げるほどメモリを食います。Alpha15現在23名の報告。借鯖最大40名
ServerReservedSlots[0]特権を割り当てられるプレイヤーの予約スロットを設定します(ServerMaxPlayerCountは含みません)。
ServerReservedSlotsPermission[0]ServerReservedSlotsの予約済みスロットを使用するためのアクセス許可レベルを設定します。
ServerAdminSlots[0]管理者専用予約スロットを設定します。
ServerAdminSlotsPermission[0]ServerAdminSlotsの予約済みスロットを使用するためのアクセス許可レベルを設定します。
ControlPanelEnabledtrue/falseサーバー管理者もしくはそれに付随する人物がコンソール等からワールドを制御するコマンドを使えるようにするかどうかの設定です。詳細は別ページに記述されていますのでそちらをどうぞ。
ControlPanelPort[8080]使用するポートです。デフォルトでいいでしょう。
ControlPanelPassword[CHANGEME]コントロールパネルのアクセスパスワードです。外部にサーバーを公開する場合は必ず変更してください。
TelnetEnabled[true]/falseTelnetを使用するかどうかです。デフォルトで問題ありません※Telnetを設定する必要があります詳しくはググって下さい
TelnetPort[8081]Telnetのポートを指定します。デフォルトで問題ありません
TelnetPassword文字列(全角は×)Telnetのパスワードを指定します。外部にサーバーを公開する場合は必ず変更してください。
TelnetFailedLoginLimit[10]Telnet接続失敗の許容回数を設定します(この回数に達したときTelnet接続をブロックします)。
TelnetFailedLoginsBlocktime[10]Telnet接続のブロック時間を設定します(秒単位)
TerminalWindowEnabled[true]/falseログ出力、コマンド入力用のターミナル画面の表示設定を行います(Windowsのみ)。
AdminFileName文字列(全角は×)サーバー管理者やモデレータなどの設定を行うファイルの名前を指定します。デフォルトで問題ありません
UserDataFolderパスユーザーデータを指定したパスに保存しますbr;デフォルトではコメントアウトされて、無効化してます
SaveGameFolderパスゲーム情報を指定したパスに保存します
デフォルトではコメントアウトされて、無効化してます
EACEnabledtrue/falseアンチチートツールを有効にするかを指定します。現状trueにしたほうが確実に良いです。海賊ゲームの排除を目的にしています。ちなみに、テストモードでWindowsを起動している場合EACが有効にできないためEACサーバーには入れない可能性があります。
HideCommandExecutionLog[0]-1-2-3コマンド実行時にその旨のログを表示するか設定します(0:すべて表示/1:Telnetまたはコントロールパネル上からの実行を非表示/2:1+ゲームクライアント上からのコマンド非表示/3:全て非表示)。
MaxUncoveredMapChunksPerPlayer[131072]各プレイヤーのチャンクの描画範囲を設定します。
PersistentPlayerProfilestrue/falsefalseなら、プレイヤープロフィールの変更が可能になります。公開サーバーならtrue。非公開ならfalseでいいと思います。
GAMEPLAY
プロパティ名説明
GameWorldNavezgane or Random Gen or East Rebege County or Juwei Mountains or Mavumu Mountains or North Kewote Mountains or Old Cunudi Valley or Pidatu County or Xihita Territory 18.0 PREGEN01 or PREGEN02 or PREGEN03どのようなマップを生成するかについての設定です。固定マップNavezgane。ランダム生成マップはRWG (Random Gen)です。
GameName文字列(全角は×)ワールドの名前です。(サーバーリスト一覧のTOPName、ゲームメニューのセーブデータの名前です。)
旧バージョンではランダム生成にしている場合これがseed値になります。なおここを変更すると新しいWorldができます。
GameModeGameModeSurvival
(旧バージョン:GameModeSurvivalMP or GameModeSurvivalSP)
ゲームモードです。基本的にデフォルト値で問題ありません(旧バージョンにおいて、SPからMPに変更された場合はSPに戻せません)。
WorldGenSeed文字列(全角は×)ランダム生成のシード値を設定します。
WorldGenSize2048-[4096]-8192-16384ランダム生成のワールドサイズを設定します(大きいほど生成時間、メモリを要します)。
GameDifficulty0-1-[2]-3-4--567ゲームの難易度です。数字が大きくなるほど難しくなります。5以上は上に変更後に再起動により上がる
BlockDamagePlayer数値([100])プレイヤーが与えるブロックダメージの倍率を設定します(%単位)。
BlockDamageAI数値([100])ゾンビや動物等が与えるブロックダメージの倍率を設定します(%単位)。
BlockDamageAIBM数値([100])ブラッドムーンホード中のブロックダメージの倍率を設定します(%単位)。
XPMultiplier数値([100])経験値の倍率を設定します。
PlayerSafeZoneLevel数値デフォルトはレベル4.レベルXXまで、プレイヤー30ブロック以内の野良ゾンビ(野生動物も含む)が生まれない。家の周辺・ホード(昼/夜/犬/7毎)は別として条件が合えばスポーンします。ビックリゾンビは除く
PlayerSafeZoneHours数値デフォルト3時間。プレイ時間がログインスタート後、連続YY時間までゾンビが生まれない。プレイヤーから前後左右15ブロック以内のエリア。上記PlayerSafeZoneLeveとは別。ビックリゾンビも含む(生存3日以内)。
BuildCreatetrue/[false]クリエイトモード(アイテムやブロックを無制限に出せる)にする設定です。基本的にfalseで問題ありません
DayNightLength数値(分) ?-[50]-?一日の長さです。MPは50分がデフォルトです。
DayLightLength数値(1=ゲーム内時間の1時間) ?-[18]-?太陽の出ている時間。すなわちデフォルト時のゾンビが走らない時間です。18がデフォルトです。
DropOnDeath[0]-1-2-3死亡したときのインベントリやベルト内アイテムについて指定します。
0:全てのアイテムをその場に落とす。1:ベルトのアイテムのみ落とす。2:バックパックのアイテムのみ落とす。3:全て消える。
DropOnQuit[0]-1-2-3サーバーから退出したときアイテムをどうするか指定します。
0:何もしない。1:全てのアイテムをその場で落とす。2:ベルト内アイテムのみ落とす。3:バックパック内アイテムのみ落とす。
BedrollDeadZoneSize[15]有効な寝袋付近の安全地帯の範囲を設定します(範囲内でゾンビがスポーンしなくなります)。
BedrollExpiryTime[45]寝袋の有効期間を設定します(日単位)。所有者が長期間活動しない場合ゾンビスポーン抑止の効果が発生しなくなります。
MaxSpawnedZombies数字(単位:%)そのワールドにおいて、ゾンビが最大何体同時に湧いていられるかを指定します。デフォルトは60(ホード時最大値60体)最大値は80(Horde最大90-120体)サーバーが重い場合はこれを少なくしましょう。
ゾンビ1体に消費されるメモリー(MB)が異なる。(ホード時最大限界値は100体の3回の300体/異常値、100以上はメモリーが16GB-64GBが必要)
MaxSpawnedAnimals数字(単位:%)そのワールドにおいて、動物が最大何頭同時に湧いていられるかを指定します。デフォルトは50
ServerMaxAllowedViewDistance6-[12]クライアントの最大描画距離を設定します(最大描画距離が長いほどパフォーマンスに影響を与えます)。
EnemySpawnMode[true]/false
(旧バージョン:0-1-2-[3]-4-5)
ゾンビのスポーンを設定します。
Alpha18.4現在true:出現する/false:出現しない
旧バージョン0 = Disabled 0%, 1 = Very Low 50%, 2 = Low 75%, 3 = Medium 100%, 4 = High 125%, 5 = Very High 150%
EnemyDifficulty[0]-1ゾンビの強さです。0:Normal 1:Feral 違いは壁越しに見えない/見える
ZombieMove[0]-1-2-3-4日中のゾンビの移動速度を設定します。
ZombieMoveNight0-1-2-[3]-4夜間のゾンビの移動速度を設定します。
ZombieFeralMove0-1-2-[3]-4フェラル化しているゾンビの移動速度を設定します。
ZombieBMMove0-1-2-[3]-4ブラッドムーンホード中のゾンビの移動速度を設定します。
BloodMoonFrequency数値([7])ブラッドムーンの発生間隔を設定します(日単位)。0にすると無効になります。
BloodMoonRange数値([0])ブラッドムーンの発生期間がBloodMoonFrequency±設定値前後でランダムになります。
BloodMoonWarning数値([8])ブラッドムーン発生日に日数の表示が赤くなる時刻を設定します(-1で無効になります)。
BloodMoonEnemyCount数値([8])ブラッドムーン時のゾンビの最大出現数を設定します。
LootAbundance数字(単位:%)探索物の豊富さです。小さいと物資が少なくなります。デフォルトは100
LootRespawnDays数字(単位:days)探索物の中身が再度補充される日数です。デフォルトは30
AirDropFrequency数字(単位:時間)補給品クレート空中投下する間隔です。デフォルトは168(7days)/72(3days)/120(5days)
AirDropMarkertrue/[false]空中投下された補給品クレートの落下地点のマーカーの有無。
PartySharedKillRange数値([100])マルチプレイヤー経験値の範囲を設定します(m単位)。
PlayerKillingMode0-1-2-[3]他のプレイヤーに攻撃が当たるかを設定します(0:キルなし/1:同盟のみキル/2:他人のみキル/3:全員キル)。
LandClaimCount数値([1])土地主張ブロックの有効数を設定します。
LandClaimSize数字(単位:ブロック)ブロック耐久値をあげる。赤い旗マークのブロック。PvPの拠点保護目的。
64・128・256においてはゾンビ攻撃にも有効、ただし期限切れや再設置しない場合はこの限りではない。デフォルトは7
LandClaimDeadZone数字(単位:ブロック)土地主張ブロックの範囲に新たに土地主張ブロックが置けない範囲
ブロック増設禁止範囲。デフォルトは30
LandClaimExpiryTime有効期限(単位:日)現実日数によってオフラインでも保護される効果時間。デフォルトは3
LandClaimDecayMode[0]-1-2土地主張ブロックの効果は最初の一日は100%ですが、以後有効期限まで減衰していきます。その減衰関数を指定します/ 0:線形減衰  1: 指数関数的減衰 2: 期限まで100%(劣化なし)
LandClaimOnlineDurabilityModifier1-2-[4]-8-16-32-64-128-256標準4倍 公式推奨32倍:オンラインでのブロックの硬さの倍率変動(1・2・4・8・16・32・64・128・256)
LandClaimOfflineDurabilityModifier1-2-[4]-8-16-32-64-128-256標準4倍 公式推奨32倍:プレイヤーがオフライン(常時運用Serverのみ)でのブロックの硬さの倍率変動(1・2・4・8・16・32・64・128・256)
LandClaimOfflineDelay数値([0])土地主張ブロックがオフラインになるまでの遅延時間を設定します(分単位)。
旧バージョン(Alpha18.4現在存在しない項目)
ServerIsPublictrue/falseConnectToServer画面のサーバー一覧に表示するかしないかを決定します。trueで表示します。
ZombiesRun[0]-1-2ゾンビの走る条件の設定です。
0:夜だけ走る(デフォルト)。1:走らない。2:常に走る。
FriendlyFiretrue/false他のプレイヤーへ攻撃があたるかあたらないかの設定です。Trueにすると他のプレイヤーを殺すことができます。falseは同盟(ALLIES)の+ または Applicant(申請)/ Approved(承認)した仲間プレイヤーにNoFriendlyFireの効果があります。
EnemySenseMemory数字(秒)ゾンビが何かを感じてから追跡する時間(秒)です。デフォルトは60(秒)です
BlockDurabilityModfier数字(単位:%)ブロックの硬さです。100%を基準として小さくすれば柔らかく、大きくすれば硬くなります。25%・50%・100%・150%・200% 0%のみ最下層の岩盤を破壊・取得可能なブロックに変化できます(チート対策:未確認)

 書き換えが終わったら上書き保存してください。(※アップデートで書き換えられる事がある為、別の場所にも別途保存してください
 次に、同フォルダに入っているStartDedicated.batファイルをダブルクリックして起動しましょう。

 初回起動時、「ファイルが見つかりません」と言うメッセージが出ますが、問題ありません
 (過去のログファイルが存在しない為のメッセージだと思われます、2回目以降は表示されません)
 「Server running in background, you can close this window.
  You can check the task manager if the server process is really running.」
 と表示されたら、何かボタンを押して画面を閉じます
 この後は、コントロールパネルやtelnetなど使い操作します

 サーバー一覧に表示されるようにしている場合は、一覧からサーバー名で検索して入りましょう。
 IPアドレスを直接指定して入る場合は、自分のワールドに入る際には必ず127.0.0.1サーバーを起動するPCのローカルアドレス(192.XXX.XXX.XXX)もしくはLANマーク(localhost)から自分のサーバーへ入りましょう。他の人にIPを教える場合は、グローバルIPを教えましょう。(DDNSサービスなどを使っている場合はそれでもOK)

  • 確認君+

    使い方

    • グローバルIPの参照
    • ゲームを終了するにはクライアントのゲームを終了することと、サーバー管理のゲームを終了するために、コントロールパネルを参照してください。ゲーム時間が1日に戻る方はブラウザからシャットダウンしていないために起こります

  • 難易度変更の注意点

    トリビア

    • GameDifficultyを変更すると、直後のホードゾンビの出現がおかしくなります。ホードは昼・夜・犬・7日毎・
      Navezgane東の村[昼]・東の村[夜]・東の村[7日毎]の7種類です。
      7日毎のフェラルホードが通常通りになるのはゲーム時間14日後になります
    • GameNameを変更することでDay1の新しいワールドをスタートできます

1台で複数のプロセス起動方法

展開

 serverconfig.xmlファイルをコピーして別名で保存します(説明の便利上、serverconfig2.xmlとします)
 serverconfig2.xmlの下記の項目を変えます(同じにすると問題が出ます)

GameNameGameNameを同に名前にした場合、同じデータを参照するので破損や不具合が出る可能性が高いです
どうしても、同じGameName(シード値)を利用したい場合は、SaveGameFolderを利用し、
別々の場所にデータを保存してください
ServerPortServerPortは、既に使っているポートと3は開けてください
例:26900を既に設定している場合は、26903以降を利用してください
ControlPanelPort
TelnetPort
ControlPanelPort・TelnetPortは項目が違うからと言って既に記載している値は使わないでください

startdedicated.batをメモ帳などで開き、下記の部分を探してください(一行で記載されてます)
 start 7daystodie -logfile 7DaysToDie_Data\output_log%LOGTIMESTAMP%.txt -quit -batchmode -nographics -configfile=serverconfig.xml -dedicated
 
上記部分をコピーし、次の行にペーストして、下記の二箇所を変更してください

-logfile 7DaysToDie_Data\output_log%LOGTIMESTAMP%.txt

-logfile 7DaysToDie_Data\output2_log%LOGTIMESTAMP%.txt
同じログファイルを作成するのを回避する為です
-configfile=serverconfig.xml

-configfile=serverconfig2.xml
設定ファイルを変えています

保存して終了です

startdedicated.batを起動すればプロセスが立ち上がります
3個5個と起動する場合は、この作業を繰り返してください
※複数プロセスを起動するにはそれなりのマシンスペックが必要になりますので、ご使用は計画的に
※初期ファイルの書き換えは、アップデート時に初期化されるために、書き換えた後の別途別の場所に保存してください

 

Step.2(2) 第三者が作成したサーバー管理ソフトを使う方法

※サーバーマネージャーは公式が制作したものではありません。導入は自己責任です。

展開

 ファンによって製作されたサーバー管理ソフトです。
公式ではないため、使用するには注意が必要です。問題が起こっても自己責任です。

フォーラムには様々なサーバーマネージャーがあります。簡易的なものから高機能まで数は揃っていますが、いかんせん英語版なので、ちょっと使いづらいってのが本音なところです。ですので、大抵の方は国産のマネージャーを使っていることでしょう。

そのマネージャーを使いつつ、MODやツールを用いることでバグによる補償や荒らし対策がしやすくなります。
基本的な用語を使いますが、その用語解説はしていませんので分からない時はご自身で調べてください。
もちろんこの方法以外にもいろんなやり方があるかと思います。いろいろと試行錯誤しましょう。

 

RAT 3

2022年 RAT3を公開。Alpha20.に対応。完全無料(寄付は歓迎)。
テレポートやプレイヤーの管理、イベント管理などが可能。ただしエリア管理などの機能は持たない。windows専用アプリでの動作。
https://www.jffgaming.com/resources/rat-3-7d2d-alpha-20-compatible.15/

CSMM

2020年10月現在更新中。Alpha19.2にも対応。無料だが、複数サーバーを管理したり、ユーザーの行動履歴を長く保存したい場合は有料ユーザーへの移行が必須。上記RATにエリア管理機能が加わり、ユーザーの移動履歴が追跡できる機能が加わっている。webベースでの動作。

BOTMAN

2020年10月現在更新中。Alpha19.2にも対応。有料管理ソフト。

Savannah Manager(国産)

展開

 上記のソフトウェアが当環境では動作しなかったので国産サーバーマネージャー作ることにしました。
 現在上記のソフトよりも機能は大幅に劣りますが、英語がわからなかったり、同じように動作しなかった場合などに
 お使いいただけるとありがたいです。
(Savannah 2 ver1.0.7.7b でAlpha14.7に対応しています)
 Savannah Manager
 ※サイト移転しましたのでリンク変更しておきました。
 テストは終了しましたが、機能案・改善点などを提供していだけると幸いです。

 

 皆様のおかげで徐々に発展できてきました。
 Steamコミュニティ作りましたので案や不具合、感想などがありましたらこちらにお願いします。
 Savannah Manager - SteamCommunity

 

 YoutubeでSavannah Managerを用いたサーバーの建て方を上げました。
 お役に立てるとうれしいです。
 7dtd Savannah Managerを用いたサーバーの建て方

 

 現在初期設定の際に、Steamのインストールディレクトリを取得するためにレジストリにアクセスしているためか、
 マルウェアとご検知される場合があります。
 レジストリにアクセスはしていますが、書き換えは一切行っておらず、マルウェア的使用は一切行っていないこと
 をこちらに明記させていただきます。
 私自身管理に用いているので、ご安心ください。
 ウイルス分析しました、こちらにて分析結果を載せていきます。
 http://kimamalab.azurewebsites.net/software/7dtdsvmanager.aspx#notice
 リプライくださった方、ありがとうございます。

更新停止されてるもの

Frontrunnerteks’ Server Manager(更新停止)

展開

 まずは、サーバー管理ソフト"7DaysServerManager"をダウンロードします。ダウンロードは以下からします。

 

7DSM(更新停止)

展開

Frontrunnerteks’ Server Managerほど多機能ではありませんが、Global Ban Listを使えることは、不特定多数の利用を想定しているサーバーでの運用においてメリットが大きかった。

Simple7DTDServer(国産:更新停止)

展開

※2017年1月4日のVer 0.5リリース以降保守されていないようなので、現状しっかりと更新されている「7dtd Savannah Manager」がお勧めです。

 

「高性能かつシンプルに」を目標に作ってきたサーバーマネージャがようやく公開できる形になってきたので公開します。
ダウンロードはGitHub Releasesから行えます。


GitHubにGPLv2ライセンス下でソースを公開しています。フォーク・プルリク等大歓迎です。
問題点やバグ・要望等ございましたらGitHub IssuesでTicketを開いて下さい。
ぜひフィードバックをください。よろしくお願いします。
動作には.Net Framework 4.0が必要です。


【機能リスト】
簡易Telnetクライアント
自動ログイン ←Configに記載されたパスワードを元にログインします。
コンフィグエディタ
ローカライズ
ポートの開放・閉鎖(UPmP機能が有効になっている必要があります。)
ゲーム本体の検索

 

Step.2(3) Linux系インストール方法

CentOS7(x86_64)

展開

※CentOS7を最小構成でインストールし、最新状況(yum update済み)でネットワークに問題なく繋がっている事が前提です。
https://7dtd.illy.bz/に記載されている物を編集して、一部足りない部分を書き足してます。
※ubuntu 14.04 の場合は事前準備を"apt-get install wget rsync gcc lib32stdc++6 netcat xmlstarlet"のコマンドに変更でOKです。(Alpha10 2014/12/23現在)

事前準備
 sudo yum -y install wget
 sudo yum -y install rsync
 sudo yum -y install gccコンパイルに必要です(make)
 sudo yum -y install libstdc++.i686Steamが必要とします(32bit版)
 sudo yum -y install nc
 yum -y install libxsltXMLStarletインストール時に必要とされます
  wget http://pkgs.repoforge.org/xmlstarlet/xmlstarlet-1.5.0-1.el6.rf.x86_64.rpm サイトが無くなる可能性があります。無い場合は他の場所よりxmlstarletのrpmを入手してください。
 rpm -ivh xmlstarlet-1.5.0-1.el6.rf.x86_64.rpm
sudo yum install epel-releasexmlstarlet用リポジトリ情報追加(https://7dtd.illy.bz/wiki/Prerequisitesからの転記)
sudo yum install xmlstarlet


本体のインストール
 sudo useradd -d /home/sdtd -m -r -s /bin/bash -U sdtd起動用ユーザーを追加
 wget http://illy.bz/fi/7dtd/management_scripts.tar.gz
 sudo tar --touch -xvzf management_scripts.tar.gz -C /ルート直下に解凍します
※/etc/init.dが上書き破壊される可能性がある為、/etc/ini.dのバックアップをお勧めします
 vi /etc/7dtd.conf下記の項目にSTEAMのユーザー名とパスワードを入力してください
export STEAM_USER=
export STEAM_PASS=
※現在、存在しないようです(2016/04/25)
例 ユーザー名「7days」 パスワード「todie」
export STEAM_USER=7days
export STEAM_PASS=todie
 cd /usr/local/lib/7dtd/start-stop-daemon
 make
 sudo make install
 sudo chown root.root /etc/7dtd.confオーナーの変更
 sudo chmod 0600 /etc/7dtd.confアクセス権の変更
 sudo chown sdtd:sdtd /home/sdtd -R配下のオーナーを変更
 sudo chown root:root /etc/init.d/7dtd.shオーナーを変更
 sudo chown root:root /etc/bash_completion.d/7dtd
 sudo chown root:root /usr/local/bin/7dtd.sh
 sudo chown root:root /usr/local/lib/7dtd -R配下のオーナーを変更
 sudo chmod 0755 /etc/init.d/7dtd.shアクセス権の変更
 sudo chmod 0755 /etc/bash_completion.d/7dtd
 sudo chmod 0755 /usr/local/bin/7dtd.sh
 sudo chmod 0755 /usr/local/lib/7dtd -R配下のアクセス権変更
 sudo /usr/local/bin/7dtd.sh updateengine初回起動時にSteam Guard codeを要求されます。
「Steam Guard code:」と表示されたら、
Steamユーザーに登録したe-mailにメールが来ているので、
そのコードを入力してください。
※現在、Steam Guard codeが要求されないようです(2016/04/25)


起動設定
 7dtd.sh instances createインスタンスの作成
/home/sdtd/instances/に同名のフォルダが作成され、MAPデータ・ログなども以下に保存されます。

 以降設定項目が表示されますので環境に合わせて設定してください
 設定値はStep.2(1)に記載されているのとほぼ同じです。
 「true・false」は「y・n」でも設定可能です。

Instance name識別できる一意の名前です。この名前で起動したり停止したりします。
インスタンスは複数登録する事が可能です
Server nameサーバーの名前です。サーバーリストに表示されます
Server passwordサーバーアクセス時に必要なパスワードです。なしも可能です
Public server [true]サーバーをサーバーリストに表示するかです。
Base Port (1024-65533) [25000]指定したポートから3個利用します
25000~25002
Max players (1-64) [4]
Server description
Server website URL
Disable NAT [true]
Enable EasyAntiCheat [true]
Maximum number of concurrent zombies [60]
Enable control panel [false]:
Control panel port (1024-65535) [8080]
Control panel password
Telnet port (1024-65535) [8081]
Telnet password
Random gen seedゲームのシード値です。ランダムMAPはこの数値で生成ロジックが変ります
ユーザーがアクセス時に画面上に一瞬表示されます。
World name, options
Select option (1-5) [1]
1: Random Gen
2: Navezgane
3: MP Wasteland Horde
4: MP Wasteland Skirmish
5: MP Wasteland War
Game mode, options
Select option (1-2) [1]
1: GameModeSurvivalMP
2: GameModeSurvivalSP
Friendly fire [false]PCを攻撃できるかどうか
Item spawn menu [false]アイテムを自由に取り出せるようにするか
Block durability (%) [100]ブロックの強度
Drop on Death, options
Select option (0-3) [0]
0: Everything
1: Toolbelt only
2: Backpack only
3: Delete all
Drop on Quit, options:
Select option (0-3) [1]
0: Nothing
1: Everything
2: Toolbelt only
3: Backpack only
Loot abundance (%) [100]
Loot respawn delay (days) [7]物資の再配置日数
-1: 再配置しない
0: 回収後直ぐに再配置
Airdrop delay (hours) [72]
Craft speed, options
Select option (0-2) [1]
0: Instant
1: Normal
2: Double
Loot open speed, options
Select option (0-2) [1]
0: Instant
1: Normal
2: Double
Length of one day [40]
Night percentage (10-90) [35]
Difficulty (+ damage given / received), options
Select option (0-5) [2]
0: Scavenger (200% / 50%)
1: Adventurer (150% / 75%)
2: Nomad (100% / 100%)
3: Warrior (75% / 150%)
4: Survivalist (50% / 200%)
5: Insane (25% / 250%)
Zombies run, options
Select option (0-2) [0]
0: Default day/night walk/run
1: Never run
2: Always run
Sense memory (seconds) [60]
Spawn mode, options
Select option (0-5) [3]
0: Disabled
1: 50%
2: 75%
3: 100%
4: 125%
5: 150%
Enemy difficulty, options
Select option (0-1) [0]
0: Normal
1: Feral
Land claim size [7]
Minimum keystone distance [30]
Claim expiry time (days) [3]
Claim decay mode, options:
Select option (0-2) [0]
0: Linear
1: Exponential
2: Full protection
Claim durability modifier - online [4]
Claim durability modifier - offline [4]


起動
7dtd.sh start <instancename>Instanceは上記の設定の「Instance name」を入力します。&br「Done」と表示されれば成功です
「Done」と表示されなければ、サポートに問い合わせてください


終了
7dtd.sh kill <instancename>
コントロールパネルにアクセスして「shutdown」ボタンを押す
telnetで接続して「shutdown」コマンドを入力してください。※telnetですが、改行コードに注意してください「cr」では認識してくれません「cr+lf」「lf」にしてください


バージョンアップ
7dtd.sh updateengine
7dtd.sh updatescripts
プログラムを最新版に更新します
起動スクリプトを最新版に更新します

7DTDサーバプログラムの動作ログをリアルタイムで表示する方法

Windows PowerShellを使って7DTDの動作ログをリアルタイムで表示する方法を紹介します。
Linuxで言うTailコマンドにあたるものを使います。

展開

Windowsの初期設定だとPowerShellスクリプトの実行は出来ないようになっているので、予め許可しておく必要があります。
この設定変更はセキュリティに関わる部分なのでその点は注意してください。

この方法は非常に軽快且つ安定で、サーバプログラムが生成するログファイルを読み取っているだけなのでサーバ動作への影響もほとんど無いと思います。
ログファイルを読んでいるだけなのでWebコントロールパネルの様にコマンドを送ったりは出来ませんが、サーバシャットダウン前後のログを最後までしっかり表示してくれます。(Webコンパネだとシャットダウン処理の途中で表示が止まる)

デフォルトの7DTDサーバプログラムはタスクマネージャでしか実行してる事が確認できないので、うっかりサーバ起動したままPCを落としてしまう事への防止策にもいいんじゃないでしょうか。

蛇足:スクリプトの中身はたった1行なので、ちょっと変えればスクリプトファイルが不要で、もしかしたらスクリプト実行許可も要らないかもしれません

以下の手順で、サーバを起動(startdedicated.batを実行)した時に自動でPowerShellのログウィンドウが表示されるようになります。

PowerShellのスクリプト実行設定を確認、変更する

展開

  1. 管理者権限でPowerShell(x86)を起動する
    スタートメニューの検索欄に「power」とか入れれば候補に出てくるので右クリックから管理者権限を選ぶ
  2. 出てきた青いウィンドウで以下のコマンドを順番に実行する
    Get-ExecutionPolicy
    Set-ExecutionPolicy Unrestricted
    Y
  3. PowerShellウィンドウをXボタンとかで閉じる

スクリプトファイルをメモ帳とかで作る

展開

  1. メモ帳を起動して以下の内容を入力する
    Get-Content -Path "$Args" -Tail 100 -Wait
  2. 7dtdslog.ps1ってファイルでサーババッチファイルと同じフォルダに保存
    (デフォルトだと多分 C:\Program Files (x86)\Steam\steamapps\common\7 Days To Die)
  3. 保存したらメモ帳を閉じる

スクリプト実行コマンドをサーババッチファイルに組み込む

展開

  1. 同フォルダ内のstartdedicated.batをメモ帳で開く
  2. start 7daystodieで始まる行を探す
  3. そのすぐ下に以下の内容の行を追加する
    start powershell "%~dp0\7dtdslog.ps1" '%~dp0\7DaysToDie_Data\output_log%LOGTIMESTAMP%.txt'

※Alpha16.1までは以下の内容になります
start powershell "%~dp0\7dtdslog.ps1" '%~dp0\sdtd.log'

  1. 上書き保存する

以上

これで設定は完了です。

PowerShellのログウィンドウはいつでもXボタンとかCtrl+Cでの処理中断で閉じていいです。

マルチサーバにてプレイヤーの座標や所持品を追跡する方法

MODを用意する

サーバを管理する上で入れておきたいMODです。
次項ではこのMODで追加されるコンソールコマンドを使います。

Telnetで接続する

サーバマネージャーはTelnetで接続してログを取得していると思いますが、今回の方法もマネージャーとは別にTelnetに接続してログの取得を行います。この接続にWindows標準のTelnetクライアントを使用しても良いのですが、今後いろいろとやっていこうと思うと文字コードの壁にあたり、したいこともできなくて諦めてしまうことになるので、他のツールの使用をおすすめします。筆者は、TeraTarmを使用していますので、これを使って説明します。

  • TeraTarmを用意しましょう。オープンソース・ソフトウェアです。言語ファイルの翻訳もあるので、一緒に用意してインストールを済ませます。

TeraTarmを設定する

TeraTarmの端末設定画面

  • はじめに改行コードの受信と送信、漢字の受信と送信を下の画像の通りに設定します。端末サイズは、このままで特に問題ないですが、ログの折り返しが嫌な方は桁数の80を増やすと良いでしょう。


繰り返しコマンド

  • 接続しているプレイヤーの座標を取得します。listplayers(lp)を使い、60秒間隔でコマンドを発行するようにします。
    有効にチェックを入れます。


その他の設定

  • ログを保存します。ログファイル名は重複しないように日付と時間とホスト名でファイルが作成されるようにします。
    (書式例)%Y%m%d_%H%M%S_&h.log
    保存先はセーブデータをバックアップするフォルダを用意して、そこにLogsフォルダを作成して保存するようにするのが分かりやすいでしょう。
    自動的にログ採取を開始するにチェックを入れます。


設定の保存

  • 次に設定した内容を保存します。OKボタンを押したら次の起動も同設定で起動してくれるものと思いがちですが、手動で保存しないとアプリケーションを閉じれば設定は破棄されて、次回の起動は変更前の設定となります。

マクロの作成

  • あくまでも一例です。コードの説明に関しては主要な部分以外は省略して進めます。(バグが潜在している可能性もあります、使用時は自己責任でお願いします)
    このマクロは、TeraTarm起動時に自動でサーバに接続し、プレイヤーの所持品情報を取得し、不測の事態で切断された場合でも再接続を可能としています。またサーバの負荷解消のための再起動時に、接続する全プレイヤーに向けてメッセージを送信する機能もついており、決められた時間にシャットダウンしてくれます。
    再稼働はWindowsタスクマネージャを使用します。


    既知の問題として、プレイヤーの所持品情報の取得が再起動時毎にしているため、再起動から再起動までに新しくログインしたプレイヤーの情報は次の再起動を待たなければ所持品情報の取得が行われません。これに関しては、Winodwsのタスクスケジューラとマクロを少々改変して頂ければ対応可能ですが、今回は説明しません。


    ■■■■には、サーバアドレスを記載します。自宅サーバであればlocalhost、レンタルサーバであればIPアドレスを記載します。DNSサービスを受けているのであればDNS名でも良いと思います。
    △△△△には、ポート番号を記載します。serverconfig.xmlのTelnetPortプロパティに記載した数字4文字です。
    ●●●●には、Telnetに接続するパスワードです。serverconfig.xmlのTelnetPasswordプロパティに記載した文字列です。


    25行目のstrdim idary 16では、最近接続したプレイヤー上位16人分の情報を取得するための配列を指定しています。もし同時接続を30人とかにしている場合は、この数字を増やした方がよいでしょう。また参加数(同時接続数ではない)が大幅に多い場合も数字を増やしたほうが良いと思います。数字を増やした場合は、31行目のfor i 0 15の15を増やした数-1の値にします。
    28行目のfileopen fhandle 'D:\BackupFolders\steamid.dat' 0 1については後述。
    73行目のif SEVERTIME > 500 thenでは所持品情報を取得するコマンドの発行をおよそ5分毎に指定しています。
    88行目の if val3 != val4 && val4 = 6 thenと93行目のelseif val3 < 17 && val4 = 18 thenでは、6時と18時に再起動の条件を指定しています。6時18時ではなく0時12時であれば、6を0に、17を11に18を12にすればよいと思います。
    107~113行では、showinventory(si)でプレイヤーの所持品を取得するサブルーチンです。
    116~130行では、シャットダウンの60秒前と30秒前にサーバ内のプレイヤーに向けてメッセージを送信するサブルーチンです。
    133~148行では、切断された場合の再接続のサブルーチンです。

    ; 7DaysManabiYa of 7 Days to Die
    ;
    ; File: 7DaysManabiYa_lp.ttl
    ; Update: 2017/3/10
HOSTADDR = '■■■■:△△△△'
USERNAME = ''
PASSWORD = '●●●●'
;=============================================
COMMAND = HOSTADDR
strconcat COMMAND ' /nossh /T=1'
;; ③サーバへ接続
connect COMMAND
;; ④ログイン情報応答(ユーザ名・パスワード)
wait 'Please enter password:'
sendln PASSWORD
SEVERTIME1 = ''
sw = 0
strdim idary 16
;; SteamIDを取得
fileopen fhandle 'D:\BackupFolders\steamid.dat' 0 1
if fhandle != -1 then
	for i 0 15
		filereadln fhandle idttp
		if result = 1 then
			cnt = i - 1
			break
		endif
		cnt = i
		strcopy idttp 1 17 idary[i]
	next
	fileclose fhandle
	sw = 1
endif
gettime STARTTIME "%H"
str2int val3 STARTTIME
if sw = 1 then
	getdate datestr1 "%Y%m%d"
	gettime timestr1 "%H%M%S"
	strconcat SEVERTIME1 datestr1
	strconcat SEVERTIME1 timestr1
	call Sub_si
endif
do
	if sw = 1 then
		SEVERTIME2 = ''
		getdate datestr2 "%Y%m%d"
		gettime timestr2 "%H%M%S"
		strconcat SEVERTIME2 datestr2
		strconcat SEVERTIME2 timestr2
		str2int val1 SEVERTIME1
		str2int val2 SEVERTIME2
		SEVERTIME = val2 - val1
		if SEVERTIME > 500 then
			call Sub_si
			SEVERTIME1 = SEVERTIME2
		endif
	endif
	pause 60
	gettime NOWTIME "%H"
	str2int val4 NOWTIME
	call Sub_link
;; 稼働開始と現在が等しくなく且つ6時の場合
	if val3 != val4 && val4 = 6 then
;;		call Sub_link
		call Sub_sd
		break
;; 稼働開始が17時以前で現在が18時の場合
	elseif val3 < 17 && val4 = 18 then
;;		call Sub_link
		call Sub_sd
		break
	endif
loop
sendln 'exit'
;; ⑤マクロ終了
end
;; siコマンドを送信
:Sub_si
	for i 0 cnt
		COMMAND = 'si '
		strconcat COMMAND idary[i]
		sendln COMMAND
	next
return
;; shutdownコマンドを送信
:Sub_sd
	COMMAND = 'say 60秒後にサーバをシャットダウンします。速やかにログアウトしてください。'
	sendln COMMAND
	sendln
	pause 30
	COMMAND = 'say 30秒後にサーバをシャットダウンします。速やかにログアウトしてください。'
	sendln COMMAND
	sendln
	pause 30
	COMMAND = 'say シャットダウンします。サーバの稼働時間はコミュニティをご覧ください。'
	sendln COMMAND
	sendln
	pause 10
	sendln 'shutdown'
return
;; リンクの確認及び再接続
:Sub_link
	testlink
	if result != 2 then
		COMMAND = HOSTADDR
		strconcat COMMAND ' /nossh /T=1'
		;; ③サーバへ接続
		connect COMMAND
		;; ④ログイン情報応答(ユーザ名・パスワード)
		wait 'Please enter password:'
		sendln PASSWORD
	endif
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

プレイヤーのSteamIDを取得

  • 28行目のfileopen fhandle 'D:\BackupFolders\steamid.dat' 0 1で、プレイヤーのSteamIDをマクロに取り込んでいるのですが、このマクロが開始される前に別の方法でSteamIDを取得してsteamid.datに書き出しています。


    バッチファイルを作成します。以下のように記述します。


    ■■■■には、セーブデータの保存先を変更していなければユーザ名が入ります。
    △△△△には、ランダムマップのワールド名が入ります。


    何をしているかというとサーバのセーブデータには、プレイヤー情報も保存されます。その情報はSteamIDで個別管理されているので、SteamIDのリストを先ほどのsteamid.datに書き出しているわけです。
    4行目では、VBスクリプトの呼び出しを行っています。これはサーバマネージャーとTeraTarmを自動で起動するためのスクリプトが記述されています。(後述)

    cd /D %~dp0
    dir "C:\Users\■■■■\AppData\Roaming\7DaysToDie\Saves\Random Gen\△△△△\
    Player\*.ttp" /B /O:-d > D:\BackupFolders\steamid.dat
    cscript D:\BackupFolders\7dtd_so.vbs
    exit /B

VBスクリプトの作成

  • ここではサーバ用のバッチファイルを起動した後、60秒後にサーバマネージャーを起動させています。
    念のためショートカットキーでサーバ起動とTelnetの接続を試みています。
    その後、TeraTarmを起動させ不要になったコマンドウィンドウを閉じてスクリプトを終了させています。
  • 注意して頂きたいのは、このスクリプトはあくまでの筆者が利用しているサーバマネージャー用に書いたものです。
    またWindowsにありがちなのが、OSのアップデートでスクリプトが正常に動作しないこともよくあることです。
    ですので、ほんの一例のつもりで参考程度にしてください。Javaスクリプトで書くのも良いと思います。
    set WshShell = WScript.CreateObject("WScript.Shell")
    WScript.Sleep 3000
    WshShell.Run("""D:\Program Files (x86)\Steam\steamapps\
    common\7 Days to Die Dedicated Server\startdedicated""")
    WScript.Sleep 60000
    WshShell.SendKeys "~"
    WScript.Sleep 3000
    WshShell.Run("""D:\Program Tools\SavannahManager2\SavannahManager2.exe""")
    WScript.Sleep 3000
    WshShell.SendKeys "^S"
    WScript.Sleep 5000
    WshShell.SendKeys "^t"
    WScript.Sleep 5000
    WshShell.Run("""D:\BackupFolders\Tera Term""")
    WScript.Sleep 3000
    WshShell.AppActivate "Savannah Manager"
    WScript.Sleep 3000
    WshShell.AppActivate "7dtd"
    WScript.Sleep 3000
    WshShell.SendKeys "exit~"
    WScript.Sleep 3000
    WScript.Quit

TeraTarmのショートカットの作成

  • TeraTarmのショートカットを作成し、プロパティのリンク先に作成したマクロのファイルを指定します。
    (一例)"D:\Program Files (x86)\teraterm\ttermpro.exe" "/M=7DaysManabiYa_si.ttl"

Windowsのタスクスケジューラの設定

  • タスクスケジューラで、タスクを作成しトリガーでサーバの起動時間を決め、前述のバッチファイルをプログラム開始に割り当てます。またもう1つタスクを作成して再起動のバッチファイルをご自身で用意してスケジュール登録しておくのも忘れないでおきましょう。
  • 再起動からサーバの開始までマシンスペックにもよりますが5分ほどは時間を空けておくのが望ましいと思います。

最後に

  • かなり要点だけに絞って解説しました。フォルダ名をご自身の環境に合わせたり、説明のないところはご自身でファイルを用意しなくてはいけなかったりと、わかりにくいところが散見すると思います。
    しかしながら、そういった当たり前のこと基本的なことを分からずしてサーバ管理者になるのは到底危険であるというのも理解して頂きたいと思います。
    この説明がこれから、そして既にサーバ管理者として運営され困っている方の一助になれば幸いです。
     
     

不具合がおきやすい

・マイクロソフトパッケージをインストールしてテスター開発環境にしてみる
◆Microsofut .NET Framework 4.7.2 Targeting Pack

■Microsofut Visual C++ 2005 Redistributable-x64

■Microsofut Visual C++ 2008 Redistributable - x64

〇Microsofut Visual C++ 2010 x64 Redistributable

〇Microsofut Visual C++ 2010 x86 Redistributable

▲Microsofut Visual C++ 2012 Redistributable(x64)
▼Microsofut Visual C++ 2012 Redistributable(x86)

☆Microsofut Visual C++ 2013 Redistributable(x64)
☆Microsofut Visual C++ 2013 Redistributable(x86)

→Microsofut Visual C++ 2015-2019 Redistributable(x64)
⇒Microsofut Visual C++ 2015-2019 Redistributable(x86)

コメント

質問時には"状況を詳しく"書きましょう!サーバースペックや運用方法(サーバー単体orサーバー&クライアント一体)
などを記載すると回答する側が状況把握しやすいです。
質問する方へ!質問に対して返事が来たら結果報告をして下さい.同様のトラブルで困っている方々が
その流れを見て自己解決できます.

  • α20.4 から startdedicated.bat で鯖立てると一覧に表示するけど「サーバIDが取得できませんでした」って言って入れない原因わかる人いますか? -- 2022-05-17 (火) 21:17:31
    • ServerDisabledNetworkProtocols [SteamNetworking] or LiteNetLib 遮断するネットワークシステムを設定します。サーバーに接続できない場合はこの設定を空欄にすることで解決する場合があります。 -- 2022-06-10 (金) 12:26:13
  • バージョン、α20.5です。 フレとmodありのマップでプレイしたいと思って、サーバーを自分のPCで建てようと試み、ポート開放や必要な事を諸々調べながらやっとこさ出来たと思ったら不具合がいろいろ出てきました。まず、自身のサーバーが検索に引っかからない。フレがIP検索でインしようとしても「自由スロットが~」というメッセージが出てきて、イン出来ない等、不具合が重なっています。どなたか解決方法の分かる方いらっしゃいますか? 長文の質問になって申し訳ないです。 -- 2022-05-26 (木) 13:50:42
  • ここ2ヶ月前からフレンドとマルチプレイをするとpingが10000や20などとても不安定になるようになってしまいました。私がホストをしてもフレンドがしても一緒です。なにか改善策みたいなのがわかる方いらっしゃいますか?プロバイダはニューロですがプロバイダの問題なのでしょうか? -- 2022-09-17 (土) 21:52:51
    • その2ヶ月前に回線工事をしてNUROになったのならその可能性が高いけれど、ping不安定はルータがパケット遮断してる可能性のほうも疑ってみると良いかもしれない。OSのファイアウォールが原因だったっていうオチも見てきたし、プロバイダ側で特定のヘッダが含まれてたらアウト判定受ける可能性もある。 -- 2022-09-17 (土) 22:22:18
      • お返事ありがとうございます。2ヶ月前にルーターを交換したのが一番の原因かもしれません。それと昼間や朝方は平気で夜の9~から12時代になるとこの減少が起きます。ルータのパケット遮断とは一体どのようなものでしょうか?パケット遮断と検索したらパケットフィルタリングとでてきましたが、ルータの設定でどうにかなるものでしょうか? -- 2022-09-18 (日) 23:07:19
      • ああ、常時ではなく時間帯に関係してるならもうどうしようもないはず。その時間帯にみんなが一斉接続するから混雑→渋滞してパケット遅延が起こってるんじゃないかな。加えて「なかなか返ってこないポートは自動的に閉じる」フィルタ機能がどこかしらで動いていたら、思っている以上にpingが爆上がりすると思う。これはルータをいじれば良いんだけど、自分のところで対策可能なものと向こうの管轄で標準導入されてるものとがあるからあんまり期待できないかもしれない。インターネットはルータの集合体だからねぇ。
        IPv6でつながれば、v4より絶対数が少ないから混雑を回避できるんだけど、7DTDはv6対応してるんだっけか…対策としては「その時間帯を回避する」程度しか思いつかないや。申し訳ない。 -- 2022-09-19 (月) 04:37:49
    • 斜め向こうから質問です。「パソコンとは有線ケーブル(カテゴリ6)で繋いでますよね?」 まぁ『特定の時間帯』ならプロバイダを替えるしかないと思います。 ~最低契約期間が問題ですね。 -- 2022-09-19 (月) 11:19:00
      • さらに横から失礼。主は「不安定になるように」なったって言ってたのでそれなりに経験がある人だと解釈。これまでずっとラグなくマルチできてたんじゃないかな、という憶測。万が一有線じゃない場合も考えたけど、それだとping値20ミリ秒は速すぎるんよね。カテ6じゃなくても5e以上なら距離にして100mまでだったら問題ないからあまり気にしてない。ただ10秒ラグはやっぱりツラいと思うんだ。
        逆に無線だったとしたら…何使ってるのか知りたいな。 -- 2022-09-19 (月) 12:42:48
      • 沢山のコメントありがとうございます。有線でカテゴリ6で接続しております。やはり時間帯ですかありがとうございます。 -- 2022-09-20 (火) 03:11:24
  • Conoha4Gで25体設定のフォードを3人で対処しているとラグが多く発生するのですがこれは単純なスペック不足でよろしいでしょうか。スペック上げてラグが解決できるのであればスペック向上を考えていますが -- 2022-09-22 (木) 18:56:04
    • Conoha4Gの4Gってメモリの事かな?だとしたら少なすぎ。サーバープログラムだけで4G以上使うよ -- 2022-09-29 (木) 17:13:30
  • 友人と遊ぶためにconoha vps -- 2022-10-02 (日) 22:39:51
  • すいません間違えて送信してしまいました。conoha vpsのレンタルサーバーを契約したのですが遊びたいmodがa20.4なのでサーバーをダウングレードしたいのですが調べてみてもやり方がわかりませんでした。ご存じの方教えていただけないでしょうか? -- 2022-10-02 (日) 22:43:13
    • 解決しました -- 2022-10-03 (月) 00:29:33
  • Conohaサーバーでマルチをしようとしているのですが、キャラクターの初期スポーン地点を指定する方法はありませんでしょうか?
    もしくは初期地点を設定しているファイルの場所を教えていただけると助かります。 -- 2022-10-03 (月) 18:20:52
    • マップデータが有る場所は分かりますか? そこにスポーン地点を制御するファイルが有ります。spawnpoints.xml コノハサーバーならopt/7dtd/7dtd_server/Data/Worlds/マップ名/spawnpoints.xml -- 2022-10-03 (月) 18:30:14
      • ご連絡遅くなりました...
        ご指摘の通りspawnpoints.xmlを確認でき、初期スポーン地点の指定もできました!ありがとうございます!
        参考までに可能であればお答えいただきたいのですが、当ファイルには<spawnpoint position="x, y, z" rotation="x, y, z"/>タグが複数行にわたり書かれていました。
        1.何故複数行あるのでしょうか?
        2.rotationの要素は何を指定している値でしょうか?
        お手数ですがお答えいただけると幸いです。 -- 2022-10-05 (水) 01:59:46
      • (1)変更する前の「初期沸き座標」は4~5箇所、設定されているので、複数行なのかと。(2)要素は「湧く高さ」「湧く向き」と思いますが調べてないです。 -- 2022-10-05 (水) 11:47:04
      • 了解しました!ありがとうございました! -- 2022-10-06 (木) 22:32:19
  • コントロールパネルがしょっちゅうログアウトするのですがこれって原因でしょうか。発生している方はいらっしゃいますでしょうか。勝手にログアウトする時間はまちまちでログインした直後にログアウトされることもあります。 -- 2022-10-15 (土) 21:42:49
    • デフォルトのコントロールパネル(ポート8080)のことであれば、仕様と言っていいくらいずっとそんな感じです。全く使えないので、CSMMとかで代替したほうがいいですよ。 -- 2022-10-16 (日) 10:29:03
      • ありがとうございます。CSMMの導入考えてみます。 -- 2022-10-17 (月) 05:22:39
  • conohaサーバーで友人とやるのですが1日の時間の伸ばし方はどうすればいいでしょうか? -- ? 2022-10-28 (金) 20:32:45
    • serverconfig.xml の中の <property name="DayNightLength" value="60" /> の60を変えて、サーバー再起動させたらかわるはず。 ただ 英語を 1文字でも間違えたら サーバーは立ち上がらないから。 -- 2022-10-28 (金) 21:33:53
  • Conohaにて、DFを構築したいのですが、デフォルト設定である「opt/7dtd/7dtd_server」配下にDFのModsを入れて起動しても、なかなか起動しません(serverconfig設定済み)。ConohaでDFを構築する方法知っている方いたら教えてください。。。 -- 2022-11-14 (月) 22:50:18
    • たぶん設定はしてると思いますが、所有権やパーミッションは変更してますよね?  (それぞれの値は1000と777) -- 2022-11-15 (火) 08:14:08