Настройка выделенного сервера

From Team Fortress Wiki
Jump to: navigation, search


Установка

Установка сервера в Windows

Эта небольшая инструкция научит вас создавать выделенный сервер Team Fortress 2 на компьютере с Windows. Одним из первых и самых используемых инструментов, которые могут быть использованы для этого является Half-Life Dedicated Server Update Tool (или HldsUpdateTool). HldsUpdateTool является приложением, которое может полностью установить последнюю версию содержимого сервера на ваш компьютер. Если это уже сделано, HldsUpdateTool обновит выделенный сервер до последней версии

Скачать HldsUpdateTool можно отсюда: http://www.steampowered.com/download/hldsupdatetool.exe

После скачивания, запустите HldsUpdateTool из командной строки. Появится графический установщик, который проведет вас через процесс первоначальной установки. Для экономии времени желательно устанавливать HldsUpdateTool в корневую папку существующего выделенного сервера.

Для более подробных инструкций посетите: http://forums.srcds.com/viewtopic/5439

MOTD

MOTD — это «Message Of The Day» (сообщение дня). Это сообщение, которое появляется после успешного соединения с сервером. MOTD может быть простым сообщением или комплексной веб-страницей. Для изменения сообщения откройте папку orangebox/tf и измените текст файлов motd.txt и motd_text.txt (второй файл используется для игроков, отключивших HTML MOTD файлы в своей игре).

Оба файла имеют ограничения, одним из которых является ограничение по размеру в 1КБ (около 1536 символов). Motd_text.txt, однако, будет выводить HTML таким, как в основных интернет-браузерах.

Запомните, Orangebox движок использует устаревшую версию Internet Explorer 6, что означает невозможность работы комплексного содержимого, такого как Flash и Javascript. Возможным решением проблемы этого и других ограничений является помещение ссылки на .html файл, находящийся на веб-сервере. Например, если написать в motd.txt http://www.ваш-веб-сайт.com/motd.html, то будет отображен motd.html файл.

Инструкцию, как сделать MOTD с фоном TF2 доски можно посмотреть здесь: http://www.specialattack.net/node/39

http://hlds101.com/configuring.htm

Список карт

Список карт — это файл, содержащий список всех карт, доступных для игры на сервере. Если вы используете пользовательский плагин для голосования за карту, необходимо писать название карт в оба maplist.txt и в список голосования для правильной работы. SRCDS (Source выделенный сервер) позволяет легко редактировать список играемых карт, который находится в файле orangebox/tf/maplist.txt.

Для добавления пользовательских карт, поместите .bsp файл в папку orangebox/tf/maps, затем найдите orangebox/tf/maplist.txt и впишите туда название карты с новой строки (используйте существующие названия .bsp файлов, без учета расширения .bsp).

Борьба со взломом

VAC

Valve Anti-Cheat автоматически находит и блокирует множество игроков, использующих программы для нечестной игры (например увеличение скорости, автоприцел, в некоторых случаях консольных команд, требующих sv_cheats 1, таких как noclip). VAC включен по умолчанию на всех серверах. Для его отключения требуется добавить -insecure в параметры запуска сервера.

Серверные настройки

После VAC, первой линией защиты от читов является консольная переменная sv_pure. Эта переменная контролирует, откуда клиент получает информацию и может ограничивать возможность замены содержимого на стороне игрока. Это может быть использовано игроком, если сервер не настроен правильно. Возможно задать значение 1 или 2, если вы не хотите разрешать какие-либо формы мошенничества. По умолчанию sv_pure имеет значение 0 и ничего не ограничивает. Возможны значения 0, 1 и 2, которые рассмотрены ниже.

