饥荒服务器搭建
Klei 官方教程
以下的教程都是根据上面的官贴执行和修改的,若有不清楚的细节请查询官贴或者私聊我。
本人使用的是阿里云的1核2G的ECS服务器,实际测试4个人是不卡的。要是想要10人以上的话建议2核4G。
安装依赖(基于 Ubuntu 32/64 bit)
基于 64-bit
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386
基于 32-bit
sudo apt-get install libstdc++6 libgcc1 libcurl4-gnutls-dev
安装 steamcmd 组件
mkdir -p ~/steamcmd/
cd ~/steamcmd/
wget
tar -xvzf steamcmd_linux.tar.gz
配置并下载服务器设置
进入游戏,并点击游戏中的 play 按钮
点击 账户 按钮
在 账户 页面上,访问 GAMES 按钮,然后点击 Dont Starve together 按钮
mkdir -p ~/steamcmd/
cd ~/steamcmd/
wget
tar -xvzf steamcmd_linux.tar.gz
如果你还没有任何服务器的话,就单击 添加新服务器 按钮。如果你有有效的服务器的话,就单击绿色 配置 按钮。过期的服务器会显示红色的,应将其删除。
在 配置服务器 页面中,你将会找到一个带有一些选项的表格,你可以编辑这些选项以自定义服务器。准备好了,单击 下载设置 按钮。下载 ZIP 存档,提取内容,并将文件夹 MyDediServer 放在 ~/.klei/DoNotStarveTogether 中。
创建一个运行服务器的脚本文件
将以下脚本移至 ./run_dedicated_servers.sh文件中
cd ~/
vi run_dedicated_servers.sh
【以下是脚本内容】
#!/bin/bash
steamcmd_dir=$HOME/steamcmd
install_dir=$HOME/dontstarvetogether_dedicated_server
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 +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: /
给脚本赋予执行权限
chmod u+x ~/run_dedicated_servers.sh
运行脚本启动专用服务器
~/run_dedicated_servers.sh
以上内容就是饥荒的阿里云版本的服务器(纯净无 Mod )搭建教程。
但是有些小伙伴需要一些 Mod 来增加游戏的趣味性,就此增加了一些关于服务器上 Mod 的添加方法。
以下内容中的每个 Mod 的 ID 号的获取方法也有介绍。
附录1:关于 Mod 的 ID 查询方法
打开 steam 上的 库 ,进入 dont starve together ,并点击 创意工坊
找到你想要的 Mod(以下是我随便找的一个 Mod 作为示例演示)
然后将你上一步复制好的网址粘贴下来(此时粘贴下来的网址末尾的 ?id=xxxxx 等于号后面的数字就是该 Mod 的 ID 号)
附录2:关于 Mod 的添加部分(含地上、地下两部分 Mod 添加)
创建一个自动下载和更新 Mod 的脚本( lua 脚本)
cd ~/dontstarvetogether_dedicated_server/mods
vi dedicated_server_mods_setup.lua
含义:
ServerModSetup:安装Mod
ServerModCollectionSetup:自动更新Mod
【以下是脚本文件】
ServerModSetup(569043634)
ServerModSetup(378160973)
ServerModCollectionSetup(569043634)
ServerModCollectionSetup(378160973)
创建地上 Mod 配置文件
cd ~/.klei/DoNotStarveTogether/MyDediServer/Master
vi modoverrides.lua
【以下是脚本文件】
return {
[workshop-378160973]={
configuration_options={
ENABLEPINGS=true,
FIREOPTIONS=2,
OVERRIDEMODE=false,
SHAREMINIMAPPROGRESS=true,
SHOWFIREICONS=true,
SHOWPLAYERICONS=true,
SHOWPLAYERSOPTIONS=2
},
enabled=true
},
[workshop-569043634]={ configuration_options={}, enabled=true }
}
创建地下 Mod 配置文件
cd ~/.klei/DoNotStarveTogether/MyDediServer/Caves
vi modoverrides.lua
【以下是脚本文件】
return {
[workshop-378160973]={
configuration_options={
ENABLEPINGS=true,
FIREOPTIONS=2,
OVERRIDEMODE=false,
SHAREMINIMAPPROGRESS=true,
SHOWFIREICONS=true,
SHOWPLAYERICONS=true,
SHOWPLAYERSOPTIONS=2
},
enabled=true
},
[workshop-569043634]={ configuration_options={}, enabled=true }
}
饥荒联机独立服务器搭建教程 SteamCMD版本
故事是这样的,Simon在学习使用Dont Strave Together Dedicated Server创建服务器的时候,遇到了各种各样奇怪的问题。
例如:常见的大量感叹号失败,服务器端口10999问题至今无法解决。
因此花费了大量时间去解决问题,差点令我打了退堂鼓不创建服务器了。
BUT!!!
最后,我使用SteamCMD的解决方案。方便又快速地创建服务器,没有端口问题,没有服务器名字错误问题。那么就看接下来的教程吧。
首先
介绍下创建服务器的优点和缺点。
优点:
1. 独立服务器不需要主机玩家在房间中来保持房间状态,服务器中没有人的时候,其他玩家仍然可以进行游戏。
2. 支持人数更多。客户端Host最多为6人,独立服务器可以更多,主要取决于你的服务器能力。
3. 稳定性好。极少出现崩溃,适合长期运行。
4. 方便管理。基本参数,世界定义,管理员及黑白名单设置,mod安装等都通过配置文件来完成。
5. 可查问题。服务器运行全程有运行记录,崩溃后会有错误信息,对于mod引起的错误超级有效,只需要查看记录马上知道哪个mod出错。
缺点:
1. 对服务器主机硬性♂要求较高,尤其是带宽。
2. 维护。自定义世界,管理房间,增删mod,程序升级等。
3. 钱。如果要建立可用性和稳定性高的服务器,家庭宽带和个人计算机大部分情况无法胜任。这样就需要使用云服务器就就需要有一笔开销。
硬♂性要求
网络:上传带宽至少8K字节每人每秒。这是不修改世界和不安装mod的情况。如果使用家庭宽带建立服务器,最好先测试上传速率。
内存:大约65M每人。这是玩家加入后的内存增量,服务端只要开启后就会在笔者的linux主机上消耗350M~400M的内存。
CPU:没有具体官方说明。CPU的消耗跟世界设置和玩家游戏环境相关度极高,不同的设置和环境CPU资源消耗差距极大。
教程正文
软件下载链接如下:
win版本:
Linux版本:
mac版本:
独立服务器程序没有使用图形接口以节约系统资源开销,提高服务性能。
进入服务器设置界面
打开饥荒联机版游戏,进入主界面,点击左下角的“账号”按钮,在弹出的网页上方选择“游戏”选项,并点击“饥荒联机版的游戏服务器”按钮
添加新服务器
在“服务器”界面,填写服务器名称(此集群名并非最终展示的服务器名)后点击“添加新服务器”,在上方出现的对应服务器中点击“配置服务器”
配置服务器
在“配置服务器”界面进行相关设置后(此处的集群名为最终展示的服务器名),点击“下载设置”按钮下载对应配置,并将下载好的配置(MyDediServer.zip)解压到以下路径
C:UsersXXXDocumentsKleiDoNotStarveTogether
创建服务器运行批处理文件
在“C:UsersXXXDocumentsKlei”创建文件“StartDSTServers.bat”,并写入以下内容
c:steamcmdsteamcmd.exe +login anonymous +app_update 343050 validate +quit
cd /D c:steamcmdsteamappscommonDont Starve Together Dedicated
Serverbin
start dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Master
start dontstarve_dedicated_server_nullrenderer -console -cluster MyDediServer -shard Caves
检查以下路径的文件是否完整
C:UsersXXXDocumentsKleiDoNotStarveTogetherMyDediServercluster_token.txt C:UsersXXXDocumentsKleiDoNotStarveTogetherMyDediServercluster.ini C:UsersXXXDocumentsKleiDoNotStarveTogetherMyDediServerMasterserver.ini C:UsersXXXDocumentsKleiDoNotStarveTogetherMyDediServerCavesserver.ini C:UsersXXXDocumentsKleiDoNotStarveTogetherMyDediServerCavesworldgenoverride.lua C:UsersXXXDocumentsKleiStartDSTServers.bat
双击StartDSTServers.bat即可开启服务器
注: 不想使用SteamCMD的也可以略过第1步,并到Steam-库-工具界面下载Dont Starve Together Dedicated Sever,在第5步的代码里删去第一行并把第二行的路径换成Dont Starve Together Dedicated Sever的路径
配置世界与模组
以下内容介绍世界配置与模组添加:
1. 进入游戏
打开饥荒联机版游戏,进入主界面,点击创建游戏
2. 按照自己的需求创建世界
按照正常步骤创建世界,对应的“世界”、“洞穴”、“模组”设置自己调整好,到人物选择界面即可断开连线
3. 替换配置文件
打开”C:UsersXXXDocumentsKleiDoNotStarveTogethersteamIDCluster_X“(即刚创建的世界的存档位置),找到以下文件
Masterleveldataoverride.lua Mastermodoverrides.lua Cavesleveldataoverride.lua Cavesmodoverrides.lua
并复制到“C:UsersXXXDocumentsKleiDoNotStarveTogetherMyDediServer“对应位置,即完成世界与模组配置
(需要提前将对应mod复制到C:steamcmdsteamappscommonDont Starve Together Dedicated Servermods)
4. 开启服务器
双击StartDSTServers.bat即可开启服务器
【如果看不明,我随后会出一期视频教程,敬请期待吧~】
如何搭建服务器
首先打开控制面板,选择“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息服务”下面所有地选项,点击确定,开始更新服务。打开浏览器,输入“localhost”回车,如果出现IIS7欢迎界面,说明启动成功。
服务器能够响应终端的服务请求,并进行处理。我们在上网的时候是不可能直接将网络接入互联网的,我们都需要通过服务器来连接网络,只有服务器响应你的联网请求,并且进行处理以后才可以联网;存储的功能,服务器的存储空间一般比较充足,可以存储非常多的信息。
|饥荒服务器搭建
SteamCMD版本 如何搭建服务器 游戏服务器 饥荒服务器搭建 饥荒联机独立服务器搭建教程