饥荒linux服务器搭建

本文详细介绍了如何在Linux CentOS7系统上搭建饥荒联机独立服务器,包括安装steamcmd,下载饥荒服务器软件,配置服务器,创建世界,添加mods,以及更新和重启服务器的步骤。过程中涉及的文件路径、命令行操作和关键配置均被详细列出,帮助玩家顺利建立自己的饥荒游戏服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前置
1.安装steamcmd和饥荒服务器软件
# 安装依赖
yum -y install glibc.i686 libstdc++.i686 screen libcurl.i686

# 创建用户和目录
useradd steam
su - steam
mkdir -p ./module/software
mkdir -p ./module/software
cd module
mkdir steamcmd_linux
cd module/software/

# 下载解压steamcmd
[steam@linux1 software]$ wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
[steam@linux1 software]$ tar -zxvf steamcmd_linux.tar.gz -C ../steamcmd_linux/

# 启动steamcmd
[steam@linux1 steamcmd_linux]$ pwd
/home/steam/module/steamcmd_linux
[steam@linux1 steamcmd_linux]$ ./steamcmd.sh 
# 设置目录,安装饥荒服务器
Steam>force_install_dir /home/steam/module/DoNotStarveTogether
# 登录
Steam>login anonymous
Steam>app_update 343050 validate

# 退出
Steam>quit
2.解决问题
ln -s /usr/lib/libcurl.so.4 /home/steam/module/DoNotStarveTogether/bin/lib32/libcurl-gnutls.so.4
3.配置服务器
# 创建世界目录
[steam@linux1 DoNotStarveTogether]$ pwd
/home/steam/module/DoNotStarveTogether
[steam@linux1 DoNotStarveTogether]$ mkdir -p allworlds/world1

# 创建启动脚本
[steam@linux1 bin]$ pwd
/home/steam/module/DoNotStarveTogether/bin
[steam@linux1 bin]$ echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam/module/DoNotStarveTogether -conf_dir allworlds -cluster world1 -shard Master" > master_start.sh
[steam@linux1 bin]$ echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/steam/module/DoNotStarveTogether -conf_dir allworlds -cluster world1 -shard Caves" > cave_start.sh
[steam@linux1 bin]$ chmod +x master_start.sh cave_start.sh
4.创建饥荒世界

进入饥荒联机版正常创建地上和洞穴世界,可以添加mod,然后生成世界进入选择人物界面后退出。如图片所示我创建了一个名为社会主义接班人的世界,点击如图所示图标进入世界对应的文件夹

在这里插入图片描述

  • 世界对应文件夹

在这里插入图片描述

  • 创建服务器并复制用户ID和服务器ID,用户ID用于添加饥荒世界中的管理员

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 用户ID和服务器ID

在这里插入图片描述

  • 在饥荒世界文件夹中创建adminlist.txt文件和cluster_token.txt文件,上面复制的用户ID复制到adminlist.txt中,将服务器ID复制到cluster_token.txt

在这里插入图片描述

  • 将自己电脑上的饥荒世界文件上传的服务器上/home/steam/module/DoNotStarveTogether/allworlds/world1,可以使用sftp等上传工具上传到服务器上

在这里插入图片描述

5.服务器添加mods

找到Master或者Caves目录下的modoverrides.lua文件,形如workshop-xxxxxxxx,workshop-后面的纯数字串就是你创建世界时开启的mod,将这些数字串全部复制出来写成ServerModSetup("xxxxxxx")的形式,存入服务器上的/home/steam/module/DoNotStarveTogether/mods/dedicated_server_mods_setup.lua文件中

在这里插入图片描述

在这里插入图片描述

  • 找到mod的数据文件上传到服务器上(以下mod文件为本人开启的mod)
# 这些mod在Steam\steamapps\common\Don't Starve Together\mods下都能找到,
  没有必要一个一个找,将所有以workshop-开头的文件夹都复制出来
1530801499
2041908508
2110246021
2115943953
2142372577
362175979
374550642
378160973
396026892
482843324
604761020
786556008
856487758

# 这些是大型mod,存放在Steam\steamapps\workshop\content\xxxxxx目录下,
  需要复制出来更改文件夹都重命名加上workshop-前缀
1944492666
2287303119
2511670792
2557712505
375859599
444235588

# 将以上所有复制并正确改名的mod全部上传到服务器上,
  上传到/home/steam/module/DoNotStarveTogether/mods目录下

在这里插入图片描述

6.开启饥荒服务器

自此,所有搭建过程完成,下面开启饥荒服务器

[steam@linux1 bin]$ pwd
/home/steam/module/DoNotStarveTogether/bin
[steam@linux1 bin]$ cd /home/steam/module/DoNotStarveTogether/bin

# 开启主世界
screen -S master
./master_start.sh
# 如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台

# 开启洞穴
screen -S caves
./cave_start.sh
# 如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台


# 查看后台是否正常运行
[steam@linux1 bin]$ netstat -nlp |grep 10999
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
udp        0      0 0.0.0.0:10999           0.0.0.0:*                           9849/./dontstarve_d 
[steam@linux1 bin]$ netstat -nlp |grep 10998
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
udp        0      0 0.0.0.0:10998           0.0.0.0:*                           10080/./dontstarve_ 

在这里插入图片描述

如果能看到以上两个进程,说明服务器正常启动了,就可以游戏了搜索你创建世界的名字,如果服务器搭建成功且正常启动就能搜到,比如我的是社会主义接班人

在这里插入图片描述

