Установка игрового сервера Team Fortress 2 на Linux: различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску
Новая страница: «= Установка игрового сервера Team Fortress 2 на Linux = == 1. Подготовка системы == * Войдите в систем…»
 
Статья переписана по результатам установки на чистой Ubuntu 24.04, добавлены снимки экрана
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
= Установка игрового сервера Team Fortress 2 на Linux =
Инструкция по установке выделенного сервера Team Fortress 2 на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 15 ноября 2026 года на чистой Ubuntu 24.04.4.


== 1. Подготовка системы ==
== Что понадобится ==


* Войдите в систему под учетной записью с правами '''root''' или пользователя с правами '''sudo'''.
* VDS с '''Ubuntu 24.04 LTS''' и доступом '''root''' по SSH.
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
* '''Память:''' пустой сервер занимает около 700 МБ. Берите VDS от 2 ГБ.
* Рекомендуется использовать Ubuntu 24.04 LTS или Debian 12.
* '''Диск:''' файлы сервера занимают 15 ГБ; с запасом на обновления нужно от 25 ГБ свободного места.
* '''Процессор:''' от 2 ядер.


== 2. Системные требования ==
Учётная запись Steam и купленная игра для установки сервера не нужны.


* **ОС:** Ubuntu 24.04 LTS / Debian 12
== 1. Обновите систему ==
* **RAM:** Минимум 2 ГБ (рекомендуется 4+ ГБ)
* **CPU:** 2+ ядра
* **Диск:** 15+ ГБ свободного места


== 3. Установка необходимых пакетов ==
<pre>sudo apt update && sudo apt upgrade -y</pre>


=== Обновление системы ===
На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.


1. Обновите систему:
'''Окно выбора раскладки клавиатуры.''' Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите '''Enter''', в следующем окне снова '''Enter'''.
<pre>sudo apt update
sudo apt upgrade -y</pre>


2. Установите необходимые пакеты:
[[Файл:Ubuntu-apt-keyboard-dialog.png|800px]]
<pre>sudo apt install -y wget curl lib32gcc-s1 lib32stdc++6 screen</pre>


=== Создание пользователя ===
'''Сообщение о новом ядре.''' Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.


1. Создайте пользователя для сервера:
[[Файл:Ubuntu-apt-kernel-reboot.png|800px]]
<pre>sudo useradd -m -s /bin/bash tf2
sudo passwd tf2</pre>


== 4. Установка SteamCMD ==
Перезагрузите сервер и подключитесь снова через минуту:


=== Создание директории ===
<pre>sudo reboot</pre>


1. Создайте директорию для SteamCMD:
== 2. Установите нужные пакеты ==
<pre>sudo mkdir -p /opt/steamcmd
 
cd /opt/steamcmd</pre>
<pre>sudo apt install -y wget lib32gcc-s1 lib32stdc++6</pre>
 
* <code>lib32gcc-s1</code> и <code>lib32stdc++6</code> нужны программе SteamCMD, через которую скачивается сервер.
 
== 3. Создайте пользователя для сервера ==


2. Скачайте SteamCMD:
Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:
<pre>sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz</pre>


3. Установите права доступа:
<pre>sudo useradd -m -s /bin/bash tf2</pre>
<pre>sudo chown -R tf2:tf2 /opt/steamcmd</pre>


== 5. Установка Team Fortress 2 сервера ==
Пароль этому пользователю не нужен: входить под ним по SSH никто не будет, а переключаться на него вы будете командой из шага 5.


=== Переключение на пользователя ===
== 4. Скачайте SteamCMD ==


1. Переключитесь на пользователя tf2:
<pre>sudo mkdir -p /opt/steamcmd
<pre>sudo su - tf2</pre>
cd /opt/steamcmd
sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz
sudo chown -R tf2:tf2 /opt/steamcmd</pre>


=== Запуск SteamCMD ===
Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.


1. Перейдите в директорию SteamCMD:
== 5. Установите сервер Team Fortress 2 ==
<pre>cd /opt/steamcmd</pre>


