饥荒服务器搭建centos

服务器环境需要64位32位不可用

uname -r 查看服务器版本

============

更新yum

sudo yum update

安装依赖环境

sudo yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686 screen

=============

安装steam

cd /home && mkdir steamcmd && cd steamcmd

国内

curl -sqL "https://media.st.dl.bscstorage.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

国外

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

tar -zxvf steamcmd_linux.tar.gz

==============

启动steamcmd

./steamcmd.sh

login anonymous

==配置安装目录

force_install_dir /home/dstserver

=====下载游戏

app_update 343050 validate

===更新完成

exit

=================================

首先解决最重要的问题,linux下饥荒的服务器似乎需要的组件跟现在的组件产生了名字上的差错 导致启动服务器会显示缺少关键的组件libcurl-gnutls.so.4 因此需要执行下面的命令来解决

ln -s /usr/lib/libcurl.so.4 /home/dstserver/bin/lib32/libcurl-gnutls.so.4

=====================

cd /home/dstserver/bin

里面有个 dontstarve_dedicated_server_nullrenderer 文件,这个就是服务器开启的工具

饥荒客户端的存档位置如下:

Windows

Documents\Klei\DoNotStarveTogether

Linux

~/.klei/DoNotStarveTogether

MacOS

~/Documents/Klei/DoNotStarveTogether

这个程序还是有其他的启动参数的。主要参数如下:

参数用法

-persistent_storage_root指定存档根目录的位置,必须是绝对目录。默认为 ~/.klei。

-conf_dir指定配置文件的目录名。默认为 DoNotStarveTogether,和上一个参数拼在一起就是你存档的完整位置了,默认为 ~/.klei/DoNotStarveTogether,所有的存档都在这里。

-cluster指定启动的世界,默认为 Cluster_1。服务端启动时会去找 //目录下的 cluster.ini 这个配置文件,你的世界名称、密码、游戏模式之类的都是在这里配置的(网上有些教程里用的 setting.ini,那个是旧版的)。同理,你的存档文件夹也可以不使用类似 Cluster_X 的名字,改成其他什么乱七八糟的都可以,只要启动时指定本参数就行了。

-shard默认为 Master,启动时将此参数指定为 Cave 就可以启动洞穴服务器。

==================

其他的参数我就不一一说明了,具体的参数列表可以在这里查看。举个栗子:

同时启动主世界服务器和洞穴服务器

./dontstarve_dedicated_server_nullrenderer -console -cluster MyClusterName -shard Master

./dontstarve_dedicated_server_nullrenderer -console -cluster MyClusterName -shard Caves

===================

由于命令太长不好记,我们弄成两个脚本来方便启动 在/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 777 master_start.sh cave_start.sh

=========================

注意: 上面的 World1 是存档名字,如果你没放存档到 /home/dstsave 下,他会自动帮你生成一个默认的 名字叫World1 时间,参数都是默认的

所以我们需要自己在本地全建一个世界World1放到 /home/dstsave/dst 下

文件结构

Caves # 如果你想要开洞穴的话

backup

save

modoverrides.lua <--------- mod配置

server.ini

Master

backup

save

modoverrides.lua <--------- mod配置

server.ini

cluster.ini <--------- 游戏模式的配置,没有的话自己创建

cluster_token.txt <--------- 需要吧Token放到填到这个文件里,没有的话自己创建

=================配置过程

=====创建本地世界

在你自己的电脑上创建一个挡,打上你想要的Mod,配置好你的名字和密码,点生成世界到选人物的时候就可以退了

这里面Cluster_1至Cluster_5就代表联机版的5个房间,按顺序一一对应,比如我创建的只有一个,那就是Cluster_1文件夹,打开Cluster_1,文件目录如下:

新建一个cluster_token.txt

把这串复制下来粘贴到cluster_token.txt里

得到服务器文件

将文件命名为World1上传到/home/dstsave/dst文件夹下

======

打开master

打开modoverrides.lua

记住这些work-shop后的数字

编辑服务器上的dedicated_server_mods_setup.lua

文件位置在/home/dstserver/mods下

添加

ServerModCollectionSetup("xxx")

ServerModSetup("xxx")

xxx是模组ID

=============================

可能要上传本地的mods文件夹下的mod到/home/dstserver/mods才可以

==============================

回到/home/dstserver/bin

scrren -S master

./ master_start.sh

Ctrl A +Ctrl D

scrren -S cave

./cave_start.sh

Ctrl A +Ctrl D

================

防火墙开放服务器端口

10999

10998

============

游戏更新

cd /home/steamcmd

启动steamcmd

./steamcmd.sh

login anonymous

==配置安装目录

force_install_dir /home/dstserver

=====下载游戏

app_update 343050 validate

===更新完成

exit

cd /home/dstserver/bin

scrren -r master

./ master_start.sh

Ctrl A +Ctrl D

scrren -r cave

./cave_start.sh

Ctrl A +Ctrl D

==========

==========screen

screen 操作指令

#创建一个screen

screen -S m(m是窗口名称)

#进入一个screen

screen -r m

#显示所有的screen

screen -ls

当状态是Attached时使用

screen -D -r m

删除socket连接

screen -S m -X quit

#退出窗口

exit

#窗口切换(快捷键)

ctrl+a+d

相关推荐
名字还没想好☜24 分钟前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
fengyehongWorld26 分钟前
Linux squid搭建基础代理服务器
linux·运维·服务器
木白CPP36 分钟前
Linux DMA驱动详解(二)-----DMA的使用者
java·linux·运维
赵民勇1 小时前
systemd-socket-activate命令详解
linux·运维
跨境小彭2 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu
Cx330❀2 小时前
【Linux网络】网络层 IP 协议:从网段划分到内核源码解析
大数据·linux·服务器·网络·tcp/ip·性能优化·langchain
企鹅的蚂蚁2 小时前
LubanCat RK3588 实时 Linux 开发(七):YT6801 PCIe 网卡驱动移植与 vermagic 排查
linux·rk3588·linux驱动·yt6801·pcie网卡·vermagic
DYWorker0012 小时前
Linux驱动子系统:DMA子系统 —— Consumer和Provider(006)
linux·驱动开发
byte轻骑兵2 小时前
【BlueZ】 log 模块:日志系统的实现与自定义日志输出配置
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
Dachui_11222 小时前
ZeroNews LFS 使用教程:NAS 文件发布为公网 HTTPS 文件空间,不传网盘、按人授权、免登录分享
运维·网络安全·文件共享·团队协作·nas