然后就可以和小伙伴愉快的玩耍了。没有人玩时服务器会自动停止世界暂停,有玩家进入时自动开启。需要注意的是,如果你用的阿里的服务器(其他厂家的服务器可能也有),需要设置安全组,暴露出10999和10998端口,否则即使你搭建的服务器正常也搜索不到你创建的游戏。

补:7.更新和重启

有小伙伴反应不知道怎么重启和更新,我确实也没写这部分内容,这里坑还挺多的。本着帮人帮到底送佛送到西的精神,我也不想小伙伴废了好大劲搭建起来的服务器,遇到游戏更新或者模组更新就玩不了了,我在这里补充下,谁让我人帅心善活好呢(〃‘▽’〃)

7.1停止服务器

别管是服务器的更新还是模组的更新,本人的建议都是先停止服务器,不建议直接杀端口,直接杀我遇到游戏内容改变或者丢失的情况,我们之前启动服务器是这样的:

# 开启主世界
screen -S master
./master_start.sh
# 如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台

# 开启洞穴
screen -S caves
./cave_start.sh
# 如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台

所以我们停止服务器只需要使用 “screen -r name” 进入会话停止就好了:

# 进入主世界
screen -r master
# 按Ctrl+c停止服务器
# 然后按下Ctrl+A+D退出

# 进入洞穴
screen -r caves
# 按Ctrl+c停止服务器
# 然后按下Ctrl+A+D退出
7.2 服务器更新和模组更新

这个看有没有更新很容易,在Steam下载页面可以看到是否有饥荒的相关下载,只要有饥荒的相关下载,那么不是游戏就是模组有更新。
在这里插入图片描述
服务器更新和之前安装步骤一样:

# 启动steamcmd
[steam@linux1 steamcmd_linux]$ pwd
/home/steam/module/steamcmd_linux
[steam@linux1 steamcmd_linux]$ ./steamcmd.sh 
# 设置目录,安装或者更新饥荒服务器
Steam>force_install_dir /home/steam/module/DoNotStarveTogether
# 登录
Steam>login anonymous
Steam>app_update 343050 validate

# 退出
Steam>quit

模组更新也很简单,在你电脑上模组文件夹内(有两个模组目录)查看有没有最近更新的(看修改日期),有的话就把linux服务器mods目录下的对应文件夹替换掉,也要改名。(全部打包,不管新的旧的都替换掉也行)
在这里插入图片描述
在这里插入图片描述

7.3 启动

启动和之前一样

[steam@linux1 bin]$ pwd
/home/steam/module/DoNotStarveTogether/bin
[steam@linux1 bin]$ cd /home/steam/module/DoNotStarveTogether/bin

# 开启主世界
screen -S master
./master_start.sh
# 如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台

# 开启洞穴
screen -S caves
./cave_start.sh
# 如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台

# 查看后台是否正常运行
[steam@linux1 bin]$ netstat -nlp |grep 10999
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
udp        0      0 0.0.0.0:10999           0.0.0.0:*                           9849/./dontstarve_d 
[steam@linux1 bin]$ netstat -nlp |grep 10998
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
udp        0      0 0.0.0.0:10998           0.0.0.0:*                           10080/./dontstarve_ 

最后,祝各位小伙伴玩得愉快,这鬼游戏跟朋友一起玩才爽,可大部分人都败给了孤独,没有朋友一起玩,靓仔落泪╭(╯^╰)╮在这里插入图片描述

### 安装和配置 Don't Starve Together (DST) 游戏服务器 #### 准备工作 为了在阿里云 ECS 上成功安装并运行 DST 服务器,需先完成一系列准备工作。确保已购买适合游戏服务需求的实例规格,并完成操作系统的选择与初始化设置。推荐选用 Ubuntu Server 版本作为操作环境[^1]。 #### 下载 SteamCMD 工具 SteamCMD 是 Valve 提供的一个命令行工具,用于下载和更新基于 Source 或 GoldSrc 引擎的游戏及其专用服务器文件。通过它来获取最新的 DST 服务器端程序包。 ```bash mkdir ~/dstserver && cd ~/dstserver wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xzvf steamcmd_linux.tar.gz rm steamcmd_linux.tar.gz ``` #### 登录 Steam 并安装 DST Dedicated Server Mod 利用 Steam 命令行客户端登录账号(建议创建专门的服务器管理账户),接着按照官方指引拉取最新版本的游戏数据。 ```bash ./steamcmd.sh +login anonymous \ +force_install_dir ./dontstarvetogether_dedicated_server_mods_setup \ +app_update 343050 validate \ +quit ``` #### 创建启动脚本 编写一个简单的 Shell 脚本来简化后续开服流程,同时可以在此处定义更多个性化参数。 ```bash cat <<EOF > start_dst_server.sh #!/bin/bash cd /home/ubuntu/dstserver/dontstarvetogether_dedicated_server_mods_setup/bin/ export PATH=\$PATH:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin # 如果需要Java支持则添加此行 LD_LIBRARY_PATH=. ./dontstarvetogether_server_nullrenderer -console -cluster MyDediServer -shard Master EOF chmod +x start_dst_server.sh ``` #### 配置防火墙规则 允许外部玩家连接到服务器之前,务必调整安全组策略开放必要的 TCP 和 UDP 端口范围(默认情况下为 1099 至 1102),以便顺利通信。 ```bash sudo ufw allow 1099:1102/tcp sudo ufw allow 1099:1102/udp ``` #### 启动服务器 现在一切就绪,只需执行先前编写的启动脚本即可让服务器上线等待玩家们加入。 ```bash nohup ./start_dst_server.sh & ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值