属于大家的
VPS知识分享站

团队要塞2服务器搭建:Linux、SourceMod、GSLT与端口

团队要塞2开服不只是跑一句 srcds_run -game tf。长期休闲服、训练服、比赛服或社区插件服,还要处理 GSLT、服务器列表、地图轮换、Metamod/SourceMod、管理权限、更新兼容和容量验收。这篇按 2026年8月3日 Steam AppInfo、Valve Source/GSLT 资料和 AlliedModders 官方插件文档整理。

我核验了 App 232250、Windows/Linux、public Build 24245063、Source 服务端入口、GSLT 保管规则和 srcds 参数等,没有实际运行。

先定义休闲、训练、比赛还是社区服

不同业务目标决定完全不同的验收清单:

  • 朋友休闲服:核心是易加入、地图轮换和最小管理。
  • 战队训练服:关注密码、固定地图、队伍规则、日志和快速重置。
  • 比赛服:需要冻结Build/插件/配置,比赛前不自动更新,并准备观战/日志和回退。
  • 社区插件服:需要Metamod/SourceMod、管理权限、可能的外部数据、更新回归和容量观测。

先做没有插件的原版基线,再按目标加配置和插件。一开始就导入整套社区配置,会把端口、GSLT、地图与插件故障混在一起。

配置怎么选

小型原版休闲/训练服可从2–4核、4GB内存和SSD开始测试;带SourceMod、机器人、自定义地图、SourceTV或多实例的社区服从4核、8GB或更多内存开始,并保留高单核性能余量。这些是建立样本的起点,不代表固定承载人数。

高峰容量需同时观察server frame、单核CPU、内存、机器人、插件耗时、地图实体、SourceTV观众和出站带宽。不要只按maxplayers数值采购,也不把空服资源占用外推为满员性能。

团队要塞2玩家通过UDP连接Linux Source服务端及GSLT地图循环和插件的架构

安装App 232250

Linux下用SteamCMD匿名安装:

steamcmd \
  +login anonymous \
  +force_install_dir /srv/tf2/app \
  +app_update 232250 validate \
  +quit

进程使用独立tf2普通用户运行,不用root。将程序包、tf/cfg、addons、SourceMod数据、日志和备份分开。官方更新可能替换程序或默认配置,所以不直接修改会被App更新覆盖的文件。

安装后记录public Build 24245063与当前程序清单。文章发布时再重查Build;运营时每次更新前备份,更新后在预发重做原版进服、换图和插件验收。

创建与保管GSLT

对公网长期运营的TF2实例,建议创建独立Game Server Login Token,用+sv_setsteamaccount传入。Steam官方当前要求用户自行负责token,不要向第三方分发;长期不使用会过期,账号密码被官方重置时token会再生成。

每个实例使用独立GSLT,不在命令历史、Git、systemd公开unit、截图或工单中出现真值。部署manifest只记录token引用、对应实例和末四位。如token暴露,立即在Steam页面删除/轮换,不只清理服务器文件。

最小启动命令

先用原版地图、不加Metamod/SourceMod建立基线:

cd /srv/tf2/app
./srcds_run \
  -game tf \
  -console \
  -port 27015 \
  +maxplayers 24 \
  +map cp_badlands \
  +sv_setsteamaccount "GSLT_FROM_SECRET_STORE"

完整验收不是看到进程在跑,而是:地图已加载、GSLT已登录、实际socket已监听、外部A2S/列表可查、客户端能加入两队、能正常完成换图、服务器正常停止并重开。本轮未执行这些步骤。

maxplayers 24只是启动示例,不是官方或萤光云对当前VPS的容量承诺。真实服务器人数应根据模式、地图、插件、机器人和观战实测调整。

端口、A2S与RCON

Source Dedicated Server常以27015作为默认游戏/查询起点。不根据旧教程盲目开放27000–27050全部端口。先按-port启动,用ss -lntup查实际socket,再从服务器外部做A2S和客户端测试。

如开SourceTV,会引入附加端口、CPU、内存和带宽需求,不在未启用时提前开放。同机多实例必须实际检查所有socket不冲突,而不只改一个游戏端口。

RCON只向管理员固定IP、VPN或跳板开放,使用长随机密码。不向全网无限制暴露,不在server.cfg的公开版本中保留真值。

server.cfg和mapcycle.txt

自定义配置放在tf/cfg/server.cfg。一个可审查的最小起点:

hostname "CHANGE_ME_TF2_Server"
sv_password ""
rcon_password "CHANGE_ME_RCON_PASSWORD"
sv_lan 0
log on

地图轮换放在tf/cfg/mapcycle.txt,每行一个实际存在的地图名:

cp_badlands
cp_process_final
koth_product_final
pl_upward

不把网上多年累积的数百行cvar全部复制。只对业务目标需要的值做覆盖,并在当前Build里用控制台查询是否存在。官方更新后,用预发服重新执行换图、模式和权限回归。

团队要塞2启动参数、GSLT、server配置、地图循环、插件和防火墙的配置分层

