Сервер

From Team Fortress Wiki
Jump to: navigation, search

Как и для всех прочих многопользовательских игр, созданных на движке Source, Team Fortress 2 работает по принципу взаимодействия между клиентом и сервером. Под «клиентом», в данном случае, подразумевается сама игра, запущенная на компьютере игрока, а под «сервером» — программное обеспечение, к которому выполняются подсоединения клиентов. На данный момент существует несколько тысяч серверов Team Fortress 2, расположенных по всему миру.

Игровой сервер имеет влияние на множество аспектов игры. Он отвечает на действия игроков, постоянно обновляя его местоположение и состояние, такие как стрельба из оружия, потом выбирает нужное событие, такое как нанесение урона, а затем выводит результат в игровой мир, нанося и отображая высчитанный урон. Серверы также отвечают за неконтролируемые игроками процессы, вроде времени до окончания карты или поведения турелей.

Преимущества

Вместо присоединения к существующим серверам, у игроков есть возможность создать свой сервер. Это позволит создающему игроку задавать порядок карт, определяя собственный список играемых карт и режимов. Более того, создающему дается управление над прочими параметрами, такими как гравитация, ограничения по классам, режим «Горец» и так далее. Также можно устанавливать сторонние модификации, способные разнообразить игровой процесс.

Виды серверов

Существует два типа серверов, которые могут быть запущены на движке Source.

Локальный сервер

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

Выделенный сервер

См. также Настройка выделенного сервера.

Выделенный сервер является самостоятельным сервером, не требующим запуска клиента Steam. Такие серверы предпочтительнее локальных из-за низкой нагрузки на компьютер создающего игрока. Более того, множество выделенных серверов запускается на отдельных, сверхмощных компьютерах, подключенных к высокоскоростному интернету, что гарантирует клиентам низкий уровень задержки, а так же быстрое и стабильное подключение.

Системные требования

Хоть поставщики игровых серверов и используют самое современное оборудование для поддержания большого количества серверов, для запуска одного сервера требуется компьютер со следующими характеристиками:

Локальный сервер

  • Mac OS X 10.5.8 или 10.6.3 и выше, с оборудованием, отвечающим требованиям игры.
  • Windows XP и выше, с оборудованием, отвечающим требованиям игры.

Выделенный сервер

  • Linux (x86 или amd64), имеющий GLIBC 2.3.2 и выше.
  • FreeBSD (x86 или amd64), имеющий режим совместимости с Linux и свежую версию системы Linux.
  • Windows 2000 и выше.

Предыдущие изменения

Обновление от 20 сентября 2007
  • Выпущена бета-версия выделенного сервера на Linux.

Обновление от 26 сентября 2007

  • Родственность (affinity) главного потока больше не устанавливается для выделенного сервера. Это позволяет правильно распределять нагрузку при нескольких одновременно запущенных выделенных серверов на мультипроцессорной системе. Родственность всё также установлена на первый процессор для клиентов и локальных серверов (listen servers).
  • С серверов убрана переменная mp_friendlyfire». В некоторых случаях Team Fortress 2 мог неверно работать, если она присутствовала.

Обновление от 28 сентября 2007

  • Исправлено редкое падение сервера, вызванное повреждением сетевых данных.

Обновление от 2 октября 2007

  • Исправлено падение сервера, связанное с жучком шпиона.
  • Добавлена возможность «Создания сервера» в меню игры.

Обновление от 9 октября 2007

  • Улучшена первоначальная инициализация сети, чтобы перехватывать всплывающий в фоне серверный брэндмауэр.

Обновление от 25 октября 2007

  • Исправлены ошибки на Dustbowl и Hydro, которые проявлялись когда сервер становился пустым в середине раунда.
  • Исправлены ошибки, связанные с Honeypot серверами.

