title: 无星的饥荒(一)——安装
date: 2022-10-03 15:52:04
categories:
- 饥荒
tags:
- 饥荒
背景
一个朋友喜欢玩饥荒,但是总是一个人没意思
联机版又不会搭房间,去淘宝租服务器一个月20起步
本着友好助人的美好品德
帮朋友买了台2G4H 4M的服务器,一年才260,房间我负责搭,平时闲置的服务器我随便用
我可真是个乐于助人的好人
我们先选Centos7,然后开动
服务器安全组开放端口
服务器安全组把20-21
,60000-60100
放开,10998-10999
为饥荒端口,也放开
一.搭FTP
为啥要搭FTP,其实主要是为了方便上传和下载文件,scp
多少还是有点麻烦了
1.防火墙开放端口,不必关
# firewall-cmd --permanent --zone=public --add-service=ftp
# 开放常用端口
firewall-cmd --zone=public --list-ports
# 不行就重启一下
# systemctl restart firewalld.service
2.安装vsftpd
yum install vsftpd* -y
3.启动vsftpd
rpm –ql vsftpd | more
systemctl restart vsftpd.service
ps -ef |grep vsftpd
4.配置
vim /etc/vsftpd/vsftpd.conf
直接用我下面这个吧
# 开启匿名访问
anonymous_enable=NO
#启用本地系统用户访问
local_enable=YES
#本地系统用户写入全县
write_enable=YES
#本地用户创建文件目录默认权限掩码
local_umask=022
#打印目录显示纤细,通常用于用户第一次访问目录时,信息提示
dirmessage_enable=YES
# 启用上传/下载日志记录
xferlog_enable=YES
# ftp使用20端口进行数据传输
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
#日志文件根据xferlog的标准写入
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#ls_recurse_enable=YES
#打开就对了
listen=YES
#关掉就完事
# listen_ipv6=NO
#登录ftp服务器根据/etc/pam.d/vsftpd内容认证
pam_service_name=vsftpd
#Vsftpd.user_list和ftpusers配置文件离的用户禁止访问ftp
userlist_enable=YES
#设置vsftpd于tcp wrapper结合进行主机访问
tcp_wrappers=YES
# 被动模式
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=60100
# 修改ftp默认目录
local_root=/home
chroot_local_user=YES
anon_root=/home/anon
local_enable=YES
write_enable=YES
#
5.启动ftp专用账号
这里照抄参考资料Centos7 搭建FTP服务器
新增账号
本次计划目的添加一个管理员账号,使用管理员账号上传管理文件,匿名用户可以查看下载,但是没有其他权限。默认账号路径在/home下
useradd admin
echo admin12345|passwd --stdin admin
新建目录
重启服务
systemctl restart vsftpsd
下载FileZilla
https://www.filezilla.cn/
使用FileZilla
软件使用应该不用说了
二.安装SteamCMD
1.安装SteamCMD所需库
sudo yum update
sudo yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686 screen
2.安装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.sh
3.下载饥荒服务端
# 先执行设置下载地址
force_install_dir /home/dstserver
# 匿名登陆
login anonymous
# 这里注意,使用的是update,如果存在,则更新,如果不存在,则下载
app_update 343050 validate
4.解决libcurl-gnutls.so.4
缺失问题
ln -s /usr/lib/libcurl.so.4 /home/dstserver/bin/lib32/libcurl-gnutls.so.4
5.生成主世界(master_start.sh)和洞穴(cave_start.sh)命令
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
6.启动一次世界生成默认文件
肯定链接失败,报没有token,这是预期内的,不用担心
./master_start.sh
启动完成后Ctrl+C
关闭服务
./cave_start.sh
启动完成后Ctrl+C
关闭服务
此时可以看到home
目录下生成了两个文件夹dstsave
和dstsever
dstsave
: 数据文件,里面包含世界,存档
dstsever
: 服务端文件
7.在自己电脑上创建饥荒世界
创建完毕后,回到饥荒首页的左下角,有个游戏数据,点一下会打开本地文件夹,李米娜包含了刚刚创建的世界
Cluster_*
文件夹是世界数据,12345表示创建的第几个世界.
文件夹内包含
Master
:主世界配置
Caves
:洞穴配置
cluster.ini
:房间配置
我们要做的,就是通过ftp
,将这些内容,放到服务器的/home/dstsave/dst/World1
目录下.
8.获取token
回到饥荒客户端首页,左下角有个叫账户信息
的按钮,点击跳转Klei
,点击我的游戏
,再点击右上角Don’t Strave Together Servers
,下方有个添加新的服务器
,随便填个名字就行了,会得到一个token
,复制这个token
9.在服务器上放置token
cd /home/dstsave/dst/World1
touch cluster_token.txt
vim cluster_token.txt
把token
放进去
三.启动饥荒
1.启动
cd /home/dstserver/bin
2.screen
命令
通过-R
启动一个容器,如果存在,则进入容器,如果不存在,则创建一个容器
screen -R master
./master_start.sh
如果没报错并且看到Simple pause
就代表启动成功,按下Ctrl+A
然后再按下Ctrl+D
就可以让服务后台运行,并回到原来的控制台
screen -R caves
./cave_start.sh
洞穴同理
要看log
就继续使用screen -R master
或者screen -R caves
3.查看端口
# 主世界
netstat -nlp |grep :10999
# 洞穴
netstat -nlp |grep :10998
关闭应用
kill -9 pid
到这里为止,我们的饥荒已经成功启动了
下一篇我们来说mod无星的饥荒(二)——Mod
参考
Centos7 搭建FTP服务器
饥荒搭建