Metamod和SourceMod安装顺序

SourceMod依赖Metamod:Source,不要跳过底层验收直接堆插件。标准顺序:

  1. 安装当前Metamod:Source到tf游戏mod目录;
  2. 重启服务器,执行meta version
  3. 确认Metamod已加载,再安装SourceMod;
  4. 执行sm versionsm plugins list
  5. 配置管理员权限,用一个测试账号验证最小权限;
  6. 插件逐个加入,每个都做启动、进服、换图和重开回归。

AlliedModders当前资料说明Valve更新有时会破坏Metamod:Source兼容,必要时需要当前snapshot。这正是为什么不应将SteamCMD自动更新与生产进程直接绑定:先在预发验证底层两层和真实插件,再安排生产窗口。

66 tick和性能边界

Valve当前Source Multiplayer Networking资料将TF2列为66 tick,并说明-tickrate在TF2中被禁用。因此不要把“可以任意调tick”当作选VPS的卖点,也不要用非官方插件结论代替标准服务器资料。

服务器性能验收应使用真实模式、地图、机器人/玩家、SourceMod插件和SourceTV组合。记录server frame而不是只看总CPU;如果单核饱和,增加空闲核数未必能直接提高游戏循环能力。

SourceTV与比赛服

比赛或需要观战/录制的服务器可能开SourceTV。这会增加端口、带宽、内存和CPU负载,不在未使用时默认开启。创建单独的比赛配置,固定Build、地图、SourceMod版本、插件和日志/录制目录。

比赛前不自动更新App和插件,但也不永久冻结已知安全问题。在无比赛窗口中用预发更新,进行完整回归,然后将新组合设为下一场基线。

备份和恢复

TF2备份的主体是运营配置和插件数据:

  • tf/cfg/server.cfgmapcycle.txt、模式/比赛配置;
  • admins、bans、RCON和权限规则;
  • Metamod/SourceMod版本、plugins、configs、translations与插件业务数据;
  • 自定义地图、素材和下载配置;
  • SourceTV、demo和日志保留规则;
  • App Build、启动参数、端口映射和GSLT秘密引用。

恢复时在全新目录安装同Build,恢复配置与插件,注入新/现行GSLT,完成原版进服、SourceMod版本、管理权限、换图和SourceTV(如用)验收。只看systemctl active不能证明服务器已恢复业务能力。

团队要塞2停服备份、更新服务端、核对插件、小流量回归和失败回退的流程

更新和回退

更新拆成三个变更:App 232250 Build、Metamod/SourceMod底层、业务插件/自定义内容。一次只让一层发生变化,更容易定位。

标准流程:通知玩家→正常停服→完整备份→复制到预发→更新App→原版进服与换图→验证Metamod/SourceMod→验证业务插件→验证SourceTV→切生产。

如更新失败,恢复已验收的App Build、Metamod/SourceMod、插件和数据。不只替换一个二进制文件就继续运行,否则容易留下一半新一半旧的组合。

常见故障

进程正常,服务器列表找不到

检查sv_lan 0、GSLT登录日志、-port、实际socket、云安全组和主机防火墙,再从外部做A2S查询。不只用localhost证明公网可达。

meta version失效

先暂停加载SourceMod和其他插件,检查Metamod是否解压到正确tf目录,查metamod-fatal日志与当前Build兼容要求。必要时使用AlliedModders当前建议的snapshot,不从不明来源下载二进制。

地图不轮换

检查mapcycle.txt路径、每行地图名是否真实存在、当前模式是否覆盖地图投票/轮换,以及SourceMod地图插件是否接管。用原版无插件基线判断是配置还是插件问题。

玩家增加后卡顿

同时看server frame、单核CPU、机器人、插件耗时、地图实体和SourceTV。不只加内存,也不用修改tickrate掩盖插件或单核瓶颈。

FAQ

TF2服务器是多少tick

Valve当前资料将TF2列为66 tick,并说明-tickrate被禁用。不把非官方tick修改当成标准开服步骤。

SourceMod需要Metamod吗

需要。先用meta version验证Metamod,再用sm versionsm plugins list验证SourceMod。

可以自动更新后直接重启吗

不建议用于插件或比赛服。Valve更新可能短期破坏Metamod/SourceMod或业务插件兼容,先在预发验证再切生产。

购买前清单

选购YGCloud VPS前,确认:

  1. 休闲、训练、比赛还是社区插件服;
  2. 峰值玩家、机器人、地图和模式;
  3. Metamod/SourceMod与业务插件列表、数据目录和权限;
  4. 是否使用SourceTV,观众、录制和带宽需求;
  5. 玩家地区、测试IP线路、丢包与抖动;
  6. 是否需要预发实例和外部备份。

配置参考VPS配置选择方法,地域按玩家位置与线路选节点,下单前按测试IP、Ping、路由和丢包流程完成线路验证。

赞(0)
未经允许不得转载:VPS知识分享站 » 团队要塞2服务器搭建:Linux、SourceMod、GSLT与端口