从0到1搭建《泰拉瑞亚》(Terraria)游戏服务器

购买服务器

这边推荐 腾讯云学生机服务器(https://curl.qcloud.com/VpUtyVxr), 新客下单仅需99/年. 这边使用 基于操作系统镜像 OpenCloudOS 来创建. 地域根据自己的就近区域选择.

登录服务器

创建完我们直接登录进服务器.

添加腾讯软件源

1
2
3
4
sudo dnf config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo && \
sudo sed -i 's#download.docker.com#mirrors.tencentyun.com/docker-ce#g' /etc/yum.repos.d/docker-ce.repo && \
sudo dnf clean all && \
sudo dnf makecache --refresh

安装 Docker

1
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动并检查:

1
sudo systemctl enable --now docker

创建游戏的数据目录

1
mkdir -p $HOME/terraria/config

上传本地存档

电脑存档一般在 “C:\Users\你的用户名\Documents\My Games\Terraria\Worlds\世界名称.wld”.

使用腾讯云右上角的文件管理, 将存档文件夹上传到服务器路径 “$HOME/terraria/config/“ 下.

配置 Docker 镜像源

1
mkdir -p /etc/docker && tee /etc/docker/daemon.json <<<'{"registry-mirrors":["https://mirror.ccs.tencentyun.com"]}' && systemctl daemon-reload && systemctl restart docker

运行服务端程序

启动服务容器: (第一次需要下载资源可能有点久)

1
2
3
4
5
6
sudo docker run --rm -dit \
--name=terraria \
-v $HOME/terraria/config:/config \
-e world=这里改为你世界的名字.wld \
-p 7777:7777 \
beardedio/terraria:latest

除了上面的参数, 其它参数可以在 beardedio/terraria 项目找到.
启动完之后我们执行 docker ps, 看到 CONTAINER ID 有记录说明服务端程序启动成功了.

开放防火墙端口

我们需要在腾讯云的防火墙里, 添加规则, 开放我们服务端程序的 TCP协议 7777 端口.

进入房间

启动游戏, 多人游戏, 输入服务器的 ip 地址端口(默认端口可为空), 连接上就可以了.