Перейти до вмісту
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 Defender у режимі підвищеної безпеки»).

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.
ЗапускКонфігураціяВідкрити
Документація