饥荒云服务器搭建(附双服务器搭建)

一、配置服务器

1.购买服务器

  • 新用户打折折扣大,下面是链接

阿里云:

高校计划免费试用:高校学生免费算力 - 飞天加速计划 (aliyun.com)

新用户:开发者成长计划 (aliyun.com)

腾讯云:

学生专属:学生云服务器学生云主机学生云数据库_云+校园特惠套餐 - 腾讯云 (tencent.com)

新用户:精选爆品抢购云服务器秒杀企业上云场景推荐-腾讯云 (tencent.com)

华为云:

0元试用:免费云服务器试用云服务器免费低价云虚拟主机VPS个人免费云服务器-华为云 (huaweicloud.com)

限时秒杀:特惠专区云服务器云主机_企业上云-华为云 (huaweicloud.com)

 

  • 根据自己需求购买云服务器

一般不加太多mod,2核2g1M就能满足2-4人联机需求,如果地上地洞都部署在一个服务器上,需要2核,如果只部署地上,1核就能带动;要加比较多mod时,可以考虑买内存大的;宽带的话1M-4人,3M-8人左右,看自己需求。

 

  • 我这边选择购买的是华为云的T6云服务器

image-20220715100221718

镜像我选择的是CentOS 7.7

image-20220715100919611

2.进入华为云控制台

我这里买的弹性云服务器

image-20220715101547453

  • 修改实例密码后重启

image-20220715103024843

image-20220715103128886

  • 设置安全组

image-20220715110938716

image-20220715111016533

放行饥荒地上和地洞的默认端口:地上:10999,地洞:10998

image-20220715111250194

image-20220716100804550

出方向,华为云服务器购买了自动配置,阿里云是没有自动配置的,可以自己加一下

image-20220715112434590

 

3.远程连接

使用CloudShell连接或者Xshell连接都可以

  • CloudShell

image-20220715104533432

 

image-20220715103834101

  • Xshell

image-20220715104230375

image-20220715104340023

二.游戏安装

1.streamcmd安装

  • 安装依赖

yum install glibc.i686 libstdc++.i686 libcurl.i686 --setopt=protected_multilib=false 
#安装依赖库(针对centos64位系统,设置多库设置多库保护关闭)

image-20220716102021973

  • 安装screen 工具,以实现洞穴 / 地上切换

yum install screen
  • 安装steamcmd

mkdir steamcmd   #建立一个新文件夹
cd steamcmd   #进入创建好的文件夹
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz   #下载相应的安装包
tar -xvzf steamcmd_linux.tar.gz   #解压
./steamcmd.sh   #执行命令

执行./steamcmd.sh 未成功可能没有安装 32 位运行库,执行 yum install xulrunner.i686

出现下图表示安装成功

image-20220716102516202

2.饥荒服务器安装

Steam>login anonymous   #匿名登录,第一次登录可能需要重试好几次
Steam>app_update 343050 validate   #饥荒服务端安装,安装失败的话中断重试

出现下图表示安装成功

image-20220716110208907

Ctrl+c或者exit退出

  • 添加 centos 下缺少的一个库的代替,并试运行

    cd ~   #返回根目录

    cd Steam/steamapps/common/"Don't Starve Together Dedicated Server"/bin   #注意加上转义引号

    ln -s /usr/lib/libcurl.so.4 /usr/lib/libcurl-gnutls.so.4   #添加缺失的依赖

    ./dontstarve_dedicated_server_nullrenderer   #试运行

出现下图表示试运行成功

image-20220716110534805

在Xshell新建一个文件传输

image-20220716110943276

登录

可以在文件传输看到创建了一个存档Cluster_1,一般在库>文档>Klei>DoNotStarveTogether>目录下

三、游戏文件配置

1.打开饥荒创建一个存档或者使用老存档

在你的电脑C:\Users<电脑用户id>\Documents\Klei\DoNotStarveTogether<id>下,可以找到你的饥荒的存档,在饥荒你创建的世界列表里面,顺数第几个存档,该目录下存档后面数字就是几,也可以直接查看存档在电脑的位置,然后跳转。比如我这里就有两个存档,下面我将把Cluster_1这个存档部署在云服务器上

image-20220716111856251

2.获取cluster_token

