Techeek's Studio.

如何在Ubuntu上搭建饥荒服务器

字数统计: 1.5k阅读时长: 5 min
2018/08/14

饥荒(英语:Don’t Starve,直译为别饿死)是一款由加拿大公司Klei Entertainment开发的开放世界生存游戏。这个游戏围绕在一位名叫Wilson的科学家,他发现自己身处黑暗阴暗的世界,必须尽可能长时间生存。为此,玩家必须保持Wilson的健康、食物和精神稳定来避免了各种超现实和超自然的敌人杀死和吞噬他。

《饥荒》是Klei第一次尝试生存题材。受到Minecraft的影响,这个游戏也是将玩家放置到游戏世界中,并未给予玩家太多的指示以及特定的生存目标。该游戏在游戏评论家受普遍好评,包括其美术风格、音乐以及玩家死亡的多样性。

本文将介绍如何在Ubuntu服务器上搭建饥荒服务器,快来学习下吧,和你的小伙伴一起玩耍吧!

PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。

开始之前

  1. 您将需要一个Steam帐户和一个饥荒的客户端。
  2. 您需要在CVM上学会安装SteamCMD运行环境,可以参考这里进行安装。

注意

本文需要一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

准备

您需要打开相关的防火墙设置,如果您用的是腾讯云的CVM服务器,您可以直接在腾讯云控制台中的安全组进行设置。否则请按照本文教程进行设置。

1
sudo iptables -I INPUT 7 -p udp --sport 10999 --dport 1025:65355 -j ACCEPT

输入上述规则后,再次运行iptables-persistent。系统将询问您是否要保存当前的IPv4和IPv6规则。请在ipv4回答yesipv6回答no

1
sudo dpkg-reconfigure iptables-persistent

安装一些额外的32位软件包:

1
sudo apt-get install libcurl4-gnutls-dev:i386

安装饥荒

确保您在~/Steam目录中,然后访问Steam

1
cd ~/Steam && ./steamcmd.sh

在SteamCMD提示符下,匿名登录:

1
login anonymous

或者使用您的Steam用户名登录:

1
login example_user

安装饥荒服务到Steam用户的主目录:

1
2
force_install_dir ./dstserver
app_update 343050 validate

这可能需要一些时间,请耐心等待。下载完成后,您应该看到以下输出:

1
2
3
Success! App '343050' fully installed.

Steam>

退出SteamCMD。

1
quit

注意

要更新饥荒,请再次运行上述4个命令。

配置饥荒

在配置DST之前,应至少启动一次以生成其配置文件:

1
2
cd ~/Steam/dstserver/bin
./dontstarve_dedicated_server_nullrenderer

看到此输出后,服务器已成功启动:

1
2
3
Telling Client our new session identifier: XXXXXXXXXXXXXXXX
ModIndex: Load sequence finished successfully.
Reset() returning

您将看到与此类似的错误:

1
2
3
4
[200] Account Failed (6): "E_INVALID_TOKEN"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! Your Server Will Not Start !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

这是正常的,我们将在下一步中解决这个问题。

Control + C退出服务器。返回到linux命令提示符。

~/.klei/DoNotStarveTogether/为您的饥荒服务器创建一个设置文件。下面是一个示例配置文件。您可以使用它并根据需要进行修改。

~/.klei/DoNotStarveTogether/settings.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[network]
default_server_name = Your unique server name
default_server_description = A very nice server description
server_port = 10999
server_password = password
max_players = 1 .. 64
pvp = true | false
game_mode = endless | survival | wilderness
enable_autosaver = true | false
tick_rate = 30
connection_timeout = 8000
server_save_slot = 1
enable_vote_kick = true | false
pause_when_empty = true | false

[account]
dedicated_lan_server = false


[STEAM]
DISABLECLOUD = true


[MISC]
CONSOLE_ENABLED = true
autocompiler_enabled = true

使用以下内容为饥荒创建启动脚本:

~/startdst.sh

1
2
3
4
#!/bin/sh

cd ./Steam/dstserver/bin
screen -S "Don't Starve Together Server" ./dontstarve_dedicated_server_nullrenderer

使脚本可执行:

1
chmod +x ~/startdst.sh

获取您的身份验证令牌

您需要在个人计算机上安装Do not Starve Together才能获得令牌。

在您的计算机上打开游戏。到达主菜单后,按键盘上的(`)键。您将看到与此类似的屏幕:

夏令时控制台。

注意

如果您以前从未玩过游戏,首先需要点击“ Play”并创建一个帐户。

将以下字符串复制到控制台底部的框中:

1
TheNet:GenerateServerToken()

它应该如下所示:带命令的DST控制台

完成此操作后,按键盘上的ENTER键。控制台将关闭,您可以退出游戏。根据您的操作系统,找到在以下某个目录中生成的文件。

在Windows上,该文件位于:

1
%USERPROFILE%/My Documents/Klei/DoNotStarveTogether/server_token.txt

在Linux上:

1
~/.klei/DoNotStarveTogether/server_token.txt

在Mac OS X上:

1
~/Documents/Klei/DoNotStarveTogether/server_token.txt

此文件是您的服务器令牌。不要与任何人分享

将令牌文件上传到您的CVM。如果您运行的是OS X或Linux,则可以使用以下命令替换您的IP地址和用户名:

1
scp ~/Documents/Klei/DoNotStarveTogether/server_token.txt user@12.34.56.78:~/.klei/DoNotStarveTogether/

启动服务器

现在您的服务器已安装并配置,可以通过startdst.shsteam用户的主目录运行脚本来启动它。

1
cd ~/ && ./startdst.sh

警告

除非要停止DST,否则请勿在控制台中按Control + C键。

要从运行服务器控制台的屏幕会话中分离,请连续按下以下两个组合键:

Control + A
Control + D.

要重新启动控制台,请键入以下命令:

1
screen -r

要停止服务器,带回DST控制台,然后按Ctrl + C结束服务器。

载入服务器

DST服务器上有用户

现在,您拥有自己的饥荒服务器,供您和您的朋友使用。玩家可以通过打开服务器列表并查找服务器名称,单击“ 连接 ”以及输入密码来访问服务器。

你现在可以和你的朋友在服务器里玩饥荒啦!怎么样,简单吗?感觉去搭建你的饥荒服务器吧!更多Linux教程请前往腾讯云+社区学习更多知识。


参考文献:《Install Don’t Starve Together Game Server on Ubuntu 14.04 》

CATALOG
  1. 1. 开始之前
  2. 2. 准备
  3. 3. 安装饥荒
  4. 4. 配置饥荒
  5. 5. 获取您的身份验证令牌
  6. 6. 启动服务器
  7. 7. 载入服务器