Linux 搭建饥荒服务器指南 | 您所在的位置:网站首页 › centos搭建饥荒服务器 › Linux 搭建饥荒服务器指南 |
问:为什么要用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.lualeveldataoverride.lua代表生成世界的设置,你可以调整季节、怪物或生物群系以及更多 获取leveldataoverride.lua文件配置 打开Windows PC饥荒联机版游戏 按照您的喜好在第一个存档位置创建您的世界(需添加洞穴) 创建成功世界后退出游戏 打开您电脑中的该路径C:\Users\XXX\Documents\Klei\DoNotStarveTogetherXXX为您电脑的用户名 打开该路径下的名字为数字的文件夹 打开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\DoNotStarveTogetherXXX为您电脑的用户名 打开该路径下的名字为数字的文件夹 打开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 screenscreen命令详解请见另一篇文章: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 实验室设备网 版权所有 |