如何搭建饥荒服务器

服务器 0

《饥荒》是由Klei Entertainment开发的一款动作冒险类求生游戏,于2013年4月23日在PC上发行,2015年7月9日在iOS发布口袋版。游戏讲述的是关于一名科学家被恶魔传送到了一个神秘的世界,玩家将在这个异世界生存并逃出这个异世界的故事。《饥荒》大家会不会自己搭建服务器呢?

%20部署教程%20

在启动脚本有用到教程中创建的文件夹和文件名称,不建议更改

%20

用有sudo权限的用户登录到服务器

%201.%20安装依赖%20

先安装steam和饥荒服务器需要用到的依赖

%20
sudo%20add-apt-repository%20multiversesudo%20dpkg%20--add-architecture%20i386sudo%20apt%20updatesudo%20apt%20install%20libstdc++6%20libgcc1%20libcurl4-gnutls-dev:i386%20lib32z1
%202.%20安装%20SteamCMD%20

创建steamcmd文件夹

%20
mkdir%20~/steamcmdcd%20~/steamcmd
%20

下载%20steamcmd程序

%20
wget%20https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
%20

解压steamcmd_linux.tar.gz文件

%20
tar%20-xvzf%20steamcmd_linux.tar.gz
%20

启动steamcmd

%20
./steamcmd.sh
%203.%20安装饥荒联机版%20

如果上面没出啥问题的话,将会进入steam服务,接下来控制steam下载饥荒联机版

%20

前面的steam>%20不需要输入,只是说明你在steam服务中

%20
steam>%20force_install_dir%20../dontstarvetogether_dedicated_serversteam>%20login%20anonymoussteam>%20app_update%20343050%20validatesteam>%20quit
%20

app_update%20343050%20validate就是去steam中下载饥荒联机服务器的命令,需要等待一会,当执行完成后输入quit退出steam服务

%204.%20创建服务器存档%20

在服务器上直接创建新地图的话后续配置会比较麻烦,一般都是在Windows上先创建地图,然后找到地图文件上传到服务器中。

%20

在Windows上打开《饥荒联机版》,在选单界面点击【创建游戏】对联机需要创建的世界进行配置,服务器模式选择【公共】,配置好密码,并勾选要使用的MOD

%20

%20

配置完成后,点击“生成世界”,等待世界创建完成,在进入选择人物界面后,就可以退出了

%20

%20

在服务器中创建存档的存放文件夹

%20
mkdir%20-p%20~/.klei/DoNotStarveTogether/Cluster_1
%20

在C://User/xxx/文档/klei/DoNotStarveTogether文件夹下,找到你刚才创建的存档,上传到/.klei/DoNotStarveTogether/Cluster_1这个文件夹里面,cluster_token.txt没有没关系,后面会创建。

%20

%20

在服务器的Cluster_1文件夹下创建文件cluster_token.txt,%20将服务器token保存到文件中

%20
vim%20cluster_token.txt#%20复制上面申请到的token到文件夹中pds-g开头的那个
%205.%20为自己添加管理员权限%20

创建管理员权限文件,复制klei%20ID到文件中

%20
vim%20adminlist.txt#%20复制ID到文件中之后保存
%206.%20为服务器订阅MOD%20

这里只是告诉服务器要订阅或者说要下载哪些MOD,是否在地图中启用MOD在其它文件中(后面会讲)

%20
cd%20/dontstarvetogether_dedicated_server/modsvim%20dedicated_server_mods_setup.lua
%20

%20

在文件最下面添加需要订阅的MOD,其中的数字是MOD的ID,可以在.klei/DoNotStarveTogether/Cluster_1/Master/modoverride.lua中查看

%20

%20

P.S .klei/DoNotStarveTogether/Cluster_1/Master/modoverride.lua就是这个地图的MOD配置,如果订阅了新MOD,一定要到这里添加配置,不然MOD不会生效。%20Caves中也有一个modoverride.lua文件,记得一起修改。

