怎样搭建饥荒服务器

  金牌会员 | 2024-10-5 03:28:11 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 857|帖子 857|积分 2571

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

部署教程

在启动脚本有用到教程中创建的文件夹和文件名称,不建议更改
用有sudo权限的用户登录到服务器
1. 安装依赖

先安装steam和饥荒服务器需要用到的依赖
  1. sudo add-apt-repository multiverse
  2. sudo dpkg --add-architecture i386
  3. sudo apt update
  4. sudo apt install libstdc++6 libgcc1 libcurl4-gnutls-dev:i386 lib32z1
复制代码
2. 安装 SteamCMD

创建steamcmd文件夹
  1. mkdir ~/steamcmd
  2. cd ~/steamcmd
复制代码
下载 steamcmd步伐
  1. wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
复制代码
解压steamcmd_linux.tar.gz文件
  1. tar -xvzf steamcmd_linux.tar.gz
复制代码
启动steamcmd
  1. ./steamcmd.sh
复制代码
3. 安装饥荒联机版

如果上面没出啥题目的话,将会进入steam服务,接下来控制steam下载饥荒联机版
前面的steam> 不需要输入,只是阐明你在steam服务中
  1. steam> force_install_dir ../dontstarvetogether_dedicated_server
  2. steam> login anonymous
  3. steam> app_update 343050 validate
  4. steam> quit
复制代码
app_update 343050 validate就是去steam中下载饥荒联机服务器的命令,需要等待一会,当实行完成后输入quit退出steam服务
4. 创建服务器存档

在服务器上直接创建新舆图的话后续配置会比力贫苦,一样平常都是在Windows上先创建舆图,然后找到舆图文件上传到服务器中。
在Windows上打开《饥荒联机版》,在选单界面点击【创建游戏】对联机需要创建的世界进行配置,服务器模式选择【公共】,配置好暗码,并勾选要使用的MOD

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

在服务器中创建存档的存放文件夹
  1. mkdir -p ~/.klei/DoNotStarveTogether/Cluster_1
复制代码
在C://User/xxx/文档/klei/DoNotStarveTogether文件夹下,找到你刚才创建的存档,上传到/.klei/DoNotStarveTogether/Cluster_1这个文件夹内里,cluster_token.txt没有没关系,后面会创建。

在服务器的Cluster_1文件夹下创建文件cluster_token.txt, 将服务器token保存到文件中
  1. vim cluster_token.txt
  2. # 复制上面申请到的token到文件夹中pds-g开头的那个
复制代码
5. 为自己添加管理员权限

创建管理员权限文件,复制klei ID到文件中
  1. vim adminlist.txt
  2. # 复制ID到文件中之后保存
复制代码
6. 为服务器订阅MOD

这里只是告诉服务器要订阅或者说要下载哪些MOD,是否在舆图中启用MOD在别的文件中(后面会讲)
  1. cd /dontstarvetogether_dedicated_server/mods
  2. vim dedicated_server_mods_setup.lua
复制代码

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

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

回到根目次,创建boot.sh文件
  1. cd ~
  2. vim boot.sh
复制代码
把下面的命令粘贴到boot.sh中
  1. !/bin/bash
  2. steamcmd_dir="$HOME/steamcmd"
  3. install_dir="$HOME/dontstarvetogether_dedicated_server"
  4. cluster_name="Cluster_1"
  5. dontstarve_dir="$HOME/.klei/DoNotStarveTogether"
  6. function fail() {
  7.     echo Error: "$@" >&2
  8.     exit 1
  9. }
  10. function check_for_file() {
  11.     if [ ! -e "$1" ]; then
  12.         fail "Missing file: $1"
  13.     fi
  14. }
  15. cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"
  16. check_for_file "steamcmd.sh"
  17. check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
  18. check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
  19. check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
  20. check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"
  21. check_for_file "$install_dir/bin"
  22. cd "$install_dir/bin" || fail
  23. run_shared=(./dontstarve_dedicated_server_nullrenderer)
  24. run_shared+=(-console)
  25. run_shared+=(-cluster "$cluster_name")
  26. run_shared+=(-monitor_parent_process $$)
  27. run_shared+=(-shard)
  28. "${run_shared[@]}" Caves | sed 's/^/Caves: /' &
  29. "${run_shared[@]}" Master | sed 's/^/Master: /'
复制代码
脚本中默认启动的是32位服务器,如果想启动64位服务(会用更大的内存,相对也会更流畅一些),只需要更改这两行

改成下面如许之后保存就可以了
  1. cd "$install_dir/bin64" || fail
  2. run_shared=(./dontstarve_dedicated_server_nullrenderer_x64)
复制代码
赋予boot.sh实行权限
  1. sudo chmod u+x boot.sh
复制代码
到这里,饥荒服务器的部署就全部完成了,接下来还要开放防火墙端口,不然别人是访问不进来的。

开放端口

