跟朋友一起联机饥荒的时候经常因为其中一方网络不佳,导致体验极差 (;′⌒`)
为了让兄弟们有最佳的体验,稍微微研究了一下如何在阿里云上搭建一个饥荒服务器 (๑¯∀¯๑)
准备
- 云服务器(阿里、腾讯、华为等)
- 远程连接工具(xshell、SecureCRT等)
- 如果服务器内存不够
(学生机)可以用swap解决
服务器端的安装
首先先更新系统内的源并安装32位运行库
sudo yum upgrade -y
sudo yum update -y
sudo yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686 screen -y
安装steamCMD
cd /home && mkdir steamcmd && cd steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
启动SteamCMD
./steamcmd.sh
进入steamCDM后更新饥荒服务器,结束后退出
login anonymous
force_install_dir /home/dstserver
app_update 343050 validate
需要创建一个软连接
ln -s /usr/lib/libcurl.so.4 /home/dstserver/bin/lib32/libcurl-gnutls.so.4
然后将启动指令写入shell脚本并给上权限
cd /home/dstserver/bin
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/dstsave -conf_dir dst -cluster World1 -shard Master" > master_start.sh
echo "./dontstarve_dedicated_server_nullrenderer -console -persistent_storage_root /home/dstsave -conf_dir dst -cluster World1 -shard Caves" > cave_start.sh
chmod +x master_start.sh cave_start.sh
输入 ./master_start.sh 启动世界测试一下,只要出现Sim paused就说明成功了 o( ̄︶ ̄)o
启动之后会自动生成 /home/dstsave/dst/World1/ 路径的文件,之后的配置大部分都会在这里进行
服务器的配置与部署
创建本地房间
首先我们要在本地创建一个地图,设置好用户名、密码、模式之后生成世界
如果需要添加mod,在模组中选择需要启动的模组后再生成世界(可以免去配置modoverrides.lua文件的步骤)
上传服务器
世界创建好后返回大厅并打开数据文件夹
打开修改日期最新的Cluster_编号(编号的数量等于创建世界的数量)的文件夹,将Master文件夹压缩成zip(方便在服务器上解压)后通过lrzsz将文件上传到 /home/dstsave/dst/World1/ 路径下并解压
配置Token及管理员
打开 科雷(Klei)官网 ,登录后选择游戏并选择 《饥荒:联机版》的游戏服务器
输入名字后点击添加新服务器,会生成一个Toekn,复制这串Token并写入 cluster_token.txt 文件内
echo "复制的Token" > /home/dstsave/dst/World1/cluster_token.txt
回到用户信息页
新建一个 adminlist.txt 文件,将Klei用户ID粘贴进去
echo "复制的用户ID" >> /home/dstsave/dst/World1/adminlist.txt
配置服务器mod
编辑 /home/dstserver/mods/ 路径下 dedicated_server_mods_setup.lua 文件,格式如下(id为Master文件夹内modoverrides.lua文件中workshop的参数)
//引用该模组
ServerModSetup("id")
//更新该模组
ServerModCollectionSetup("id")
服务器的开启与关闭
首先启动地上世界
cd /home/dstserver/bin
screen -S master
./master_start.sh
如果没有报错按ctrl+d进入后台运行接着启动地下世界
screen -S caves
./cave_start.sh
查看端口是否启用指令(启用说明程序正在运行)
//地上世界
netstat -nlp |grep :10999
//地下世界
netstat -nlp |grep :10998
结束进程
kill -9 id
kill -9 id
cd /home/steamcmd/
./steamcmd.sh
更新一下服务器就可以了(前几天准备玩的时候死活找不到服务器,然后调了一晚上 (`へ´) )
login anonymous
force_install_dir /home/dstserver
app_update 343050 validate
11 条评论
你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/vnwTOuIdTp.html
你的文章让我感受到了不一样的视角,非常精彩。 http://www.55baobei.com/vnwTOuIdTp.html
《肖恩门德斯:一路走来》记录片高清在线免费观看:https://www.jgz518.com/xingkong/100534.html
文章的确不错啊https://www.cscnn.com/
想想你的文章写的特别好www.jiwenlaw.com
怎么收藏这篇文章?
博主真是太厉害了!!!
大佬这个用本地服务器可以吗
本地搭的话应该是没法在线联机,做个端口映射应该可以|´・ω・)ノ
系统应该叫CentOS,具体含义可见链接:
https://zh.wikipedia.org/zh-sg/CentOS
念的太顺了(〃ー〃)