%207.%20编写启动脚本%20

回到根目录,创建boot.sh文件

%20
cd%20~vim%20boot.sh
%20

把下面的命令粘贴到boot.sh中

%20
!/bin/bashsteamcmd_dir="$HOME/steamcmd"install_dir="$HOME/dontstarvetogether_dedicated_server"cluster_name="Cluster_1"dontstarve_dir="$HOME/.klei/DoNotStarveTogether"function%20fail()%20{%20%20%20%20echo%20Error:%20"$@"%20>&2%20%20%20%20exit%201}function%20check_for_file()%20{%20%20%20%20%20if%20[%20!%20-e%20"$1"%20];%20then%20%20%20%20%20%20%20%20fail%20"Missing%20file:%20$1"%20%20%20%20fi}cd%20"$steamcmd_dir"%20||%20fail%20"Missing%20$steamcmd_dir%20directory!"check_for_file%20"steamcmd.sh"check_for_file%20"$dontstarve_dir/$cluster_name/cluster.ini"check_for_file%20"$dontstarve_dir/$cluster_name/cluster_token.txt"check_for_file%20"$dontstarve_dir/$cluster_name/Master/server.ini"check_for_file%20"$dontstarve_dir/$cluster_name/Caves/server.ini"check_for_file%20"$install_dir/bin"cd%20"$install_dir/bin"%20||%20failrun_shared=(./dontstarve_dedicated_server_nullrenderer)run_shared+=(-console)run_shared+=(-cluster%20"$cluster_name")run_shared+=(-monitor_parent_process%20$$)run_shared+=(-shard)"${run_shared[@]}"%20Caves%20|%20sed%20's/^/Caves:%20/'%20&"${run_shared[@]}"%20Master%20|%20sed%20's/^/Master:%20/'
%20

脚本中默认启动的是32位服务器,如果想启动64位服务(会用更大的内存,相对也会更流畅一些),只需要更改这两行

%20

%20

改成下面这样之后保存就可以了

%20
cd%20"$install_dir/bin64"%20||%20failrun_shared=(./dontstarve_dedicated_server_nullrenderer_x64)
%20

赋予boot.sh执行权限

%20
sudo%20chmod%20u+x%20boot.sh
%20

到这里,饥荒服务器的部署就全部完成了,接下来还要开放防火墙端口,不然别人是访问不进来的。

%20

%20开放端口%20

具体需要开放的端口可以查看存档文件夹下的这几个文件

%20
#%20饥荒端口,UDP协议~/.klei/DoNotStarveTogether/Cluster_1/cluster.ini%20中的%20master_port。~/.klei/DoNotStarveTogether/Cluster_1/Master/server.ini%20中的%20server_port。~/.klei/DoNotStarveTogether/Cluster_1/Caves/server.ini%20中的%20server_port#%20steam端口,TCP+UDP协议~/.klei/DoNotStarveTogether/Cluster_1/Caves/server.ini%20中的%20master_server_port、authentication_port
%20

注意开放的协议,饥荒端口都是UDP协议,steam的保险起见两种协议都开。

%20

%20启动饥荒服务器%20

到根目录,也就是boot.sh所在的目录,运行下面的代码

%20
nohup%20./boot.sh>root.log%202>&1%20&
%20

执行后饥荒服务器会在后台运行,可以通过下面这个命令查看输出的日志

%20
tail%20-f%20root.log
%20

能看到下面这样的输出就是启动成功了

%20

%20关闭服务器%20

因为是后台运行,关闭服务器需要先找到服务器的PID,然后用kill命令杀死

%20
ps%20-ef%20|%20grep%20donkill%201306308
%20

%20

要kill的PID是上面图片中圈出来的,服务器在退出会执行一些方法,建议不要用kill%20-9强制杀死

%20

%20服务器选择%20

15+MOD的饥荒服务启动后会占用1.2GB左右的内存,64位服务的话差不多1.8GB,双核CPU常驻15%左右的使用率,4~6人一起玩没啥压力。

