为了愉快)的玩饥荒.

你需要一个服务器

这个不用说了. 我这里用的是阿里云,Ubuntu 16.04.

配置服务器

下载&安装

  • ssh 连接你的服务器, 接下来会有这样的提示,就是在本地加入秘钥
1
2
3
The authenticity of host ‘120.77.209.6 (120.77.209.6)’ can’t be established.
ECDSA key fingerprint is SHA256:/C8zCZOLXgZJ+QAWjWFKAZx+BS/LlX68jBmoAPaODIE.
Are you sure you want to continue connecting (yes/no)?

输入 yes.然后依次输入下面的命令,

  • apt-get update //更新一下
  • apt-get install screen vim libgcc1 libcurl4-gnutls-dev:i386 //安装 vim ,sreen,还有32位的库
  • mkdir ~/steamcmd
  • cd ~/steamcmd
  • wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz //下载steamcmd,这个相当于本地的steam
  • tar -xvzf steamcmd_linux.tar.gz //解压
  • ./steamcmd.sh
  • login anonymous //匿名登入
  • app_update 343050 validate //下载饥荒|更新
  • quit //退出steamcmd

配置文件

  • cd ~/bin//没有的话,就mkdir bin
  • export PATH=~/bin:"$PATH"
  • vim startDST
1
2
3
#!/bin/bash
cd Steam/steamapps/common/Don\'t\ Starve\ Together\ Dedicated\ Server/bin/
screen -S "DST Server"./dontstarve_dedicated_server_nullrenderer

//这里建一个脚本简化一下命令,不然每次都要输入一大行

  • chmod 775 startDST
  • 试运行 startDST

接下来会出现这样的报错,此时服务并没有启动 一大堆英文,总之就是说缺少令牌文件(klei认证用户身份的秘钥,后面添加管理员也要用到)

获取令牌

  1. 打开DST,点击右下角的account

  2. 打开以后点击Generate Server Token. 好丑的马赛克== 复制到Cluster_taken.txt里,放在cluster_1文件夹里 。

配置 cluster.ini &server.ini

  • cluster.ini
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
[GMEPLAY]
game_mode = survival
max_players = 6
pvp = false
pause_when_empty = true
[NETWORK]
cluster_description =
cluster_name =
cluster_intention = cooperative
cluster_password =
autosaver_enabled = true
enable_vote_kick = true
[MISC]
console_enabled = true
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10889
cluster_key = supersecretkey

放在同上的文件夹。 详细解释参考klei的论坛

  • server.ini 这个文件很多都是重写cluster.ini里内容,文件放在.klei/DoNotStarveTogether/Cluster_1/Master里 大功告成 这时再次启动服务应该就一切正常了(’・ω・’) ,服务器列表可以查看自己的服务器 不加mod也没关系,我觉得加了mod更好玩一些,特别是那个地上洞穴.这样也省了再开一个存档作为洞穴的配置了.

使用mod

直接暴力解决好了,用最简单的方法.

  • 查找mod的id,进入网页steam的饥荒创意工坊,点进去需要的mod,然后然后http://steamcommunity.com/sharedfiles/filedetails/?id=635020562id=xxxxxxx就是mod的id了.

  • 进入到 Steam/steamapps/common/Don’t Starve Together Dedicated Server/mods 将下载好的几个mod上传到服务器.

  • 配置modsettings.lua.ForceEnableMod("workshop-666132449")用这样的形式强制启动mod.

常用的lua命令

进入游戏后,先按"~"键,再按crtl键,旁边出现remote字符时,就可以输入服务端命令了.

  • AllPlayers[number]:PushEvent(‘respawnfromghost’) —复活,超级好用..要不是这个命令,游戏都不知道重置几次了.
  • c_rollback(X) 回档到第X个存档,如果没有自己手动保存的话就是第几天
  • c_announce(“内容”)
  • c_shutdown(true|false) —true保存并关闭当前世界; false不保存直接关闭当前世界
  • c_connect("", 10999, “000”) —IP ,端口,密码 服务器直连,也可以在服务器列表里搜索进入.

reference

link1

link2

link3