sv_pure = 0
позволяет клиенту менять местоположение ЛЮБОГО игрового файла. Клиент может использовать модифицированные файлы для получения нечестного преимущества, делая такие вещи, как замена моделей игроков на более заметные, делать стены невидимыми, ставить маяки на разведданные, и т.п. VAC не защищает от таких эксплойтов, так как они не меняют сам процесс игры, и позволяет серверу решать, что могут делать клиенты.
sv_pure =1
разрешает использовать только содержимое из белого списка (списка разрешенного контента). По умолчанию белый список разрешает ставить пользовательские модели и любые потенциальные эксплойты такие, как яркие скины.
sv_pure = 2
принуждает клиента игнорировать ВЕСЬ пользовательский контент и заставляет пользоваться информацией, полученной от Steam. Sv_pure 2 также запретит использование пользовательского контента и пользовательских спреев.

Для более подробной информации о sv_pure (в том числе о белом списке) см. Pure Servers (английский) в Сообществе разработчиков Valve (английский)

Большинство серверов используют sv_pure 1 вместе с модифицированным белым списком, либо позволяют те каталоги с содержимым, с использованием которого сложно или невозможно мошенничать. Также часто запрещена возможность использовать пользовательские модели.

Сторонние плагины

Некоторые сторонние плагины и дополнения осуществляют дополнительную защиту. всю информацию по этому поводу можно посмотреть на

Alliemods.

Настройки командной строки

Command_Line_Options (английский) в Сообществе разработчиков Valve (английский)

Быстрая игра

Быстрая игра позволяет игроку подключится к данному серверу, нажав кнопку «Начать игру» в Главном меню. Существует статья техподдержки Steam, которая содержит сведения о настройках сервера, позволяющих использовать Быструю игру.

Пример файла Server.cfg для выделенного сервера TF2

// Основные настройки //

// Название сервера
hostname yourserver.com TF2 Server

// Видимое максимальное количество игроков
sv_visiblemaxplayers 24

// Максимальное количество раундов до смены карты
mp_maxrounds 5

// Set to lock per-frame time elapse
host_framerate 0

// Установить продолжительность паузы
setpause 0

// Контроль над содержимым 
// 0 = любое, 1 = только из белого списка, 2 = только из Steam
sv_pure 0

// Возможность паузы
sv_pausable 0

// Тип сервера
// 0=интернет 1=локальная сеть
sv_lan 0

// Проверяет содержимое критически важных файлов
sv_consistency 1

// Сбор статистики использования ЦП
sv_stats 1



// Загрузка списков блокированных игроков //
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip



// Контакты и регион //

// Контактный e-mail адрес
sv_contact emailaddy@google.com

// Регион, где находится сервер
// -1 — мир, 0 — США восток, 1 — США запад
// 2 — Южная Америка, 3 — Европа, 4 — Азия, 5 — Австралия, 6 — Ближний Восток, 7 — Африка
sv_region 0



// Настройки удаленного управления //

// Пароль для удаленного управления
rcon_password yourpw

// На сколько минут блокировать игрока, который ввел неправильный пароль
sv_rcon_banpenalty 1440

// Максимальное количество попыток ввода пароля до блокировки
sv_rcon_maxfailures 5



// Настройки логов //

// Включение/отключение логов < on | off >.
log on

// Писать логи только в один файл
sv_log_onefile 0

// Писать в лог-файл серверную информацию
sv_logfile 1

// Писать баны и логи сервера
sv_logbans 1

// Показывать записываемые данные в консоль
sv_logecho 1



// Настройки рейтов //

// Ограничение частоты кадров
fps_max 600

// Минимальная пропускная способность, разрешенная сервером, если 0, то не ограничено
sv_minrate 0

// Максимальная пропускная способность, разрешенная сервером, если 0, то не ограничено
sv_maxrate 20000

// Минимальное количество обновлений в секунду, разрешенное сервером
sv_minupdaterate 10

// Максимальное количество обновлений в секунду, разрешенное сервером
sv_maxupdaterate 66



// Настройки скачивания //

// Разрешает клиенту загружать файлы на сервер (например, спреи)
sv_allowupload 1

// Разрешает клиенту скачивать файлы с сервера
sv_allowdownload 1

// Максимально разрешенный размер в мегабайтах
net_maxfilesize 15



// Балансировка команд //

// Включить автобалансировку
mp_autoteambalance 1 

// Время после «разбаланса» до автобалансировки
mp_autoteambalance_delay 60

// Время после «разбаланса» до текстового предупреждения
mp_autoteambalance_warning_delay 30

// Считать команды разбалансированными, если разница в количестве игроков больше, чем это значение (0 отключает проверку)
mp_teams_unbalance_limit 1



// Время раунда и игры //

// Включает таймер ожидания между раундами. ВНИМАНИЕ: Установка значения 0 может вызвать ошибку с установкой времени в 5 минут 20 секунд на некоторых серверах!
mp_enableroundwaittime 1

// Время после победы в раунде до нового раунда
mp_bonusroundtime 8

// Если не 0, то новый раунд будет перезагружен через это кол-во секунд
mp_restartround 0

// Включает быструю смерть
mp_stalemate_enable 1

// Время быстрой смерти (в секундах)
mp_stalemate_timelimit 300

// Время игры на одной карте (в минутах)
mp_timelimit 35



// Переменные, относящиеся к клиентам //

// Запрещает режим наблюдения для мертвых
mp_forcecamera 0

// Разрешает режим наблюдения 
mp_allowspectators 1

// Включает звуки шагов
mp_footsteps 1

// Разрешает использовать команды с флагом «читерские»
sv_cheats 0

// Если клиент не отвечает, то он будет выкинут с сервера через это кол-во секунд
sv_timeout 900

// Максимальное время простаивания игрока (в минутах), обычно ставиться такое же как и sv_timeout
mp_idlemaxtime 15

// Что делать с простаивающими игроками, 1=убирать в наблюдатели 2=выкидывать с сервера
mp_idledealmethod 2

// Время между нанесением спрея
decalfrequency 30



// Общение //

// Разрешает голосовое общение
sv_voiceenable 1

// Если 1, то игроки разных команд слышат друг друга
sv_alltalk 0

// Время, в течение которого игроки могут писать в чат после окончания игры
mp_chattime 10

// Включает режим вечеринки
// tf_birthday 1

// Отключение системы рассеивания пуль //

// Отключает систему рассеивания пуль. Когда данная опция отключена, то все пули будут лететь в одну точку. При включенной — вразнобой.

tf_use_fixed_weaponspreads 1 (def. «0»)

// Настройки флага //
// Лимит захватов флага в раунде (если 0, то раунд не будет заканчиваться, сколько бы флагов не было захвачено)
tf_flag_caps_per_round 3

// Сколько секунд после захвата флага команды будет наносить критический урон. 0 для выключения
tf_ctf_bonus_time 10




Все серверные консольные команды

Команды с префиксом sv_

sv_allow_color_correction	// Разрешить \ Запретить клиентам, использовать цветовую коррекцию.
sv_allowdownload		// Разрешить \ Запретить клиентам скачивать файлы.
sv_alltalk			// Отключает \ Включает общий голосовой чат.
sv_cheats			// Режим «читов» на сервере.
sv_pausable			// Разрешить \ Запретить включать паузу на сервере.
sv_mincmdrate			// Устанавливает минимальное значение cl_cmdrate для клиентов.
sv_maxcmdrate			// Устанавливает максимальное значение cl_cmdrate для клиентов.
sv_minrate			// Минимальный «rate» сервера.
sv_maxrate			// Максимальный «rate» сервера.
sv_allow_wait_command		// Разрешает или запрещает использование команды 'wait' клиентам, подключенным к серверу.
sv_allowupload 			// Разрешает клиентам загружать файлы настроек (модификации).
sv_maxupdaterate 		// Максимальное количество обновлений в секунду, которое поддерживает сервер.
sv_minupdaterate 		// Минимальное количество обновлений в секунду, которое поддерживает сервер.
sv_pure_kick_clients 		// Если значение этой команды равно 1, то сервер будет кикать клиентов с недостающими файлами.
sv_pure 			// Разрешить \ Запретить использовать не стандартные файлы (например другие моделки оружия).
sv_client_cmdrate_difference 	// cl_cmdrate принимает значение cl_updaterate в рамках значения sv_client_cmdrate_difference до того, как оно окажется между значениями sv_mincmdrate и sv_maxcmdrate.
sv_client_max_interp_ratio 	// Эта команда ограничивает значение cl_interp_ratio у подключенных клиентов (только пока они находятся на сервере). Если значение команды sv_client_min_interp_ratio равно -1, то эта команда не будет работать.
sv_client_min_interp_ratio 	// Эта комманда ограничивает значение cl_interp_ratio у подключенных клиентов (только пока они находятся на сервере). -1 = позволяет клиентам иметь любое значение cl_interp_ratio. любое другое значение = устанавливает минимальное значение cl_interp_ratio клиента.
sv_logsdir 			// Папка в игровой директории, где будут храниться логи сервера.
sv_logfile 			// Записывает информацию о сервере в лог-файле.
sv_logflush 			// Сохранять лог-файл на диске после каждой записи.
sv_logecho 			// Копирует информацию из лога в консоль.
sv_log_onefile 			// Записывает информацию о сервере в один файл.
sv_logbans 			// Записывает информацию о банах на сервере в лог.
sv_skyname 			// Текущее название skybox текстуры.
sv_unlockedchapters 		// Самая высокая незамкнутая часть игры.

Команды с префиском mp_

mp_fadetoblack 			// Включает таймер ожидания между раундами.
mp_fraglimit  			// Количество «фрагов», после которых карта заканчивается.
mp_idledealmethod 		// Если игрок стоит на месте. 1 — отправляет их в режим Spectator. 2 — кикает их из игры.
mp_idlemaxtime 			// Максимальное время, которое игроки могут стоять на месте (в минутах).
mp_maxrounds 			// Максимальное количество раундов, после которых сервер сменит карту.
mp_respawnwavetime 		// Время «респауна» (возрождения).
mp_tournament			// Включает режим соревнований «турнира».
mp_autoteambalance		// Отключает \ Включает автоматическую балансировку команд, при не равных количествах игроков.
mp_allowspectators  		// Отключает \ Включает режим спектатора на сервере.
mp_bonusroundtime 		// Время, после победы команды, перед началом следующего раунда.
mp_chattime 			// Время, в течение которого игроки могут «переписываться» в чате, после окончания игры.
mp_enableroundwaittime		// Заставляет счетчик «пережидать» время между раундами.
mp_forcecamera 			// Запрещает мертвым игрокам наблюдать за игрой в режиме наблюдателя.
mp_stalemate_enable 		// Включает/выключает режим «ничьи».
mp_teams_unbalance_limit 	// Устанавливает разницу количества игроков, при которой команды считаются неравными (0 отключает проверку).
mp_time_between_capscoring 	// Задержка между захватом точки и тем, как это будет засчитано.
mp_timelimit 			// Заканчивает игру, когда достигается установленное значение, вместо ожидания окончания текущего раунда.
mp_tournament_allow_non_admin_restart  // Разрешает использовать команду mp_tournament_restart любым игроком на сервере, а не только админом.
mp_windifference 		// Считает разницу между счетом команд до того, как сервер сменит карту.
mp_winlimit 			// Максимальное количество очков, которое может заработать команда перед тем, как сервер сменит карту.
mp_friendlyfire 		// Позволяет игрокам наносить урон членам своей команды.
mp_restartgame 			// Если значение больше нуля, игра перезапустится через установленное количество секунд.
mp_waitingforplayers_restart 	// Установите значение 1, чтобы начать или перезапустить период ожидания игроков.
mp_waitingforplayers_cancel 	// Установите значение 1, чтобы закончить период ожидания игроков.
mp_clan_readyrestart 		// Если значение больше нуля, игра перезапустится, когда члены обеих команд поставят статус ‘готов’.
mp_clan_ready_signal 		// Устанавливает, что лидер каждой команды должен сообщить о готовности, чтобы матч начался.
mp_disable_autokick 		// Предотвращает авто-кик по user ID.
mp_restartround 		// Если значение больше нуля, текущий раунд начнется заново через установленное количество секунд.
mp_stalemate_timelimit 		// Временной лимит (в секундах) раунда ничьи.
mp_stalemate_enable 		// Включает/отключает режим ничьи.
mp_match_end_at_timelimit 	// Позволяет закончить матч, когда достигается значение mp_timelimit, вместо ожидания окончания текущего раунда.
mp_switchteams 			// Сменить цвет команд и перезапустить игру.
mp_scrambleteams 		// Перемешать команды и перезапустить игру.
mp_forcewin 			// Делает команду победителем в текущем раунде.
mp_forcerespawnplayers 		// Респавнит всех игроков.
mp_tournament_restart 		// Перезапускает Режим Турнира на текущей карте.
mp_showrespawntimes 		// Отображает минимальное время до респауна для обеих команд.

