友情鏈接:
注:本篇含代碼結構,在電腦上觀看體驗更佳
一、預備篇:存檔路徑及文件樹
在講解世界設置和MOD設置之前,講一下之前已經生成好的世界的路徑、文件樹以及重要文件的作用,這里還是以A存檔為例。
1、存檔位置
如果是按照我的要求一步一步操作下來的話,雲服務器飢荒存檔路徑為
1 /root/.klei/DoNotStarveTogether ##這個目錄下有飢荒的所有存檔
本地飢荒存檔路徑為
1 我的文檔\Klei\DoNotStarveTogether ##如果找不到就在游戲主頁面點擊左下角的“數據”
2、MOD存放位置
本地MOD的存放路徑為
1 *\Steam\steamapps\common\Don't Starve Together\mods ##這里的*指的是你本地安裝STEAM的路徑 2 D:\Steam\steamapps\common\Don't Starve Together\mods ##例如這是我的MOD位置
服務器MOD的存放路徑為
1 /root/Steam/steamapps/common/Don't Starve Together Dedicated Server/mods
3、雲服務器飢荒存檔文件樹
之前生成的文件樹為以下結構
1 /root/.klei/DoNotStarveTogether/A ##這里以A存檔為例 2 | cluster.ini ##服務器總配置文件,包括端口、密碼等 3 | cluster_token.txt ##即第一節講到的User Token 4 | startcaves.sh ##洞穴啟動代碼 5 | startmaster.sh ##地上啟動代碼 6 |——Master ##地上文件夾 7 | | modoverrides.lua ##地上的MOD配置文件 8 | | server.ini ##獨立配置信息 9 | | leveldataoverride.lua ##資源配置文件 10 | |——backup文件夾 ##存放備份文件 11 | |——save文件夾 ##存放你的回退信息 12 | 13 |——Caves 14 | modoverrides.lua ##洞穴的MOD配置文件 15 | server.ini ##獨立配置信息 16 | leveldataoverride.lua ##資源配置文件 17 | worldgenoverride.lua ##想要自己調整世界資源的建議刪除,因為此配置信息優先級高於leveldataoverride.lua,就算你修改了資源,系統還是全默認資源 18 |——backup文件夾 ##存放備份文件 19 |——save文件夾 ##存放你的回退信息
★我將在本篇最底部附上配置文件的詳細信息,喜歡全手動的小伙伴可以研究
二、世界資源設置方法—移植法
由於按照一鍵端生成的世界是全資源默認的純凈檔,所以需要自己調整世界資源,我把此種方法稱為移植法。
顧名思義既然要移植,就需要有一個現成的世界設置配置文件。(當然你可以自己配置,本篇末尾我給出了如何手動配置文件)
1、獲取現成的世界資源配置文件
在你電腦上打開飢荒游戲,點擊創建世界,選擇一個沒有用過的存檔,我們以第一個為例, 按照你想要的資源進行調整,洞穴也要設置。MOD暫時可以一個都不選,我在下一塊會詳細講MOD的設置。

點擊創建世界,等到進入世界的時候,退出,這個時候你的配置文件已經生成啦!
2、上傳你剛生成的資源文件
如何找到這個配置文件呢,返回到主頁面,點擊左下角的“數據”即可打開本地的存檔目錄

打開之后是這種結構:

