饥荒云服务器搭建

本文综合参考
博客【记录】饥荒联机版+个人云服务器搭建(2020.6.19)
B站视频:饥荒Linux专用服务器搭建详细教程

搭建

Ubuntu64位

1、安装环境

#Ubuntu64位
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libstdc++6 libgcc1 libcurl4-gnutls-dev
#分屏工具,用户后台运行命令窗口
sudo apt install screen

#Ubuntu32位
sudo apt-get update
sudo apt-get upgrade
#这个32位的libcurl4-gnutls建议装一下
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386

或者直接

sudo apt install -y libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 screen

2、安装SteamCMD及Steam客户端

#在用户“家”目录下创建steamcmd目录并进入
mkdir ~/steamcmd && cd ~/steamcmd

#下载SteamCMD安装文件到新创建的目录
wget -P ~/steamcmd https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

#解压压缩包
tar -xf steamcmd_linux.tar.gz

3、开放服务器端口

理论开放 UDP10800 - 12000 就行了。
有问题就可以开放全部udp端口。

4、安装饥荒联机版服务器软件

在steamcmd模式下

#运行Steamcmd
./steamcmd.sh

#以匿名帐户模式登录
login anonymous

#指定饥荒联机版服务器软件安装在当前myDSTserver目录(没有则自动创建)
force_install_dir myDSTserver

#更新软件
app_update 343050 validate

#更新完成后,退出steamcmd模式
quit

#先尝试运行服务器,生成一下必要的目录
cd ~/steamcmd/myDSTserver/bin
./dontstarve_dedicated_server_nullrenderer

#等出现下面的提示后就可以Ctrl+C停止了
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! Your Server Will Not Start !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

5、先整理本地存档

①、获取服务器token

②、上传存档

  • 上传
    用本地生成的新档或者老档放在服务器上的开服工具上的目录,
    本地档位:
    C:\Users\ab225\Documents\Klei\DoNotStarveTogether\479456079\Cluster_x
    服务器开服工具目录:
    \root\.klei\DoNotStarveTogether
    放置后将存档命名为:MyDediServer
    例如:
    \root\.klei\DoNotStarveTogether\MyDediServer

  • 修改服务器token
    将存档目录下的cluster_token.txt替换为获取到的服务器token。

③、mod管理

  • 复制mod
    mod文件夹:workshop-xxxxxxx
    本地mod文件位置D:\Steam\steamapps\common\Don't Starve Together\mods
    将存档已经勾选的mod放在服务器mod下\root\steamcmd\myDSTserver\mods
    想省事,直接全部复制也行。

6、编写启动脚本

可以使用touch startup.sh命令创建脚本,vi startup.sh命令对脚本编辑,
里面的steamcmd_dir、install_dir、cluster_name、dontstarve_dir是文件的路径。

#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/steamcmd/myDSTserver"
cluster_name="MyDediServer"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"

function fail()
{
	echo Error: "$@" >&2
	exit 1
}

function check_for_file()
{
	if [ ! -e "$1" ]; then
		fail "Missing file: $1"
	fi
}

cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"

check_for_file "steamcmd.sh"
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"

./steamcmd.sh +force_install_dir "$install_dir" +login anonymous +app_update 343050 validate +quit
check_for_file "$install_dir/bin"

cd "$install_dir/bin" || fail

run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)

"${run_shared[@]}" -shard Caves  | sed 's/^/Caves:  /' &
"${run_shared[@]}" -shard Master | sed 's/^/Master: /'

保存后,可以使用./startup.sh启动脚本来启动饥荒。

已经完成饥荒专用服务器的搭建了

以下是一些补充

1、添加管理员名单

Cluster_1目录下新增adminlist.txt文件,里面填写科雷用户的ID,每行填写一个。

2、管理员名单

T:\root\.klei\DoNotStarveTogether\Cluster_7路径下添加adminlist.txt,里面填写KLEI用户ID即可。

3、白名单

whitelist.txt,里面填写KLEI用户ID。

4、黑名单

blocklist.txt,里面填写KLEI用户ID。

5、开放端口

协议类型:UDP(饥荒使用UDP协议)
端口范围:10800-12000(如果在浏览世界界面能点击进去,但在直连进不去,多半是因为端口没开放对。可以尝试把udp端口全部开放,试试能不能进去。)
授权对象:0.0.0.0/0

