Linux 搭建饥荒服务器指南 您所在的位置:网站首页 centos搭建饥荒服务器 Linux 搭建饥荒服务器指南

Linux 搭建饥荒服务器指南

2024-05-06 09:34| 来源: 网络整理| 查看: 265

问:为什么要用Linux Server而不是Windows创建饥荒服务器呢?

答:Linux Server没有图形界面,同样配置下比Windows更节省系统资源。这样就能把更多资源留给饥荒服务器。另外Linux可以用ssh连接,当你熟悉代码后会发现比Windows更高效。

本指南的目的是在Linux上创建带洞穴的饥荒服务器,多层世界的指南将在以后说明。

本指南基于Ubuntu 16.04 64位制作,推荐使用此Linux发行版本或Ubuntu 18.04搭建服务器,以免不必要的麻烦

安装运行SteamCMD所需的依赖项

您需要为您的服务器安装一些软件包以让SteamCMD正常工作:

如果您使用的是Ubuntu 32位,那么就跳过这个步骤;如果您使用的Ubuntu 64位,请逐行执行以下代码以安装相关软件包

12345sudo dpkg --add-architecture i386sudo apt-get update -ysudo apt-get install lib32gcc1 -ysudo apt-get install lib32stdc++6 -ysudo apt-get install libcurl4-gnutls-dev:i386 -y 下载SteamCMD

请逐行执行以下代码

123456cdmkdir steamcmd # steamcmd文件夹mkdir dst # 饥荒主程序文件夹cd steamcmdwget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gztar xzvf steamcmd_linux.tar.gz 现在您可以安装SteamCMD

请逐行执行以下代码

123456cd ~/steamcmd./steamcmd.shlogin anonymousforce_install_dir ~/dstapp_update 343050 validatequit 启动两个服务器(地面和洞穴)

您需要创建两个bash脚本(master.sh和caves.sh)来分别运行两个世界

我们先创建master.sh,逐行输入以下代码

123cd ~/dst/binnano master.sh./dontstarve_dedicated_server_nullrenderer -persistent_storage_root ~/klei -conf_dir DoNotStarveTogether -cluster Cluster_1 -shard Master

代码输入完毕,按组合键CTRL + X退出,然后再按Y保存编辑

然后,我们能再创建caves.sh,逐行输入以下代码

123cd ~/dst/binnano caves.sh./dontstarve_dedicated_server_nullrenderer -persistent_storage_root ~/klei -conf_dir DoNotStarveTogether -cluster Cluster_1 -shard Caves

代码输入完毕,按组合键CTRL + X退出,然后再按Y保存编辑

运行和停止两个服务器以创建存档文件Master(地面)和Caves(洞穴)地面的存档

请逐行执行以下代码

123cd ~/dst/binchmod +x master.sh./master.sh

当你在屏幕上看到Your Server Will Not Start字眼时,按组合键CTRL + C退出

洞穴的存档

请逐行执行以下代码

123cd ~/dst/binchmod +x caves.sh./caves.sh

当你在屏幕上看到Your Server Will Not Start字眼时,按组合键CTRL + C退出

为服务器创建cluster_token.txt

在你Windows PC上打开饥荒联机版游戏 -> 点击开始游戏 -> 点击账户信息 -> 点击最上面一排的游戏

-> 点击Don't Starve Together Servers -> 拉到最下面,随便输一个名字,点击添加新服务器

即可获取一串以pds-g开头的字符串,复制

然后逐行输入一下代码

12cd ~/klei/DoNotStarveTogether/Cluster_1/nano cluster_token.txt

把刚刚复制的字符串粘贴进去,按组合键CTRL + X退出,然后再按Y保存编辑

为两个服务器创建leveldataoverride.lua

leveldataoverride.lua代表生成世界的设置,你可以调整季节、怪物或生物群系以及更多

获取leveldataoverride.lua文件配置 打开Windows PC饥荒联机版游戏 按照您的喜好在第一个存档位置创建您的世界(需添加洞穴) 创建成功世界后退出游戏 打开您电脑中的该路径C:\Users\XXX\Documents\Klei\DoNotStarveTogether

XXX为您电脑的用户名

打开该路径下的名字为数字的文件夹 打开Cluster_1,里面会有Master和Caves文件夹,这两个文件夹里分别有一个leveldataoverride.lua文件 创建Linux上的leveldataoverride.lua地面的leveldataoverride.lua

请逐行执行以下代码