2. Запустите SteamCMD:
Переключитесь на пользователя <code>tf2</code> и запустите SteamCMD:
<pre>./steamcmd.sh</pre>


=== Установка сервера ===
<pre>sudo su - tf2
cd /opt/steamcmd
./steamcmd.sh</pre>
 
При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения <code>Steam></code> и ничего не вводите раньше.
 
Затем введите по очереди три команды. Порядок важен: каталог установки задаётся '''до''' входа.


1. В консоли SteamCMD выполните команды:
<pre>force_install_dir /home/tf2/tf2-server
<pre>force_install_dir /home/tf2/tf2-server
login anonymous
login anonymous
app_update 232250 validate
app_update 232250 validate</pre>
quit</pre>


2. Дождитесь завершения установки.
[[Файл:Team-Fortress-2-linux-steamcmd-login.png|800px]]


== 6. Настройка сервера ==
Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду <code>app_update</code> ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.


=== Создание конфигурационных файлов ===
Загрузка 10,7 ГБ (на диске 15 ГБ) занимает около получаса. Дождитесь строки «Success! App '232250' fully installed.»:


1. Создайте директорию для конфигурации:
[[Файл:Team-Fortress-2-linux-steamcmd-install.png|800px]]
<pre>mkdir -p /home/tf2/tf2-server/tf/cfg</pre>


2. Создайте файл server.cfg:
Выйдите из SteamCMD:
<pre>nano /home/tf2/tf2-server/tf/cfg/server.cfg</pre>


3. Добавьте базовую конфигурацию:
<pre>quit</pre>
<pre>\# Основные настройки
hostname "Team Fortress 2 Server"
sv_password ""
sv_region 255


\# Настройки игроков
Проверьте, что файлы на месте:
maxplayers 24
sv_maxrate 30000


\# Настройки игры
<pre>ls /home/tf2/tf2-server</pre>
mp_friendlyfire 0
tf_bot_quota 0


\# RCON
[[Файл:Team-Fortress-2-linux-files.png|800px]]
rcon_password "your_rcon_password_here"</pre>


== 7. Создание скрипта запуска ==
== 6. Настройте сервер ==


=== Скрипт запуска ===
'''Библиотека Steam.''' 64-битный сервер ищет библиотеку Steam в каталоге <code>~/.steam/sdk64</code>, а её там нет. Без неё сервер запускается, но не соединяется со Steam. Сделайте ссылку на библиотеку из SteamCMD:


1. Создайте скрипт запуска:
<pre>mkdir -p ~/.steam/sdk64
<pre>nano /home/tf2/start-server.sh</pre>
ln -s /opt/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so</pre>


2. Добавьте содержимое:
'''Настройки.''' Создайте файл <code>server.cfg</code>:
<pre>\#!/bin/bash


SERVER_DIR="/home/tf2/tf2-server"
<pre>nano ~/tf2-server/tf/cfg/server.cfg</pre>
SCREEN_NAME="tf2-server"


cd "$SERVER_DIR"
<pre>hostname "My TF2 Server"
sv_password ""</pre>


screen -dmS "$SCREEN_NAME" ./srcds_run -game tf +map cp_dustbowl +maxplayers 24
* <code>hostname</code> — название сервера в списке.
* <code>sv_password</code> — пароль для входа. Пустые кавычки — вход без пароля.


echo "Server started in screen session: $SCREEN_NAME"
Число игроков и карта в этом файле не задаются: они указываются ключами запуска в шаге 7.
echo "To attach: screen -r $SCREEN_NAME"</pre>


3. Сделайте исполняемым:
Сохраните файл (в nano: '''Ctrl+O''', '''Enter''', '''Ctrl+X'''), проверьте результат и вернитесь к root:
<pre>chmod +x /home/tf2/start-server.sh</pre>


== 8. Настройка systemd сервиса ==
<pre>ls -l ~/.steam/sdk64
cat ~/tf2-server/tf/cfg/server.cfg
exit</pre>


=== Создание сервиса ===
[[Файл:Team-Fortress-2-linux-config.png|800px]]


