456 字
1 分钟
Docker 搭建 Terraria 服务器
准备一个用于存放服务器数据的目录,分别编写 Dockerfile 与 docker-compose.yml 文件:
文件准备
DockerFile
注意,此处的的 1449 即 1.4.4.9 版本,为这篇文章编写时的最新版本,请与官方最新版本对齐。
FROM centos:7
ENV LANG en_US.utf8
WORKDIR /terraria
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ yum install -y \ wget \ unzip && \ wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1449.zip && \ unzip terraria-server-1449.zip && \ chmod 744 ./1449/Linux/TerrariaServer.bin.x86_64
CMD nohup sh -c "./1449/Linux/TerrariaServer.bin.x86_64 -config /terraria/config/serverconfig.txt"docker-compose.yml
version: "3.7"services: server: build: context: . image: terraria:1.4.4.9 ports: - "57777:7777" container_name: terraria restart: always volumes: - ./config/:/terraria/config - ./worlds/:/terraria/worlds获取配置文件
配置文件可以直接从容器内提取。
启动容器
在当前目录下运行命令,启动容器。
docker-compose up -d正常启动后会在当前目录下生成 config 与 world 目录,分别用于存放配置文件与世界文件。
提取配置文件
执行命令,从容器中获取配置文件,存放至 config 目录下。
docker cp terraria:/terraria/1449/Windows/serverconfig.txt ./config/serverconfig.txt启动服务器
修改配置文件
为保证 world 的数据能够持久化保存到 world 目录内,需要对配置文件做出更改。
找到 #world= 与 #worldpath= 行,去除 # 号,修改为如下内容:
world=/terraria/worlds/[world-name].wldworldpath=/terraria/worlds/找到 #port= 行,去除 # 号。注意,建议此处指定为 7777,如果必须要修改,请同步修改 docker-compose.yml - ports 的第二个数字。
其他的按个人需求酌情更改,每一项均有英文注释,如需启用某项,删除掉前面的 # 即可。
重启服务
在服务器根目录下执行命令,重启服务。
docker-compose restart等待世界创建完成,可通过如下命令查看 docker 日志,确定世界创建进度。
docker-compose log -tf --tail 100当出现以下内容时,世界创建完成,可以尝试进入服务器了。
terraria | 2022-12-05T17:55:13.038180100Z Listening on port 7777terraria | 2022-12-05T17:55:13.038183200Z Type 'help' for a list of commands.terraria | 2022-12-05T17:55:13.038185500Zterraria | 2022-12-05T17:55:13.124762400Z : Server started测试连接
进入对应版本的游戏,选择 多人模式 - 通过IP加入,输入服务器 ip 地址(本地环境下为 127.0.0.1)与端口 57777,正常进入游戏,即成功搭建 Terraria 服务器。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Docker 搭建 Terraria 服务器
https://marrydream.top/posts/linux/docker-搭建-terraria-服务器/ 部分信息可能已经过时
相关文章 智能推荐