了解過docker之后我決定練一下手(本來是因?yàn)橛行┤讼胪鍰ST所以才決定的),于是就拿饑荒聯(lián)機(jī)服務(wù)器(以下簡稱dst服務(wù)器)來做練手作
Google到了Docker Hub里面有現(xiàn)成的DST docker鏡像徙邻,感謝jamesits羞反。介紹地址:Docker Hub : DST Dedicated Server眠屎。
安裝docker的步驟網(wǎng)上很多蕴轨,我就不介紹了欠动。安裝完docker之后還得安裝docker-compose。我的DST服務(wù)器數(shù)據(jù)放在/srv/dst/
走孽,以下例子都用這個(gè)路徑惧辈。
鏡像作者使用Docker Compose琳状,所以只要在打算讓dst服務(wù)器保存數(shù)據(jù)的目錄下新建文件并粘貼以下代碼
overworld-server:
image: jamesits/don-t-starve-together-dedicated-server:latest
restart: always
ports:
- 10999:10999/udp
- 8766:8766/udp
- 27016:27016/udp
volumes:
- ./server_config:/data/DoNotStarveTogether
保存成名為docker-compose.yml的文件磕瓷,在/srv/dst/
下以root權(quán)限啟動(dòng)docker-compose up
,即可自動(dòng)下載并啟動(dòng)饑荒服務(wù)器念逞。但是這樣子服務(wù)器并不會(huì)真正啟動(dòng)起來困食,還需要寫一下配置才能夠跑起來。
Ctrl+C
停掉服務(wù)器翎承,會(huì)發(fā)現(xiàn)自動(dòng)生成好的配置文件目錄/srv/dst/server_config/
硕盹。進(jìn)入/srv/dst/server_config/Cluster_1/
,新建一個(gè)cluster.ini
文件叨咖,并在里面寫配置:
[NETWORK]
cluster_name = 服務(wù)器的名稱
cluster_description = 服務(wù)器描述
cluster_intention = 服務(wù)器的類型 [cooperative | social | competitive | madness]
cluster_password = 密碼瘩例,可選
server_port = 10999 服務(wù)器的端口啊胶,建議不要修改
max_players = 20 最大玩家數(shù)量,1-64
pvp = false 是否允許pvp垛贤,玩家對(duì)打
game_mode = survival 游戲模式 [endless | survival | wilderness]
tick_rate = 30 服務(wù)器的幀率焰坪,越高越fantasy不過對(duì)服務(wù)器和帶寬要求高
connection_timeout = 3000
server_save_slot = 1 服務(wù)器存檔讀取,一般不用改
pause_when_empty = true 這個(gè)雖然是對(duì)應(yīng)“當(dāng)服務(wù)器沒人時(shí)停止服務(wù)器”但是并沒有生效
dedicated_lan_server = true 是否允許局域網(wǎng)聯(lián)機(jī)
寫好配置之后聘惦,要獲取服務(wù)端的令牌某饰。進(jìn)入DST客戶端之后,點(diǎn)Play登陸善绎,然后點(diǎn)右下角的Account黔漂,頁面里找到生成Token的地方(右側(cè)的名字可以隨便寫),然后把生成的Token寫進(jìn)/srv/dst/server_config/Cluster_1/cluster_token.txt
里保存禀酱。
如果不需要mod的話炬守,到這里就可以回到/srv/dst
里docker-compose up
了,在后面加-d
可以讓其在后臺(tái)運(yùn)行剂跟。
如果要加mod劳较,那么需要編輯/srv/dst/server_config/
里面的dedicated_server_mods_setup.lua
文件。在里面一行添加一個(gè)mod浩聋。
ServerModSetup("mod1-id")
ServerModSetup("mod2-id")
ServerModSetup("mod3-id")
Mod ID可以在創(chuàng)意工坊里面查到观蜗。進(jìn)入mod頁面后拷貝一下鏈接。找個(gè)地方粘貼一下
http://steamcommunity.com/sharedfiles/filedetails/?id=681368916
id后面跟著的就是了衣洁。
寫好之后保存∧鼓恚現(xiàn)在還沒能啟用,如果啟動(dòng)服務(wù)器的話坊夫,只會(huì)下載列表里的Mod而不會(huì)啟動(dòng)砖第。要啟動(dòng)的話有兩種方式,一種是強(qiáng)制啟動(dòng)环凿,但是這種方式一般只在開發(fā)mod的時(shí)候使用梧兼,不推薦。另外一種是常規(guī)的啟動(dòng)方式智听,能給mod寫配置(如何寫配置請(qǐng)參考下面給出的鏈接)羽杰。
進(jìn)入/srv/dst/server_config/Cluster_1/Master/
,新建一個(gè)modoverrides.lua
到推,在里面寫
return{
["workshop-id1"] = { enabled = true },
["workshop-id2"] = { enabled = true },
["workshop-id3"] = { enabled = true }
}
id替換成要啟動(dòng)的mod的id考赛,保存后建議給文件添加可執(zhí)行權(quán)限
chmod +x modoverrides.lua
現(xiàn)在啟動(dòng)服務(wù)器后,就如你所愿啦莉测。
黑名單颜骤,白名單以及管理員名單列表放在
更詳盡的服務(wù)器設(shè)置和Mod設(shè)置請(qǐng)參考 Guides/Don’t Starve Together Dedicated Servers 和 Dedicated Server w/Mods [Problem]