因為我們是在第一個存檔修改的,所以需要Cluster_1里面的文件
(1)地上資源:打開 Cluster_1 /Master/,里面的leveldataoverride.lua就是地上世界的資源配置文件啦,把這個文件覆蓋上傳到你服務器的/root/.klei/DoNotStarveTogether/A/Master文件夾下,地上資源就配置好啦。
(2)洞穴資源:接下來我們再覆蓋洞穴的資源配置文件,在游戲主頁面點“數據”,打開你的本地存檔,打開 Cluster_1 /Caves/ ,同理把洞穴文件夾下的 leveldataoverride.lua 覆蓋 上傳至你服務器的 /root/.klei/DoNotStarveTogether/A/ Caves ,至此,地上和洞穴世界的世界資源已經配置完成
3、為什么我登上去還是默認資源?
因為你在啟動服務器時,一鍵端已經幫你生成好了一個默認世界,要想使你自己修改的世界生效的話,需要在游戲中重新生成世界。
方法:加入到你創建的游戲中,按鍵Tab鍵,在出現的面板里點···按鈕,再點擊生成世界即可。
★ 如果不想一鍵生成,世界資源手動配置方法附加在最底部
三、MOD設置方法—移植法
學會了世界資源的移植法,MOD移植法也是同一個道理,主要分為以下三步
1、獲取現成的MOD配置資源
還是登陸游戲,選擇創建游戲,我們還是以第一個存檔為例,在模組里勾選你想添加的模組,點擊回到世界。

進入游戲之后就可以退出了, 此時MOD的配置文件已經通過游戲生成好了。
2、將生成的MOD配置文件覆蓋上傳
按照之前的方法,打開游戲保存位置