具体需要开放的端口可以查看存档文件夹下的这几个文件
  1. # 饥荒端口,UDP协议
  2. ~/.klei/DoNotStarveTogether/Cluster_1/cluster.ini 中的 master_port。
  3. ~/.klei/DoNotStarveTogether/Cluster_1/Master/server.ini 中的 server_port。
  4. ~/.klei/DoNotStarveTogether/Cluster_1/Caves/server.ini 中的 server_port
  5. # steam端口,TCP+UDP协议
  6. ~/.klei/DoNotStarveTogether/Cluster_1/Caves/server.ini 中的 master_server_port、authentication_port
复制代码
注意开放的协议,饥荒端口都是UDP协议,steam的保险起见两种协议都开。

启动饥荒服务器

到根目次,也就是boot.sh所在的目次,运行下面的代码
  1. nohup ./boot.sh>root.log 2>&1 &
复制代码
实行后饥荒服务器会在后台运行,可以通过下面这个命令查看输出的日志
  1. tail -f root.log
复制代码
能看到下面如许的输出就是启动乐成了

关闭服务器

由于是后台运行,关闭服务器需要先找到服务器的PID,然后用kill命令杀死
  1. ps -ef | grep don
  2. kill 1306308
复制代码

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

服务器选择

15+MOD的饥荒服务启动后会占用1.2GB左右的内存,64位服务的话差不多1.8GB,双核CPU常驻15%左右的使用率,4~6人一起玩没啥压力。
所以一台1核2G的服务器基本够用,比力保举2核4G,可以加载更多MOD,玩到后期也不会太卡
弹性云服务器,机动管理资产,拥有强大的实时可视化监控、一键自主重装等功能,保障业务系统高效运行。而且可以按需选配,资源弹性扩容;分钟级的交付周期将提供给您实时的业务响应本事;云快照助力轻松备份及拓展;控制台可轻松查看并使用,操作指引简洁易懂。重要的优势在于:
一、稳定
单实例可用性达 99.975%,多可用区多实例可用性达 99.995%,云盘可靠性达9个9,可实现宕机自动迁移、快照备份
二、弹性
支持分钟级别创建千台实例,多种弹性付费选择更贴合业务现状,同时带来弹性的扩容本事,实例与带宽均可随时起落配,云盘可扩容
三、安全
提供DDoS防护、木马查杀等服务,提供支持可信盘算、硬件加密、假造化加密盘算的实例,通过多方国际安全认证,云服务器云盘支持数据加密功能
四、高性能
单实例最高可选256vCPU ,内存6TB,主频3.8GHz,性能最高可达2400万PPS,80Gbps,100万IOPS,1600万session,网络时延20us+

五、易用性
丰富的操作系统和应用软件,通过镜像可一键简单部署,同一镜像可在多台云服务器中快速复制环境,轻松扩展
六、可拓展性
弹性云服务器可与德迅云安全产品无缝衔接,可持续为业务发展提供完整的盘算、存储、安全等办理方案
除此之外,弹性云服务器重要的功能在于:
一、丰富的实例类型和多种存储选择
面向各类企业应用场景,弹性云服务器将提供超过100款高性能规格选择。按实际业务场景可选择差别配置实例搭配1到16块差别容量的存储磁盘。
1.盘算架构
提供X86、ARM盘算架构,在选型时可以选择适合的架构,充实贴合业务场景。
2.实例规格
每种盘算架构下提供多种面向差别场景的实例类型和规格,在满足需求的同时提供极致的性价比。
3.存储类型
按实际业务场景可选择差别配置实例,搭配1到65块差别容量的存储磁盘。云盘、本地皮提供多样选择的同时,云盘将提供给最高9个9的可靠性。

二、VPC专有网络
基于德迅云构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离,只能通过对外映射的IP(弹性公网IP和NAT IP)互联。由于使用隧道封装技能对云服务器的IP报文进行封装,所以云服务器的数据链路层(二层MAC地址)信息不会进入物理网络,实现了差别云服务器间二层网络隔离,因此也实现了差别专有网络间二层网络隔离。专有网络内的云服务器使用安全组防火墙进行三层网络访问控制。
1.访问控制
机动的访问控制规则。 满足政务、金融的安全隔离规范。
2.软件界说网络
按需配置网络设置,软件界说网络。管理操作实时生效。
3.丰富的网络连接方式
支持软件VPN;支持专线连接。
三、快照与多种镜像类型
快照与多种镜像类型,支持业务快速部署。
1.快照安全系数更高
每个云盘有多个快照额度,为数据提供更长的保护周期和更细的保护粒度。
2.自动快照计谋
实现无人值守的自动化数据备份,减轻运维部门工作负担。
3.快照机动易用
性能影响小,用户业务无感知,随时支持数据快照备份。支持秒级创建/回滚的极速快照和快照同等性组。
4.镜像种类丰富
公共镜像、镜像市场、自界说镜像、社区镜像满足各类型用户对于应用环境的快速部署、机动管理的需求。
5.实例规格
每种盘算架构下提供多种面向差别场景的实例类型和规格,在满足需求的同时提供极致的性价比。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表