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

Last-modified: 2020-08-05 (水) 19:14:09

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

はじめに

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

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

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

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

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

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

  • 実績
    運用方法バージョンCPUメモリストレージOS上り回線速度備考
    専用サーバー
    (単独)
    α12.5i5-2520M8GBSSD 250GBWin7約16Mbps最大3人程度なら問題なし
    専用サーバー
    (クライアントと併用)
    α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で起動する
    • ゲームサーバーをレンタルして設定を行い、そこに接続する
  • ゲーム開始(再開)する時に「サーバー可視性」を「公開」にしてクライアントとサーバーを一体として動かす方法

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

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 a12.5におけるサーバーの建て方 for Windows 7

Step.2 サーバー構築

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

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

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

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

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

※α18.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-?)最大接続人数です。変更人数はゲーム内からサーバーを建てる場合の数値を参考にしました。上限は不明です。上げるほどメモリを食います。α15現在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(Horde最大値60匹)最大値は80(Horde最大90-120匹)サーバーが重い場合はこれを少なくしましょう。
ゾンビ1体に消費されるメモリー(MB)が異なる。(Horde最大限界値は100匹の3回の300匹/異常値、100以上はメモリーが16GB-64GBが必要)
MaxSpawnedAnimals数字(単位:%)そのワールドにおいて、動物が最大何体同時に湧いていられるかを指定します。デフォルトは50
ServerMaxAllowedViewDistance6-[12]クライアントの最大描画距離を設定します(最大描画距離が長いほどパフォーマンスに影響を与えます)。
EnemySpawnMode[true]/false
(旧バージョン:0-1-2-[3]-4-5)
ゾンビのスポーンを設定します。
α18.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数字(単位:ブロック)LandClaimBlockの範囲に新たにClaimBlockが置けない範囲
ブロック増設禁止範囲。デフォルトは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])土地主張ブロックがオフラインになるまでのディレイを設定します(分単位)。
旧バージョン(α18.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) 第三者が作成したサーバー管理ソフトを使う方法

(α10のままです)
 これはアルファテスターによるファンによって製作されたマネージャーです。公式ではないため、使用するには注意が必要です。問題が起こっても自己責任でお願いします。また、この場に掲載するのに何か不都合がありましたら、削除の上、一言削除した旨をお願いします。

  • 外国産サーバーマネージャー導入のメリットは、何と言っても多機能。サーバー管理に必要な物が多く利用できます。
    デメリットは日本語非対応なので、導入から運用まで英語が出来なければ時間が掛かる。報告・要望なども英語での
    やりとりになるので、不具合発生時に大きな不安が残る。
  • 国産サーバーマネージャー導入のメリットは、日本語対応で理解しやすい。不具合報告や機能追加の要望など
    開発者とのやりとりが容易!デメリットは機能面で外国産に大きく劣り、テスト段階なので最低限の機能しか
    保持していない。しかし、付属の『ConfigEditor』はサーバー管理初心者に優しい設計になっていて使い勝手が
    良い、今後の発展に期待!

・不特定多数の利用を想定しているサーバーの場合は、海外産を使う方がメリットが大きい。
・身内専用のサーバーを建てる場合や、サーバー管理初心者なら国産を使う方がメリットが大きい。
※サーバーマネージャーは公式が制作したものではありません。導入は自己責任です。

 

外国産サーバーマネージャー

Frontrunnerteks’ Server Manager(更新停止)

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

 

7DSM

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

国産サーバーマネージャー

 

Savannah Manager

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

 

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

 

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

 

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

Simple7DTD?Server