Обновление от 20 ноября 2007

  • На сервер добавлена переменная sv_pure, по умолчанию выключенная. Наберите sv_pure в консоли для полного описания.
  • В серверный лог добавлены записи для: Round_Start, Round_Setup_Begin, Round_Setup_End, Round_Overtime, Round_SuddenDeath, Round_Stalemate, Round_Win, Round_Length, Mini_Round_Selected, Mini_Round_Start, Mini_Round_Win и Mini_Round_Length.
  • Записи серверного лога для Round_Win и смены уровня теперь содержат данные о командном счёте и количестве игроков.
  • Обновлены записи захвата флага серверного лога для отображения количества захватов и tf_flag_caps_per_round value.
  • Исправлена ошибка, при которой выделенный сервер под Windows, запущенный в режиме -console, отображал своё окно на переднем плане, вместо заднего при старте.
  • Исправлена ошибка в выделенном сервере под Windows (в режиме -console), при которой набор текста в консольном окне был очень медленным и трудоёмким.
  • Исправлена ошибка с обновлением имени 32-го игрока на сервере.

Обновление от 20 декабря 2007

  • Режим мгновенной смерти теперь является серверной настройкой (консольной переменной) и по умолчанию выключен.
  • Исправлена консольная команда rcon, которая могла вызвать падение сервера.
  • Исправлено редкое падение, которое могло проявляться, когда пациент медика внезапно покидал сервер.
  • Добавлена возможность серверам загружать собственные .cfg карты в папке cfg.

Обновление от 31 декабря 2007

  • Добавлена информация о позиции игрока для учета событий сервером (player_death, player_builtobject, teamplay_flag_event, object_destroyed, teamplay_point_captured, teamplay_capture_blocked).

Обновление от 14 января 2008

  • Добавлена команда nextlevel. Если она установлена во время игры на карте, то сервер сервер сменит карту во время следующей смены уровня.

Обновление от 14 февраля 2008

  • Теперь, когда инженер уничтожает свои сооружения, это записывается в серверный лог.

Обновление от 15 февраля 2008

  • Игровой сервер теперь будет пытаться последовательно запускаться на 32-х портах, если они запущены на одной машине. Ранее сервер останавливался после перебора 10 портов.
  • Исправлено падение сервера при mp_forcecamera установленной в «1» (откат к прежнему поведению переменной).

Обновление от 28 февраля 2008

  • Игроки могут использовать фильтр тэгов для поиска серверов с различными собственными правилами.
  • Добавлены опции для серверов, позволяющее им устанавливать свои правила: отключение критических выстрелов tf_weapon_criticals, мгновенное возрождение (mp_disable_respawn_times), и увеличение количества игроков больше 24.

Обновление от 6 марта 2008

  • sv_alltalk убрана из консольных переменных, которые являлись серверными тэгами.
  • Исправлена ошибка, при которой серверы с SourceTV и максимальным количеством игроков меньше 24 использовали тэг «increased_maxplayers».

Обновление от 13 марта 2008

  • Исправлены проблемы с загрузками карт на Linux-серверах, использующие процессоры Athlon.

Обновление от 20 марта 2008

  • Исправлена ошибка, при которой консольные переменные FCVAR_REPLICATED и FCVAR_NOTIFY некорректно работали под Linux.
  • Исправлена уязвимость, при которой сервер мог отправлять код выполнения клиенту.
  • Добавлена консольная переменная mp_stalemate_at_timelimit, чтобы можно было включить режим мгновенной смерти при истечении mp_timelimit на картах не от Valve.

Обновление от 1 апреля 2008

  • Исправлена ошибка, из-за которой некоторые выделенные серверы не загружали игровую статистику.

Обновление от 2 апреля 2008

  • Исправлено падение выделенного Linux-сервера при смене карты.

Обновление от 30 апреля 2008

  • Исправлены случаи, когда игроки могли запускать на сервере команду sv_soundscape_printdebuginfo.
  • Исправлена потенциальная уязвимость «nuke» на подсистеме rcon.

Обновление от 4 августа 2008

  • Исправлена ошибка, при которой команда _resetgamestats вызывала падение сервера.

Обновление от 14 июля 2009

  • Улучшена логика подключений, чтобы помочь серверам, которые автоматически не переподключаются к Steam.
  • Исправлена уязвимость «setinfo», которая позволяла использовать запрещённые консольные команды при подключении к серверу.
  • Исправлена ошибка, при которой консольная переменная sensitivity могла вызвать падение сервера.

Обновление от 27 мая 2010

  • Добавлена проверка версии клиента/сервера при подключении клиента.

