- 今年从购买了优惠的云服务器后,感觉不用总有点浪费,所以思索着建立一个能够联机的游戏的服务器
- 最开始本人决定在Linux系统上搭建我的世界游戏的服务器
- 然后慢慢弄就弄了4个我的世界的服务器
- 然后跟朋友玩了几个月,我跟朋友都玩废了
- 最近朋友推荐我买了饥荒Don't Starve Together(饥荒联机版)
- 玩了几天饥荒,还不是特别会玩,后面忙活几个小时开了一个服方便朋友可以随时一起玩
- 现在我就给大家说一下我使用Linux服务器搭建Steam饥荒服务端的过程步骤
- Ubuntu 系统需要的依赖
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 lib32gcc1
- CentOS 系统需要的依赖 (仅供参考)
yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686
- 创建steamcmd安装目录
mkdir ~/steamcmd
- 下载SteamCMD安装文件
cd ~/steamcmd wget -P ~/steamcmd https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
- 解压压缩包
tar -zxvf steamcmd_linux.tar.gz
- 启动steamcmd
./steamcmd.sh
- 请耐心等待客户端安装,出现steam>,安装成功
- 如有遇到安装进度不走,请使用ctrl + c强制退出后启动一下
- 使用公共账户登录Steam
login anonymous
- 指定饥荒的安装目录
force_install_dir /media/buyan/1/蛮荒极地/饥荒
- 安装饥荒服务端
app_update 343050 validate
- 此过程所需时间视网络情况而定,请耐心等待下载
- 如果网速不好,是个漫长的过程
- 安装成功显示的信息为
- Success! App '343050' fully installed.
- 安装失败显示的信息为
- Error! App '232250' XXXXX...
- 出现这种情况的原因是:Steam存在网络连接问题
- 遇见这个问题则是先执行quit退出Steam程序,然后重新安装饥荒服务端
- 安装完成后,退出Steam客户端
quit
- 获取cluster_token和UserID
- 打开饥荒联机版的客户端,进入游戏,点击位于右下角的 账号 按钮,进入浏览器,记录用户ID值
- 1.png
- 2.png
- 在上一步的网页中,点击导航栏的 游戏 ,再点击DST的服务器,进入页面后添加新服务器并记录内容
- 3.png
- 4.png
- 5.png
- 6.png
- 创建饥荒服务端目录
- 在用户主目录下创建存档文件夹,klei文件夹跟DoNotStarveTogether文件夹是饥荒默认的不可更改(我搞了半天,我特么)
- 该目录下存放的是游戏存档,我们手动创建一个存档目录
mkdir -p ~/.klei/DoNotStarveTogether/科技服 cd ~/.klei/DoNotStarveTogether/科技服
- 创建服务端主配置文件
touch cluster.ini
- 在该文件中主要内容解释如下
[GAMEPLAY] max_players = 3 //最大人数 pvp = false//是否开启pvp game_mode = survival//游戏模式 pause_when_empty = true//服务器无人时,自动暂停 vote_kick_enabled = true//投票踢人 [NETWORK] cluster_description = 服务器描述//服务器描述 cluster_name = 服务器名称//服务器名称 cluster_password = 服务器密码//服务器密码 cluster_intention = cooperative//游戏的意图 [MISC] max_snapshots = 6//快照 console_enabled = true//控制台 [SHARD] shard_enabled = true//地下地下分离设置默认就行 bind_ip = 127.0.0.1//地下默认就行 master_ip = 127.0.0.1//地上ip默认就行 master_port = 10889//游戏端口默认就行 cluster_key = supersecretkey//加密方法默认就行
- 配置令牌
- 创建cluster_token.txt文件
touch cluster_token.txt
- 再将此前获取到的Token复制到文件中
- 6.png
- 配置管理员
- 创建adminlist.txt文件
touch adminlist.txt
- 再将此前获取到的UserID复制到文件中
- 2.png
- 配置地上
- 在科技服目录下创建Master文件夹
mkdir Master cd Master
- 编写地上独立配置文件,创建server.ini文件
touch server.ini
- 在该文件中主要内容如下
[NETWORK] server_port = 11000 [SHARD] is_master = true [NETWORK] master_server_port = 27018 authentication_port = 8768 [ACCOUNT] encode_user_path = true
- 配置地图文件,新建worldgenoverride.lua文件
touch worldgenoverride.lua
- 在该文件的内容如下
return { override_enabled = true, preset = "SURVIVAL_TOGETHER", //后面是对世界的设置,不设置均为默认,我这里写一个示例 monsters = { //海象巢穴:较多 walrus = "often", }, }
- 配置地下
- 地下与地上基本上差不多,但是两个互相独立
- 在科技服目录下创建Caves文件夹
mkdir Caves cd Caves
- 编写地上独立配置文件,创建server.ini文件
touch server.ini
- 在该文件中主要内容如下
[NETWORK] server_port = 11001 [SHARD] is_master = false name = Caves [NETWORK] master_server_port = 27019 authentication_port = 8769 [ACCOUNT] encode_user_path = true
- 配置地图文件,新建worldgenoverride.lua文件
touch worldgenoverride.lua
- 在该文件的内容如下
return { override_enabled = true, preset = "DST_CAVE", }
- OK所有的服务器文件配置过程结束
- 科技服存档的结构是这样的
Caves //地下目录 ------server.ini //地下独立配置 ------worldgenoverride.lua //世界设置 Master //地上目录 ------server.ini //地上独立配置 ------worldgenoverride.lua //世界设置 cluster.ini //服务器配置 cluster_token.txt //服务器token adminlist.txt //管理员名单
- 编写服务器启动脚本
- 回到我们之前指定饥荒的安装目录下
cd /media/buyan/1/蛮荒极地/饥荒
- 创建kf.sh
touch kf.sh
- 在该文件的内容如下
#!/bin/bash install_dir="/media/buyan/1/蛮荒极地/饥荒" cd "/media/buyan/1/蛮荒极地/饥荒/bin" run_shared=(./dontstarve_dedicated_server_nullrenderer) run_shared+=(-console) run_shared+=(-cluster "科技服") run_shared+=(-monitor_parent_process $$) //不想开启地下就把&和后面的都去掉 "${run_shared[@]}" -shard Master | sed 's/^/地上:/' & "${run_shared[@]}" -shard Caves | sed 's/^/地下:/'
- 给启动脚本添加权限
chmod u+x ./kf.sh
- 后台保持运行
- 在linux的环境中,我们想要在后台持续运行一些脚本,但是又因为关闭这个tty的话,脚本就会中断
- 这个时候我们就需要screen这个工具的帮助啦!
- 安装screen
- Ubuntu
sudo apt-get install screen
- Centos
yum install screen
- 利用screen命令创建一个新窗口,便于后台运行
screen -S jh
- 启动服务器
./kf.sh
- 看到Slave LUA is now ready!就说明服务器启动成功了..
- 退出screen
Ctrl + A + D
- 其他相关内容
- 饥荒服务器MOD的安装
- Steam饥荒服务器ibcurl-gnutls.so.4:报错的解决方法
【Ubuntu(liunx)服务器搭建饥荒服务端】
开始
完结