Установка і настройка counter-strike source сервера

Установка і настройка Counter-Strike: Source сервера
1. Введення.
2. Отримання дистрибутива.
3. Тестування і запуск сервера. Основні налаштування.
4. Робимо сервер доступним для клієнтів nosteam.
1. Введення.
Дана інструкція призначена для тих, хто хоче встановити виділений сервер Counter-Strike: Source. Її можна взяти за основу і для інших модов Source, підтримуваних VALVe. Передбачається, що людина, що створює сервер, непогано розбирається в операційній системі і йому не потрібно відповідати на питання з книжки Wndows (Linux) для чайників. Тому тут розглядається лише послідовність кроків по установці виділеного сервера на знайому вам платформу.
2. Отримання дистрибутива.
Наполегливо рекомендую брати дистрибутив сервера та оновлювати його через steam. Це безкоштовно, швидко і своєчасно. Єдина перешкода для роботи зі стім, коли машина, на якій встановлено сервер, не має доступу в Інтернет або знаходиться за фаероллом з закритими портами, необхідними для скачки сервера або оновлень. Утиліта для отримання дистрибутива сервера і його поновлення, на сьогоднішній день може працювати з під Windows і отримувати дистрибутив для сервера Linux і навпаки. Так що вам залишається лише знайти машину, що має прямий доступ в Інтернет. Тільки після того, як ви опинилися в глухому куті і не можете самі отримати дистрибутив сервера або його оновлення зі steam, тоді вже беріть наданий кимось дистрибутив і при кожному оновленні чекайте, що хтось зробить патч для вашого сервера.
Для отримання дистрибутива сервера і його подальшого оновлення через steam використовується утиліта Windows HLDS Update Tool і Linux HLDS Update Tool. Це архіви, після розпакування яких ви отримаєте файли HldsUpdateTool.exe для Win і steam для Linux. Якщо з HldsUpdateTool.exe все зрозуміло, то файл steam ще необхідно зробити запускається: chmod + x steam
Тепер утиліта готова для запуску:
HldsUpdateTool.exe - для Win
./ Steam - для Linux
При першому запуску утиліта оновиться до останньої версії і після поновлення видасть синтаксис доступних команд.
Use: hldsupdatetool -command [parameters] [flags]
update: Install or update HLDS
parameters:
-game - Mod name: cstrike, tfc, dod, dmc, valve, czero, or ricochet
-dir - HLDS Install dir (if dir not specified, will use value from last run of tool)
flags:
-verify_all - Verify all HLDS files are up to date
-retry - Automatically retry every 30 seconds if the Steam Network is busy
For example: hldsupdatetool -command update -game cstrike -dir c: hlds
version: View installed versions
list: View available games
hldsupdatetool -command list
отримуємо список доступних модов сервера для скачки.
** 'game' options for Source DS Install:
"Counter-Strike Source"
"Counter-Strike Source-linux"
"Counter-Strike Source-win32"
"Hl2mp"
"Hl2mp-linux"
"Hl2mp-win32"
Залишилося лише набрати команду для отримання дистрибутива:
HldsUpdateTool.exe -command update -game "Counter-Strike Source" -dir c: srcds
і процес пішов. Якщо утиліта HldsUpdateTool у вас знаходиться в тій же директорії, де буде розташовуватися сервер, то замість -dir c: srcds робимо -dir.
По закінченню роботи утиліти ви отримаєте напис
HLDS installation up to date
Це означає, що ви отримали останню версію сервера.
Створіть скриптик для подальших оновлень сервера Update.bat (update.sh для Linux)
C: SRCDShldsupdatetool.exe -command update -game "Counter-Strike Source" -dir.
#! / Bin / bash
cd / home / cs / srcds_l
./ Steam -command update -game 'Counter-Strike Source' -dir.
і тепер можна переходити до тестування і основних налаштувань.
3 .Тестірованіе і запуск сервера. Основні налаштування.
Для запуску сервера також необхідно створити скрипт запуску. Для тесту просто запустимо сервер рядком
srcds.exe -console -game cstrike + maxplayers 16 + map de_dust
/ Srcds_run -game cstrike + maxplayers 16 + map de_dust
Якщо сервер був викачаний без помилок, то ви побачите, що з'явилася консоль сервера. Якщо цього не відбулося, повертайтеся до пункту Отримання дистрибутива.
В консолі сервера після всіх ініціалізацій можемо набрати:
version - консоль покаже версію сервера;
stats - консоль покаже основні параметри роботи на даний момент - завантаження процесора, fps, кількість гравців.
exit - закрити сервер.
Переконалися що сервер працює? Тепер спробуйте зайти на нього своїм клієнтом. Якщо у вас ліцензійний клієнт, то ви зайдете на свій сервер без проблем.
Не рекомендується грати з тією ж машини, на якій стоїть виділений сервер!
Після вдалого тесту сервера переходимо до створення скрипта запуску. У Windows це можна зробити ярликом: клацаємо правою клавішею на робочому столі, вибираємо Створити / Ярлик, у вікні «Створення ярлика» пишемо c: srcdssrcds.exe або знаходимо srcds.exe через Огляд, даємо ім'я ярлику і говоримо Готово. На робочому столі з'явився новий ярлик. Заходимо в його Властивості, вибираємо закладку Ярлик і в рядку Об'єкт, де у нас вже прописано З: SRCDSsrcds.exe, дописуємо:
З: SRCDSsrcds.exe -console -game cstrike + maxplayers 16 + map de_dust
Якщо ви хочете, щоб сервер стартував автоматично при запуску / перезавантаження машини, то зробіть такий же ярлик в Програми / Автозавантаження.
Основні параметри рядка запуску і конфігурації сервера не сильно відрізняються від серверів на движку HL1 і тому можна скористатися Конфігуратором, наведеними на цьому форумі. Там же є пояснення по кожному параметру.
Тепер розглянемо запуск сервера на платформі Linux. Простий скрипт запуску start_css.sh:
#! / Bin / bash
cd / home / cs / srcds_l
./ Srcds_run -game cstrike + maxplayers 16 + map de_dust> /home/cs/server_css.log 2> 1
При цьому, сервер буде писати всі свої дії в /home/cs/server_css.log. Зупиняємо сервер за допомогою скрипта:
#! / Bin / bashkill # 96; ps ax -H --cols 1000 | grep -e "-game cstrike" | grep -e "srcds_" | grep -v grep | awk '' # 96;
Багато хто користується screen. Як запускати сервер з його використанням, докладно описано в статті Виділений Counter-Strike Server (LINUX).
Вам залишилося вибрати тип сервера, який ви хочете запустити - Лановий (+ sv_lan 1 в рядку запуску) або доступний з інтеренет (+ sv_lan 0), чи буде сервер захищений Антічітом від VALVe - VAC (за замовчуванням захищений) чи ні (-insecure в рядку запуску), потрібно, що б ваш сервер відображався в глобальному списку серверів (включено за замовчуванням) чи ні (-nomaster в рядку запуску).
Основна робота позаду. Сервер викачаний, запущений і працює. Встановлення додаткових плагінів на сервер в цій статті розглядатися не буде. Якщо вам не потрібні гравці з неліцензійним клієнтом, то на цьому і закінчуйте. Якщо хочете що б грали - Новомосковськ далі.
4. Робимо сервер доступним для клієнтів nosteam.
Якщо ви пройшли всі попередні пункти і у вас робочий сервер, то неліцензійний клієнт при вході на нього отримає наступну помилку:
STEAM validation rejected
Як боротися?
Перший крок - утанавлівается + sv_lan 1 в рядку сервера, а так само -insecure, тому що VAC марний на лансерверах.
Другий - за допомогою поламаних бібліотек скасовуємо валідацію стіма. Для Win32 це робиться заміною /bin/steam.dll. Тут маємо 2 варіанти. Можна поставити steam.dll з steamemu від hCUP. Ви без зусиль знайдете його через глобальний пошук. Вам потрібно лише замінити steam.dll і зробити в корені каталогу сервера файл steamemu.ini з рядком:
Все неліцензійні клієнти запросто можуть під'єднатися до вашого сервера. А ось з ліцензійними можуть виникнути проблеми. Можливо ситуація зміниться з подальшими версіями SteamEmu і steam.dll від них, але на даний момент ліцензійний клієнт отримує помилку
SteamGetEncryptedUserIDTicket failed (1)
reason-- SteamGetEncryptedUserIDTicket () failed with error 1: Unknown internal error occurred - AS command error.
Якщо вас не турбують ліцензійні клієнти, залиште так, якщо хочете, що б сервер був доступний всім, то використовуємо другий варіант - беремо бібліотеки steam.dll і steamy.dll від Emporio і кладемо їх в вашу папку сервера / bin. Тепер і стімние і нестімние клієнти можуть зайти на ваш сервер. Обидва файли теж не важко буде знайти в інтернеті. При другому варіанті файл steamemu.ini в кореневому каталозі сервера не знадобиться.
Тепер Linux. Для скасування валідації потрібно замінити файл /bin/libsteamvalidateuseridtickets_i486.so. Розмір зламаного файлу - 14'542 байта. Де взяти. - шукайте.
Не забувайте тримати зламані бібліотеки в іншому місці або зі зміненим ім'ям, тому що при оновленні стім вони переписуються заново на рідні, які не ламані. Після кожного оновлення, не забудьте поставити ці файли знову.
Наступна проблема виникає при приєднанні до вашого сервера неліцензійних гравців з інтернету. У вас коштує + sv_lan 1, тобто ваш сервер призначений тільки для гри внутрішньомережевих користувачів. А гравці ззовні повинні мати свій SteamID, який є тільки у ліцензійних клієнтів і сервер відмовляє неліцензіонщікам через непроходження перевірки на class C. Тобто неліцензійний гравець не має унікального SteamID, а й з огляду на невнутрісетвого IP не може бути віднесений до Лановий. Код перевірки на Class C криється в бібліотеці engine.dll (engine _ *. So для Linux). Ламається за допомогою simple patcher (sp.exe):
sp.exe NoClassC.s engine.dll
SIMPLE PATCHER 0.99beta (c) Victor Romanoff 2: 5054 / 2.256
Patching file ENGINE.DLL
Signature found at 105205d, 00019AF5h
done.
; Linux i486 and i686
#search 00 00 00 74. 83 F8 03 74. 31
#change 00 00 00 EB. 83 F8 03 74. 31
; Linux amd
#search 01 B2 01 74. 83 F8 03 74. BA
#change 01 B2 01 EB. 83 F8 03 74. BA
; Win32 engine.dll no class C by AdEpT
#search 8B. FF 92 E0 00 00 00 84 C0 75. 8B
#change 8B. FF 92 E0 00 00 00 84 C0 EB. 8B
За його можливими змінами слідкуйте на форумі. Обмовлюся, що багато Win32 сервера не відчувають цієї проблеми з Сlass С, тому перш ніж патчить, попросіть знайомого спробувати зайти на ваш сервер неліцензійним клієнтом. Можливо, вам і не знадобиться ця виверт.
Ще одна особливість - Simple Patcher розуміє тільки восьмизначні імена, тому бібліотеки engine _ *. So для Linux вам доведеться перейменувати перед роботою з патчером в будь-яке ім'я, не більше 8 символів, наприклад, engine.so. Патчити таким чином ці бібліотеки вам доведеться кожного разу після їх поновлення.
З вами був Sklid. Всім удачі.