%20

所以一台1核2G的服务器基本够用,比较推荐2核4G,可以加载更多MOD,玩到后期也不会太卡

%20

弹性云服务器,灵活管理资产,拥有强大的实时可视化监控、一键自主重装等功能,保障业务系统高效运行。并且可以按需选配,资源弹性扩容;分钟级的交付周期将提供给您实时的业务响应能力;云快照助力轻松备份及拓展;控制台可轻松查看并使用,操作指引简洁易懂。主要的优势在于:

%20

一、稳定

%20

单实例可用性达%2099.975%,多可用区多实例可用性达%2099.995%,云盘可靠性达9个9,可实现宕机自动迁移、快照备份

%20

二、弹性

%20

支持分钟级别创建千台实例,多种弹性付费选择更贴合业务现状,同时带来弹性的扩容能力,实例与带宽均可随时升降配,云盘可扩容

%20

三、安全

%20

提供DDoS防护、木马查杀等服务,提供支持可信计算、硬件加密、虚拟化加密计算的实例,通过多方国际安全认证,云服务器云盘支持数据加密功能

%20

四、高性能

%20

单实例最高可选256vCPU%20,内存6TB,主频3.8GHz,性能最高可达2400万PPS,80Gbps,100万IOPS,1600万session,网络时延20us+

%20

%20五、易用性

%20

丰富的操作系统和应用软件,通过镜像可一键简单部署,同一镜像可在多台云服务器中快速复制环境,轻松扩展

%20

六、可拓展性

%20

弹性云服务器可与德迅云安全产品无缝衔接,可持续为业务发展提供完整的计算、存储、安全等解决方案

%20

除此之外,弹性云服务器主要的功能在于:%20一、丰富的实例类型和多种存储选择

%20

面向各类企业应用场景,弹性云服务器将提供超过100款高性能规格选择。按实际业务场景可选择不同配置实例搭配1到16块不同容量的存储磁盘。

%20

1.计算架构

%20

提供X86、ARM计算架构,在选型时可以选择适合的架构,充分贴合业务场景。

%20

2.实例规格

%20

每种计算架构下提供多种面向不同场景的实例类型和规格,在满足需求的同时提供极致的性价比。

%20

3.存储类型

%20

按实际业务场景可选择不同配置实例,搭配1到65块不同容量的存储磁盘。云盘、本地盘提供多样选择的同时,云盘将提供给最高9个9的可靠性。

%20

二、VPC专有网络

基于德迅云构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离,只能通过对外映射的IP(弹性公网IP和NAT IP)互联。由于使用隧道封装技术对云服务器的IP报文进行封装,所以云服务器的数据链路层(二层MAC地址)信息不会进入物理网络,实现了不同云服务器间二层网络隔离,因此也实现了不同专有网络间二层网络隔离。专有网络内的云服务器使用安全组防火墙进行三层网络访问控制。

1.访问控制

灵活的访问控制规则。 满足政务、金融的安全隔离规范。

2.软件定义网络

按需配置网络设置,软件定义网络。管理操作实时生效。

3.丰富的网络连接方式

支持软件VPN;支持专线连接。

三、快照与多种镜像类型

快照与多种镜像类型,支持业务快速部署。

1.快照安全系数更高

每个云盘有多个快照额度,为数据提供更长的保护周期和更细的保护粒度。

2.自动快照策略

实现无人值守的自动化数据备份,减轻运维部门工作负担。

3.快照灵活易用

性能影响小,用户业务无感知,随时支持数据快照备份。支持秒级创建/回滚的极速快照和快照一致性组。

4.镜像种类丰富

公共镜像、镜像市场、自定义镜像、社区镜像满足各类型用户对于应用环境的快速部署、灵活管理的需求。

5.实例规格

每种计算架构下提供多种面向不同场景的实例类型和规格,在满足需求的同时提供极致的性价比。

也许您对下面的内容还感兴趣: