准备一台 VPS:
首先需要准备一台 VPS。
我的VPS配置如下:
CPU:2核
内存:2G
带宽:2M以上
当然以上配置全部是 1 也是能跑,就是可能会很慢或者游戏途中掉线。

设置SWAP

防止因为内存不足导致游戏被强迫关闭
有些vps会默认给一些SWAP有些则不给,如果SWAP不够的话推荐增加一些以保证进程不被关闭。

确认下SWAP设置了多少

1
free -m

如果足够1GB则跳过这一步直接开始搭建游戏!

删除 SWAP 分区

1
swapoff -a

新增 SWAP 分区

1
dd if=/dev/zero of=/root/swapfile bs=1M count=1024

格式化交换分区文件

1
mkswap /root/swapfile

添加开机启动

1
vi /etc/fstab

添加或修改

1
/root/swapfile swap swap defaults 0 0

进入文本后按键盘上的 insert 按钮开始编辑,按 esc 退出编辑,输入: wq 保存并退出

重启查看否生效

1
reboot

重启后输入指令查看下 SWAP 是否增加

1
free -m

开始搭建服务器

这里我选用的系统是 Debian GNU/Linux 10 (buster) 搭建

在系统安装完毕后使用 Xshell 登录 VPS。跟FlashFXP上传文件
(这里以自己的本地电脑是 Windows 为例)

Xshell 下载地址:https://www.netsarang.com/zh/xshell/
Xshell 的具体使用方法这里省略,具体可以在网上搜索教程,不难的。

登录 root 账户后输入

1
2
3
apt-get install yum -y
apt-get install wget -y
apt-get install screen -y

防火墙设置(如果有):

1
2
3
4
# firewall-cmd --permanent --add-port=7777/tcp
success
# firewall-cmd --reload
success

因为泰拉瑞亚默认使用 7777 端口这里就设置为 7777,可以根据自己的需求修改。

创建服务器文件夹

1
2
# cd /opt/
# mkdir terraria

下载服务器文件

本地浏览器打开terraria点击最下方PC Dedicated Server下载最新版服务端并解压

制作一个配置文件

在本地新建 serverconfig.txt
文件内容如下

1
2
3
4
5
6
7
world=/opt/terraria/Worlds/世界的名字.wld   地图存档路径
autocreate=3 世界大小 1小、 2 大、 3 超大
worldname= 世界的名字
difficulty=0 难度:0(普通),1(专家)
maxplayers=4 最大玩家数
password= 设定一个密码(无密码留空)
worldpath=/opt/terraria/Worlds 地图保存路径

将服务端跟配置上传至服务器

FlashFXP连接至主机方法不再赘述 具体请百度一下

文件全选直接拖动到服务器目录就好了

创建个窗口

screen创建一个名叫terr的窗口 使服务器能在后台运行

1
screen -S terr

screen相当于windows的窗口 放到后台不会因为关闭xshell而把进程关闭
将当前窗口切换至后台
crtl+A+D

列出后台运行的窗口

1
screen -list

重新打开后台窗口

1
screen -r 窗口名

赋予服务器文件权限

1
2
# cd /opt/terraria
# chmod 777 TerrariaServer.bin.x86_64

启动服务器

1
# ./TerrariaServer.bin.x86_64 -config /opt/terraria/serverconfig.txt

初次运行因为要创建世界需要一定时间当看到

1
2
3
4
5
6
Terraria Server v1.4.0.3

Listening on port 7777
Type 'help' for a list of commands.

:

表示生成成功!

此时可以在游戏的多人模式通过 IP 进入游戏看看是否成功。

确认成功后退出服务器

1
: exit

重新编辑配置文件防止重新生成世界

1
2
# cd /opt/terraria
# vi serverconfig.txt

将三个配置失效掉

1
2
3
autocreate=2
worldname=世界的名字
difficulty=1

改为

1
2
3
# autocreate=2
# worldname=Terraria
# difficulty=1

重新打开服务器

1
2
# cd /opt/terraria
# ./TerrariaServer.bin.x86_64 -config /opt/terraria/serverconfig.txt

完成

成功后按crtl+A+D将此窗口切换至后台

通过screen -ls确认下是否开启了窗口

1
2
3
4
# screen -list
There is a screen on:
526.terr (05/20/20 10:40:14) (Detached)
1 Socket in /run/screen/S-root.

出现刚才创建的窗口的话就可以愉快的玩耍了

制作一个自动启动的脚本

参考文献