前言
本教程针对所有linux系统,不管是ubuntu、centos等等系统都可以, Windows系统安装流程差不多,但不针对。
一、安装docker并启动
各个linux系统版本的安装方法请自行搜索,本教程不提供安装方法。
命令行终端输入docker –version,输出以下版本信息方为安装成功,否则安装失败或未安装。
Docker version 26.1.3, build b72abbb
命令行终端输入以下两行命令, sudo systemctl start docker sudo systemctl status docker 输出以下信息中Active后面为active(running)则为docker守护进程启动成功。
docker.service – Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2025-03-15 16:53:52 EDT; 6h ago
Docs: https://docs.docker.com
Main PID: 1023 (dockerd)
Tasks: 13
Memory: 143.9M
CGroup: /system.slice/docker.service
└─1023 /usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock
二、拉取docker镜像
1、添加docker加速镜像
命令行终端中输入以下命令 sudo echo '{"registry-mirrors": ["https://docker.1ms.run","https://docker.xuanyuan.me"]}' | sudo tee /etc/docker/daemon.json > /dev/null
sudo systemctl daemon-reload
sudo systemctl restart docker 加速镜像地址来源:轩辕镜像 也可自行搜索加速镜像进行添加,搜索关键词【docker加速镜像】。
2、拉取镜像
在命令行终端输入以下命令拉取最新镜像(我自己做的镜像哦) sudo docker pull 1vvl2/terraria-server:latest
若使用指定版本请将“latest”更改为对应tag 去dockerhub查看版本信息(需科学上网)
等待拉取成功,出现以下信息则为拉取完成
latest: Pulling from 1vvl2/terraria-server
a1d0c7532777: Pull complete
8f911d3ef035: Pull complete
706f9bbf46ce: Pull complete
df243f7953f8: Pull complete
ec5564baede2: Pull complete
Digest: sha256:28a57af5fc3b93ab5a1f5bf64f2783e2d4e0283027aece1723e5400a22804a8e
Status: Downloaded newer image for 1vvl2/terraria-server:latest
docker.io/1vvl2/terraria-server:latest
如果拉取失败可以复制报错信息百度或者问ai,也可评论区告诉我。
三、开启服务器
1、创建存档文件和配置文件存放的文件夹、配置文件
在命令行终端中输入以下命令 #创建存档文件和配置文件存放的文件夹 sudo mkdir /home/Terraria sudo mkdir /home/Terraria/Worlds
#创建配置文件 sudo touch /home/Terraria/serverconfig.txt
创建完后,将存档.wld文件放入/home/Terraria/Worlds/文件夹中(如没有存档可不放,开启服务器后在控制台选择新建存档即可)
2、编辑serverconfig.txt配置文件
在命令行终端中输入以下命令 sudo vim /home/Terraria/serverconfig.txt 按字母”I“,将以下配置内容写入到/home/Terraria/serverconfig.txt文件中(除了世界存储位置必须写,其他可以只写需要的),写入完毕后先按ESC,再按Shift+ : (冒号键),输入 wq 并回车即可保存。
!!!世界存储位置这一条必须写进去,且不能改动!!!
#世界的存储位置,泰拉瑞亚的世界文件分为两个部分(wlf.bak和wld,以及t前缀的文件(TML专属)),缺一不可!
worldpath=/app/Server/Terraria/Worlds/
配置文件内容说明:
具体参数,按需启用,默认不启用 要想让这些参数生效必须要把参数那一行前面的#(不包括对参数的解释那一行前面的#)删去并保存。
#默认打开的世界文件夹路径,设置后启动服务器就不需要选择世界了,如启用,请将‘存档名字’改为你要开服的存档的名字。
#world=/app/Server/Terrraria/Worlds/存档名字.wld
#如果第一条参数设置后没有找到对应的世界,就会在这个文件夹内创建一个新的世界,世界的大小就是这个参数设置的,分别为1(小),2(中),3(大)。
#autocreate=1/2/3
#如果第一条参数设置后没有找到对应的世界,新的世界所用的种子就是这个参数设置的。
#seed=AwesomeSeed
#第一条参数没有找到对应的世界的新世界的名字就是这个参数设置的。
#worldname=Terraria
#第一条的新世界的难度就是这个参数设置的,注意:在1.3的只有0和1两个参数!1.4的服务器才会存在2和3两个参数。这些参数分别为0(普通), 1(专家), (1.4开始)2(大师), 3(旅途)
#difficulty=0/1/2/3
#顾名思义,服务器可以承载的最大玩家数量。到了最大数量后再进入新的玩家会说服务器已满。设置后开启服务器可以不用再设置最大玩家数。
#maxplayers=8
#服务器的默认端口,不建议更改。设置后开启服务器可以不用再设置端口。
#port=7777
#服务器的密码,设置后开启服务器可以不用再设置密码。
#password=
#玩家进服时看到的聊天框信息,可以通过指令设置,默认的(我不确定是否都一样)意思是请不要砍紫色的树!
#motd=Please don抰 cut the purple trees!
#黑名单的路径,默认为工作路径下的banlist.txt,不建议更改。
#banlist=banlist.txt
#服务器是否开启增强型作弊保护,有一说一意义不明。
#secure=1
#设置服务器语言,语言列表在这条参数上方有。
#language=en-US
#服务器是否使用uPNP(通用即插即用)自动转发端口,不建议更改。
#upnp=1
#减少敌人的跳动(类似延迟补偿),但会增加宽带的利用率(服务器变卡),数字越小,跳动频率越低,但发送的数据越多。0是关闭。不建议更改。
#npcstream=60
#默认系统优先级,参数分别是0(真实时间)、1(高)、2(高于普通)、3(普通)、4(低于普通)、5(闲暇)。不建议更改,因为我也没搞懂这玩意是个啥子。
#priority=0/1/2/3/4/5
上述配置文件中文翻译来源于:TModLoader与Terraria的指令与服务器文件配置 – 哔哩哔哩
3、创建并运行容器
挂载本地的存档和配置文件文件夹到容器中。 在命令行终端输入以下命令,回车 sudo docker run -dit \\ –name terraria-server \\ -p 7777:7777 \\ -v /home/Terraria:/app/Server/Terraria \\ 1vvl2/terraria-server:latest
若拉取镜像时拉取了指定版本请将“latest”更改为对应tag。
示例:
[root@localhost ~] sudo docker run -dit \\
> –name terraria-server \\
> -p 7777:7777 \\
> -v /home/Terraria:/app/Server/Terraria \\
> 1vvl2/terraria-server:latest
d4c4be863aaa8d6b7b186b59524a83ed378a7be88a05dd4bed752f8e3dd26ca8
在linux终端输入sudo docker start terraria-server开启服务器(第一次创建完容器会自动开启)
[root@localhost ~]# sudo docker start terraria-server
terraria-server
控制台输入sudo docker logs terraria-server命令可查看控制台已输出的内容
Terraria Server v1.4.4.9
1 泰拉萌新玩大师
n New World
d <number> Delete World
[root@localhost Terraria]#
控制台输入sudo docker attach terraria-server命令进入服务器命令控制台,根据控制台输出内容进行选择开服设置(也可在配置文件中直接设置,就不用每次开服的时候都要选了,这边演示的是配置文件中只写了世界的存储位置,配置文件内容如下
#世界的存储位置,泰拉瑞亚的世界文件分为两个部分(wlf.bak和wld,以及t前缀的文件(TML专属)),缺一不可!
worldpath=/app/Server/Terraria/Worlds/
)
Terraria Server v1.4.4.9
1 泰拉萌新玩大师
n New World
d <number> Delete World
[root@localhost Terraria]# sudo docker attach terraria-server
1
输入1并回车,则表示选择上述“泰拉萌新玩大师”的存档开服。
输入n并回车,则表示新建世界。
输入d <1>,则表示删除“泰拉萌新玩大师”的存档。
接下来根据控制台输出内容自行选择
Terraria Server v1.4.4.9
Max players (press enter for 16):
这里选择人数,不输入直接回车则表示默认16人。
============================================
Terraria Server v1.4.4.9
Server port (press enter for 7777):
这里写服务器端口,一般默认,不输入直接回车。
============================================
Terraria Server v1.4.4.9
Automatically forward port? (y/n):
自动转发端口,一般默认,不输入直接回车。
============================================
Terraria Server v1.4.4.9
Server password (press enter for none):
设置密码,不输入直接回车就是无密码。
============================================
随后会跳出一大串字符,生成世界,加载世界
Resetting game objects 100%
Loading world data: 100%
Settling liquids 13%
Terraria Server v1.4.4.9
Listening on port 7777
Type 'help' for a list of commands.
: Server started
跳出:Servr started则表示开服成功
============================================
按Ctrl + P + Q 可以让服务器进入后台运行
read escape sequence
显示这个就表示服务器进入后台运行了
在命令行终端输入sudo docker attach terraria-server进入服务器控制台 然后在服务器控制台中输入 exit 就可以关闭服务器并保存存档
[root@localhost Terraria]# sudo docker attach terraria-server
exit
Saving before exit...
显示这个就是代表保存并关闭成功
[root@localhost Terraria]#
——————————————————————End——————————————————————————
谢言:
新人第一次发这种教程,所以会有很多不足,不够细节,教程中可能会有错误命令,欢迎指出错误,提供建议。 开服过程中遇到无法解决的问题可以在评论区留言,或者私信我。 谢谢大家!
评论前必须登录!
注册