6、错误bad interpreter: No such file or directory

出现bad interpreter:No such file or directory的原因是Linux与Windows之间文件格式的问题。如果shell文件是在Windows下编写的,就会出现这种错误。因为Windows的换行方式与Unix不一样,但是在VI下面如果不Set一下又完全看不出来。

7、Warning: failed to init SDL thread priority manager: SDL not fou

缺少SDL库。
SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。主要用在开发游戏上!

sudo apt install libsdl2-2.0-0:i386
#或者
sudo apt-get install SDL

8、error while loading shared libraries: libcurl-gnutls.so.4

原错误提示:

./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory

(现在用的64位的Ubuntu)缺少32位的libcurl-gnutls.so.4
执行sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386命令,下载安装一下就行了。

9、Could not find anim build FROMNUM

找不到来自num的动画生成,没事的,问题不大。

10、showme目录

D:\Steam\steamapps\workshop\content\322330

11、一些常用命令

# 饥荒地上和地下服务占用的端口通常是10999和10998
# 可以通过检查端口有没有被占用,判断世界有没有成功运行
netstat -nlp|grep 10999
netstat -nlp|grep 10998

# 给脚本赋值运行权限
chmod +x xxx.sh

待完善

1、mod目录问题,本地有些mod在D:\Steam\steamapps\common\Don't Starve Together\mods,有些mod在D:\Steam\steamapps\workshop\content,在服务器是否需要区分放置?

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 饥荒是一款广受欢迎的生存类游戏,而饥荒服务器是为玩家提供在线游戏体验的服务器。为了方便玩家管理和设置服务器,饥荒提供了一个web服务器管理界面。 饥荒web服务器管理界面是一个基于网页的界面,通过浏览器便可访问。通过这个管理界面,玩家可以对服务器进行各种操作和设置。 首先,玩家可以在管理界面中查看当前服务器的状态。包括服务器的在线人数、服务器的延迟情况、当前地图的状态等等。这些信息对于玩家了解服务器的运行状况非常重要。 其次,玩家可以在管理界面中进行设置。比如,玩家可以选择地图类型、难度级别、是否开启PvP等等。这些设置将直接影响到游戏的体验,玩家可以根据自己或团队的需要进行选择。 此外,玩家还可以在管理界面中查看和编辑服务器的MOD。MOD是饥荒中的模组,可以为游戏增加新的物品、角色、地图等内容,让游戏更加丰富多样。通过管理界面,玩家可以方便地查看和控制服务器中所加载的MOD。 最后,玩家还可以在管理界面中进行一些管理操作。比如清除服务器上的垃圾文件、备份服务器的存档、封禁玩家等等。这些操作可以帮助玩家维持服务器的良好运行状态。 总的来说,饥荒web服务器管理界面提供了诸多方便实用的功能,让玩家可以方便地管理和设置自己的饥荒服务器。通过这个界面,玩家可以更好地掌控游戏的进程,提供更好的游戏体验。 ### 回答2: 饥荒是一款非常火爆的生存游戏,对于许多玩家而言,他们不仅仅只想自己一个人体验这个游戏的乐趣,还想和其他玩家一起来共同探索、建造和生存。为了能够实现多人游戏的需求,就需要有一个稳定而且高效的服务器来支持游戏的运行。 饥荒 web 服务器管理界面就是可以帮助玩家进行服务器设置和管理的工具。通过这个界面,玩家可以方便地对服务器进行各种设置,比如地图类型、玩家数量、难度等。同时,玩家还可以通过管理界面来查看服务器的状态,比如在线玩家的人数、服务器的运行情况等。 在饥荒 web 服务器管理界面中,还可以进行一些高级设置,比如添加插件、修改服务器规则等。这些设置可以帮助玩家进一步个性化服务器的运行,提升游戏体验。管理界面还提供了一些监控工具,可以实时监测服务器的负载情况,确保服务器的稳定运行。 总之,饥荒 web 服务器管理界面是一个方便玩家进行服务器管理的工具,通过它可以轻松地对服务器进行设置和监控。它不仅提供了基本的服务器设置功能,还能够进行高级设置和个性化调整。通过使用这个界面,玩家可以更好地享受多人游戏的乐趣,创造属于自己的饥荒世界。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值