1. Выйдите из пользователя tf2:
== 7. Настройте автозапуск ==
<pre>exit</pre>
 
Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:


2. Создайте systemd сервис:
<pre>sudo nano /etc/systemd/system/tf2-server.service</pre>
<pre>sudo nano /etc/systemd/system/tf2-server.service</pre>


3. Добавьте конфигурацию:
Вставьте:
 
<pre>[Unit]
<pre>[Unit]
Description=Team Fortress 2 Dedicated Server
Description=Team Fortress 2 Dedicated Server
Строка 139: Строка 128:
Type=simple
Type=simple
User=tf2
User=tf2
Group=tf2
WorkingDirectory=/home/tf2/tf2-server
WorkingDirectory=/home/tf2/tf2-server
ExecStart=/home/tf2/tf2-server/srcds_run -game tf +map cp_dustbowl +maxplayers 24
ExecStart=/home/tf2/tf2-server/srcds_run_64 -norestart -console -condebug -game tf +map cp_dustbowl +maxplayers 24
Restart=always
Restart=always
RestartSec=10
RestartSec=5


[Install]
[Install]
WantedBy=multi-user.target</pre>
WantedBy=multi-user.target</pre>


4. Перезагрузите systemd и запустите:
Что означают ключи запуска:
 
* <code>srcds_run_64</code> — 64-битный сервер. 32-битный <code>srcds_run</code> из старых руководств на Ubuntu 24.04 не запускается: ему нужны 32-битные библиотеки, которых в системе больше нет.
* <code>-norestart</code> — штатный скрипт не перезапускает сервер сам: за этим следит служба.
* <code>-condebug</code> — сервер записывает свою консоль в файл <code>tf/console.log</code>. Без этого ключа под службой его сообщений не видно.
* <code>+map cp_dustbowl</code> — карта, <code>+maxplayers 24</code> — предел числа игроков.
 
== 8. Запустите сервер и проверьте его ==
 
<pre>sudo systemctl daemon-reload
<pre>sudo systemctl daemon-reload
sudo systemctl enable tf2-server
sudo systemctl enable tf2-server
sudo systemctl start tf2-server
sudo systemctl start tf2-server</pre>
sudo systemctl status tf2-server</pre>
 
Запуск занимает около минуты. Проверьте состояние службы — должно быть '''active (running)''':
 
<pre>sudo systemctl status tf2-server --no-pager -n 0</pre>
 
[[Файл:Team-Fortress-2-linux-service-status.png|800px]]
 
Сервер готов, когда он занял порт 27015, а в его консоли есть строки «Connection to Steam servers successful» и «VAC secure mode is activated»:
 
<pre>sudo ss -uln | grep 27015
sudo grep -E "Connection to Steam|VAC secure|account token" /home/tf2/tf2-server/tf/console.log | tail -n 3</pre>
 
[[Файл:Team-Fortress-2-linux-check.png|800px]]
 
Управление службой:
 
<pre>sudo systemctl stop tf2-server      # остановить
sudo systemctl restart tf2-server  # перезапустить
sudo journalctl -u tf2-server -f    # смотреть журнал, выход — Ctrl+C</pre>
 
== 9. Откройте порты в файрволе ==
 
'''Внимание:''' сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните <code>sudo ufw allow НОМЕР_ПОРТА/tcp</code>.
 
<pre>sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw enable</pre>
 
Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте '''y'''. Проверьте результат:
 
<pre>sudo ufw status</pre>
 
[[Файл:Team-Fortress-2-linux-ufw.png|800px]]
 
== 10. Зайдите на сервер ==
 
В игре откройте список серверов и найдите сервер по названию либо откройте консоль и введите <code>connect IP_СЕРВЕРА:27015</code>.
 
== Токен сервера ==
 
Без токена Steam сервер входит в Steam под безымянной учётной записью — в консоли об этом строка «No account token specified». По правилам Valve такой сервер не показывается в общем списке серверов игры, зайти на него можно только по адресу.
 
Токен бесплатный, его выдаёт Steam владельцу учётной записи:
 
