Установка и настройка слушающего сервера TF2

Вступление.

Сегодня решил написать подробную статью об установке и настройке слушающего сервера игры Team Fortress 2. Итак, чем же отличается слушающий сервер игры от выделенного (Team Fortress 2 Dedicated Server):

  1. Слушающий сервер не требует особой настройки и установки модификаций.
  2. Слушающий сервер позволяет одновременно хостить личный сервер и играть в игру. Выделенный сервер не позволяет играть на этом же компьютере (если всё-таки запустить игру и подключиться к такому серверу, у всех появятся серьёзные лаги, т.к. создаётся дисбаланс между сервером и клиентов при обращении к CPU (процессору)).
  3. Слушающий сервер — это практически тот же Dedicated Server, но имеющий следующие недостатки (хотя достоинств больше):
    1. Администратором является только тот, кто создал сервер. Управление осуществляется через консоль управления сервером (консоль игры, вызывается клавишей «тильда»; нужно включить консоль управления в настройках клавиатуры игры).
    2. Если администратор (создатель) отключится от сервера, то все клиенты, подключившиеся к нему, будут кикнуты автоматически. Сервер будет остановлен.
    3. Включена принудительная проверка учётных записей Steam, т.е. с пираток на такой сервер  зайти не удастся.
    4. На слушающий сервер нельзя установить SourceMod и другие админ-плагины.
  4. Слушающий сервер запускается прямо из главного меню игры (там же указывается максимальное число игроков).
  5. Все настройки такого сервера хранятся в файле listenserver.cfg.

Техническая часть.

  1. Чтобы к Вам могли подключаться клиенты, Вы должны иметь «белый» IP-адрес, т.е. видимый из Интернета. Создание сервера с «серым» IP, либо с жёстким NAT’ом провайдера не имеет смысла, т.к. подключиться к такому серверу никто не сможет.
  2. Сервер запускается на порту 27015, поэтому если у Вас ADSL, вы должны пробросить этот порт по протоколу UDP в настройках своего роутера (модема).
  3. На сервере главное — скорость отдачи от Вас клиентам, а также мощность процессора Вашего компьютера. На ADSL максимальная отдача может составлять около 780 Кбит/с — 1 МБит/с (на ADSL с модуляцией AnnexM (такая разновидность встречается крайне редко) — 3 Мбит/с). Если у Вас тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 — 10-12 клиентов, если 1 Мбит и более (ADSL) — 18 клиентов, кабель без NAT — 23 клиента (максимум для слушающего сервера). В соотвествие с этими параметрами Вы должны настроить значение переменной «Максимальное число игроков» во время создания сервера. Если Ваш канал или процессор не будут выдерживать такое количество подключившихся игроков, у всех появятся лаги.

Настройка и подготовка к запуску.

  1. Устанавливаем Steam и игру Team Fortress 2 (если они ещё не установлены).
  2. Запускаем игру, ждём полной загрузки и выходим из неё (это нужно только если выполнялся шаг 1 для создания файлов базовой конфигурации).
  3. Открываем «Мой компьютер» и переходим в папку «C:\Program Files\Steam\SteamApps\common\team fortress 2\tf\cfg«, где C:\Program Files\Steam\ — путь куда установлен Steam. Если Steam установлен в другую папку или диск, то его нужно откорректировать. В этой папке лежат файлы настроек игры TF2, в том числе и слушающего сервера.
  4. Качаем и распаковываем архив с файлами конфигурации в эту папку с заменой существующих файлов. Архив обновляется после выхода серьёзных изменений в игре.
  5. Открываем распакованный файл listenserver.cfg в любом текстовом редакторе (например, в Блокноте Windows) и делаем нужные настройки (меняем имя сервера, настройки и т.п.). В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. Внимание! Первым делом задайте пароли вместо !!PASSWORD1!! и !!PASSWORD2!!, иначе Ваш сервер могут взломать.
  6. Открываем файл config_arena.cfg в том же текстовом редакторе и меняем имя сервера для режима Арена, а также максимальное число пользователей режима Арена.
  7. Запускаем игру Team Fortress 2, выбираем в главном меню пункт «Создать сервер«. В окрывшемся окне выбираем любую установленную карту, а затем переходим на страницу «Игра» и устанавливаем «Максимальное число игроков» (должно быть целым числом от 2 до 24). Остальные параметры не будут играть никакого значения, т.к. игнорируются файлом конфигурации. Внимание! Не устанавливайте тут пароль, иначе к Вам никто не сможет подключиться. Пароль можно установить уже после запуска игры и подключения первых игроков командой в консоли sv_password «your_pass», где вместо your_pass должна идти комбинация латинских букв и цифр. Этот пароль будет запрашиваться у всех, кто захочет подключиться к серверу.
  8. После успешного запуска сервера и Вашего подключения к нему, открываем консоль разработки (вызывается клавишей «тильда») и сразу меняем карту на любую из установленных (лучше на текущую, т.к. это ускорит перезагрузку сервера) командой changelevel имя_карты (например, changelevel cp_dustbowl). Это действие применит настройки файла listenserver.cfg. Без этого шага к Вам никто не сможет подключиться (на клиентах будет выдаваться сообщение LAN servers are restricted to local clients). Этот шаг нужно повторять всегда после запуска слушающего сервера!
  9. Даём свой внешний IP-адрес всем, кто должен к Вам подключиться и они смогут это сделать, набрав у себя в консоли TF2 команду connect IP_вашего_сервера:27015 (например, connect 126.65.110.99:27015). Свой внешний адрес можно узнать тут: http://www.2ip.ru (он определится в строке «Ваш IP-адрес«).
  10. Если к Вашему серверу кто-нибудь подключился, значит он успешно установлен и настроен. Чтобы отключить сервер, достаточно войти в меню игры TF2 и выбрать пункт «Отключиться«. После этого сервер кикнет всех, кто на нём играл и закончит свою работу.

Переменные, которые можно задавать прямо во время игры.

  • sv_alltalk 1 — включение (1) или отключение (0) общего голосового чата.
  • tf_weapon_criticals 1 — включение (1) или отключение (0) критов.
  • mp_allowspectators 1 — включение (1) или выключение (0) зрителей.
  • sv_password «your_pass» — задание пароля, где вместо your_pass должен идти пароль. Кавычки обязательны. Пароль будет запрошен у всех, кто захочет подключиться к Вашему серверу.
  • sv_password «» — убирает пароль с сервера. К серверу может подключиться любой желающий.
  • mp_friendlyfire 1 — включает (1) или отключает (0) огонь по своим.
  • sv_gravity 800 — управляет гравитацией на сервере (800 — стандартное значение), может быть числом от 0 до 10000. Чем меньше значение, тем меньше гравитация.

Внимание! При смене карты все переменные, заданные во время игры, будут автоматически заменены значениями из файла конфигурации сервера!

Итак, Ваш сервер установлен и правильно настроен. Если у Вас возникнут вопросы по статье, то оставляйте комментарии к этому сообщению. Я отвечу на все вопросы. Для того, чтобы оставить свой комментарий, регистрация не требуется.

14 commentaries to post

  1. У всех друзей пишет сервер не отвечает. Стоял и касперский с антихакером и Firewall. Везде добавлял порт 27015 UDP в доверенные зоны. Пробовал вообще все отключать. Все равно не отвечает.

  2. @FORTEx
    Нужен белый IP-адрес. Убедитесь, что у Вас белый IP. Как я уже писал в статье, с серым IP сервер работать не будет!

    Если у Вас ADSL, то нужно пробросить порт 27015 в настройках модема (роутера) по протоколу UDP.

    Также друзья должны подключаться к Вам не через список Друзей Steam, а через консольную команду connect ВАШ_ВНЕШНИЙ_IP. Внешний IP можно узнать на http://www.2ip.ru.

  3. @Steelzork
    В настройках роутера нужно пробросить порт по UDP. Обычно проброс находится в NATVirtual Servers или NATPort Forward веб-интерфейса модема. Там нужно создать новое правило: порт 27015, IP — компьютера внутри ЛВС и протокол — UDP. Существует замечательный сайт на эту тему: http://portforward.com/ (только на английском языке) — там нужно выбрать модель модема (роутера), указать порт и получить подробную инструкцию по пробросу.

    P.S. В роутерах (модемах) ZyXEL потребуется ещё открыть этот порт во встроенном Firewall, либо отключить Firewall вообще.

  4. У меня игра на changelevel вылетает. Что делать?

  5. @Egornn
    К сожалению, в одном из сентябрьских обновлений Valve что-то сломали в движке игры и она стала вылетать при использовании команды changelevel у большинства игроков. Попробуйте команду changelevel2 имя_карты.

  6. У меня вопрос: как на простом dedicated сервере управлять ботами? через server.cfg их можно только создать, но в игре tf_bot_*** не работает. Как то надо разрешить вводить эти команды серверу через клиент (я хоть и админ, но тоже клиент 🙁 )
    Как это сделать?

  7. @Dushess
    Установите на сервер Metamod: Source + SourceMod, выдайте себе права администратора, затем управляйте любыми переменными добавляя к ним sm_rcon, например, sm_rcon tf_bot_add.

  8. А если у меня не белый IP ,то я смогу создать? Или можно только с белым IP?

  9. @artem
    Создать-то можно, но никто не подключится, т.к. для входа клиентов из внешки необходим белый внешний IP-адрес.

  10. Как сделать другого пользователя администратором? Или это не возможно?

  11. Привет. У тебя есть статьи о том, как сделать выделенный сервер ТФ2?

Обсуждение закрыто.