Популярные

Наши Группы

Голосование

Чего не хватает на сайте?

Наша кнопка

Казахстанский Игровой Портал!

Друзья сайта

Реклама

Казахстанский Игровой Портал!

Выделенный source сервер team fortress 2 под Windows

Добавил: Sunker97|9 окт 2011|Просмотров: 7 003|Комментариев: 0
  • Не нравится
  • +5
  • Нравится
Выделенный source сервер team fortress 2 под Windows


Что от вас потребуется:

* Быстрый, не лимитированный интернет.
* Не обязательно статический, но обязательно Внешний IP / Проброс нужных серверу портов если вы используете роутер (проигнорировав эти пункты не удивляйтесь тому, что на сервер можете зайти только вы). Естественно для локального сервера это не нужно.
* Нормальный блокнот для правки конфигов (с поддержкой utf-8 без BOM, рекомендую Notepad++)

Задачи

* Загрузка файлов сервера
* Настройка сервера
* Установка и настройка sourcemod и metamod
* Установка и настройка плагинов sourcemod

Загрузка файлов сервера

Скачайте hldsupdatetool.exe [687,04 Kb] (cкачиваний: 660)

Эта утилита загружает / обновляет файлы сервера.

Установите её в что-нибудь похожее на D:\servers\TF2:

Выделенный source сервер team fortress 2 под Windows


В качестве региона выбирайте Азию:

Выделенный source сервер team fortress 2 под Windows


Переходите в папку установки и создавайте там файл .bat – название файла может быть любым, например update.bat.

Создайте текстовый файл update.txt, откройте его в блокноте, Файл > Cохранить как. Тип файла меняйте на «все файлы» и вводите новое название полностью, с расширением:
Выделенный source сервер team fortress 2 под Windows

.bat файлы содержат команды для консоли windows (cmd)

Внутрь update.bat помещайте следующие строчки:
hldsupdatetool.exe -command update -game tf -dir . -verify_all -retry
pause


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

-game tf – указывает какую игру скачивать, вместо названия игры пишется её алиас:

Наиболее популярные игры и их алиасы:

tf – Team Fortress 2
left4dead – Left 4 Dead
left4dead2 – Left 4 Dead 2
«Counter-Strike Source» – Counter-Strike: Source
ageofchivalry – Age of Chivalry
dods – Day of Defeat: Source

Полный список можно увидеть открыв консоль (win+R, cmd) и введя эту команду:

D:\servers\tf2\hldsupdatetool.exe -command list

-dir . – указывает куда качать, например -dir C:\server, точка вместо пути означает то, что скачивать сервер утилита будет в ту папку, где находится сама.

-verify_all – проверяет какие файлы уже скачены, и не скачивает их повторно, это полезно если закачка прервалась или сервер обновился

-retry – если steam не отвечает, пытаться подключиться к нему с интервалом в 30 секунд.

Сначала запускайте hldsupdatetool.exe – чтобы обновить эту утилиту до последней версии, а потом update.bat. От следующего пункта этого руководства вас отделяют ~2.7 гигабайта.

* Пусть вас не смущает «No installation record found at…» – это не ошибка, а следствие флага -verify_all. Просто ждите. Когда hlds поймёт что никаких файлов вообще нет, он автоматически их скачает.
* Если по каким-либо причинам закачка оборвалась – снова запускайте update.bat – hlds скачает оставшиеся файлы.


Autoexec.cfg, Server.cfg и motd.txt
Server.cfg

Cоздавайте файл server.cfg в папке D:\servers\tf2\orangebox\tf\cfg и помещайте туда следующие строчки:

// Название вашего сервера
hostname "my tf2 server [fast resp / no crits / alltalk]"

//регион сервера, 4 или 5 - Азия
sv_region 4

// Отключение случайных критических ударов, никак не влияет например на банкате или уберкрит медика
tf_weapon_criticals 0

// Пароль для удалённого управления сервером
rcon_password 123456

// Время до смены карты
mp_timelimit 30

// Красные и синие слышат друг друга
sv_alltalk 1

// При бездействии игрок будет не выкинут с сервера, а перемещён в наблюдатели
mp_idledealmethod 1

// Overtime! Overtime! Overtime!
tf_overtime_nag 1

// Разрешаем скачивать с сервера файлы - в первую очередь это пользовательские карты
net_maxfilesize 80
sv_allowupload 1
sv_allowdownload 1

// Включаем быстрый респаун
mp_disable_respawn_times 1


Если вы планируете разместить сервер в локальной сети то добавьте ещё эту опцию:

sv_lan 1


Обратите внимание на строчки начинающиеся с «//» – это комментарии, сервер их игнорирует.

Когда ставить кавычки, а когда нет?

Кавычки не нужны, когда значение параметра – одно слово:

rcon_password 123456


Кавычки нужны, если значение параметра разделено хотя бы одним пробелом:

rcon_password "123 456"


Autoexec.cfg
Теперь создавайте autoexec.cfg в той же папке (D:\servers\tf2\orangebox\tf\cfg), этот шаг не обязателен, и нужен вам только если вы хотите чтобы сервер писал демки.

В файл нужно добавить эти строчки:

tv_enable 1
tv_name "Source TV"


Вы можете добавить в этот файл опцию tv_autorecord 1 для автоматической записи демок, но это лучше делать с помощью плагина.

Motd.txt

Приветствие, которое видит игрок заходя на сервер.

Откройте файл D:\servers\tf2\orangebox\tf\motd.txt и измените его на свой вкус.

Вы можете использовать для этого файла html, чтобы вставить картинку или задать своё форматирование текста.

Помните, ваша картинка не должна весить больше 200 кб, не издевайтесь над игроками

Размер картинки для сервера каждой игры приходится подбирать опытным путём, для tf2 оптимальной размер картинки – не выше 740 и не шире 870 пикселей.

Например так:

<html>
<body>
<center><img height=100% border="0" src="http://i.imgur.com/ds2oS.jpg"></center>
</body>
</html>


Однако у прозрачной картинки фон станет белым. Как этого избежать?

Для этого нужно использовать ещё одну картинку для фона – back.jpg:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
        <style type="text/css">
            html, body {
                height: 100%;
                margin: 0;
                padding: 0;
                overflow: hidden;
            }
            .back {
                position:fixed;
                top:0;
                left:0;
                width:100%;
                height:100%;
            }
            .logo img {
                position:relative;
                z-index:1;
                margin:0 auto;
                height:100%;
            }
        </style>
    </head>
    <body>
        <img class="back"src="http://ksevelyar.ru/tf2/back.jpg"/>
        <div class="logo"><img src="http://ksevelyar.ru/tf2/welcome.png"/></div>
    </body>
</html>


Запуск сервера

Для запуска сервера тоже используется .bat файл.

Его нужно создать в той папке, где лежит srcds.exe, в нашем примере (сервер team fortress 2) srcds.exe лежит в d:\servers\tf2\orangebox\ – переходите в эту папку и создавайте там run.bat с таким содержимым:

@echo off
cls
echo Protecting srcds from crashes...
title srcds.com Watchdog
:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game tf -tickrate 66 -secure +maxplayers 24 -port 27020 +map cp_dustbowl
echo (%time%) WARNING: srcds closed or crashed, restarting....
goto srcds


Обратите внимание на эту строчку:

start /wait srcds.exe -console -game tf -tickrate 66 -secure +maxplayers 24 -port 27020 +map cp_dustbowl


Возможно вам захочется изменить максимальное количество игроков, или начальную карту. Список карт можно посмотреть в файле d:\servers\tf2\orangebox\tf\maplist.txt

Можете уже попробовать запустить сервер и подключиться к нему. Если всё прошло успешно – переходите к следующему этапу.

Установка sourcemod и metamod

Скачайте metamod и sourcemod – они сильно упрощают администрирование сервера и к ним много вкусных плагинов.

Разархивируйте плагины в папку с алиасом игры:

Выделенный source сервер team fortress 2 под Windows

Выделенный source сервер team fortress 2 под Windows


Теперь нужно подключить metamod.

Для этого в папку addons (D:\servers\tf2\orangebox\tf\addons), надо поместить файл metamod.vdf – его можно сгенерировать автоматически: metamodsource.net/vdf

Выбирайте вашу ос и игру, если игры в списке нет, вводите её алиас в поле Game Folder:

Выделенный source сервер team fortress 2 под Windows


Можно сделать его и вручную, создайте текстовый файл и поместите в него эти строчки:

"Plugin"
{
"file" "..\tf\addons\metamod\bin\server.dll"
}


Сохраните его как metamod.vdf в папку addons.

Настройка sourcemod
Добавление администратора
Возможно несколькими способами – с помощью steam id, ip, или логина и пароля. Самый удобный способ – первый.

Узнать ваш steam id тоже можно несколькими способами:

Подключайтесь к любому source серверу (например к тому, который вы сейчас настраиваете) и вводите в консоль status:

Выделенный source сервер team fortress 2 под Windows