12cd ~/klei/DoNotStarveTogether/Cluster_1/Master/nano leveldataoverride.lua

把刚刚上一步获取的Master的leveldataoverride.lua里的内容复制粘贴进来

按组合键CTRL + X退出,然后再按Y保存编辑

洞穴的leveldataoverride.lua

请逐行执行以下代码

12cd ~/klei/DoNotStarveTogether/Cluster_1/Caves/nano leveldataoverride.lua

把刚刚获取的Caves的leveldataoverride.lua里的内容复制粘贴进来

按组合键CTRL + X退出,然后再按Y保存编辑

创建并配置cluster.ini

执行代码

1nano ~/klei/DoNotStarveTogether/Cluster_1/cluster.ini

将下面代码根据解释自定义后粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

123456789101112131415161718192021222324252627282930313233[GAMEPLAY]game_mode = endlessmax_players = 8pvp = falsepause_when_empty = true

[NETWORK]lan_only_cluster = falsecluster_intention = cooperativecluster_password = 123456cluster_name = 服务器测试cluster_description = 一起嗨起来offline_cluster = falsecluster_language = zh

[STEAM]steam_group_id = 35243410steam_group_admins = falsesteam_group_only = false

[MISC]max_snapshots = 20console_enabled = true

[SHARD]shard_enabled = truebind_ip=0.0.0.0master_ip = 127.0.0.1master_port = 10888cluster_key = defaultPass

注:game_mode 游戏模式,选项为survival endless wilderness,分别对应生存 无尽 荒野模式max_players 最大人数pvp 开启PVP模式,选项为true falsecluster_intention 游戏风格,选项为cooperative competitive social madnesscluster_password 服务器密码cluster_name 服务器名cluster_description 服务器介绍steam_group_id steam群组的id,如果不添加群组请留空steam_group_admins 群组的管理也变成服务器的管理员,选项为true falsesteam_group_only 只有群组成员才能加入,选项为true falsemax_snapshots 最大存档天数,游戏默认只保存5天的存档

为两个服务器创建server.ini地面的server.ini

执行代码

1nano ~/klei/DoNotStarveTogether/Cluster_1/Master/server.ini

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

123456789101112131415[NETWORK]server_port = 10999

[SHARD]is_master = true

[ACCOUNT]encode_user_path = true

[STEAM]master_server_port = 27018authentication_port = 8768

洞穴的server.ini

执行代码

1nano ~/klei/DoNotStarveTogether/Cluster_1/Caves/server.ini

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

1234567891011121314151617[NETWORK]server_port = 11000

[SHARD]is_master = falsename = Cavesid = 11

[ACCOUNT]encode_user_path = true

[STEAM]master_server_port = 27019authentication_port = 8769

为两个服务器添加mod

还记得上文的为服务器创建leveldataoverride.lua的方法吧?

为服务器添加mod的方法类似

获取modoverrides.lua文件配置 打开Windows PC饥荒联机版游戏 按照您的喜好在第一个存档位置创建您的世界(需添加洞穴),这是需添加mod,提前在创意工坊订阅好 创建成功世界后退出游戏 打开您电脑中的该路径C:\Users\XXX\Documents\Klei\DoNotStarveTogether

XXX为您电脑的用户名

打开该路径下的名字为数字的文件夹 打开Cluster_1,里面会有Master和Caves文件夹,这两个文件夹里分别有一个modoverrides.lua文件 创建Linux上的modoverrides.lua地面的modoverrides.lua

请逐行执行以下代码

12cd ~/klei/DoNotStarveTogether/Cluster_1/Master/nano modoverrides.lua

把刚刚上一步获取的Master的modoverrides.lua里的内容复制粘贴进来

按组合键CTRL + X退出,然后再按Y保存编辑

洞穴的modoverrides.lua

请逐行执行以下代码

12cd ~/klei/DoNotStarveTogether/Cluster_1/Caves/nano modoverrides.lua

把刚刚获取的Caves的modoverrides.lua里的内容复制粘贴进来

按组合键CTRL + X退出,然后再按Y保存编辑

修改dedicated_server_mods_setup.lua以让服务器下载相应mod

输入代码

1nano ~/dst/mods/dedicated_server_mods_setup.lua

在里面另起一行,输入你要添加的mod,格式如下:

1234567ServerModSetup("375850593")ServerModSetup("1438233888")ServerModSetup("850494968")ServerModSetup("666155465")ServerModSetup("1185229307")ServerModSetup("1595631294")ServerModSetup("462434129")