因為我們是在第一個存檔修改的,所以需要Cluster_1里面的文件
(1)地上MOD: 打開 Cluster_1 /Master/,里面的modoverrides.lua就是地上世界的資源配置文件,把這個文件覆蓋上傳到你服務器的/root/.klei/DoNotStarveTogether/A/Master文件夾下,地上MOD就配置好啦。
(2)洞穴MOD: 打開 Cluster_1 /Master/,里面的modoverrides.lua就是洞穴世界的資源配置文件,把這個文件覆蓋上傳到你服務器的/root/.klei/DoNotStarveTogether/A/Master文件夾下,洞穴MOD就配置好啦。
3、如何使MOD生效
MOD覆蓋上傳之后,這時候還沒有生效,因為你只是把配置文件上傳了,但是還沒有上傳MOD的源文件。頂部預備篇我們已經提到本地MOD和服務器MOD源文件的存放路徑,把本地MOD上傳至服務器即可。
1 *\Steam\steamapps\common\Don't Starve Together\mods ##這里的*指的是你本地安裝STEAM的路徑 2 ↓上傳至服務器 3 /root/Steam/steamapps/common/Don't Starve Together Dedicated Server/mods ##這是服務器MOD目錄
★ MOD手動配置方法同樣附加在最底部
四、設置管理員(可選)
飢荒的管理員會有特殊操作權限,如果創建者不在而你因為特殊原因要回滾世界 ,就需要被賦予管理員權限才能執行回退世界的操作
1、首先獲取自己的KLEI用戶ID,我在第一節提到過 ,進游戲之后點“賬戶”即可查看
2、在服務器存檔(比如之前建立的A存檔)下新建一個文本文檔,命名為adminlist.txt,將你的KLEI用戶ID寫進去就可以啦,保存退出。
五、設置白名單(可選)
如果人太多了,擠不進去怎么辦
這就需要提前給自己預留一個位置,如果服務器可以容納8個人,設置兩個白名單的話,那么相當於這個服務器只能進入6個普通用戶。就算兩個白名單沒有上線,也只能進6個
在存檔根目錄下新建whitelist.txt,在里面輸入你的klei用戶ID即可
六、如何BAN惡意操作用戶
如果有人進來就燒家、喂你植物纖維的話
BAN他!
在存檔根目錄下新建blocklist.txt,在里面輸入他的klei用戶ID,它的ID可以在日志信息中找到
當然最簡單的辦法是在游戲中按下Tab,直接踢
只要掌握了如何修改資源和MOD,就可以正常游戲了,如果操作能力強的可以繼續往下研究,我在本頁底部會把每個配置文件的內容的作用列出來
正文結束
附:各配置文件信息及手動修改方法
所給的配置文件均在ubuntu系統下調試通過,可直接使用
1、世界地圖資源(地上部分)
如需要自己配置,將以下內容保存為 leveldataoverride.lua,放入Master文件夾中
1 return { 2 desc="標准《飢荒》體驗。", 3 hideminimap=false, 4 id="SURVIVAL_TOGETHER", 5 location="forest", 6 max_playlist_position=999, 7 min_playlist_position=0, 8 name="默認", 9 numrandom_set_pieces=4, 10 override_level_string=false, 11 overrides = { ##以下為修改世界的各種選項 12 ## 默認的資源等級分別為 "never", "rare", "default", "often", "always" 13 14 ## 環境配置 15 task_set = "default", ## 默認為"classic", "default", "cave_default" 16 start_location = "default", ## 默認為"caves", "default", "plus", "darkness" 17 world_size = "default", ## 默認為"small", "medium", "default", "huge" 18 branching = "default", ## 默認為"never", "least", "default", "most" 19 loop = "default", ## 默認為"never", "default", "always" 20 autumn = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 21 winter = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 22 spring = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 23 summer = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 24 season_start = "default", ## 默認為"default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random" 25 day = "default", ## 默認為"default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight" 26 weather = "default", 27 earthquakes = "default", 28 lightning = "default", 29 frograin = "default", 30 wildfires = "default", 31 touchstone = "default", 32 regrowth = "default", ## 默認為"veryslow", "slow", "default", "fast", "veryfast" 33 cavelight = "default", ## 默認為"veryslow", "slow", "default", "fast", "veryfast" 34 boons = "default", 35 prefabswaps_start = "default", ## 默認為"classic", "default", "highly random" 36 prefabswaps = "default", ## 默認為"none", "few", "default", "many", "max" 37 38 ## 資源設置 39 flowers = "default", 40 grass = "default", 41 sapling = "default", 42 marshbush = "default", 43 tumbleweed = "default", 44 reeds = "default", 45 trees = "default", 46 flint = "default", 47 rock = "default", 48 rock_ice = "default", 49 meteorspawner = "default", 50 meteorshowers = "default", 51 mushtree = "default", 52 fern = "default", 53 flower_cave = "default", 54 wormlights = "default", 55 56 ## 隨機設置 57 berrybush = "default", 58 carrot = "default", 59 mushroom = "default", 60 cactus = "default", 61 banana = "default", 62 lichen = "default", 63 64 ## 動物設置 65 rabbits = "default", 66 moles = "default", 67 butterfly = "default", 68 birds = "default", 69 buzzard = "default", 70 catcoon = "default", 71 perd = "default", 72 pigs = "default", 73 lightninggoat = "default", 74 beefalo = "default", 75 beefaloheat = "default", 76 hunt = "default", 77 alternatehunt = "default", 78 penguins = "default", 79 cave_ponds = "default", 80 ponds = "default", 81 bees = "default", 82 angrybees = "default", 83 tallbirds = "default", 84 slurper = "default", 85 bunnymen = "default", 86 slurtles = "default", 87 rocky = "default", 88 monkey = "default", 89 90 ## 怪物設置 91 spiders = "default", 92 cave_spiders = "default", 93 hounds = "default", 94 houndmound = "default", 95 merm = "default", 96 tentacles = "default", 97 chess = "default", 98 lureplants = "default", 99 walrus = "default", 100 liefs = "default", 101 deciduousmonster = "default", 102 krampus = "default", 103 bearger = "default", 104 deerclops = "default", 105 goosemoose = "default", 106 dragonfly = "default", 107 bats = "default", 108 fissure = "default", 109 worms = "default", 110 }, 111 }
2、世界地圖資源(洞穴部分)
如需要自己配置,將以下內容保存為 leveldataoverride.lua ,放入Caves文件夾中
1 return { 2 background_node_range={ 0, 1 }, 3 desc="探查洞穴…… 一起!", 4 hideminimap=false, 5 id="DST_CAVE", 6 location="cave", 7 max_playlist_position=999, 8 min_playlist_position=0, 9 name="洞穴", 10 numrandom_set_pieces=0, 11 override_level_string=false, 12 overrides = { ##以下為修改世界的各種選項 13 ## 默認的資源等級分別為"never", "rare", "default", "often", "always" 14 15 ## 環境配置 16 task_set = "cave_default", ## 默認為"classic", "default", "cave_default" 17 start_location = "default", ##默認為 "caves", "default", "plus", "darkness" 18 world_size = "default", ## 默認為"small", "medium", "default", "huge" 19 branching = "default", ## 默認為"never", "least", "default", "most" 20 loop = "default", ## 默認為"never", "default", "always" 21 autumn = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 22 winter = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 23 spring = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 24 summer = "default", ## 默認為"noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random" 25 season_start = "default", ## 默認為"default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random" 26 day = "default", ## 默認為"default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight" 27 weather = "default", 28 earthquakes = "default", 29 lightning = "default", 30 frograin = "default", 31 wildfires = "default", 32 touchstone = "default", 33 regrowth = "default", ## 默認為"veryslow", "slow", "default", "fast", "veryfast" 34 cavelight = "default", ## 默認為"veryslow", "slow", "default", "fast", "veryfast" 35 boons = "default", 36 prefabswaps_start = "default", ## 默認為"classic", "default", "highly random" 37 prefabswaps = "default", ## 默認為"none", "few", "default", "many", "max" 38 39 ## 資源配置 40 flowers = "default", 41 grass = "default", 42 sapling = "default", 43 marshbush = "default", 44 tumbleweed = "default", 45 reeds = "default", 46 trees = "default", 47 flint = "default", 48 rock = "default", 49 rock_ice = "default", 50 meteorspawner = "default", 51 meteorshowers = "default", 52 mushtree = "default", 53 fern = "default", 54 flower_cave = "default", 55 wormlights = "default", 56 57 ## 隨機配置 58 berrybush = "default", 59 carrot = "default", 60 mushroom = "default", 61 cactus = "default", 62 banana = "default", 63 lichen = "default", 64 65 ## 動物配置 66 rabbits = "default", 67 moles = "default", 68 butterfly = "default", 69 birds = "default", 70 buzzard = "default", 71 catcoon = "default", 72 perd = "default", 73 pigs = "default", 74 lightninggoat = "default", 75 beefalo = "default", 76 beefaloheat = "default", 77 hunt = "default", 78 alternatehunt = "default", 79 penguins = "default", 80 cave_ponds = "default", 81 ponds = "default", 82 bees = "default", 83 angrybees = "default", 84 tallbirds = "default", 85 slurper = "default", 86 bunnymen = "default", 87 slurtles = "default", 88 rocky = "default", 89 monkey = "default", 90 91 ## 怪物配置 92 spiders = "default", 93 cave_spiders = "default", 94 hounds = "default", 95 houndmound = "default", 96 merm = "default", 97 tentacles = "default", 98 chess = "default", 99 lureplants = "default", 100 walrus = "default", 101 liefs = "default", 102 deciduousmonster = "default", 103 krampus = "default", 104 bearger = "default", 105 deerclops = "default", 106 goosemoose = "default", 107 dragonfly = "default", 108 bats = "default", 109 fissure = "default", 110 worms = "default", 111 }, 112 }
3、通用配置文件(即根目錄下cluster.ini)
1 [GAMEPLAY] 2 max_players = 16 # 最大游戲人數 3 pvp = true # 能不能攻擊其他玩家,能不能給其他玩家喂屎 4 game_mode = survival # 游戲模式,可選 survival, endless or wilderness,與玩家死亡后的負面影響有關 5 pause_when_empty = false # 沒人服務器暫停,刷天數必備 6 vote_kick_enabled = false # 投票踢人 7 8 [STEAM] 9 steam_group_only = false # 只允許某 Steam 組的成員加入 10 steam_group_id = 0 # 指定某個 Steam 組,填寫組 ID 11 steam_group_admins = false # 開啟后,Steam 組的管理員擁有服務器的管理權限 12 13 14 [NETWORK] 15 cluster_description = ~ # 游戲房間描述 16 cluster_name = ~ # 游戲房間名稱 17 cluster_intention = social # 游戲偏好,可選 cooperative, competitive, social, madness,隨便設置,沒用 18 cluster_password = # 游戲密碼,不設置表示無密碼 19 offline_server = false # 是否離線服務器,只有局域網用戶能加入,並且所有依賴於 Steam 的任何功能都無效,比如說飾品掉落 20 tick_rate = 15 # 每秒通信次數,越高游戲體驗越好,但是會加大服務器負擔 21 whitelist_slots = 0 # 為白名單用戶保留的游戲位 22 lan_only_cluster = false # 局域網游戲 23 24 25 [MISC] 26 console_enabled = true # 是否開啟控制台 27 max_snapshots = 6 # 最大快照數,決定了可回滾的天數 28 29 30 [SHARD] 31 shard_enabled = true # 是否允許地上及洞穴互通,開啟洞穴的話必須填true 32 bind_ip = 127.0.0.1 # 服務器監聽的地址,單服務器搭建填 127.0.0.1,雙服務器搭建填0.0.0.0 33 master_ip = 127.0.0.1 # 主世界服務器的 IP,單服務器搭建填127.0.0.1,雙服務器搭建填寫服務器的公網IP 34 master_port = 10889 # 監聽 master 服務器的 UDP 端口 35 cluster_key = supersecretkey # 游戲通訊密碼,每台服務器必須相同
4、獨立配置文件(Master和Caves下的server.ini)
(1) 地上部分,保存為 server.ini,並放到 Master 文件夾內:
1 [NETWORK] 2 server_port = 11000 # 監聽的 UDP 端口,只能介於 10998 - 11018 之間,確保每個實例都不相同 3 4 5 [SHARD] 6 is_master = true # 是否是 master 服務器,只能存在一個 true,其他全是 false 7 8 9 [STEAM] 10 master_server_port = 27018 # Steam 用的端口,確保每個實例都不相同 11 authentication_port = 8768 # Steam 用的端口,確保每個實例都不相同 12 13 14 [ACCOUNT] 15 encode_user_path = true
(2) 洞穴部分,保存為 server.ini,放到 Caves 文件夾內:
1 [NETWORK] 2 server_port = 11001 # 監聽的 UDP 端口,只能介於 10998 - 11018 之間,確保每個實例都不相同 3 4 5 [SHARD] 6 is_master = false # 是否是 master 服務器,只能存在一個 true,其他全是 false 7 name = Caves # 從世界的名稱 8 id = 3156403571 # 隨機生成,不用加入該屬性 9 10 [STEAM] 11 master_server_port = 27019 # Steam 用的端口,確保每個實例都不相同 12 authentication_port = 8769 # Steam 用的端口,確保每個實例都不相同 13 14 15 [ACCOUNT] 16 encode_user_path = true
5、MOD配置文件
因為MOD設置地上和洞穴是一樣的,配置完一個之后一式兩份拷貝到 Master 和 Caves 就可以了。
這里給出我配置的MOD文件作為參考
1 return { 2 ["workshop-1079538195"]={ 3 configuration_options={ 4 beebox=true, 5 birdcage=true, 6 cartographydesk=true, 7 cookpot=true, 8 dragonflychest=true, 9 dragonflyfurnace=true, 10 endtable=true, 11 firesuppressor=true, 12 icebox=true, 13 lightning_rod=true, 14 meatrack=true, 15 modsupport=true, 16 moondial=true, 17 mushroom_farm=true, 18 mushroom_light=true, 19 nightlight=true, 20 perdshrine=true, 21 pottedfern=true, 22 rainometer=true, 23 researchlab=true, 24 researchlab2=true, 25 researchlab3=true, 26 researchlab4=true, 27 resurrectionstatue=true, 28 saltlick=true, 29 scarecrow=true, 30 sculptingtable=true, 31 succulent_potted=true, 32 townportal=true, 33 treasurechest=true, 34 wardrobe=true, 35 winterometer=true 36 }, 37 enabled=true 38 }, 39 ["workshop-1166220990"]={ configuration_options={ attract=2, language=2 }, enabled=true }, 40 ["workshop-1185229307"]={ configuration_options={ }, enabled=true }, 41 ["workshop-1699194522"]={ configuration_options={ Language=true }, enabled=true }, 42 ["workshop-1829477822"]={ configuration_options={ }, enabled=true }, 43 ["workshop-1914860022"]={ configuration_options={ }, enabled=true }, 44 ["workshop-1914899068"]={ 45 configuration_options={ 46 [""]=0, 47 BATTLE_HAT_ABSORPTION=80, 48 BATTLE_HAT_HP=12000, 49 BATTLE_SPEAR_DAMAGE=42.5, 50 BATTLE_SPEAR_USES=400, 51 HAMBAT_DAMAGE=110.5, 52 HAMBAT_PERISHABLE="NO", 53 hat_goldnugget=1, 54 hat_rocks=1, 55 spear_flint=1, 56 spear_goldnugget=1, 57 spear_twigs=1 58 }, 59 enabled=true 60 }, 61 ["workshop-347079953"]={ 62 configuration_options={ DFV_Language="CN", DFV_MinimalMode="default" }, 63 enabled=true 64 }, 65 ["workshop-362175979"]={ configuration_options={ ["Draw over FoW"]="disabled" }, enabled=true }, 66 ["workshop-374550642"]={ configuration_options={ MAXSTACKSIZE=250 }, enabled=true }, 67 ["workshop-375850593"]={ configuration_options={ }, enabled=true }, 68 ["workshop-375859599"]={ 69 configuration_options={ 70 divider=5, 71 random_health_value=0, 72 random_range=0, 73 send_unknwon_prefabs=false, 74 show_type=0, 75 unknwon_prefabs=1, 76 use_blacklist=true 77 }, 78 enabled=true 79 }, 80 ["workshop-378160973"]={ 81 configuration_options={ 82 ENABLEPINGS=true, 83 FIREOPTIONS=2, 84 OVERRIDEMODE=false, 85 SHAREMINIMAPPROGRESS=true, 86 SHOWFIREICONS=true, 87 SHOWPLAYERICONS=true, 88 SHOWPLAYERSOPTIONS=2 89 }, 90 enabled=true 91 }, 92 ["workshop-462434129"]={ 93 configuration_options={ 94 MOD_RESTART_ALLOW_KILL=true, 95 MOD_RESTART_ALLOW_RESTART=true, 96 MOD_RESTART_ALLOW_RESURRECT=true, 97 MOD_RESTART_CD_BONUS=0, 98 MOD_RESTART_CD_KILL=0, 99 MOD_RESTART_CD_MAX=0, 100 MOD_RESTART_CD_RESTART=0, 101 MOD_RESTART_CD_RESURRECT=0, 102 MOD_RESTART_FORCE_DROP_MODE=0, 103 MOD_RESTART_IGNORING_ADMIN=true, 104 MOD_RESTART_MAP_SAVE=1, 105 MOD_RESTART_RESURRECT_HEALTH=100, 106 MOD_RESTART_TRIGGER_MODE=1, 107 MOD_RESTART_WELCOME_TIPS=true, 108 MOD_RESTART_WELCOME_TIPS_TIME=6 109 }, 110 enabled=true 111 }, 112 ["workshop-466732225"]={ configuration_options={ }, enabled=true }, 113 ["workshop-588560555"]={ configuration_options={ }, enabled=true }, 114 ["workshop-661253977"]={ 115 configuration_options={ amudiao=true, baodiao=1, kong=0, rendiao=2, zbdiao=true }, 116 enabled=true 117 }, 118 ["workshop-666155465"]={ 119 configuration_options={ 120 chestB=-1, 121 chestG=-1, 122 chestR=-1, 123 food_estimation=-1, 124 food_order=0, 125 food_style=1, 126 lang="chs", 127 show_food_units=-1, 128 show_uses=-1 129 }, 130 enabled=true 131 }, 132 ["workshop-679636739"]={ configuration_options={ }, enabled=true }, 133 ["workshop-770901818"]={ 134 configuration_options={ days=2, enable_houndattack=true, format="complex" }, 135 enabled=true 136 } 137 }
如需轉載,請注明出處:wuter.cn