Команды с префиксом tv_

tv_chattimelimit		// Лимит сообщений от игрока в спектрах за «n» секунд.
tv_delay			// Задержка SourceTV в секундах.
tv_delaymapchange		// После смены карты, будет ли в SourceTV продолжать показывать последние задержки указанные в tv_delay.
tv_enable			// Активирует SourceTV.
tv_name				// Указывает имя SourceTV.
tv_maxclients			// Устанавливает максимальное количество зрителей в SourceTV.
tv_stop				// Остановить трансляцию через SourceTV.
tv_status			// Показать разную информацию по текущему SourceTV. 
tv_retry			// Переподключает SourceTV на последний известный адрес (только для прокси серверов). 
tv_port 			// Устанавливает порт для SourceTV. 
tv_maxrate 			// Установить максимально допустимую пропускную способность, проводимую для одного клиента в байт/секунда. 
tv_password 			// Установить пароль на SourceTV. 
tv_relaypassword		// Установить пароль на подключение для прокси серверов. 
tv_record 			// Начать запись SourceTV демо файла. 
tv_stoprecord 			// Остановить запись демо. 
tv_autorecord 			// Автоматически записывать каждую игру. Формат файла: auto-YYYYMMDD-hhmm-map.dem. 
tv_debug 			// Показывает дополнительную отладочную информацию.
tv_transmitall 			// По умолчанию включен режим авто-режиссера, для уменьшения требуемой для передачи ширины канала. Но если tv_transmitall включено, то все данные игры будут передаваться целиком и зритель может переключать режим обзора как он захочет — ширина канала передачи существенно возрастает — в 2-3 раза.
tv_dispatchmode			// Перенаправление клиентов на relay-прокси. 0-никогда, 1-при необходимости, 2-всегда.
tv_chattimelimit		// Очистка чата через «n» секунд.
tv_nochat 			// Не получать сообщений чата от других зрителей SourceTV.

Команды с префиксом TF_

tf_weapon_criticals		// Отключает \ Включает критические удары на сервере.
tf_ctf_bonus_time 		// Длительность критических ударов, после захвата флага на CTF картах.
tf_damage_disablespread 	// Включает случайное распределение урона, получаемое всеми игроками?
tf_tournament_hide_domination_icons  // Команда, которая позволяет игрокам не видеть значки доминации над их врагами в режиме 'tournament'.
tf_playergib                    // Отключает \ Включает мясо от взрывов тел.
tf_use_fixed_weaponspreads	// Значение 1 включает фиксированный спрей при стрельбе.
tf_bot_add — Add a bot.		// Добавить бота.
tf_bot_kick			// Кикнуть бота.
tf_bot_kick_all			// Кикнуть всех ботов.
tf_bot_force_class		// Установив название класса, все боты будут возрождаться только этим классом.
tf_bot_sniper_personal_space_range // Враги в пределах этого диапазона не достают снайпера

