泰拉瑞亚(Terraria)是 2D 沙盒的常青树,"打不过BOSS就喊人"是国民级场景。它的专用服务端和别的游戏不一样:服务端直接打包在游戏本体里(Steam App 105600),下完游戏就有,不需要单独找工具。真正要选的是路线:原生服(简单)还是 TShock 服(强大)。
这篇教程三条路线全讲:原生服、TShock 服、tModLoader MOD 服。按人头和需求选一条走即可。全部命令可抄,Linux 原生支持。
本文由财富云计算整理,我们主营 NAT 型云服务器(无独立公网 IP),价格比独立 IP 机型省一半以上,跑泰拉瑞亚这种轻量服 1 核 2G 都够。更多开服教程见端口速查表。
一、三条路线怎么选
| 路线 | 适合 | 管理能力 | 难度 |
|---|---|---|---|
| 原生服 | 3–8 人好友,不折腾 | 基础(存档、踢人) | ⭐ |
| TShock 服 | 10+ 人公共服、要权限分组 | 强(指令系统、SQLite、白名单) | ⭐⭐ |
| tModLoader 服 | 玩 MOD(灾厄 Calamity 等) | 同 TShock | ⭐⭐⭐ |
结论先行:好友自娱自乐用原生服;想认真经营一个服,直接上 TShock。TShock 是在原生服务端上替换核心实现的增强版,安装只多两步,但多了注册、组权限、背包查询等几十条管理指令。
二、配置需求:最省资源的一档
| 同时在线 | CPU | 内存 | 磁盘 | 带宽 |
|---|---|---|---|---|
| 1–8 人(原生) | 1–2 核 | 1–2 GB | 2 GB | 5 Mbps |
| 10–30 人(TShock) | 2 核 | 2–4 GB | 5 GB | 10 Mbps |
| MOD 服(灾厄等) | 2–4 核 | 4–8 GB | 10 GB | 15 Mbps |
- 泰拉瑞亚是 2D 俯视角,服务端开销极低,NAT 型服务器 1 核 2G 就能带十几人,是全站最便宜的联机方案之一。
- 单端口 TCP 7777,没有查询端口那套弯弯绕,NAT 映射一条搞定。
- MOD 服(尤其是灾厄)会显著吃内存和 CPU,按 4G 起步估。
三、路线 A:原生服(最简单)
3.1 安装
原生服务端在游戏本体里,SteamCMD 下 105600:
sudo adduser --disabled-password --gecos "" terraria
sudo mkdir -p /opt/terraria && sudo chown terraria:terraria /opt/terraria
sudo -u terraria -s
cd ~/steamcmd
./steamcmd.sh +force_install_dir /opt/terraria/server +login anonymous +app_update 105600 validate +quitLinux 服务端文件是 TerrariaServer.bin.x86_64,需要 mono 运行:
sudo apt install -y mono-runtime3.2 首次启动生成配置
cd /opt/terraria/server
mono TerrariaServer.bin.x86_64首次启动会问你选世界、人数等交互问题,也可以直接 Ctrl+C 退出,此时目录下已生成配置文件。后面全部用参数启动,不再交互。
3.3 启动参数
./TerrariaServer -config serverconfig.txtserverconfig.txt 关键项:
world=/opt/terraria/server/world/world1.wld
worldpath=/opt/terraria/server/world/
port=7777
maxplayers=16
password=your_password
motd=欢迎来到我的泰拉瑞亚服
secure=1
autocreate=3 # 世界不存在时自动创建,3=大世界
difficulty=0 # 0普通 1专家 2大师 3旅行也可以用命令行参数覆盖:-world world1 -players 16 -pass your_password -port 7777。
世界文件 .wld 就是全部进度,备份它就够了。
3.4 systemd 守护
cat > /opt/terraria/start.sh <<'EOF'
#!/bin/bash
cd /opt/terraria/server
exec mono TerrariaServer.bin.x86_64 -config serverconfig.txt
EOF
chmod +x /opt/terraria/start.sh
sudo tee /etc/systemd/system/terraria.service <<'EOF'
[Unit]
Description=Terraria Server
After=network.target
[Service]
Type=simple
User=terraria
ExecStart=/opt/terraria/start.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now terraria四、路线 B:TShock 服(推荐认真玩的人上)
TShock = 原生服务端 + 管理指令系统,公共服的事实标准。
4.1 安装(在原生服基础上替换)
cd /opt/terraria/server
# 下载 TShock 最新版(GitHub releases,版本号按实际改)
wget https://github.com/Pryaxis/TShock/releases/download/v5.2.0/TShock-5.2.0-linux-amd64.zip
# TShock 5+ 自带运行时;旧版本需要 mono以 TShock 5.x 为例,解压后目录里会有 TShockAPI.dll 和启动脚本。启动:
cd /opt/terraria/server/TShock
./start.sh首次启动生成 config.json 和 tshock.sqlite,同样可以先跑一次再配置。
4.2 TShock 配置要点
config.json 里改这些:
{
"ServerName": "我的泰拉瑞亚服",
"ServerPort": 7777,
"MaxSlots": 32,
"ServerPassword": "",
"SuperAdminChatRGB": [255, 0, 0],
"RestApiEnabled": true,
"RestApiPort": 7878
}ServerPassword留空 = 谁都能进,公共服必填。- REST API 方便做网页管理,但必须绑内网或加 token,暴露公网等于把服送人,安全事项见REST 接口防护。
4.3 管理指令(控制台或游戏内 / 触发)
| 指令 | 作用 |
|---|---|
/user add <名> <密码> <组> | 注册玩家并分组(owner/admin/vip/default) |
/group addperm <组> <权限> | 给组开权限,比如 tshock.ignore.* |
/save | 手动存档 |
/kick /ban <名> [原因] | 踢人/封禁 |
/give <名> <物品> [数量] | 发物品(活动用) |
/buff <名> <buff> | 上状态 |
权限分组是 TShock 的灵魂:default 给基础玩家,vip 给赞助,admin 给管理,owner 留给自己。别把所有好友都设 owner,误放岩浆的时候你会感谢这条建议。
五、路线 C:tModLoader MOD 服
玩 MOD(灾厄、Thorium 等)必须服务端和客户端 MOD 完全一致,且都要用 tModLoader 启动。
服务端安装(Steam App 1281930):
./steamcmd.sh +force_install_dir /opt/terraria/tmodserver +login anonymous +app_update 1281930 validate +quit
cd /opt/terraria/tmodserver
./start-tModLoaderServer.sh -config serverconfig.txt- MOD 文件放在服务端的
Mods/目录(.tmod文件,从客户端%Documents\My Games\Terraria\tModLoader\Mods拷贝)。 - 客户端必须在 Steam 库里装 tModLoader 并从它启动。
- 每次 MOD 更新,服务端和所有客户端同步更新,版本不一致直接拒连——这是 MOD 服最烦的地方,值得写进群公告。
MOD 管理和自动更新的通用思路见游戏 MOD 服搭建指南。
六、端口:就一个 TCP 7777
sudo ufw allow 7777/tcp安全组同步放行(安全组配置实战)。NAT 型用户控制台映射外网 TCP 7777 → 内网 7777,一条搞定,是全站最省心的 NAT 映射场景。
TShock REST API 端口(如 7878)不要映射到公网,留在内网自用。
七、备份:wld 和 sqlite 都要
原生服备份 .wld 世界文件;TShock 还要备份 tshock.sqlite(账号、封禁、组权限都在里面):
cat > /opt/terraria/backup.sh <<'EOF'
#!/bin/bash
SRC="/opt/terraria/server"
DST="/opt/terraria/backups"
mkdir -p "$DST"
tar -czf "$DST/terraria-$(date +%F).tar.gz" \
-C "$SRC" world serverconfig.txt TShock/config.json TShock/tshock.sqlite 2>/dev/null
find "$DST" -name "terraria-*.tar.gz" -mtime +30 -delete
EOF
chmod +x /opt/terraria/backup.sh
(crontab -l 2>/dev/null; echo "0 4 * * * /opt/terraria/backup.sh") | crontab -更新前、改配置前必跑。备份体系化见服务器备份策略,换服务器搬家见游戏服迁移指南。
八、更新
原生服更新 = 重新拉 105600:
sudo systemctl stop terraria
sudo -u terraria -s
cd ~/steamcmd
./steamcmd.sh +force_install_dir /opt/terraria/server +login anonymous +app_update 105600 validate +quit
exit
sudo systemctl start terrariatModLoader 服同理拉 1281930,更新后确认 MOD 版本兼容再放人进来。自动化更新见游戏服自动更新实战。
九、常见问题
Q1:mono 报缺库?sudo apt install -y mono-runtime libmono-corlib4.5-cil,或者直接用 TShock 5.x 自带运行时版本,绕开 mono 依赖。
Q2:玩家进不去,提示版本不匹配?
原生服更新后客户端也要更新;MOD 服是 MOD 版本不一致,两边 .tmod 对齐。
Q3:世界文件损坏?
用备份 .wld 替换后重启。泰拉瑞亚世界文件单点故障,备份是唯一解。
Q4:TShock 服被陌生人注册捣乱?
设 ServerPassword + 关闭公开注册(默认 /user add 才能玩),必要时只让 admin 注册。
Q5:延迟高/瞬移?
先看服务器地域和带宽,2D 游戏流量极小,高延迟基本是地域问题(地域延迟指南)。
Q6:一台机器能开几个服?
能开好几个。每个服独立目录 + 独立端口(7781、7782…)+ 独立 systemd 服务,1 核 2G 的机器带三四个原生服无压力,方案见一台服务器开多个游戏服。
十、小结
泰拉瑞亚是新手开服的最佳练手对象:单端口、Linux 原生、资源消耗全站最低。好友玩玩原生服够了;想往公共服经营,直接上 TShock,权限分组和指令系统会让管理省一半力气;玩 MOD 就 tModLoader,接受"每次更新全员同步"的仪式感。
1 核 2G 就能开的联机服,可以看看财富云计算的 NAT 型云服务器——无独立公网 IP,价格比独立 IP 机型省一半以上,TCP 单端口映射零门槛。更多游戏开服教程持续更新在游戏配置与开服教程总索引。
相关阅读:英灵神殿开服 · 僵尸毁灭工程开服 · 七日杀开服 · 我的世界 Java 版开服 · 游戏配置速查
延伸阅读
- 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
- DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
- 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
- 源站真实 IP 隐藏完全指南:六大暴露面排查+NAT 型终极方案
- 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
- 攻击应急响应手册:六阶段响应流程,从确认到复盘的照做清单
- iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
- OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单
