admin管理员组

文章数量:1794759

饥荒linux服务器搭建

饥荒linux服务器搭建

前置

  • 参考文章

  • 饥荒联机独立服务器搭建教程(二):linux篇
  • Linux/Centos7搭建饥荒服务器教程
  • 服务器系统

    **[root@linux1 opt]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) **

  • 官方参考

  • steamcmd官方链接
  • 科雷官方搭建教程
  • 科雷官方搭建指南
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 steamcdn-a.akamaihd/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_

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

本文标签: 饥荒服务器Linux