记录一下自己饥荒服务器搭建流程。
着重号测试
- 操作系统:Ubuntu Server 18.04.1 LTS 64bit
- CPU:2核
- 内存:4GB
- 系统盘:80GB SSD
- 带宽:8Mbps(1200GB/月)
之后改成Ubuntu20了
开启10888、10999、10998 端口 使用UDP协议
腾讯云的Ubuntu机子默认不能使用root用户登录,所以需要进行配置。
服务器关了再创
到此依然只能用ubuntu账号通过密钥登录,使用root还需要配置
1
2
3
4
5
|
sudo passwd root
su - root
cat /home/ubuntu/.ssh/authorized_keys >> /root/.ssh/authorized_keys
passwd -d root
|
这时重新配置FinalShell,使用root账号即可登录
1
2
3
4
5
6
7
8
9
10
11
12
13
|
dpkg --add-architecture i386
apt update
# libsdl2-2.0-0:i386 必须安装否则会有SDL报错
# libcurl4-gnutls-dev:i386 如果没有则会在开启服务器的时候出现问题,可能是因为启动服务器用了bin里的程序
apt install lib32gcc1 lib32stdc++6 libsdl2-2.0-0:i386 libcurl4-gnutls-dev:i386
useradd -m dst
passwd dst
su - dst
mkdir steamcmd && cd steamcmd && wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz && tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh
|
force_install_dir /home/dst/dstserver
login anonymous
app_update 343050 validate
quit
1
2
3
|
cd /home/dst/dstserver/bin
echo "./dontstarve_dedicated_server_nullrenderer -console -cluster ruwosuojian -shard Master" > master_start.sh && echo "./dontstarve_dedicated_server_nullrenderer -console -cluster ruwosuojian -shard Caves" > caves_start.sh && chmod +x master_start.sh caves_start.sh
|
先运行一遍指令,生成存档。
使用本地的饥荒创建世界后进行如下操作。
dedicated_server_mods_setup.lua 文件放在/home/dst/dstserver/mods
cluster_token.txt cluster.ini 放在存档的根目录
modoverrides.lua leveldataoverride.lua server.ini 分别放入Master、Caves
1
2
|
screen -S master ./master_start.sh
screen -S caves ./caves_start.sh
|
systemd 用户实例在用户首次登陆时启动,并在最后一个会话退出时终止。 但有时候,对于一些不依赖于会话的用户进程,在系统启动时加载用户实例,在会话全部结束时,也不停止用户实例是比较有用的。Lingering 就是用来实现这个的。 使用以下命令来启用驻留指定用户:
1
|
loginctl enable-linger username
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
loginctl enable-linger dst
export XDG_RUNTIME_DIR=/run/user/$(id -u) && systemctl --user import-environment PATH
# 验证是否配置正确
systemctl --user show-environment
systemctl --user enable dstmaster
systemctl --user enable dstcaves
systemctl --user daemon-reload
systemctl --user status dstcaves
# 查看日志
journalctl --user -u dstmaster -n 20 -f
journalctl --user -u dstcaves -n 20 -f
|
就为了个以dst用户开机启动dst服务器,真是给我整吐了
之后最好还要加一个定时备份存档
https://wiki.archlinux.org/title/Systemd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/User_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E9%9A%8F%E7%B3%BB%E7%BB%9F%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8