使用 Docker 搭建 Don't Starve Together Dedicated Server

了解過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/dstdocker-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 ServersDedicated Server w/Mods [Problem]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,586評論 19 139
  • 以下原文轉(zhuǎn)載于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend閱讀 7,789評論 0 17
  • 一. 準(zhǔn)備工作 安裝docker 安裝docker-compose 注意 docker 通過 unix socke...
    誰又失憶閱讀 7,631評論 3 26
  • 以你想要別人對待你的方式對待別人 這是一個容易實踐的想法,以你想要別人對待你的方式對待別人。 首先意識到這是你自己...
    川哥在路上閱讀 158評論 0 0
  • 瓶子是我閱讀 271評論 0 2

友情鏈接更多精彩內(nèi)容