2016/04/23

[DST] Dedicated Serverの建て方

20170105235100_1
その他コマンド等メモ→[DS/DST] コマンド
各ファイルのサンプル→[Dropbox] DoNotStarveTogether

***

Dedi鯖システム要件
OS: Windows Vista, 7, 8, 10 / Linux Ubuntu 12.10 or higher
Processor: 1.7+ GHz or better
Memory: 1+ gigs of RAM
Hard Drive: 1+ GB HD space

Internet (Upload) = 8Kbytes / player / s
Ram =  around 65Mbytes/player

用意するもの
・Don't Starve Together (ゲーム本体)
・Don't Starve Together Dedicated Server (サーバ建てるツール)
UTF-8(BOMなし)で保存できるテキストエディタ (Notepad++,TeraPadなど。メモ帳はダメ)
・Google先生

※各ファイル.ini.lua.batの詳細は記事下部です

1. サーバ建てるツールをインストールする
0tool
Steamライブラリ>ツール>Don't Starve Together Dedicated Serverをインストール
(分かる人はSteamCMD使ったらいい)

2. cluster_token.txtを生成する
1
Don't Starve Togetherを起動し、Play!
@キーでコンソールを開く
TheNet:GenerateClusterToken() と入力して実行(Enter)
~\Documents\Klei\DoNotStarveTogetherフォルダにcluster_token.txtが生成されてることを確認する
Don't Starve Togetherを終了する

スクリーンショット (388)
※Account→Games→Don't Starve Together→Servers→ADD NEW SERVERでもClusterTokenを発行できます

3. Dedicated Server用フォルダを作る
3
~\Documents\Klei\DoNotStarveTogetherにDedicated Server用フォルダを作る

4. Dedicated Server用フォルダの中身
4
Dedicated Server用フォルダに
 Masterフォルダ ←必須(後述)
 Cavesフォルダ ←洞窟要らないなら無くていい(後述)
 cluster.ini ←必須(後述)
 cluster_token.txt ←コンソールで生成したtxtファイルをコピペ(後述)
 adminlist.txt ←アドミン増やさないなら無くていい
 blocklist.txt ←誰でもウェルカムなら無くていい
 whitelist.txt  ←誰でもウェルカムなら無くていい
を用意する

5. Masterフォルダの中身
5
Masterに
 server.ini ←必須(後述)
 worldgenoverride.lua ←ワールド設定を変更しないなら無くていい(後述)
 modoverrides.lua ←Mod入れないなら無くていい(後述)
を用意する

6. Cavesフォルダの中身
6
Cavesに
 server.ini ←必須(後述)
 worldgenoverride.lua ←ワールド設定を変更しない場合でも必須(後述)
 modoverrides.lua ←Mod入れないなら無くていい(後述)
を用意する

7. Modファイルの用意
dst
MODを導入する場合
~\Steam\steamapps\common\Don't Starve Together Dedicated Server\modsに
 dedicated_server_mods_setup.lua
を用意する
(必要なworkshop-XXXXXXXXXのフォルダをここにコピーでもOKですが、その場合はModがアップデートされるたびに手動での更新が必要になります)

8. batファイル
7
どこかに適当な名前のbatファイルを用意する

9. サーバ稼働

cmd
ポート開放しなくても入ってこれるのはなんでだろな?

Server
┣Master
┃┣server.ini
┃┣worldgenoverride.lua
┃┗modoverrides.lua
┣Caves
┃┣server.ini
┃┣worldgenoverride.lua
┃┗modoverrides.lua
┣cluster.ini
┗cluster_token.txt
各ファイル・フォルダが揃っていることを確認し、
batファイルを実行してサーバ起動

10.Let's Starve Together!
2015-12-12_00004
ヒャッハァァァァァァァァァ