Здесь STEAM_0:1:16547568 – мой steam id. Этот способ немного громоздок, но и наиболее надёжен.

Steam id можно узнать и с помощью разнообразных скриптов, например на этом сайте – http://steamid.ru/.

Откройте файл D:\servers\tf2\orangebox\tf\addons\sourcemod\configs\admins_simple.ini

И добавьте после комментариев такую строчку:

"STEAM_0:1:16547568" "99:z"


Естественно вам нужно заменить steam id на свой.

Что она делает? Она назначает пользователя со steam id равным STEAM_0:1:16547568 администратором 99 уровня (его не сможет кикнуть, забанить и т. п администратор с меньшим уровнем) и полным доступом (флаг z). Подробнее о флагах читайте в документации к SourceMod..

Примерно так admins_simple.ini выглядит для меня:

Помните, строчки начинающиеся с «//» – воспринимаются парсером как комментарии и игнорируются.

//-- Owner --//
"STEAM_0:1:16547568" "99:z"

//-- Admins --//
"STEAM_0:0:9840420" "2:abc"
"STEAM_0:1:21561811" "2:abc"

//-- Reserved slots --//
"STEAM_0:1:13486251" "1:a"
"STEAM_0:1:20834770" "1:a"


Пользовательские карты и правка списка карт.

Для того, чтобы установить пользовательскую карты вам нужно просто скопировать их в папку maps (например D:\servers\tf2\orangebox\tf\maps).

Лучшие образцы пользовательских карт водятся на fpsbanana.com

Для начала можно обратить внимание на эти:

* cp_floodzone2_final
* ctf_convoy_v2
* pl_frontier


Теперь создавайте в папке tf\addons\sourcemod\configs\ файл adminmenu_maplist.ini и заполняйте его списком карт (за основу можно взять mapcycle.txt в корневой папке).

У меня он выглядит так:

cp_well
cp_granary
cp_dustbowl
cp_gravelpit
ctf_2fort
cp_badlands
pl_goldrush
cp_fastlane
ctf_turbine
pl_badwater
cp_steel
cp_egypt_final
cp_junction_final
plr_pipeline
pl_hoodoo_final
koth_sawmill
koth_viaduct
cp_yukon_final
koth_harvest_event
ctf_doublecross
cp_gorge
cp_freight_final1
cp_floodzone2_final
ctf_convoy_v2
pl_frontier


Последнее что осталось сделать заменить в файле \addons\sourcemod\configs\maplists.cfg все строчки

"target"        "mapcyclefile"


на эти:

"file"          "addons/sourcemod/configs/adminmenu_maplist.ini"


Настройка резервных слотов

Зачем они нужны? Чтобы вы и выбранные вами игроки могли подключиться к серверу даже если он полон.

Основных вариантов поведения сервера два:

* При заходе игрока с флагом «a» (этот флаг означает резервный слот) с сервера кикается игрок с максимальным пингом без флага «a». (sm_reserve_type 1)
* Если сервер полон, то игрок с флагом «a» всё же сможет подключиться к серверу и при этом он займёт один резервный слот. На мой взгляд этот вариант предпочтительней, но требует от сервера больше ресурсов. (sm_reserve_type 0 – по умолчанию)

Предположим что максимальное количество игроков на вашем сервере – 24.

Открывайте \cfg\sourcemod\sourcemod.cfg

Для первого варианта меняем настройки так:

sm_reserve_type 1
sm_reserved_slots 24


Для второго так:

sm_reserve_type 0
sm_reserved_slots 6
sm_hide_slots 1


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

Итак, мы сделали 6 публичных слотов резервными, но это значит, что количество доступных обычным игрокам слотов уменьшилось на 6. Чтобы компенсировать это открывайте файл run.bat и меняйте максимальное количество игроков с 24 на 30.

Теперь, даже если на сервере будут 24 игрока к нему всё равно смогут подключиться ещё 6 игроков для которых включены резервные слоты.

Контроль действий других администраторов

Если вы планируете наделять административными правами не только себя, то вам будет полезна следующая опция:
Откройте \cfg\sourcemod\sourcemod.cfg найдите sm_show_activity и измените её значение на 16:
sm_show_activity 16


Теперь администраторы с флагом «z» будут видеть имена других администраторов.

Проверка
Запускайте сервер и вводите следующие команды в консоли сервера:

meta list
sm plugins list


Они выводят списки плагинов (Sourcemod и Metamod идут с базовыми плагинами из коробки)

Если сервер ругается на неизвестные команды – в первую очередь проверьте .vdf файл.

