Створення та налагодження source dedicated server - counter-strike source - гри
Нарешті у мене дійшли руки до створення статті про підйом сервера для CSS на домашньому ПК. Варто так само сказати, що сервер буде без будь-яких модифікацій, з простою адмінкой і стандартними картами. Отже перейдемо відразу до справи.
Ставимо Source Dedicated Server на Windows ОС
[*] Нашим другим кроком буде скачування і установка програми hldsupdatetool в папку d: \ Server. За допомогою неї ви зможете встановити сервер не тільки для CSS, але і для будь-яких інших гри Valve.
[*] Після установки необхідного програмного забезпечення створюємо текстовий документ в папці з майбутнім сервером, і вписуємо в ньому наступні:
start / wait d: \ Server \ hldsupdatetool.exe
start / wait d: \ Server \ hldsupdatetool.exe -command update -game "Counter-Strike Source" -dir.
Зберігаємо файл, і міняємо дозвіл файлу з * .txt на * .bat
[*] Запускаємо наш файл. Робота нашого скрипта буде йти в 3 кроки.
1. Запустить hldsupdatetool і оновить його до останньої версії
2. Викачати з сервера Valve Source Dedicated Server (близько 1 Гб).
3. Після закінчення завантаження наш скрипт завершить свою роботу.
Ставимо Source Dedicated Server на Linux ОС
Процес установки сервера схожий з Windows ОС. Все нижче наведений команди вводяться в термінал, в дужках докладний опис кожної команди.
[*] Mkdir Server (Створюємо в домашньому каталозі папку Server)
[*] Cd server (Переходимо в цю папку)
[*] Chmod + x hldsupdatetool.bin (Встановлюємо права на програмне забезпечення)
[*] ./hldsupdatetool.bin (Встановлюємо програму. Вам буде продемонстровано ліцензінное угоду, введіть yes, щоб погодитися).
[*] ./steam (І запускаємо її. Hldsupdatetool під Linux називається steam)
налаштовуємо сервер
Перед запуском сервера рекомендується його налаштувати на свій розсуд, для цього:
[*] Створимо файл server.cfg в папці (в нашому випадку) d: \ Server \ cstrike \ cfg \
[*] І будемо вводити туди консольні команди. Список всіх команд наведено нижче.
// вести лог сервера
// записувати в лог бани
// показувати інформацію з логів сервера в консоль (сервера)
// записувати логи сервера в файл
// записувати в лог пошкодження від: 0 - вимкнено; 1 - противників; 2 - своїх; 3 - і від супротивників і від своїх.
2. Управління ботами
// дозволити ботам використовувати гранати
// дозволити ботам використовувати кулемети
// дозволити ботам використовувати пістолети
// дозволити ботам використовувати гвинтівки
// дозволити ботам використовувати дробовики
// дозволити ботам використовувати снайперські гвинтівки
// дозволити ботам використовувати міні-кулемети
3. Управління гравцями
// дозволити NPC на сервері
// дозволити гравцям після смерті спостерігати за іншими гравцями
// дозволити автокік за вбивство гравців своєї команди?
// дозволити автоматичну балансування команд
// час покупки в хвилинах
// час таймера бомби
// час, протягом якого гравці зможуть розмовляти між собою після закінчення поточної карти
// Кількість дозволених декалей (спреї, плями крові, кульові отвори)
// після смерті екран стає чорним, не даючи гравцеві дивитися за іншими гравцями в режимі спектатора
// шкоди від падіння
// дозволити перемикання камер в режимі спектатора
// команда для Half-Life 2: Deathmatch. Гравець з'являється відразу після смерті
// максимальна кількість фрагов, при досягненні якого певним гравцем карта зміниться на наступну
// початковий відлік часу на початку кожного раунду (для покупки), в секундах
// можливість атакувати своїх
// Кіка терориста при вбивстві заданого ліміту заручників
// максимальна кількість гравців команди 1 яке може перевищувати кількість гравців в команді 2
// максимальна кількість раундів на одній карті
// контролює інформацію яку гравець бачити на панелі статусу: 0 все імена; 1 тільки імена гравців своєї команди; 2 без імен
// Кіка гравців які вбивають членів своєї команди протягом # секунд після перезапуску раунду
// довжина раунду в хвилинах
// кількість початкових грошей у гравців
// команда для Half-Life 2: Deathmatch. Гра по командам (Альянс і повстанці)
// обмеження за часом на карту, в хвилинах
// в наступному раунді вбити того, хто вбив гравця своєї команди
// команда для Half-Life 2: Deathmatch. Після підбирання зброї воно залишається на місці. (Відноситься тільки до зброї заздалегідь розташованому на мапі розробниками)
// максимальна кількість перемог, після якої відбудеться зміна карти
4. Управління сервером
// визначає прискорення гравця, коли він знаходиться в повітрі (наприклад падає)
// дозволити завантаження з сервера (наприклад карт)
// дозволити завантаження на сервер (наприклад спреїв)
// дозволити всім чути переговори один одного по мікрофону, незалежно від команди
// дозволити ігрові чіти на сервері (приклад: noclip)
// наказує чи сервер послідовність файлу для критичних файлів
// дозволити підтримку старого стилю (Half-life 1) серверних запитів
// використовувати звук кроків при пересуванні гравця
// коефіцієнт тертя в грі
// гравітація в грі
// максимальна кількість байт в секунду, яке може бути передано сервером (0 == без обмеження)
// максимальна швидкість гравця
// максимальна лагокомпенсація, в секунду
// максимальна кількість оновлень (кількість пакетів) яке дозволено на сервері
// мінімум байт в секунду, яке може бути передано сервером (0 == без обмеження)
// мінімум оновлень (кількість пакетів) яке дозволено на сервері
// дозволити ставити паузу під час гри
// кількість хвилин на яке баниться гравець намагався підібрати rcon-пароль до сервера
// максимальна кількість спроб при наборі rcon-пароля, після закінчення яких гравець буде забанений
// кількість спроб при наборі rcon-пароля під час заданий sv_rcon_minfailuretime, після закінчення яких гравець буде забанений
// кількість секунд для визначення невірної rcon-аутенфікаціі
// прискорення при пересування в режимі spectator
// гравець в режимі spectator може пролітати через стіни і об'єкти
// швидкість пересування в режимі spectator
// збирати статистику використання процесора
// довжина кроку в юнитах
// мінімальна швидкість зупинки на поверхні
// якщо сервер не отримує відгуку від клієнта протягом # секунд, клієнт відключається від сервера
// дозволити використання мікрофона
[*] Для додавання нових карт на сервер потрібно:
1. Перемістити файл з картою в папку d: \ Server \ cstrike \ maps
2. Прописати назва карти (файлу) в текстові документи d: \ Server \ cstrike \ mapcycle.txt і d: \ Server \ cstrike \ maplist.txt
[*] Так же ви можете змінити вікно вітання при підключенні до вашого сервера шляхом редагування файлу d: \ Server \ cstrike \ motd.txt (УВАГА: Необхідні знання HTML).
запуск сервер
[*] Для запуску сервера, створимо в папці d: \ Server текстовий файл Start.txt і відкриємо його.
[*] В ньому напишемо наступні:
echo (.ate%% time%) Thx for Gamer.ru by Draco
echo (.ate%% time%) Checking for updates
start / wait d: \ Server \ update.bat
echo (.ate%% time%) Starting SRCDS
start / wait d: \ Server \ srcds.exe -console -game cstrike + maxplayers 16 + map de_dust
echo (.ate%% time%) Restarting SRCDS
Збережемо і Изме дозвіл з * .txt на * .bat
[*] Тепер для запуску сервера достатньо лише запустити наш файл Start.bat.
Хочеться ще окремо розглянути рядок start / wait d: \ Server \ srcds.exe -console -game cstrike -tickrate 100 + maxplayers 16 + map de_dust з нашого файлу запуску.
Ми бачимо, що запускається файл srcds.exe запускається з певними ключами, а саме:
-console - запускає сервер в командному режимі. Без цього параметра сервер запуститься з графічним інтерфейсом (як через Steam) і потребують ручного натискання кнопки для дійсного запуску
-game - вказує гру, для якої запускається сервер.
+maxplayers - вказує максимальну кількість гравців на сервері
+map - вказує стартову карту для сервера.
-tickrate - вказує тікрейт сервера. За замовчуванням CSS запускається з тікрейтом 33.
Повний список параметрів доступний тут