为确保游戏服务器能 24 小时在线,饥荒桌面客户端的自建本地服务器密钥需要更换为官方长期有效版。

  • 来到科雷官网:Klei Account,登录

  • 复制你的Klei用户ID,并在Cluster_1这个存档目录下新建一个adminlist.txt文本文档,将你的ID复制进去,如果需要添加管理员,只需要把他的ID换行复制进去就行

image-20220716112605234

  • 科雷官网点击头部导航栏的游戏选项,新建一个游戏服务器

image-20220716112921806

 

image-20220716113053069

  • 添加之后复制服务器代码

image-20220716113434954

  • 将复制的代码替换Cluster_1目录下的cluster_token.txt内容,没有这个文件的话新建一个

3.上传存档

  • 把本地的Cluster_1存档上传覆盖试运行时生成的存档

4.添加mod

  • 进入饥荒,进入mod,服务器mod,右下角更多信息可以在网址栏找到该mod的id,记录并保存所有你添加的mod的id。

  • 进入服务器Cluster_1存档下的Master和Caves文件夹下,找到modoverrides.lua,按下面格式添加如下代码,强制加载mod,数字表示你要加的mod的id,把你要加的mod都放进去。

return{
  ...
#你要添加的mod
["workshop-2115943953"]={ enabled=true },
["workshop-398109522"]={ enabled=true },
["workshop-2565528744"]={ enabled=true }
}
 
  • 进入服务器/root/Steam/steamapps/common/Don't Starve Together Dedicated Server/mods目录下,编辑dedicated_server_mods_setup.lua文件,按如下格式添加mod

--There are two functions that will install mods, ServerModSetup and ServerModCollectionSetup. Put the calls to the functions in this file and they will be executed on boot.

--ServerModSetup takes a string of a specific mod's Workshop id. It will download and install the mod to your mod directory on boot.
--The Workshop id can be found at the end of the url to the mod's Workshop page.
--Example: http://steamcommunity.com/sharedfiles/filedetails/?id=350811795
--ServerModSetup("350811795")
#你要添加的mod
ServerModSetup("2505341606")
ServerModSetup("2115943953")
ServerModSetup("661253977")
...
...

四、启动

1.下载tmux,方便挂后台

  • 控制台输入以下代码下载

[root@ecs-bin ~]# sudo yum install tmux
  • 下载完成后新建一个会话,命名为Master

[root@ecs-bin ~]# tmux new -s Master
  • 新建会话会直接进入这个会话

控制台底下绿色背景显示[Master] 0:root@ecs-bin:~*则表示进入这个会话了

在这个会话下进入root/Steam/steamapps/common/"Don't Starve Together Dedicated Server"/bin目录

[root@ecs-bin ~]# cd Steam/steamapps/common/"Don't Starve Together Dedicated Server"/bin
  • 启动地上世界

[root@ecs-bin bin]# ./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /root/.klei -conf_dir DoNotStarveTogether -cluster Cluster_1 -shard Master

显示Sim paused即启动成功

  • 暂时挂起当前会话——同时按住Ctrl+B,再按D键

  • 重连会话——tmux attach -t Master

  • Ctrl+B,再按D暂时挂起Master会话后,同样的方法创建一个Caves用于启动地洞世界

[root@ecs-bin ~]# tmux new -s Caves  #创建Caves会话
[root@ecs-bin ~]# cd Steam/steamapps/common/"Don't Starve Together Dedicated Server"/bin   #进入bin目录
[root@ecs-bin bin]# ./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /root/.klei -conf_dir DoNotStarveTogether -cluster Cluster_1 -shard Caves   #启动地洞世界

 

五、多服务器部署

1.配置另一个服务器,步骤跟前面一样

多服务器部署其实就是一个服务器运行地上,一个服务器运行地洞,你甚至可以实现多重世界(需要添加一个mod,id放这:1438233888)

2.设置地上和地洞的配置文件

image-20220716172747770

3.去主世界服务器的安全组打开连接key的端口

注意:协议一定要选UDP,不然地洞连接不上地上

image-20220716173008544

4.先启动地上,再启动地洞

出现下图表示建立连接成功

image-20220716173355811

 
 
posted @ 2022-07-16 18:27  彬不冰  阅读(4241)  评论(1编辑  收藏  举报