了解過docker之后我決定練一下手(本來是因為有些人想玩DST所以才決定的),于是就拿饑荒聯(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/,以下例子都用這個路徑。
鏡像作者使用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)限啟動docker-compose up,即可自動下載并啟動饑荒服務(wù)器。但是這樣子服務(wù)器并不會真正啟動起來,還需要寫一下配置才能夠跑起來。
Ctrl+C停掉服務(wù)器,會發(fā)現(xiàn)自動生成好的配置文件目錄/srv/dst/server_config/。進(jìn)入/srv/dst/server_config/Cluster_1/,新建一個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,玩家對打
game_mode = survival 游戲模式 [endless | survival | wilderness]
tick_rate = 30 服務(wù)器的幀率,越高越fantasy不過對服務(wù)器和帶寬要求高
connection_timeout = 3000
server_save_slot = 1 服務(wù)器存檔讀取,一般不用改
pause_when_empty = true 這個雖然是對應(yīng)“當(dāng)服務(wù)器沒人時停止服務(wù)器”但是并沒有生效
dedicated_lan_server = true 是否允許局域網(wǎng)聯(lián)機(jī)
寫好配置之后,要獲取服務(wù)端的令牌。進(jìn)入DST客戶端之后,點Play登陸,然后點右下角的Account,頁面里找到生成Token的地方(右側(cè)的名字可以隨便寫),然后把生成的Token寫進(jìn)/srv/dst/server_config/Cluster_1/cluster_token.txt里保存。
如果不需要mod的話,到這里就可以回到/srv/dst里docker-compose up了,在后面加-d可以讓其在后臺運(yùn)行。
如果要加mod,那么需要編輯/srv/dst/server_config/里面的dedicated_server_mods_setup.lua文件。在里面一行添加一個mod。
ServerModSetup("mod1-id")
ServerModSetup("mod2-id")
ServerModSetup("mod3-id")
Mod ID可以在創(chuàng)意工坊里面查到。進(jìn)入mod頁面后拷貝一下鏈接。找個地方粘貼一下
http://steamcommunity.com/sharedfiles/filedetails/?id=681368916
id后面跟著的就是了。
寫好之后保存。現(xiàn)在還沒能啟用,如果啟動服務(wù)器的話,只會下載列表里的Mod而不會啟動。要啟動的話有兩種方式,一種是強(qiáng)制啟動,但是這種方式一般只在開發(fā)mod的時候使用,不推薦。另外一種是常規(guī)的啟動方式,能給mod寫配置(如何寫配置請參考下面給出的鏈接)。
進(jìn)入/srv/dst/server_config/Cluster_1/Master/,新建一個modoverrides.lua,在里面寫
return{
["workshop-id1"] = { enabled = true },
["workshop-id2"] = { enabled = true },
["workshop-id3"] = { enabled = true }
}
id替換成要啟動的mod的id,保存后建議給文件添加可執(zhí)行權(quán)限
chmod +x modoverrides.lua
現(xiàn)在啟動服務(wù)器后,就如你所愿啦。
黑名單,白名單以及管理員名單列表放在
更詳盡的服務(wù)器設(shè)置和Mod設(shè)置請參考 Guides/Don’t Starve Together Dedicated Servers 和 Dedicated Server w/Mods [Problem]