Теперь запускайте игру, подключайтесь к серверу (чтобы узнать ip / порт используйте команду «status»), открывайте уже игровую консоль и вводите в ней sm_admin – вы должны увидеть окошко с командами администратора.

Рекомендую привязать эту команду к определённой клавише, чтобы не набирать её каждый раз полностью:

bind "l" "sm_admin"


Плагины sourcemod

Плагины это файлы .smx которые кладутся в папку \orangebox\tf\addons\sourcemod\plugins.

Иногда в комплекте с плагином идёт его конфигурационный файл – я буду писать куда его надо поместить, однако обычно это \orangebox\tf\cfg\sourcemod или \orangebox\tf\addons\sourcemod\configs. Если вы не создадите этот файл сами – в большинстве случаев игра создаст его сама, заполнив настройками по умолчанию.

Если в комплекте с плагином есть файл .phrases.txt его надо поместить в \orangebox\tf\addons\sourcemod\translations\

Я рекомендую установить следующие плагины для Team Fortress 2:

TF2 MaxClassлимит на максимальное количество игроков за определённый класс

MaxClass.txt в \orangebox\tf\addons\sourcemod\configs

Для лимита в три игрока для всех классов замените содержимое MaxClass.txt на это:
"MaxClassPlayers"
{
    //Default config if the map tree is not found
    "default"
    {
            //When there is 1 to 24 players in the server
            "1-24"
            {
                //Team2 = red AND team3 = blue
                //set to 0 if you want this to only work on one team
                "red"       "1"
                "blue"      "1"

                //Put -1 for no limit, 0 for disalowed, and any other number to set the limit
                "scout"     "3"
                "sniper"    "3"
                "soldier"   "3"
                "demoman"   "3"
                "medic"     "3"
                "heavyweapons"      "3"
                "pyro"      "3"
                "spy"       "3"
                "engineer"  "3"
            }

    }
}


TF2: Killer’s Info информация об убийце (оружие и оставшееся здоровье) – версия для tf2

TF2 Melee Modeплагин позволяет включить/выключить режим запрещающий использовать любое оружие кроме рукопашного.

Для установки плагина требуется только файл .smx

Однако сам плагин не добавляет в админ меню никаких команд – это неудобно. Добавим свой пункт в меню сами:

Открывайте файл \addons\sourcemod\configs\adminmenu_custom.txt и заменяйте его содержимое на следующее:

"Commands"
{
"Fun Commands"
    {
        "Melee only"
        {
            "cmd"           "sm_meleemode_enable #1"
            "execute"       "server"
            "1"
            {
                "type"      "list"
                "title"     "Melee only:"
                "1"     "1"
                "1."        "On"
                "2"     "0"
                "2."        "Off"
            }
    }
}


И эти универсальные плагины (будут работать для любого source сервера):

Killer info displayинформация об убийце (оружие и оставшееся здоровье) – версия для любой игры

Auto Recorderплагин автоматически начинает запись демок, если на сервере находится от 4-ёх человек (по умолчанию).

TeamSwitchпозволяет перебрасывать игрока из одной команды в другую.

High Ping Kicker – Lite Edition плагин автоматически кикает с сервера игроков с пингом выше заданного.

Создайте/отредактируйте servers\tf2\orangebox\tf\cfg\sourcemod\hpk_lite.cfg изменив sm_maxping на свой вкус:

// 0 = Off | 1 = On -- Admins immune to High Ping?
// -
// Default: "1"
sm_adminsimmune "1"

// 0 = Off | 1 = On -- HPK Enabled?
// -
// Default: "1"
sm_hpk_enabled "1"

// Number of grace checks for high ping.
// -
// Default: "10"
sm_maxchecks "10"

// Max ping allowed for clients.
// -
// Default: "150"
sm_maxping "250"

// When to start checking ping after map start. (Seconds)
// -
// Default: "15.0"
sm_startcheck "15.0"


Spray Tracerинформация о том, кто поставил спрей при наведении на него прицела.

Выделенный source сервер team fortress 2 под Windows


Advertisementsвсплывающие сообщения во время игры.

advertisements.smx в \addons\sourcemod\plugins

advertisements.txt в \addons\sourcemod\configs – именно из этого файла будут браться выводимые сообщения.

Так он выглядит у меня:

"Advertisements"
{
    "1"
    {
        "type"      "T"
        "text"      "ksevelyar.ru"
    }
    "2"
    {
        "type"      "T"
        "text"      "dobroserver@ksevelyar.ru"
    }
    "3"
    {
        "type"      "T"
        "text"      "{TIMELEFT} minutes left."
    }
    "4"
    {
        "type"      "T"
        "text"      "{YELLOW} {TIME}"
    }
}


Однако если вы поместите в поле «text» кириллический текст – в игре будут отображаться иероглифы. Для того, чтобы это исправить нужно сменить кодировку файла на UTF-8 без BOM.

Так это можно сделать в notepad++:

Выделенный source сервер team fortress 2 под Windows


Так разные типы сообщений («type» «CHST») выглядят в игре:

Выделенный source сервер team fortress 2 под Windows


Лучше всего на мой взгляд выглядит тип T (вверху слева), то, что длинное сообщение в него не влезает, недостатком назвать нельзя – всю громоздкую информацию надо помещать в motd – всплывающие сообщения не должны отвлекать от игры.

По умолчанию интервал между сообщениями – 30 секунд, слишком мало на мой взгляд, открывайте servers.cfg и добавляйте эту опцию:

sm_advertisements_interval 180


Custom Votesпозволяет обычным игрокам (без админских флагов доступа) голосовать за смену карты, кик, бан, отключение микрофона и т. д.

Чтобы установить плагин распакуйте содержимое customvotes.zip в папку с алиасом игры.

Голосования по умолчанию (вводятся в чат):

voteban, votekick, votemute, votemap, votecrits, votenextmap, votescramble, voteextend

Как добавить своё голосование?

На примере плагина TF2 Melee Mode:

Открывайте папку \addons\sourcemod\configs\customvotes\

И создавайте в ней файл .cfg – название может быть любым. Если в этом файле будет только одно голосование – логично назвать его melee.cfg, если несколько – customvotes.cfg

Внутрь поместите это:

"Votes"
{
    "melee"
    {
        "title"     "Turn melee only #1?"
        "type"      "chat"
        "command"   "sm_meleemode_enable #1"
        "trigger"
        {
            "command"   "vmelee"
            "notice"    "%u wants to turn melee only #1"
            "percent"   "60"
        }
        "params"
        {
            "1"         "onoff"
        }
    }
}


Обратите внимание на первую «command». В неё помещена команда плагина TF2 Melee Mode. Естественно там может быть любая другая команда которая принимает значение 1 или 0 – например sv_alltalk. Вторая «command» внутри «trigger» определяет какое слово должен ввести игрок чтобы инициировать голосование.

Как добавить ещё одно голосование в этот файл? Смотрите структуру playervotes.cfg и core.vote.cfg и делайте по аналогии.

Say Soundsещё один опциональный плагин, позволяет проигрывать свои звуки при подключении игрока на сервер и при выполнении особых событий.

Не обязательно использовать посторонние звуки – внимательно осмотрите содержимое папки \sound. Свои звуки нужно помещать в эту же папку.

Конфигурационный файл – \addons\sourcemod\configs\saysounds.cfg

И выглядит так для моего сервера tf2:
"Sound Combinations"
    {
        "JoinSound" // Sound to play when a player Joins the server
        {
            "file"  "misc/welcome.mp3"
            "admin" "0"
            "single" "1"
            "volume" "0.9"
        }
        "STEAM_0:1:16547568"
        {
            "exit"  "ambient/lightsoff.wav"
            "admin" "0"
            "volume" "0.7"
        }
        "suicide"
        {
            "file"  "ambient/cow2.wav"
            "admin" "0"
            "actiononly" "1"
            "action"    "suicide"
            "param" "suicide"
        }
        "headshot"
        {
            "file"  "misc/hs.mp3"
            "admin" "0"
            "actiononly" "1"
            "action"    "headshot"
            "param" "headshot"
        }
    }


Полезные плагины sourcemod, которые отключены по умолчанию:

Mapchooser – голосование за следующую карту в конце раунда.
rockthevote – ввод rtv в окно чата инициирует голосование за выбор карты.

Просто скопируйте эти плагины из \addons\sourcemod\plugins\disabled\ в \addons\sourcemod\plugins\

После добавления всех необходимых плагинов сервер надо перезапустить. Чтобы убедиться, что нужные плагины загружены – используйте команду sm plugins list. Помните, sourcemod (и его плагины) как и metamod, надо обновлять вручную.


если у вас есть вопросы на эту тему – ищите эту информацию сами.
Автор: ksevelyar

Категория: Статьи TF2
  • Нажмите на для того чтобы отправить Жалобу или уведомить Администратора о ошибке в новости.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Казахстанский Игровой Портал!