Створення та налаштування окремого сервера TF2
Це старий гайд. Новий - на моєму блозі.
Чим відрізняється окрема сервера від інтегрованого в steam? Він надає набагато більше можливостей (наприклад плагіни), але більш складний в налаштуванні. Канал також знадобиться широкий і точно не лімітований.
Тут і зараз ви побачите кістки, м'язи, сухожилля та інші шестерінки Добросервера.
Перейдіть за посиланням http://store.steampowered.com/about/ і завантажте Windows HLDS Update Tool
Встановлюйте HLDS у папку передбачуваного сервера:
В якості регіону вибирайте Європу:
В результаті у вашій папці з'явиться 4 файли:
Клацайте на HldsUpdateTool.exe і чекайте, поки утиліта оновить саму себе (вікно зникне, коли все буде зроблено).
Тепер можна встановити сервер tf2. Створіть у папці сервера текстовий файл і змініть його тип на .bat (назва не принципова, але я зазвичай використовую hldsupdatetool.bat), відкрийте його блокнотом і додайте наступні два рядки:
hldsupdatetool.exe -command update -game tf -dir . -verify_all
pause
Все досить просто, ці команди встановлять сервер tf2 у цю ж папку. Параметр -verify_all спочатку перевіряє директорії сервера на наявність потрібних файлів та оновлює тільки старі / завантажує відсутні, це корисно, якщо зв'язок перервався і ви не хочете завантажувати все заново, або для оновлення сервера в майбутньому. Команда pause потрібна для того, щоб виконавши оновлення, вікно hlds не закрилося - і ми побачили, як проходив процес, не заглядаючи в лог.
Тепер використовуйте заклинання "подвійний клік лівою кнопкою миші" по створеному .bat і можете йти займатися бізнесом, щоб повернутися через 2.66 ГБ:
Перейдіть у папку orangebox, тепер потрібно створити батник для запуску сервера. Назва знову ж не принципова, нехай це буде start.bat:
@echo off
cls
echo Захист srcds від збоїв...
title srcds.com Watchdog
:srcds
echo (%time%) srcds запущено.
start /wait srcds.exe -console -game tf -tickrate 66 -secure +maxplayers 24 -port 27020 +map cp_dustbowl
echo (%time%) ПОПЕРЕДЖЕННЯ: srcds закрито або сталося падіння, перезапускається....
goto srcds
З цих налаштувань важливі дві - максимальна кількість гравців і карта за замовчуванням.
Подвійний клік по цьому файлу запустить сервер. Проте нам поки це не потрібно, наразі просто створіть ярлик на нього, що веде на робочий стіл. Звичайно, ви можете цього не робити і щоразу лазити з ліхтариком у зубах по файловому менеджеру, коли вам потрібно запустити сервер.
Motd.txt
Вміст цього файлу користувач бачить, коли потрапляє на сервер. Це може бути просто текст або ж html.
Відеоролик на вашу сторінку вітання вставити не вийде, а от картинку - цілком можна:
</p> <p>body {background-image:url(http://imagefiles.ru/images/1a0809wmw.gif);</p> <p>background-position:bottom center;</p> <p>background-repeat:no-repeat;}</p> <p>Таке компактне рішення отримано завдяки каскадним стилям, але це зовсім інший ліс. Щоб поставити свою картинку просто замініть цей шлях http://imagefiles.ru/images/1a0809wmw.gif на ваш.
Карти
Окрім логічного додавання користувацької карти в папку tf2 dobroserver\orangebox\tf\maps, вам потрібно внести її у список карт, інакше вибрати ви її не зможете. Список називається mapcycle.txt і знаходиться в \tf2 dobroserver\orangebox\tf.
Запис демо
Звісно, кожен гравець може писати демо, але на ній буде тільки він. Вирішує цю проблему source tv - створіть у папці tf2 dobroserver\orangebox\tf\cfg файл autoexec.cfg і додайте в нього наступні команди:
tv_enable 1
tv_autorecord 1
Перша команда включає source tv, друга включає автоматичну запис демо (в tf2 dobroserver\orangebox\tf).
Базова настройка
Cоздав в директорії tf2 dobroserver\orangebox\tf\cfg файл server.cfg, помістіть в нього наступні строчки:
hostname dobroserver
tf_weapon_criticals "0"
mp_timelimit "30"
sv_alltalk 1
sv_allowdownload 1
sv_allowupload 1
Назва, вимкнення випадкових критичних ударів, час для кожної карти, сині та червоні чують один одного, можна завантажувати карти і сервер завантажує спреї.
Додавання адміністраторів.
Для початку вам потрібно дізнатися ваш steam id, зайдіть на будь-який сервер і введіть у консолі "status"
Відкрийте файл admins_simple.ini, що знаходиться в \orangebox\tf\addons\sourcemod\configs
І додайте в нього наступну строчку:
"STEAM_0:1:16547568" "99:z"
Вона робить мене адміністратором сервера 99-го рівня, з доступом до всіх можливостей. Цифра 99 не випадкова, адміністратор не може забанити або кікнути іншого адміністратора, чий рівень вище за його. Детальніше про флаги можна прочитати тут, але в більшості випадків вам знадобиться лише один адмін з максимальними можливостями.
MetaMod
Одна з найсмачніших речей на сервері - це плагіни SourсeMod, проте для їх встановлення потрібно спочатку встановити MetaMod і сам SourсeMod.
Після того, як ви завантажите останню версію, розпакуйте архів в tf2 dobroserver\orangebox\tf
Створіть у директорії \tf2 dobroserver\orangebox\tf\addons текстовий файл і помістіть туди наступні строчки:
"Plugin"
{
"file" "E:\tf2 dobroserver\orangebox\tf\addons\metamod\bin\server.dll"
}
Зберігайте файл як metamod.vdf:
Sourcemod
Для встановлення вам потрібно скачати і розпакувати його в orangebox\tf\
Налаштувань тут більше, однак перед тим, як змінювати їх, потрібно впевнитися, що все працює.
Запускайте сервер і вводьте в консолі meta list.
Якщо ви бачите приблизно це, можна продовжувати:
Інтерфейс
Запустіть гру, відкрийте консоль і введіть туди наступну команду:
bind "f12" "say !admin"
Тепер при натисканні клавіші "F12", за умови, що ви додали себе адміністратором сервера, з'явиться зручне меню, через яке дуже зручно карати керувати сервером.
Саме меню також можна змінювати як завгодно, однак це окрема тема для довгої розмови - можливо, я розповім про це пізніше.
Плагіни
Плагіни - це файли .smx, які кладуться в папку \orangebox\tf\addons\sourcemod\plugins, конфігураційні файли плагінів зазвичай знаходяться тут: \orangebox\tf\cfg\sourcemod.
В цьому розділі я опишу найбільш корисні на мій погляд плагіни з прикладом налаштування, якщо вона потрібна, та поясненнями по встановленню, якщо вона відрізняється від звичайної.
Дозволяє встановити ліміт на кількість гравців одного класу.
Налаштування знаходяться тут: \orangebox\tf\addons\sourcemod\configs файл MaxClass.txt
"MaxClassPlayers"
{
//Default config if the map tree is not found
"default"
{
//When there is 1 to 50 players in the server
"1-50"
{
//Team2 = red AND team3 = blue
//set to 0 if you want this to only work on one team
"red" "1"
"blue" "0"
//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"
}
//When there is 1 to 50 players in the server
"1-50"
{
//Team2 = red AND team3 = blue
//set to 0 if you want this to only work on one team
"red" "0"
"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"
}
//When there is 6 players in the server
"6"
{
//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" "2"
"sniper" "2"
"soldier" "2"
"demoman" "2"
"medic" "2"
"heavyweapons" "2"
"pyro" "2"
"spy" "2"
"engineer" "2"
}
//Anything that is not set will be -1 (no limit)
}
}
Докладна інформація про те, як ви померли.
Файл killersinfo.phrases треба помістити в \orangebox\tf\addons\sourcemod\translations
Якщо ви хочете бачити на своєму сервері метричну систему, зберігайте файл killersinfo.sp, а не killersinfo.smx.
Файли .sp - вихідники, їх можна правити, але щоб використовувати, треба скомпілювати, це достатньо просто.
Відкривайте файл killersinfo.sp блокнотом, знаходьте стрічку #define METRIC 0 і змінюйте її на #define METRIC 1, зберігайте файл.
Тепер скопіюйте його в папку \orangebox\tf\addons\sourcemod\scripting і запускайте файл compile.exe, що знаходиться в тій же папці. Залишилось тільки скопіювати наш killersinfo.smx з \orangebox\tf\addons\sourcemod\scripting\compiled в вже знайому директорію \orangebox\tf\addons\sourcemod\plugins
Можна додати або встановити час до кінця раунду.
Включає режим тільки "холодної" зброї.
Дозволяє задати час відродження червоної та синьої команд.
Налаштовується плагін додаванням команд у server.cfg:
mp_disable respawntimes 1
sm_respawn_time_enabled "1"
sm_respawn_time_blue "3.0" //Атакуючі
sm_respawn_time_red "3.0" //Захисники
Дуже корисний плагін, суть якого зрозуміла з назви.
Плагін автоматично кикає гравців, чий пінг перевищує заданий.
Дозволяє перекинути будь-якого гравця в іншу команду.