准备一个用于存放服务器数据的目录,分别编写 Dockerfile 与 docker-compose.yml 文件:
文件准备
DockerFile
注意,此处的的 1449
即 1.4.4.9
版本,为这篇文章编写时的最新版本,请与官方最新版本对齐。
1 | FROM centos:7 |
docker-compose.yml
1 | version: "3.7" |
获取配置文件
配置文件可以直接从容器内提取。
启动容器
在当前目录下运行命令,启动容器。
1 | docker-compose up -d |
正常启动后会在当前目录下生成 config
与 world
目录,分别用于存放配置文件与世界文件。
提取配置文件
执行命令,从容器中获取配置文件,存放至 config 目录下。
1 | docker cp terraria:/terraria/1449/Windows/serverconfig.txt ./config/serverconfig.txt |
启动服务器
修改配置文件
为保证 world 的数据能够持久化保存到 world
目录内,需要对配置文件做出更改。
找到 #world=
与 #worldpath=
行,去除 #
号,修改为如下内容:
1 | world=/terraria/worlds/[world-name].wld |
找到 #port=
行,去除 #
号。注意,建议此处指定为 7777
,如果必须要修改,请同步修改 docker-compose.yml
- ports
的第二个数字。
其他的按个人需求酌情更改,每一项均有英文注释,如需启用某项,删除掉前面的 #
即可。
重启服务
在服务器根目录下执行命令,重启服务。
1 | docker-compose restart |
等待世界创建完成,可通过如下命令查看 docker 日志,确定世界创建进度。
1 | docker-compose log -tf --tail 100 |
当出现以下内容时,世界创建完成,可以尝试进入服务器了。
1 | terraria | 2022-12-05T17:55:13.038180100Z Listening on port 7777 |
测试连接
进入对应版本的游戏,选择 多人模式 - 通过IP加入,输入服务器 ip 地址(本地环境下为 127.0.0.1
)与端口 57777
,正常进入游戏,即成功搭建 Terraria 服务器。