extra. 記述の面倒なmodoverrides.luaとworldgenoverride.luaについて
2
modoverrides.luaとworldgenoverride.luaは
Host Gameで生成したワールド(Cluster_1~5)のleveldataoverride.luaとmodoverrides.luaから流用が可能です
・worldgenoverride.luaはleveldataoverride.luaからoverrides={}内の必要な項目だけコピペ
・modoverrides.luaはそのまま流用
(※Dedicated Server用フォルダの名前をこの"Cluster_1~5"にすると、クライアントでのワールド作成時に上書きされて泣きを見ます)

***

Dedicated Server用フォルダ/cluster.ini
ゲームプレイ機とサーバ機が別の場合、shardのなんとかipの部分が変わります。詳しくは公式フォーラム
[GAMEPLAY]
game_mode = survival (survival, wildness, endless)
max_players = 6 (最大64まで)
pvp = false
pause_when_empty = true (誰も接続してないときワールドの時間が停止する)
vote_enabled = true (プレイヤーの投票でプレイヤーをキックできる。放火魔とか荒らしとか)

[NETWORK]
cluster_name = ワールド名
cluster_description = ワールド説明文
cluster_intention = cooperative (social, cooperative, competitive, madness)
cluster_password = (パスかけない場合は何も書かない)
autosaver_enabled = true (1日毎に自動セーブ)
offline_cluster = false
tick_rate = 15 (10,15,30,60 サーバ処理のFPS的な。30未満-Bad, 30以上-OK,50以上-Good)
whitelist_slots = 0
lan_only_cluster = false

[MISC]
console_enabled = true
language_code = japanese
max_snapshots = 6 (バックアップを取る日数)
console_autocomplete = tab_enter (tab_enter, tab, enter, mouseonly, disabled)
chat_autocomplete = tab_enter (tab_enter, tab, enter, mouseonly, disabled)

