Перейти к содержимому
Team Fortress 2

Установка сервера Team Fortress 2

Выделенный сервер TF2 (app SteamCMD 232250) ставится анонимным входом, без владения игрой на машине, и запускается через srcds_run -game tf. Нужно около 8 ГБ диска, полчаса и токен GSLT, чтобы попасть в список серверов. Основной источник: wiki.teamfortress.com (Linux dedicated server).

Последнее обновление: 09.10.2026

Выделенный сервер TF2 (app SteamCMD 232250) ставится анонимным входом, без владения игрой на машине, и запускается через srcds_run -game tf. Нужно около 8 ГБ диска, полчаса и токен GSLT, чтобы попасть в список серверов. Основной источник: wiki.teamfortress.com (Linux dedicated server).

Пошаговая установка

  1. Подготовьте машину с Linux (Ubuntu/Debian) и не менее 8 ГБ свободного места или ПК с Windows.

  2. Создайте пользователя без root (steam) и установите 32-битные библиотеки.

  3. Скачайте SteamCMD и установите сервер командой app_update 232250.

  4. Создайте токен GSLT на steamcommunity.com/dev/managegameservers (нужен для попадания в список).

  5. Создайте строку запуска инструментом «Команда запуска TF2» и запустите srcds_run.

  6. Отредактируйте tf/cfg/server.cfg (инструмент «Генератор server.cfg для TF2») и tf/mapcycle.txt.

  7. Откройте 27015 UDP/TCP и 27020 UDP (и 27005 UDP) в ufw, у провайдера и на роутере.

  8. Проверьте connect 127.0.0.1 локально, затем с другого подключения connect IP:27015.

  9. Создайте службу systemd и запланируйте обновления и бэкапы.

Требования

  • ОС: Linux с glibc 2.3.6 или новее и около 8 ГБ свободного места (вики TF); возможен и Windows.
  • CPU/ОЗУ: в изученной вики не указаны; в официальном примере 24 слота. Следите за нагрузкой, прежде чем увеличивать.
  • Аккаунты: установка анонимная (владеть TF2 на сервере не нужно). Аккаунт Steam нужен для создания токена GSLT.

Локальная установка в Windows

Распакуйте SteamCMD в C:\steamcmd, установите сервер и запустите srcds.exe с теми же параметрами, что и в Linux. Проверьте connect 127.0.0.1 в консоли TF2.

cd C:\steamcmd
steamcmd +force_install_dir C:\tf2ds +login anonymous +app_update 232250 validate +quit

cd C:\tf2ds
srcds.exe -console -game tf +map ctf_2fort +sv_pure 1 +maxplayers 24 +sv_setsteamaccount YOUR_GSLT_TOKEN

Linux VPS: пользователь и зависимости

Пакеты из вики TF для 64-битных Debian/Ubuntu. В новых версиях libtinfo5 и libncurses5 могут отсутствовать: тогда вики отсылает к ручной загрузке.

sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32z1 libncurses5:i386 libbz2-1.0:i386 lib32gcc-s1 lib32stdc++6 libtinfo5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386
su - steam

Linux VPS: установка и первый запуск

Команды из вики TF. Замените YOUR_GSLT_TOKEN (для показа в браузере серверов нужен действительный токен). Для ветки prerelease добавьте -beta prerelease перед +app_update.

mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar zxf steamcmd_linux.tar.gz
./steamcmd.sh +force_install_dir ~/hlserver/tf2 +login anonymous +app_update 232250 +quit

cd ~/hlserver/tf2
./srcds_run -console -game tf +map ctf_2fort +sv_pure 1 +maxplayers 24 +sv_setsteamaccount YOUR_GSLT_TOKEN

Важные файлы конфигурации

  • tf/cfg/server.cfg: имя, пароль RCON, лимиты времени и раундов (пример вики: hostname, sv_contact, rcon_password, mp_timelimit, mp_maxrounds).
  • tf/mapcycle.txt: список ротации карт (формат в вики не описан: одна карта в строке, как в других играх Source).
  • motd.txt и pure_server_whitelist.txt: необязательны (приветствие и белый список sv_pure).

Открываемые порты и брандмауэр Linux (ufw)

Чтобы сменить игровой порт, добавьте -port N в строку запуска (по порту на экземпляр) и откройте его вместо 27015.

Открывайте только необходимое и проверяйте с другого подключения (не с самого сервера).

  • 27015/udp: игровой трафик (вики TF)
  • 27015/tcp: RCON (вики TF)
  • 27020/udp: SourceTV (вики TF)
  • 27005/udp: связь с клиентом (стандартное значение Source, в изученной вики TF не упомянуто)
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw status

Брандмауэр Windows (netsh)

В командной строке администратора создайте входящее правило для каждого порта (или откройте «Брандмауэр Защитника Windows в режиме повышенной безопасности»).

netsh advfirewall firewall add rule name="Team Fortress 2 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Team Fortress 2 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Team Fortress 2 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Team Fortress 2 27020 UDP" dir=in action=allow protocol=UDP localport=27020

Брандмауэр провайдера и проброс портов (роутер)

У хостера (OVH, Hetzner, Scaleway…) откройте те же порты и в брандмауэре или «security group» провайдера: ufw недостаточно, если есть внешний брандмауэр. Дома настройте на роутере проброс (NAT) каждого порта на локальный IP машины (статический или зарезервированный по DHCP).

Проверка: с другого подключения добавьте сервер как «IP:порт» в браузере серверов Team Fortress 2 или в консоли. Если не выходит, проверьте по порядку: запущена ли служба, локальный брандмауэр, брандмауэр провайдера, NAT.

Автозапуск: служба systemd

Создайте /etc/systemd/system/tf2.service (от root) и включите его. Подставьте своего пользователя и пути; логи — journalctl -u tf2 -f.

[Unit]
Description=Team Fortress 2 dedicated server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/home/steam/hlserver/tf2
ExecStart=/home/steam/hlserver/tf2/srcds_run -console -game tf -norestart +map ctf_2fort +sv_pure 1 +maxplayers 24 +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now tf2

Windows: задача планировщика при запуске

В Windows задача планировщика запускает ваш .bat при старте системы (выполните команду в командной строке администратора).

schtasks /Create /TN "Team Fortress 2 server" /TR "C:\tf2ds\start-tf2.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST

Обновления, резервные копии и плановые перезапуски

Останавливайте службу перед обновлением (та же команда SteamCMD, что и при установке), регулярно делайте бэкап конфигурации и данных и планируйте ежедневный перезапуск, если сервер со временем деградирует.

sudo systemctl stop tf2
steamcmd +force_install_dir /home/steam/hlserver/tf2 +login anonymous +app_update 232250 validate +quit
sudo systemctl start tf2

# backup
tar czf ~/tf2-$(date +%F).tar.gz -C /home/steam/hlserver/tf2 tf/cfg tf/addons tf/mapcycle.txt

# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart tf2

Добавление и поиск сервера

Добавьте сервер на https://game-rank.com/jeux/team-fortress-2, чтобы его увидело сообщество. В игре ищите его в браузере серверов или подключайтесь напрямую по IP:порт.

Устранение неполадок: частые ошибки

  • Сервер работает, но его нет в списке: токен GSLT отсутствует или недействителен. Решение: вики TF требует действительный токен; передайте его через +sv_setsteamaccount (или SRCDS_TOKEN в Docker) и перезапустите.
  • Ошибка библиотеки: libtinfo.so.5 / libncurses.so.5 не найдена в новом дистрибутиве. Решение: установите соответствующие пакеты i386, если они есть, иначе используйте ручные загрузки, указанные в вики TF.
  • Сервер не виден снаружи: служба работает, но никто не может подключиться. Причина: закрыт порт (ufw, брандмауэр провайдера или нет NAT). Решение: откройте перечисленные порты на всех трёх уровнях и проверьте с другого подключения.
  • Порт занят при запуске: порт удерживает другой экземпляр. Решение: посмотрите процессы командой ss -lunp | grep 27015, остановите старый экземпляр или задайте каждому серверу свой порт через -port.
  • SteamCMD «Failed to install app» или зависшая загрузка: частая причина — заполненный диск или нехватка прав на папку. Решение: проверьте df -h и владельца папки, затем повторите команду с validate (при необходимости несколько раз).
  • srcds_run: «No such file or directory» или нет 32-битной библиотеки: сервер Source — 32-битная программа. Решение: включите архитектуру i386 (dpkg --add-architecture i386) и установите lib32gcc-s1 и lib32stdc++6.

Частые вопросы

Сколько игроков вмещает сервер TF2?
В официальном примере +maxplayers 24; в изученной вики потолок не указан. Задавайте +maxplayers с учётом CPU и плагинов.
Как обновить сервер?
По вики TF достаточно повторить команду установки SteamCMD (+app_update 232250). Автообновление через -autoupdate требует дополнительных параметров (-steam_dir, -steamcmd_script), которые не описаны: лучше планируйте обновление, как в соответствующем разделе.
Можно ли запускать сервер от root?
Не рекомендуется: создайте отдельного пользователя (например, steam) без прав администратора и устанавливайте и запускайте сервер от него. Тогда уязвимость сервера или плагина не скомпрометирует всю машину.
Мой сервер Team Fortress 2 не отображается в списке: что проверить?
Сначала проверьте, что порты открыты на всех уровнях, сервер не в режиме LAN (sv_lan 0) и, если игра требует, указан действительный токен сервера (GSLT). Список Steam может обновляться несколько минут; пока подключайтесь по IP:порт.

Инструменты для сервера Team Fortress 2

Team Fortress 2
Team Fortress 2Свободный доступ
Создайте server.cfg для сервера Team Fortress 2: лимиты времени и раундов, баланс, криты, разброс и FastDL.
КонфигурацияSourceОткрыть
Документация
Team Fortress 2
Team Fortress 2Свободный доступ
Создайте строку srcds_run для Team Fortress 2: карта, слоты, sv_pure, порт, mapcycle и токен GSLT.
ЗапускКонфигурацияОткрыть
Документация