Команды с префиксом bot_

simple_bot_add			// Добавить простого бота.
bot_mimic			// Боты повторяет движения игрока.
bot_mimic_inverse		// Боты повторяют движения игрока, в противоположную сторону.
bot_changeclass			// Сменить класс бота.
bot_jump			// Заставить ботов прыгать.
bot_kill			// Убить бота. Использовать как: bot_kill <bot name>
bot_changeteams			// Заставить ботов сменить команды.
bot_teleport 			// Телепортировать бота в указанную позицию. Использовать как: bot_teleport <bot name> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
bot_dontmove			// Заставить ботов не двигаться.
bot_randomnames			// Боты будут появляться со случайными никами.
bot_forceattack_down 		// Заставляет ботов приостановить стрельбу.
bot_selectweaponslot 		// Устанавливает номер слота оружия, которое должен выбрать бот.
bot_crouch 			// Заставляет всех ботов присесть.
bot_nav_turnspeed 		// Скорость, с которой бот поворачивается на свою цель.
bot_nav_wpdistance 		// Расстояние до вейпоинта, на котором бот считает, что достиг его.
bot_nav_wpdeceldistance 	// Расстояние до вейпоинта, на котором бот перестает отдаляться от него.
bot_nav_simplifypaths		// Когда включено, бот будет пропускать вейпоинты, если опорная точка вейпоинта уже находится в поле его зрения.
bot_nav_useoffsetpaths 		// Когда включено, при построении путей боты будут создавать вейпоинты по обе стороны порталов между вейпоинтами.
bot_nav_offsetpathinset 	// Задает дистанцию, через которую создаются вейпоинты при ориентации между порталами.
bot_nav_usefeelers 		// Когда включено, боты будут использовать вокруг себя чувствительную зону, чтобы избежать столкновений.
bot_nav_recomputetime 		// Задержка перед тем, как бот заново рассчитает свой путь до цели, если она движется.
bot_com_meleerange 		// Расстояние до цели, на котором бот может воспользоваться оружием ближнего боя.
bot_com_wpnrange 		// Расстояние до цели, на котором бот использует оружие дальнего боя.
bot_com_viewrange 		// Расстояние, на котором боты, ищущие врага, находят его.
bot_command 			// <id бота> <команда> Применяет определенную команду к указанному боту.
bot_refill 			// Перезаряжает оружие всех ботов.
bot_whack 			// Причиняет смертельный урон боту от игрока. Применение: bot_whack <имя бота>
bot_selectweapon 		// Заставляет определенного бота выбрать оружие из указанного слота. Применение: bot_selectweapon <имя бота> <номер слота>
bot_drop 			// Заставляет бота сменить текущее оружие. Применение: bot_drop <имя бота>
bot_moveto 			// Заставляет указанного бота переместиться в место под Вашим прицелом. Применение: bot_moveto <имя бота>
bot_debug 			// Режим отладки ботов.
bot_forcefireweapon 		// Заставляет ботов открыть огонь из текущего оружия.
bot_forceattack 		// Если режим включен, все боты стреляют.
bot_forceattack2 		// Боты используют attack2.

Популярные плагины

Дополнительная защита

  • DoS Attack Fixer for TF2 — Плагин, предотвращающий Denial of Service атаки на сервер.

Основные

  • Metamod:Source — Базовый плагин для работы множества других плагинов
  • EventScripts — Мощная скриптовая среда

Управление администраторами

См. также

Linux dedicated server

Windows dedicated server