Локальный игровой сервер: Counter-Strike
В последнее время в Минске стало появляться огромное количество новых локальных сетей. Когда оборудование установлено и все работает, многие админы задумываются над тем, что же еще можно сделать? В этом руководстве я попытаюсь ответить на этот вопрос. В локальных сетях одной из самых популярных игр является CS, почему бы не сделать игру еще интересней и не добавить статистику игроков? Давайте сделаем это!
.in
Нам понадобятся следующие элементы: сайт и, конечно, сама CS с hlds.
Amx-mod — это надстройка над metamod для CS, которая добавляет в игру огромное количество возможностей, например, таких, как статистика попаданий, нанесенного урона и т.д. Также мод содержит расширенные администраторские возможности.
Hlds (Half-Life dedicated server) — стандартный выделенный сервер, входящий в комплект игры. Еще нам не помешал бы античит, я рекомендую ssReborn. Работает он по принципу клиент-сервер, и скачать его можно тут: сайт .
.amx
Скачанный архив нужно распаковать в директорию cstrike, получиться должно, например, "C:\Server\CS\cstrike\addons".
Открываем файл liblist.gam в папке cstrike, находим там строчку с "gamedll" и заменяем ее на "gamedll "addons\metamod\dlls\metamod.dll"". Теперь заходим в директорию addons\metamod, переименовываем файл "sample_plugins.ini" в просто "plugins.ini" и открываем его. Удаляем все, и вписываем туда следующие строчки:
win32 addons/amx/dlls/amx_mm.dll
win32 addons/amx/modules/csstats_mm.dll
win32 addons/amx/modules/fun_mm.dll
Сохраняем и закрываем файл. Теперь идем в "addons\amx\config". Тут содержатся все необходимые нам настройки. Описывать я их не буду, отмечу лишь файлы "amx.cfg" и "users.ini".
В файле amx.cfg нужно подкорректировать следующие строки:
"amx_scrollmsg" — периодически выводит указанную надпись. Первый параметр — само сообщение, второй — задержка в секундах между выводами сообщения.
"amx_imessage" — цветное сообщение (их может быть много). Первый параметр — сообщение, второй — цвет в RGB формате.
"amx_reservation" — количество зарезервированных слотов, в них может попасть только зарегистрированный пользователь с соответствующим флагом доступа. То есть, если сервер на 20 игроков, зайти сможет только 20 минус amx_reservation. Остальные — зарезервированы для админов. Открываем "users.ini", в самом низу дописываем следующую строчку:
"Ник Админа" "Его Пароль" "abcdefghijklmnopqrstu" "a"
Вписывать сюда можно не только админов, но и простых игроков. Первые два параметра очевидны, третий параметр — флаги прав. Полное их описание можно прочитать в самом файле. Если вы добавляете простого пользователя, в этом параметре впишите только "z". Флаг "b" используется для доступа к зарезервированному слоту. В последнем параметре я рекомендую всегда ставить "a". Теперь, перед тем как зайти в игру, зарегистрированному пользователю необходимо в консоли написать "setinfo _pw ПассПользователя". В файле "maps.ini" содержатся карты, доступные для голосования или выбора через консольную команду "amxmodmenu". Записи хранятся в следующем формате: имя_карты "описание". Также рекомендую игровому админу написать в его конфиге следующую строчку "bind "KEY" "amxmodmenu"". Это меню быстрого доступа ко многим настройкам сервера. Все, Amx-mod установлен!
.ssReborn
Этот античит работает по системе клиент-сервер. Игрок предварительно запускает клиент-программу и присоединяется к античит-серверу. Главная "изюминка" программы — это то, что античит-клиент периодически делает скриншоты системы игрока. Это позволяет увидеть практически все читы. Единственный минус — кому-то придется рассматривать все скриншоты :).
Распаковываем архив в "C:\Server\ssServer\". Открываем файл "C:\Server\ssServer \config\ssServer.cfg" и находим следующие строки:
var.set "servername" "UNCONFIGURED SERVER"
var.set PublicAddress "unconfigured.server.com:20001"
и заменяем их на:
var.set "servername" "Имя сервера"
var.set PublicAddress "ип-адрес:порт (по-умолчанию 20001)"
Строку "var.set "website" сайт замените на какой-нибудь несуществующий сайт, или оставьте так, позже мы сделаем статистику сервера и этот адрес будет указывать на нее.
После открываем файл "exampleserver.cfg" и изменяем следующие строки:
exampleserver.var.set "ip" "ИП Игрового сервера CS"
exampleserver.var.set "port" "27015"
exampleserver.var.set "rconpassword" " rcon пароль админа"
exampleserver.var.set "gametype" "hl"
Нужно раскомментировать строку "gameserver.exampleserver.var.set "OnPlayerUnauthed" "%player.kick 'var.KickMessage'"". Эта опция не позволит играть пользователям без античит-клиента. Теперь открываем файл "screenshots.cfg", находим переменную "var.set "shotfile"" и изменяем на папку, в которой будут храниться скриншоты. Я рекомендую "var.set "shotfile" "С:\Server\shots\%date\%ip\%name-%index.jpg"".
%date — переменная, хранящая дату скриншота.
%ip — ip-адрес игрока.
%name — ник игрока.
Отлично! Мы закончили с настройкой и перейдем к главному — запуску выделенного сервера CS.
.hlds
Открываем папку с CS и запускаем hlds.exe, перед нами появится окно с параметрами сервера. Тут все элементарно, настраиваем под себя и жмем "Start server". Немного ждем, пока откроется окно со статистикой. Там же можно настроить основные переменные, просмотреть игроков. На вкладке "Main" кликните по переменной "Map Cycle" — появится окно цикла карт, отметьте нужные. Все, сервер работает...
Но GUI-версия HLDS — не самый лучший вариант. Она проста в работе, но более требовательна к системе. Лично я использую консольную версию, для запуска создайте bat-файл и впишите туда эту строку: "hlds.exe -console -game cstrike -insecure -nomaster -port 27015 +maxplayers 21 map de_dust2". Теперь все переменные можно хранить в cfg-файлах. Загружаются они очень просто — только наберите в консоли "exec filename.cfg".
.out
Вот и все, сервер установлен и работает, но у гордого за проделанную работу админа тихо и незаметно где-то далеко-далеко, в глубинах разума растет и крепнет старая знакомая мысль: "А что б еще сделать?" Но это совсем другая история...
Ring Ring@tut.by