「高性能かつシンプルに」を目標に作ってきたサーバーマネージャがようやく公開できる形になってきたので公開します。
ダウンロードは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です。(α10 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'

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

  1. 上書き保存する

以上

これで設定は完了です。

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

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

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

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

MODを用意する

サーバを管理する上で、ぜひとも入れておきたいMODです。今回は、このMODで追加されるコンソールコマンドを使いますので必ず導入しましょう。

Telnetで接続する

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

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

TeraTarmを設定する

TeraTarmの端末設定画面

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

繰り返しコマンド

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

その他の設定

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

設定の保存

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

マクロの作成

  • あくまでも一例です。コードの説明に関しては主要な部分以外は省略して進めます。(バグが潜在している可能性もあります、使用時は自己責任でお願いします)
    このマクロは、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"
    teratarm3.png

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

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

最後に

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

コメント

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

最新の10件を表示しています。 コメントページを参照

  • 原因がわかりません お知恵をお借りできないでしょうか -- 2019-12-11 (水) 05:36:22
    • 自分もそれで困っていて試してみたらローカルホストモードになってるっぽいです。 -- 2020-01-10 (金) 05:49:49
    • 途中で間違えて送ってしまいました。サバンナマネージャー2を使ってますが、まず普通にサーバーを立ち上げた後にサバンナマネージャー2のローカルホストモードを外してIPなどを設定した後にtelnetで接続するといつでも入れるようになります。ですがなぜか鯖一覧に出ないので困ってます。 -- 2020-01-10 (金) 05:54:25
  • GCPを使って鯖構築しようとしてるんですが、調べながら進めても最後のIP・ポート入力でこけてしまう。鯖一覧にも出ない状態でどうすればいいか・・・ -- 2020-01-22 (水) 00:11:05
  • 鯖一覧に表示されるけどフレンドは入れない、ポート開放も異状ないのになぜ、と思ったら<property name="ServerDisabledNetworkProtocols" value="SteamNetworking"/>のSteamNetworkingを消したら入れるようになりました(α18.4) -- 2020-05-01 (金) 00:23:09
    • 同じ問題で引っかかってましたが解決しました。ありがとうございます。 -- 2020-05-10 (日) 00:33:14
  • 鯖管理していると、マップ端から奈落に落ちる人がたまに出るのですが、これは仕様でしょうか? 気が付いたときに地上へテレポートさせてますが、キリがない。。 -- 2020-05-10 (日) 09:00:57
    • 自己解決したのでメモしておきます。結論としては恐らく仕様通り。ランダムマップ生成(RWG)で、デフォルトのマップサイズ(4096)を指定した場合、島を海で囲ったようなマップが生成され、海を泳がない限りマップ端にはたどり着けません。一方で、マップサイズを最小(2048)にした場合、デフォルトマップ(4096)の一つの象限を切り出したようなマップが形成され、海が無い側から簡単にマップ端にたどり着くことができ、それで頻繁に人が落ちてしまっていた次第です。 -- ツリー主? 2020-05-17 (日) 19:52:59
  • マルチサーバーの質問はこちらへとなっていましたので失礼いたします。detail rendering shaders not find for the active render papelineという黄色文字が出て、ゲーム開始していますから、画面が切り替わらないのですが、、教えていただけると嬉しいです、、、。友人サーバーが建てており、昨日までは入れました。。。詳しくないのですが、24時間サーバーを建てておくようのPCを起動して、建てた部屋だけ入れなくて困っています。サーバーを建てた友人が、いないときにもできるようにしてくれたみたいなのですが、もう一人はできているのですが、こちらはできません。本当に、わからなくて困っています、、、。 -- AA? 2020-05-13 (水) 07:34:50
    • MODとかサーバーで導入してたなら(更新含む)、クライアント側でも事前に入れておかないと固まるけどそれかなあ -- 2020-05-16 (土) 03:03:43
  • NitroGenで作成したマップを自鯖に導入してフレンドと遊びたいのですが、データの設置場所とserverconfig.xmlの記述方法を教えてください。また、生成時にCompoPackを使用した場合、やはりクライアントも導入必須でしょうか。 -- 2020-05-18 (月) 23:32:35
    • 自己解決しました。 -- 2020-05-20 (水) 06:04:14
  • わかる方いれば教えてください。サーバーを起動した後 おそらくUnityCrashHandler64 -- 2020-07-11 (土) 21:29:45
    • わかる方いれば教えてくださいサーバーを起動した後、おそらくUnityCrashHandler64 -- 2020-07-11 (土) 21:30:19
  • UnityCrashHandler64が起動してサーバーを落とされてしまいます。何が原因なのでしょうか -- 2020-07-11 (土) 21:31:32
    • 色んなパターンが考えられますが、serverconfig.xmlのGameWorldをRWGにしている場合、過去にWorldGenSeedに入れている同じseed値でワールド生成を行なっているとかではないでしょうか。 -- 2020-07-15 (水) 17:18:17
  • サーバーを建てているのですが、おかわりホードができません。何か設定はありますか? -- 2020-07-27 (月) 09:06:18
  • レンタルサーバーを借りてマルチをやりたいのですが、modを導入するのってどうしたらいいのでしょうか?サーバーの運営に聞いたらアプリケーションの事は応えてくれませんでした。よろしくお願いします -- やま? 2020-08-04 (火) 12:24:17
    • WindowsとLinuxで多少勝手は違うと思いますが、serverconfig.xmlがあるフォルダ直下にModsフォルダを作って、そこに各MODを放り込めばよいかと思います。 -- 2020-08-05 (水) 19:01:57
    • (参考)https://docs.csmm.app/en/CPM/#step-by-step-guide -- 2020-08-05 (水) 19:03:05
お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White