如何搭建一个稳定、低延迟且安全的TF2服务器?
本指南涵盖了从选择位置和硬件到安装 SteamCMD、配置 SRCDS、网络优化、安全和监控的所有内容。本文适用于 服务器管理员, 网站管理员, 游戏玩家 以及团队 DevOps 它适合那些想要搭建稳定性高、响应速度快的 TF2 服务器的人。.
选择TF2的服务器和位置
拥有 低延迟 为了获得良好的游戏体验,数据中心的位置应该靠近目标玩家。我们公司在全球提供超过 85 个数据中心位置,您可以根据玩家数量进行选择(欧洲:阿姆斯特丹、法兰克福;美洲:纽约、洛杉矶;亚洲:东京、新加坡;巴西等)。.
推荐硬件规格
- 中央处理器: 4 个高频实核处理器(单核速度更重要)。高频的英特尔至强处理器或 AMD EPYC 处理器都适用。.
- 内存: 一个可容纳 24-32 名玩家的服务器至少需要 4-8 GB 内存。.
- 磁盘: 使用 NVMe 来减少地图和工坊的加载时间。.
- 网络: 根据玩家数量和地图大小,建议使用 1 Gbps 专用带宽。如果玩家人数众多,建议使用 10 Gbps 带宽。.
- 反DDoS攻击: 建议配备反DDoS服务器或防护服务来抵御UDP攻击。.
选择服务类型
- 游戏VPS: 适用于成本较低且网络优化的中小型服务器。.
- 专用服务器: 适用于高流量、高CPU需求的服务器。.
- 高性能云服务器: 为了便于扩展和地点分布。.
- 反DDoS服务器: 如果您的服务器容易受到攻击,则此选项至关重要。.
前提条件及安装 SteamCMD(步骤 1)
从以下位置下载和维护 SRCDS 文件 SteamCMD 以下步骤基于 Debian/Ubuntu 发行版。.
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 ca-certificates tmux wget unzip为 TF2 服务器创建一个专用用户,并下载 SteamCMD:
sudo useradd -m -s /bin/bash tf2
sudo su - tf2
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
使用 SteamCMD 下载并安装 TF2 服务器
SteamCMD 示例脚本(保存到 update_tf2.txt):
login anonymous
force_install_dir /home/tf2/tf2_server
app_update 232250 validate
quit执行更新/安装:
cd ~/steamcmd
./steamcmd.sh +runscript update_tf2.txt完成后,文件夹 /home/tf2/tf2_server/ 它将包含 SRCDS 文件。.
配置 SRCDS 和 server.cfg
打开 cfg 文件夹(/home/tf2/tf2_server/tf/cfg)和一个 server.cfg 创建或编辑。基本设置示例:
hostname "TF2 | Example Server"
rcon_password "StrongRconPasswordHere"
sv_password "" // اگر میخواهید سرور خصوصی باشد، رمز بگذارید
sv_lan 0
sv_region 0 // 0 = Automatic
sv_maxrate 200000
sv_minrate 80000
sv_maxupdaterate 66
sv_minupdaterate 10
sv_voiceenable 1
mp_timelimit 30
mp_maxrounds 0
tf_bot_quota 0
sv_logfile 1
sv_logbans 1
sv_logecho 1chmod 600).地图旋转和自定义配置
要旋转地图,请提交文件 mapcycle.txt 或者使用 Sourcemod 的插件。对于执行其他文件,例如 autoexec.cfg 从 server.cfg 使用:
执行 banned_user.cfg执行 mapcycle.txt
运行服务器(参数和 systemd)
SRCDS 启动命令示例:
cd /home/tf2/tf2_server
./srcds_run -game tf -console -autoupdate -steam_dir /home/tf2/steamcmd -steamcmd_script /home/tf2/steamcmd/update_tf2.txt -port 27015 +map ctf_2fort +maxplayers 24 -tickrate 66创建一个 systemd 单元来管理该服务(以 root 用户身份):
/etc/systemd/system/tf2.service
[Unit]
Description=Team Fortress 2 Server
After=network.target
[Service]
Type=simple
User=tf2
WorkingDirectory=/home/tf2/tf2_server
ExecStart=/home/tf2/tf2_server/srcds_run -game tf -console -autoupdate -steam_dir /home/tf2/steamcmd -steamcmd_script /home/tf2/steamcmd/update_tf2.txt -port 27015 +map ctf_2fort +maxplayers 24 -tickrate 66
Restart=on-failure
LimitNOFILE=100000
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now tf2.service
sudo journalctl -u tf2 -f
端口和防火墙
常见的TF2端口:
- UDP 27015(游戏)
- TCP/UDP 27015(Steam 查询/创意工坊)
- UDP 27005(Steam客户端流量)
- SourceTV:UDP 27020(如果已启用)
示例规则 ufw:
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable对于 nftables 或 iptables,请打开相应的规则。如果服务器位于 NAT 之后,还需要在路由器/硬件防火墙上转发端口。.
系统和网络优化,降低延迟
以下是一些游戏服务器常用的系统设置:
推荐的 sysctl 设置(适用于 UDP 和高网络负载)
sudo tee /etc/sysctl.d/99-tf2.conf <<EOF
net.core.rmem_max=26214400
net.core.wmem_max=26214400
net.core.netdev_max_backlog=5000
net.ipv4.udp_mem=65536 131072 262144
net.ipv4.udp_rmem_min=16384
net.ipv4.udp_wmem_min=16384
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_tw_reuse=1
EOF
sudo sysctl --system禁用网卡上的 GSO/GRO/TSO
禁用这些功能可以降低延迟,但会增加 CPU 负载:
sudo apt install ethtool -y
sudo ethtool -K eth0 gro off gso off tso off注意:这些设置会增加 CPU 负载;请在配备高性能 CPU 的专用服务器上进行测试。.
CPU调速器和IRQ亲和性
为防止频率振荡:
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo performance | sudo tee $i; done如果网卡有多个队列,您可以将亲和性 IRQ 事件分配给特定核心以减少延迟(需要网络知识和审查)。 /proc/中断 有)。.
插件、Sourcemod 和 Metamod
管理和反作弊功能:
- 安装 Metamod下载最新版本并将其解压到
/home/tf2/tf2_server/tf. - 安装 Sourcemod下载和传输文件
附加组件和cfg到文件夹tf.
安装完成后,您可以安装插件来阻止作弊、管理玩家、显示统计数据和自动执行规则。.
安全、RCON 和反 DDoS
重要安全提示:
- RCON: 选择一个强密码(rcon_password),并将 RCON 访问限制在指定的地址范围内。请参阅 iptables 示例。.
- 使用反DDoS服务: 使用基于网络的反 DDoS 服务来防止 UDP 洪水攻击和放大攻击。.
- 日志记录和维护: 定期检查日志并轮换日志文件(logrotate)。.
- 定期更新: 使用自动化脚本更新 SRCDS 和操作系统。.
sudo iptables -A INPUT -p tcp --dport 27015 -s 1.2.3.4 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27015 -j DROP
自动更新和备份
一个简单的更新脚本示例:
#!/bin/bash
/home/tf2/steamcmd/steamcmd.sh +runscript /home/tf2/steamcmd/update_tf2.txt
systemctl restart tf2备份 cfg、map 和 workshop 文件夹:
tar -czf /backups/tf2_cfg_$(date +%F).tar.gz /home/tf2/tf2_server/tf/cfg /home/tf2/tf2_server/tf/maps建议使用云存储来保存重要数据的备份和副本。.
监控和故障排除
监控和故障排除的基本工具:
- 用于 CPU 和内存监控的 top/htop
ss -u -a | grep 27015检查是否打开UDP套接字- 使用 tail -f tf/logs/* 命令检查错误
- 用于发送远程命令的 mcrcon 或 RCON 工具
故障排除提示:丢帧或延迟通常与 CPU 或网络有关;如果发现丢包,请使用诸如……之类的工具。 米 用于查询路线。.
针对特定应用程序的其他技巧和最佳设置
- 对于小型游戏服务器(最多 24 人):4 核、8GB 内存、NVMe 的 VPS 就足够了。.
- 适用于比赛和高流量服务器:专用服务器,具有高频率、10Gbps 上行链路和 DDoS 防护功能。.
- TF2 不需要 GPU 服务器,但对于需要 GPU 的主播或外设,您可以使用图形服务器。.
- 位置:务必选择离玩家最近的数据中心;对于多区域观众,请使用多个位置和智能 DNS/任播。.
重要提示: 在生产环境中实施系统变更之前,先在测试环境中进行测试,并在实施后进行持续监控。.
摘要和服务选项
本文介绍了搭建《军团要塞2》服务器的步骤,从安装SteamCMD到优化网络和安全设置。如果您需要低延迟、高稳定性的服务器,可以选择游戏VPS或独立服务器;我们公司在全球85多个地点提供服务器,包括防DDoS服务器、游戏VPS套餐和高性能云服务器。.