每个mod一行,双引号中间的数字为对应mod的ID

获取mod的ID的方法:

方法一

打开之前获取的modoverrides.lua,里面的格式为

1["workshop-375850593"]={ configuration_options={ }, enabled=true },

其中workshop后面的数字即为mod的ID

方法二

打mod的创意工坊页面,如https://steamcommunity.com/sharedfiles/filedetails/?id=501385076

链接中id=后面的就是mod的ID

安装screen

到这一步,您的饥荒服务器配置已经完成70%了

您会发现,运行master.sh或caves.sh后,一旦关闭终端,对应的世界也会关闭

这个时候,就需要screen了

安装screen

1sudo apt-get install screen

screen命令详解请见另一篇文章:Linux Screen命令详解

为两个服务器制作脚本启动脚本地面世界的启动脚本

执行代码

1nano ~/dst/bin/startmaster.sh

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

1screen -dmS m ~/dst/bin/master.sh

再执行代码

1chmod +x startmaster.sh 洞穴的启动脚本

执行代码

1nano ~/dst/bin/startcaves.sh

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

1screen -dmS c ~/dst/bin/caves.sh

再执行代码

1chmod +x startcaves.sh 一键启动两个服务器的脚本

执行代码

1nano ~/launch.sh

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

12345#!/bin/shcd ~/dst/binsh startmaster.shsh startcaves.shecho '!!!THE SERVER IS STARTED!!!'

再执行代码

1chmod +x launch.sh 一键重启两个服务器的脚本

执行代码

1nano ~/restart.sh

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

12345678#!/bin/shscreen -dr m -X -S quitscreen -dr c -X -S quitsleep 10cd ~/dst/binsh startmaster.shsh startcaves.shecho '!!!THE SERVER IS RESTARTED!!!'

再执行代码

1chmod +x restart.sh 一键关闭两个服务器的脚本

执行代码

1nano ~/shutdown.sh

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

12345#!/bin/shscreen -dr m -X -S quitscreen -dr c -X -S quitsleep 10echo '!!!THE SERVER IS SHUTED DOWN!!!'

再执行代码

1chmod +x shutdown.sh 更新服务器的脚本

执行代码

1nano ~/update.sh

将下面代码粘贴进去,并按组合键CTRL + X退出,然后再按Y保存编辑

12345678910111213#!/bin/shscreen -dr m -p 0 -X stuff "\nc_save()\n"sleep 10screen -dr m -X -S quitscreen -dr c -X -S quitsleep 10mv ~/dst/mods/dedicated_server_mods_setup.lua ~/dst/mods/dedicated_server_mods_setup.lua.bak~/steamcmd/steamcmd.sh +login anonymous +force_install_dir ~/dst +app_update 343050 validate +quitmv ~/dst/mods/dedicated_server_mods_setup.lua.bak ~/dst/mods/dedicated_server_mods_setup.luasleep 10cd ~/dst/binsh startmaster.shsh startcaves.sh

再执行代码

1chmod +x update.sh

注:该脚本执行后会先关闭服务器,然后更新服务器,更新完毕后自动重启游戏

测试两个服务器

执行代码

1sh ~/launch.sh

服务器就在后台启动了

查看服务器日志,看看服务器是否启动成功

输入代码

地面:

1tail -fn 30 ~/klei/DoNotStarveTogether/Cluster_1/Master/server_log.txt

洞穴:

1tail -fn ~/klei/DoNotStarveTogether/Cluster_1/Caves/server_log.txt

退出查看日志是按组合键CTRL + C

如果看到Sim paused,说明服务器开启成功,打开游戏看看能不能连接上吧

至此服务器就创建完毕了

其他添加管理员

如果您用的是自己的cluster_token创建服务器,那么默认您就是游戏管理员

如果您想添加其他的玩家为管理员,那么输入代码

1nano ~/klei/DoNotStarveTogether/Cluster_1/adminlist.txt

在里面添加对应玩家的ID,一行一个玩家

重启服务器后生效

添加黑名单

同理,输入代码

1nano ~/klei/DoNotStarveTogether/Cluster_1/blocklist.txt

在里面添加对应玩家的ID,一行一个玩家

重启服务器后生效

玩家ID可在服务器日志中查看,格式为KU_开头

服务器创建模板

我的码云

获取方法:

1git clone https://gitee.com/jupitersh/dst.git

如未安装git,请先安装:

1sudo apt-get install git

在服务器创建的过程中如果遇到问题,欢迎在下方留言



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有