我的GitHub
0%

无星的饥荒(一)——安装

背景

一个朋友喜欢玩饥荒,但是总是一个人没意思

联机版又不会搭房间,去淘宝租服务器一个月20起步

本着友好助人的美好品德

帮朋友买了台2G4H 4M的服务器,一年才260,房间我负责搭,平时闲置的服务器我随便用

我可真是个乐于助人的好人

我们先选Centos7,然后开动

服务器安全组开放端口

服务器安全组把20-21,60000-60100放开,10998-10999为饥荒端口,也放开

一.搭FTP

为啥要搭FTP,其实主要是为了方便上传和下载文件,scp多少还是有点麻烦了

1.防火墙开放端口,不必关

1
2
3
4
5
# firewall-cmd --permanent --zone=public --add-service=ftp
# 开放常用端口
firewall-cmd --zone=public --list-ports
# 不行就重启一下
# systemctl restart firewalld.service

2.安装vsftpd

1
yum install vsftpd* -y

3.启动vsftpd

1
2
3
rpm –ql vsftpd | more
systemctl restart vsftpd.service
ps -ef |grep vsftpd

4.配置

1
vim /etc/vsftpd/vsftpd.conf 

直接用我下面这个吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 开启匿名访问
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下

1
2
useradd admin
echo admin12345|passwd --stdin admin

新建目录

1.png

重启服务

1
systemctl restart vsftpsd

下载FileZilla

https://www.filezilla.cn/

使用FileZilla

软件使用应该不用说了

二.安装SteamCMD

1.安装SteamCMD所需库

1
2
3
sudo yum update	

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

2.安装SteamCMD

1
2
3
4
5
6
7
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.下载饥荒服务端

1
2
3
4
5
6
# 先执行设置下载地址
force_install_dir /home/dstserver
# 匿名登陆
login anonymous
# 这里注意,使用的是update,如果存在,则更新,如果不存在,则下载
app_update 343050 validate

4.解决libcurl-gnutls.so.4缺失问题

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

5.生成主世界(master_start.sh)和洞穴(cave_start.sh)命令

1
2
3
4
5
6
7
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,这是预期内的,不用担心

1
./master_start.sh

启动完成后Ctrl+C关闭服务

1
./cave_start.sh

启动完成后Ctrl+C关闭服务

此时可以看到home目录下生成了两个文件夹dstsavedstsever

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

1
2
3
cd /home/dstsave/dst/World1
touch cluster_token.txt
vim cluster_token.txt

token放进去

三.启动饥荒

1.启动

1
cd /home/dstserver/bin

2.screen命令

通过-R启动一个容器,如果存在,则进入容器,如果不存在,则创建一个容器

1
2
screen -R master
./master_start.sh

如果没报错并且看到Simple pause就代表启动成功,按下Ctrl+A然后再按下Ctrl+D就可以让服务后台运行,并回到原来的控制台

1
2
3
screen -R caves

./cave_start.sh

洞穴同理

要看log就继续使用screen -R master或者screen -R caves

3.查看端口

1
2
3
4
# 主世界
netstat -nlp |grep :10999
# 洞穴
netstat -nlp |grep :10998

关闭应用

1
kill -9 pid

到这里为止,我们的饥荒已经成功启动了

下一篇我们来说mod无星的饥荒(二)——Mod

参考

Centos7 搭建FTP服务器

饥荒搭建