Обновление от 11 июня 2010

  • Исправлено зависание сервера на этапе создания ботов.

Обновление от 14 февраля 2011

  • Улучшена версия сообщения об ошибке несовпадения, получаемая при подключении к серверу с отличной от вашего клиента версией.

Обновление от 22 февраля 2011

  • Исправлена уязвимость падения сервера, вызванная испорченными сетевыми пакетами.

Обновление от 24 февраля 2011 (Набор карт сообщества)

  • Исправлена ещё одна уязвимость падения сервера, вызванная испорченными сетевыми пакетами
  • [Недокументированное] Исправлен случай, при котором после успешной торговли на сервере показывало только один из всех купленных предметов.

Обновление от 10 марта 2011 (Набор «Сёгун»)

  • Добавлена проверка максимального количества игроков (оно не должно быть равно 1).
  • Исправлена уязвимость, когда игроки могли использоваться заменённые эффекты частиц на серверах с sv_pure.

Обновление от 15 марта 2011

  • Исправлено падение сервера, вызванное ударами Полудзатоити по кому-нибудь, не держа оружие.

Обновление от 15 апреля 2011

  • Исправлено падение сервера, вызываемое голосованием за следующую карту.

Обновление от 18 апреля 2011

  • Устранено падение сервера, вызываемое использованием ботов во время смены карты.

Обновление от 9 мая 2011

  • Система записей будет пытаться переименовывать файл при сохранении записей на жестком диске самого сервера. Если переименовывание не удастся, то система скопирует файл с новым именем и удалит старый.
  • Устранены проблемы с многоядерными процессорами на Linux-серверах, вызывавшие серьезные тормоза в игре.
  • Исправлена очистка данных о записях в конце раунда. Если сервер желает сам выполнить очистку, то в его консоли нужно ввести команду replay_docleanup.

Обновление от 10 мая 2011

  • Система записей: Исправлена блокировка сервера во время очистки информации о записях.

Обновление от 13 мая 2011

  • Исправлена блокировка сервера во время очистки информации о записях.

Обновление от 25 мая 2011

  • Исправлены несколько случаев падения сервера, связанных с системой записей.
  • Исправлено падение сервера, вызываемое системой голосования.

Обновление от 17 июня 2011

  • Исправлено падение сервера, связанное с системой записей.
  • Исправлено падение сервера, вызванное маскировкой шпионов.
  • Исправлено падение сервера, при вводе информации в консоль.
  • Устранено падение сервера, связанное с очисткой системы частиц.

Обновление от 27 июня 2011

  • Добавлено серверное сообщение при подключении игрока с помощью системы распределения.

Обновление от 28 июля 2011

  • Исправлен расчет урона от Людодавов на Linux-сервере, который мог привести к падению физического движка.

Обновление от 2 сентября 2011

  • Исправлено падение сервера, связанное с неверным радиусом обзора игрока.

Обновление от 17 октября 2011

  • Исправлено падение сервера, когда одновременно включены SourceTV и возможность вести запись.

Обновление от 18 октября 2011

  • Исправлена частая ошибка, приводящая к вылету сервера, связанная с файлами формата Valve Pack File.
  • [Обновление 2] Исправлена ошибка сервера, связанная с не подгруженными моделями.

Обновление от 2 февраля 2012

  • Отрегулированы сообщения об ошибках на серверах, когда игроки покидали сервер из-за неудачной идентификации в Steam, так, чтобы они были более информативными.
  • Дополнительные важные серверные сообщения теперь показываются и в логе сервера, а не только в консоли.
  • Исправлено падение сервера, происходившее из-за критических атак Праздничным ударом по физическим объектам.

Обновление от 23 февраля 2012

  • Исправлена команда +randommap, которая неверно работала при запуске сервера.
  • Исправлен поток сообщений в консоль выделенного сервера, вызываемый ботом записи и углами обзора.

Обновление от 8 марта 2012

  • Исправлено падение клиента, которое случалось, когда сервер использовал переменную SetCustomModel для изменения модели игрока.

Обновление от 18 апреля 2012

Обновление от 27 июня 2012 (Обновление «Пиромания»)

  • Исправлены сообщения, вызываемые картой, которые не работали на выделенных серверах.
  • Голосования, созданные выделенным сервером, больше не вызывают ожидание от проваленного голосования.
  • Теперь игроки на сервере оповещаются при использовании Именного ярлыка.

Обновление от 2 июля 2012

  • Исправлена ​​проблема, которая позволила подделать адрес IP для соединения с игровым сервером.

Обновление от 10 июля 2012

  • Исправлено самопроизвольное завершение процесса клиента/сервера при переподключении к серверу предметов.

Обновление от 20 июля 2012 #1

  • Добавлена команда sv_namechange_cooldown_seconds, запрещающая клиенту быстро менять имена. (20 секунд между сменами по умолчанию).
  • Добавлена команда sv_netspike_on_reliable_snapshot_overflow для выборочного включения автоматического дампа файла сетевых ошибок, если клиент отключился из-за ошибки «reliable snapshot overflow» (по-умолчанию 0, что отключает отладку).
  • Добавлена проверка имени игрока на содержание цветовых кодов.
  • Исправлена ошибка, из-за которой игровые серверы неправильно получали информацию о рюкзаке клиента (частая причина сообщения «Сервер, на котором вы играете, потерял связь с сервером предметов»).

Обновление от 23 июля 2012

  • Исправлена ошибка, при которой выделенные серверы не могли задавать параметр sv_region.

Обновление от 3 августа 2012

  • Исправлена ошибка, приводящая к падению сервера: задание консольной команды tf_mm_servermode до консольной команды map.

Обновление от 17 августа 2012 #1

  • Сервер теперь автоматически выключается, если он стартовал в режиме Манн против машин при значении sv_maxplayers меньше, чем 32.
  • Исправлено неправильное сбрасывание значения mp_timelimit в режиме МпМ, если защитники проиграли.
  • Обновлена переменная tf_mm_strict.
    • Значение 2 скроет сервер в браузере серверов, но разрешит прямое подключение.

Обновление от 17 августа 2012 #2

  • Исправлена ошибка, при которой отключившиеся игроки оставляли «призрака», который занимал слот на сервере.

Обновление от 21 августа 2012

Обновление от 23 августа 2012

  • Добавлена новая команда kickall, которая отключает все клиенты, кроме записей, HLTV и хоста, управляющего сервером, если это возможно.

Обновление от 10 сентября 2012

  • Исправлена ошибка, позволявшая вредоносным серверам выполнять ограниченные консольные команды на игроках.
  • Исправлена ошибка, позволявшая вредоносным серверам препятствовать игрокам выполнять консольные команды.

Обновление от 21 сентября 2012 #1

  • Исправлено падение сервера, вызываемое ИИ бота-подрывника.
  • По просьбам сообщества:
    • Добавлена новая серверная переменная tf_avoidteammates_pushaway для управления сдвигом друг друга союзников, если они занимают одно и то же место.
    • Добавлена новая серверная переменная tf_arena_override_team_size, позволяющая задать максимальное число игроков в команде в режиме Арены.

Обновление от 21 сентября 2012 #2

  • Исправлена ошибка, из-за которой серверы сообщали системе поиска матчей, что они заполнены.

Обновление от 9 октября 2012

Обновление от 27 октября 2012

Обновление от 21 ноября 2012

  • Исправлено отображение ботов на выделенном сервере в списке серверов.

Обновление от 19 марта 2013

  • Исправлено падение сервера, связанное с игровой статистикой.

Обновление от 3 апреля 2013

  • Не допускаются игровые серверы, открывающиеся от панели MOTD более одного раза, если игрок подключается к игре через Поиск матчей или Быструю игру.
  • Улучшена производительность для двоичных файлов выделенного сервера ОС Linux.

Обновление от 18 апреля 2013

  • Отключены дополнения, которые позволяли игрокам подсоединяться к безопасным игровым серверам, даже если в командной строке указано -insecure.
  • Добавлена переменная sv_motd_unload_on_dismissal, дающая серверным операндам контроль над поведением (по умолчанию) их Сообщения Дня.

Обновление от 19 апреля 2014

  • [Недокументированное] Исправлены проблемы сервера, клиента и движка.

Обновление от 9 января 2015

  • Исправлено падение выделенного сервера, связанное с недействительными командами клиента.

См. также

Ссылки