[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10889
cluster_key = defaultPass

[Steam]
steam_group_only = false
steam_group_id = 
steam_group_admins = false (steamぼっちだからよく分からない…)

Master/server.ini
まるごとコピペしてMasterフォルダに置いて下さい
[NETWORK]
server_port = 11000

[SHARD]
is_master = true

[STEAM]
master_server_port = 27018
authentication_port = 8768

Master/worldgenoverride.lua
フォーラムを参考に書き換えるか、leveldataoverride.luaから必要部分をコピペ
return {
override_enabled = true,
preset = "SURVIVAL_TOGETHER",
overrides = {
angrybees = "never",
wildfires = "never",
world_size = "huge",
},
}

Caves/server.ini
まるごとコピペしてCavesフォルダに置いて下さい
[NETWORK]
server_port = 11001

[SHARD]
is_master = false
name = Caves

[STEAM]
master_server_port = 27019
authentication_port = 8769
 
Caves/worldgenoverride.lua
フォーラムを参考に書き換えるか、leveldataoverride.luaから必要部分をコピペ
return {
override_enabled = true,
preset = "DST_CAVE",
overrides = {
world_size = "small",
wormattacks = "never",
},
}

Master/modoverrides.lua
Caves/modoverrides.lua
使いたいModの数字に書き換えて下さい
return {
--Display food values 
["workshop-347079953"] = { enabled = true },
--Health Info 
["workshop-375859599"] = { enabled = true },
}

適当な名前.bat
ServerはDedicated Server用フォルダの名前に書き換えて下さい
洞窟が要らない場合は、最後の行(start~Caves)を削ればおk
ディレクトリの変更は
-persistent_storage_root (デフォルトは\Documents\Klei)
-conf_dir (デフォルトはDoNotStarveTogether)
詳しくはフォーラム
@echo off
cd /d "c:\Steam\steamapps\common\Don't Starve Together Dedicated Server\bin"
start "Don't Starve Together Overworld" dontstarve_dedicated_server_nullrenderer -console -cluster Server -shard Master
start "Don't Starve Together Caves" dontstarve_dedicated_server_nullrenderer -console -cluster Server -shard Caves

dedicated_server_mods_setup.lua
使いたいModの数字に書き換えて、~/Steam/steamapps/common/Don't Starve Together Dedicated Server/modsに置いて下さい
--Display food values
ServerModSetup("347079953")
--Health Info
ServerModSetup("375859599")
--Peter's Collection
ServerModCollectionSetup("379114180")

whitelist.txt

UserIDを自分とフレンドのものに書き換えてDedicated Server用フォルダに置いて下さい
cluster.iniの[NETWORK]下のwhitelist_slots = 0をその人数に書き換えて下さい
KU_abcdefg
KU_1234567

blocklist.txt
SteamIDに書き換えてDedicated Server用フォルダに置いて下さい
013456789abcdef

adminlist.txt
UserIDを自分とフレンドのものに書き換えてDedicated Server用フォルダに置いて下さい
KU_abcdefg
KU_1234567

トラックバックは許可されていません。

この記事へのコメント

参考になりました おちんちん
1. Posted by くぁz at 2016/03/12 06:50 | 5
参考にさせていただいております。

Serverを建てることは出来ましたが
なぜかMODが適用されなくて困っています
どこをいじればNo Modsにならないかが解決できません
Clusterからmodoverrides.luaを持ってきただけでは
ダメなのでしょうか
2. Posted by mxwel at 2016/04/30 01:36 | 5
すみませんサーバーは立てられたのですがどうしても洞窟ありの立て方が分かりません
3. Posted by yasu at 2016/04/30 06:50
>mxwel様
~Steam\steamapps\common\Don't Starve Together Dedicated Server\modsにmodのファイルが保存されてないのだと思います。
dedicated_server_mods_setup.luaでダウンロードさせるか、
~Steam\steamapps\common\Don't Starve Together\modsからコピペしてください。

>yasu様
地上用と洞窟用で、サーバを2つ起動させる必要があります。
各種ファイルを用意した上で、記事の下の方に書いてある"適当な名前.bat"を適当に書き換えて、実行してみてください。
4. Posted by Dolis at 2016/04/30 08:51
ありがとうございます
無事MOD導入できました
早いレスポンスいただき感謝です。
5. Posted by mxwel at 2016/04/30 23:12
参考になりました
ありがとうございます!
6. Posted by nanasi at 2016/06/02 19:05 | 5
いつも参考にさせていただいております。
1つ質問なのですが、サーバーの建て方については、今(16/07/27)も変わりはありませんでしょうか?
7. Posted by syosinsya at 2016/07/27 16:00 | 5
16/7/28現在も上記の方法・設定ファイルでサーバを構築できることを確認しました
良いドンスタライフを!
8. Posted by Dolis at 2016/07/28 08:33
大変参考になりました。おかげさまで無事にサーバーを立てることが出来ています。

ただRun.batを作成し使用してみたところ「dontstarve_dedicated_server_nullrendererが見つかりません」といった警告がでてきてしまいました。
フォルダのnullrendererを直接クリックで起動することでoverworldのサーバーは立てられるのですが、Caves用のサーバーが立てられず悩んでいます。
どうしたらよいでしょうか?
9. Posted by hato at 2016/08/15 20:00 | 5
Steamゲームのインストールフォルダをデフォルト(Cドライブ)から変更していませんか?
変更している場合、batファイルの"cd /D "c:\Steam\steamapps\common\Don't Starve Together Dedicated Server\bin""←この行の書き換えが必要です
10. Posted by Dolis at 2016/08/15 22:35
迅速なコメント対応本当にありがたいです。一度自分用に書き換えたのですがその時に何か間違えていたみたいで書き直してbatから起動できました!

しかしどうもどこかの設定が間違っているようでOverworld側のサーバーでは"Master Server Broadcast Error No_Name"というエラーが出続け、Caves側は"Has data flag doesn't match forward packet length"というエラーが出て Validating portalから進まなくなってしまいました。
nullrendererからダブルクリックでOverworldサーバーのみ建てることは何故か可能で、Batからの起動だとCavesの有無を問わず同じエラーになってしまいます...。
master_portとserver_portで同じポートを使っていますといった警告が出ているのでたぶんそこを変えたら良いと思うのですが、どのiniをどういじれば良いのかが分からず立ち往生しております。よろしければ再度ご教示いただけないでしょうか?

11. Posted by hato at 2016/08/17 14:49
DSTではポートが競合しないように下記のように使い分けされています

クライアントのHostGame
master_port = 10888 (Cluster_1~5/cluster.ini)
server_port = 10998 (Caves/server.ini)
server_port = 10999 (Master/server.ini)

Dedicatedサーバ
master_port = 10889 (Server/cluster.ini)
server_port = 11000 (Master/server.ini)
server_port = 11001 (Caves/server.ini)

どれかが被っていませんか?
12. Posted by Dolis at 2016/08/17 15:27
お返事ありがとうございます。素人にも非常に分かりやすい説明で本当にありがたいです。

ようやく.iniの仕組みを理解して内容を書き換えて始められると思ったのですが"[Error] Master Server Broadcast Error: NO_NAME"のエラーが未だに止まりません...。

HostGameでワールドを作った後に、そのmodoverride.luaの中身をコピペしたものをServer内のMasterとCavesにそれぞれ置いているのですが、

[00:00:07]: Could not load mod_config_data/modconfiguration_workshop-444438334

こういったエラーログがたくさん出ているということは恐らくMODの読み込みで失敗している...のでしょうか。添付のURL先にServer_logを置いておきましたので、もしお時間よろしければご確認いただけないでしょうか?

何度も何度もお手数をおかけしまして申し訳ございません。よろしくお願いいたします。
13. Posted by hato at 2016/08/18 01:29
お役に立てれば幸いです

"[Error] Master Server Broadcast Error: NO_NAME"
コレ忘れてましたすみません
ワールド名(Server/cluster.ini/[NETWORK]cluster_name = ***)に日本語を使っている、且つ文字コードがANSIになってませんか?
UTF-8(BOMなし)にすると解決します
メモ帳ではUTF-8(BOMあり)でしか保存できず、新たに別のエラーが出るので
Notepad++,TeraPad等のテキストエディタ推奨です

MODの読み込みは正常に行われているようです
"Could not load mod_config_data/modconfiguration_workshop-***"
コレはクライアントのHostGameからサーバを立てた時にも出るもので、無視して構いません

僭越ながらdropboxのidが本名っぽかった?ので、URLは削除致しました
14. Posted by Dolis at 2016/08/18 10:54
何から何まで本当にありがとうございます。

おかげさまで無事にサーバーを建てることができました...!非常に感激しています...。まるで知識の無い素人なので管理人様の助言無しには絶対に不可能でした....。

本当にありがとうございました!ブログ毎日拝見させていただいておりますので今後とも楽しみにしております。
15. Posted by hato at 2016/08/18 13:10 | 5
恐れ入ります。伺いたいのですが、一度dedicated serverを導入後、無効化する方法はありますでしょうか。
Steamのツールから削除してもDSTを起動するたびにコマンドプロンプトが起動してしまい、気軽に従前のプレイをするのが難しい具合になってしまいました…。
16. Posted by null at 2016/08/18 19:19
DS/DSTを起動するたびに出しゃばってくるのは
Dedicated Serverではなく、Don't Starve Mod Tools(~/mod_tools/autocompiler.exe)です
~/Documents/Klei/DoNotStarveTogether/client.iniの"autocompiler_enabled = true"をfalseに変えると無効化できます
DSの場合は~/Documents/Klei/DoNotStarve/settings.iniです
17. Posted by Dolis at 2016/08/18 20:40
なんと、そっちだったのですね。
どうもありがとうございます!
18. Posted by null at 2016/08/18 20:49
参考にさせていただいています。
上記の方法で取得したcluster_token.txtはどこに置いたら良いのでしょうか?
サーバーを起動しようとするとcluster_token.txtが見つからないというエラー文が出てしまって困っています。
お時間あるときにヒントをいただけたら嬉しいです!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! Your Server Will Not Start !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
No auth token could be found.
To generate a cluster_token you must
open the console from a logged-in game
client with the tilda key (~ / �) and type:
TheNet:GenerateClusterToken()
This will create 'cluster_token.txt' in
your client settings directory. Copy this
into your cluster settings directory.
19. Posted by ren at 2016/11/02 18:08
>>288さんですかね?
cluster_token.txtはKlei/DoNotStarveTogether/Dedicatedサーバー用フォルダの中に置いてください
そしてbatファイルの-cluster ServerとDediサーバ用フォルダ名を統一する必要があります
20. Posted by Dolis at 2016/11/02 21:02
288です!お返事いただけるとは(´;ω;`)ありがとうございます!
cluster_token.txtは現在I:\Klei\DoNotStarveTogether\Serverの中に置いてあります!
そしてbatファイルは-cluster Serverのまま、サーバー用フォルダ名をServerにしました!
結果は変わらずサーバー立ち上げることが出来ませんでした。
21. Posted by ren at 2016/11/02 21:24
steamゲームライブラリがcドライブでない可能性は想定してましたが、
マイドキュメントがcドライブでない可能性は想定してませんでした。
ので、サンプルのbatファイルは、batファイルもマイドキュメントもcドライブに置かれてることを前提に書かれています。

batファイルをServerと同じディレクトリに置いて実行してみてください
既に同じディレクトリに置いててこのエラーを吐いているなら、私にはお手上げです
すみません
22. Posted by Dolis at 2016/11/02 21:50
既にServerフォルダの中なんです。
返信して下さっただけでも嬉しかったです。
お忙しい中ありがとうございました!
23. Posted by ren at 2016/11/02 22:09
SteamゲームフォルダがCドライブでマイドキュメントがIドライブという環境に合わせてbatファイルを書ければいいのですが、知識がなく…
お役に立てず申し訳ありません
24. Posted by Dolis at 2016/11/02 22:19
とんでもないです!
Dolisさんのおかげでファイル名の統一や置き場所の確認ができたんです。

解決方法が判明したのでぜひ報告させて下さい!
batファイル起動後の1行目に
[00:00:00]: PersistRootStorage is now APP:Klei//DoNotStarveTogetherANewReignBeta/Server/Master/
という一文があったのですが
DoNotStarveTogetherANewReign「Beta」のフォルダを見に行ってしまっているようで
batファイルに「-conf_dir DoNotStarveTogether 」を付け足したところ進みました!
具体的にはもともと
@echo off
cd /d "C:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together Dedicated Server\bin"
start "Don't Starve Together Overworld" dontstarve_dedicated_server_nullrenderer -console -cluster Server -shard Master
start "Don't Starve Together Caves" dontstarve_dedicated_server_nullrenderer -console -cluster Server -shard Caves
だったものを
@echo off
cd /d "C:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together Dedicated Server\bin"
start "Don't Starve Together Overworld" dontstarve_dedicated_server_nullrenderer -console -conf_dir DoNotStarveTogether -cluster Server -shard Master
start "Don't Starve Together Caves" dontstarve_dedicated_server_nullrenderer -console -conf_dir DoNotStarveTogether -cluster Server -shard Caves

に書き換えたところ解決しました!
お騒がせしました(o_ _)o))
25. Posted by ren at 2016/11/03 04:28
解決して何よりです

報告ありがとうございます
こちらも勉強になりました
ANewReignBeta適用時のディレクトリについて追記しておきます

楽しいドンスタライフをお過ごし下さいませ
26. Posted by Dolis at 2016/11/03 10:14
こんにちは!質問失礼します!
適当な名前のbatファイルを実行することはできたのですがいつまでまってもDedicated Serverが立ち上がりません.なぜでしょうか.
27. Posted by youngman at 2021/04/04 01:58
絵文字
 
星  顔 
 

ライブドアブログでは広告のパーソナライズや効果測定のためクッキー(cookie)を使用しています。
このバナーを閉じるか閲覧を継続することでクッキーの使用を承認いただいたものとさせていただきます。
また、お客様は当社パートナー企業における所定の手続きにより、クッキーの使用を管理することもできます。
詳細はライブドア利用規約をご確認ください。