'''1.''' Откройте страницу [https://steamcommunity.com/dev/managegameservers steamcommunity.com/dev/managegameservers] и войдите в свою учётную запись Steam.
 
'''2.''' В поле «App ID» введите <code>440</code> (это номер игры Team Fortress 2), в поле заметки — любое название, и создайте токен.
 
'''3.''' Допишите токен в конец строки <code>ExecStart</code> в файле службы:
 
<pre>+sv_setsteamaccount ВАШ_ТОКЕН</pre>
 
'''4.''' Примените изменения:
 
<pre>sudo systemctl daemon-reload
sudo systemctl restart tf2-server</pre>
 
Никому не передавайте токен: он привязан к вашей учётной записи Steam. Для каждого сервера нужен свой токен.
 
== Обновление сервера ==
 
После выхода обновления игры остановите сервер, обновите файлы и запустите снова:
 
<pre>sudo systemctl stop tf2-server
sudo -u tf2 /opt/steamcmd/steamcmd.sh +force_install_dir /home/tf2/tf2-server +login anonymous +app_update 232250 validate +quit
sudo systemctl start tf2-server</pre>


== 9. Настройка файрвола ==
Ваши настройки и сохранения при обновлении не затрагиваются.


=== Настройка UFW ===
== Где лежат сохранения ==


1. Разрешите порты:
У сервера нет мира, который нужно сохранять. Важные файлы:
<pre>sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp</pre>


== Заключение ==
* <code>/home/tf2/tf2-server/tf/cfg/server.cfg</code> — настройки;
* <code>/home/tf2/tf2-server/tf/maps/</code> — свои карты;
* <code>/home/tf2/tf2-server/tf/addons/</code> — дополнения (например, SourceMod);
* <code>/home/tf2/tf2-server/tf/console.log</code> — журнал консоли.


Team Fortress 2 сервер успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер для игры.
== Если что-то пошло не так ==


'''Для размещения ваших игровых серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):'''
{| class="wikitable"
! Что видите !! Причина и решение
|-
| В журнале «FATAL ERROR: Could not load: replay_srv.so» || Запущен 32-битный <code>srcds_run</code>. На Ubuntu 24.04 используйте <code>srcds_run_64</code>, как в шаге 7.
|-
| В журнале «dlopen failed trying to load: …/.steam/sdk64/steamclient.so» || Не сделана ссылка на библиотеку Steam из шага 6. Без неё сервер не соединяется со Steam.
|-
| В журнале службы (<code>journalctl</code>) мало строк || Без терминала сервер не выводит свою консоль. Смотрите файл <code>tf/console.log</code> — его включает ключ <code>-condebug</code>.
|-
| Предел числа игроков не меняется || Строка <code>maxplayers</code> в <code>server.cfg</code> не действует. Меняйте ключ <code>+maxplayers</code> в строке <code>ExecStart</code> службы, затем выполните <code>sudo systemctl daemon-reload</code> и перезапустите службу.
|-
| SteamCMD отвечает «ERROR! Failed to install app '232250' (Missing configuration)» || Так иногда бывает при первом запуске SteamCMD. Введите команду <code>app_update</code> ещё раз — со второго раза загрузка начинается.
|-
| После установки нет каталога <code>/home/tf2/tf2-server</code> || Команда <code>force_install_dir</code> была введена с ошибкой или после <code>login</code>, и сервер установился в <code>/home/tf2/Steam/steamapps/common/</code>. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
|-
| Служба в состоянии «failed» || Посмотрите причину: <code>sudo journalctl -u tf2-server -n 50 --no-pager</code>. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
|-
| Сервер запущен, но зайти не удаётся || Проверьте, что порты открыты (<code>sudo ufw status</code>) и что в игре указан верный адрес и порт.
|}


* '''[Выделенные серверы](https://ark-hoster.ru/dedicated/)''' - для высоконагруженных игровых серверов
'''Для размещения игровых серверов рекомендуем услуги [https://ark-hoster.ru ARK-HOSTER.RU]:'''
* '''[VPS/VDS серверы](https://ark-hoster.ru/vpsgame/)''' - для небольших и средних серверов


Наши специалисты помогут с настройкой игровых серверов!
* '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' — для небольших и средних серверов
* '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' — для высоконагруженных игровых серверов

Текущая версия от 22:03, 14 ноября 2026

Инструкция по установке выделенного сервера Team Fortress 2 на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 15 ноября 2026 года на чистой Ubuntu 24.04.4.

Что понадобится

  • VDS с Ubuntu 24.04 LTS и доступом root по SSH.
  • Память: пустой сервер занимает около 700 МБ. Берите VDS от 2 ГБ.
  • Диск: файлы сервера занимают 15 ГБ; с запасом на обновления нужно от 25 ГБ свободного места.
  • Процессор: от 2 ядер.

Учётная запись Steam и купленная игра для установки сервера не нужны.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.

Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.

Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.

Перезагрузите сервер и подключитесь снова через минуту:

sudo reboot

2. Установите нужные пакеты

sudo apt install -y wget lib32gcc-s1 lib32stdc++6
  • lib32gcc-s1 и lib32stdc++6 нужны программе SteamCMD, через которую скачивается сервер.

3. Создайте пользователя для сервера

Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:

sudo useradd -m -s /bin/bash tf2

Пароль этому пользователю не нужен: входить под ним по SSH никто не будет, а переключаться на него вы будете командой из шага 5.

4. Скачайте SteamCMD

sudo mkdir -p /opt/steamcmd
cd /opt/steamcmd
sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz
sudo chown -R tf2:tf2 /opt/steamcmd

Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.

5. Установите сервер Team Fortress 2

Переключитесь на пользователя tf2 и запустите SteamCMD:

sudo su - tf2
cd /opt/steamcmd
./steamcmd.sh

При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.

Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.

force_install_dir /home/tf2/tf2-server
login anonymous
app_update 232250 validate

Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.

Загрузка 10,7 ГБ (на диске 15 ГБ) занимает около получаса. Дождитесь строки «Success! App '232250' fully installed.»:

Выйдите из SteamCMD:

quit

Проверьте, что файлы на месте:

ls /home/tf2/tf2-server

6. Настройте сервер

Библиотека Steam. 64-битный сервер ищет библиотеку Steam в каталоге ~/.steam/sdk64, а её там нет. Без неё сервер запускается, но не соединяется со Steam. Сделайте ссылку на библиотеку из SteamCMD:

mkdir -p ~/.steam/sdk64
ln -s /opt/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so

Настройки. Создайте файл server.cfg:

nano ~/tf2-server/tf/cfg/server.cfg
hostname "My TF2 Server"
sv_password ""
  • hostname — название сервера в списке.
  • sv_password — пароль для входа. Пустые кавычки — вход без пароля.

Число игроков и карта в этом файле не задаются: они указываются ключами запуска в шаге 7.

Сохраните файл (в nano: Ctrl+O, Enter, Ctrl+X), проверьте результат и вернитесь к root:

ls -l ~/.steam/sdk64
cat ~/tf2-server/tf/cfg/server.cfg
exit

7. Настройте автозапуск

Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:

sudo nano /etc/systemd/system/tf2-server.service

Вставьте:

[Unit]
Description=Team Fortress 2 Dedicated Server
After=network.target

[Service]
Type=simple
User=tf2
WorkingDirectory=/home/tf2/tf2-server
ExecStart=/home/tf2/tf2-server/srcds_run_64 -norestart -console -condebug -game tf +map cp_dustbowl +maxplayers 24
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Что означают ключи запуска:

  • srcds_run_64 — 64-битный сервер. 32-битный srcds_run из старых руководств на Ubuntu 24.04 не запускается: ему нужны 32-битные библиотеки, которых в системе больше нет.
  • -norestart — штатный скрипт не перезапускает сервер сам: за этим следит служба.
  • -condebug — сервер записывает свою консоль в файл tf/console.log. Без этого ключа под службой его сообщений не видно.
  • +map cp_dustbowl — карта, +maxplayers 24 — предел числа игроков.

8. Запустите сервер и проверьте его

sudo systemctl daemon-reload
sudo systemctl enable tf2-server
sudo systemctl start tf2-server

Запуск занимает около минуты. Проверьте состояние службы — должно быть active (running):

sudo systemctl status tf2-server --no-pager -n 0

Сервер готов, когда он занял порт 27015, а в его консоли есть строки «Connection to Steam servers successful» и «VAC secure mode is activated»:

sudo ss -uln | grep 27015
sudo grep -E "Connection to Steam|VAC secure|account token" /home/tf2/tf2-server/tf/console.log | tail -n 3

Управление службой:

sudo systemctl stop tf2-server      # остановить
sudo systemctl restart tf2-server   # перезапустить
sudo journalctl -u tf2-server -f    # смотреть журнал, выход — Ctrl+C

9. Откройте порты в файрволе

Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw enable

Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:

sudo ufw status

10. Зайдите на сервер

В игре откройте список серверов и найдите сервер по названию либо откройте консоль и введите connect IP_СЕРВЕРА:27015.

Токен сервера

Без токена Steam сервер входит в Steam под безымянной учётной записью — в консоли об этом строка «No account token specified». По правилам Valve такой сервер не показывается в общем списке серверов игры, зайти на него можно только по адресу.

Токен бесплатный, его выдаёт Steam владельцу учётной записи:

1. Откройте страницу steamcommunity.com/dev/managegameservers и войдите в свою учётную запись Steam.

2. В поле «App ID» введите 440 (это номер игры Team Fortress 2), в поле заметки — любое название, и создайте токен.

3. Допишите токен в конец строки ExecStart в файле службы:

+sv_setsteamaccount ВАШ_ТОКЕН

4. Примените изменения:

sudo systemctl daemon-reload
sudo systemctl restart tf2-server

Никому не передавайте токен: он привязан к вашей учётной записи Steam. Для каждого сервера нужен свой токен.

Обновление сервера

После выхода обновления игры остановите сервер, обновите файлы и запустите снова:

sudo systemctl stop tf2-server
sudo -u tf2 /opt/steamcmd/steamcmd.sh +force_install_dir /home/tf2/tf2-server +login anonymous +app_update 232250 validate +quit
sudo systemctl start tf2-server

Ваши настройки и сохранения при обновлении не затрагиваются.

Где лежат сохранения

У сервера нет мира, который нужно сохранять. Важные файлы:

  • /home/tf2/tf2-server/tf/cfg/server.cfg — настройки;
  • /home/tf2/tf2-server/tf/maps/ — свои карты;
  • /home/tf2/tf2-server/tf/addons/ — дополнения (например, SourceMod);
  • /home/tf2/tf2-server/tf/console.log — журнал консоли.

Если что-то пошло не так

Что видите Причина и решение
В журнале «FATAL ERROR: Could not load: replay_srv.so» Запущен 32-битный srcds_run. На Ubuntu 24.04 используйте srcds_run_64, как в шаге 7.
В журнале «dlopen failed trying to load: …/.steam/sdk64/steamclient.so» Не сделана ссылка на библиотеку Steam из шага 6. Без неё сервер не соединяется со Steam.
В журнале службы (journalctl) мало строк Без терминала сервер не выводит свою консоль. Смотрите файл tf/console.log — его включает ключ -condebug.
Предел числа игроков не меняется Строка maxplayers в server.cfg не действует. Меняйте ключ +maxplayers в строке ExecStart службы, затем выполните sudo systemctl daemon-reload и перезапустите службу.
SteamCMD отвечает «ERROR! Failed to install app '232250' (Missing configuration)» Так иногда бывает при первом запуске SteamCMD. Введите команду app_update ещё раз — со второго раза загрузка начинается.
После установки нет каталога /home/tf2/tf2-server Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/tf2/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
Служба в состоянии «failed» Посмотрите причину: sudo journalctl -u tf2-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
Сервер запущен, но зайти не удаётся Проверьте, что порты открыты (sudo ufw status) и что в игре указан верный адрес и порт.

Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU: