Требования
Для начала естественно требуется мотивация, но раз вы читаете эту статью, то она уже при вас, и остается вопрос только над технической стороной дела. :)
Вешь первой необходимости для поднятия своего игрового сервера по Counter-Strike:Source, это отдельный системник.
Минимальная конфигурация:
- 2.8 Ггц процессор (точно потянет 12 слотов, ну 16, выше -нежелательно),
- 1Гб оперативки
- 10Гб HDD
Всего этого хватит на 1 игровой сервер, ну и + какие нить голосовые и фтп.
Требования к скорости интернета тоже небольшие, минимум 2Мбита вход/выход.
О том как настроить последовательное подключение из 2 компов к 1 интернет каналу расскажу в отдельной статье.
Обычно Source сервера принято ставить на *nix системах, так как ресурсы процессора будут расходоваться более оптимально. Но если вам этот вариант не подходит, то остаемся на до боли знакомой Windows и ставим сервер на ней.
Установка
Для начала создадим пустую папку под сервер, назовем банально - css. Место расположения папки не имеет значения, но обычно сервера лежат в корне жесткого диска.
Далее нам потребуется файл hldsupdatetool.exe,
- его можно скачать тут, и положить в папку /css/
Далее открываем hldsupdatetool.exe и следуя инструкциям просим программу скачать все нужные файлыи обновиться в нашу папку.
При первом запуске утилита обновится до последней версии и после обновления выдаст список доступных команд.
Командой
hldsupdatetool -command list
получаем список доступных модов сервера.
Командой
HldsUpdateTool.exe -command update -game "Counter-Strike Source" -dir .
В конце вы получите надпись - "HLDS installation up to date" что означает то что серверная часть полностью скачалась.
Всё, на этом установка завершилась, осталось только настроить его.
Настройка
Теперь нам нужно будет создать файл запуска игрового сервера, щелкнув или добавив в автозагрузку который можно будет легко и быстро запускать наш Counter-Strike: Source сервер.Создаем файл server.bat:
Пуск-Панель управления-Свойства папки - Вид - Убрать галочку "Скрывать расширения для зарегистрированных типов файлов", далее создаем в нашей папке C:\css текстовый файл, и переименовываем его в server.bat) Или это можно сделать ярлыком: щелкаем правой клавишей на рабочем столе, Создать/Ярлык, в окне «Создание ярлыка» пишем c:\css\srcds.exe или находим srcds.exe через Обзор, даем имя ярлыку и говорим Готово. На рабочем столе появился новый ярлык. Заходим в его Свойства, выбираем закладку Ярлык и в строке Объект, где у нас уже прописано С:\css\srcds.exe , дописываем:
С:\css\srcds.exe -console -game cstrike +maxplayers 16 +map de_dust2
в server.bat вы можете дописывать такие команды как: +exec - запуск конфига из папки /cstrike/cfg/
-autoupdate - автообновление
+maxplayers - максимальное количество игроков
+map - начальная карта
-port - порт сервера
-ip - IP адрес сервера (необходим в случае наличия у компьютера 2х адресов, внутреннего сетевого, и внешнего интернет)
а так же любые консольные команды ставя перед ними знак "+"
Конфиги
Командой +exec server.cfg мы запускаем серверный конфиг Counter-Strike:Source сервера. Так как стандартные настройки нынче уже не в моде, то выкладываю более играбельные конфиг файлы.
- server.cfg или здесь
- esl.cfg или здесь
alias nextUp "volume10"
alias nextDown "volume09"
bind "..." "nextup"
bind "..." "nextdown"
- Команды для настройки графики
- Команды cl_
- Графические команды
- Серверные команды
- Сетевые настройки
- Команды для демок
- Радио команды
- Управление клавиатурой
- Команды настроки звука
- Настройка мыши
Команды для настройки графики
adjust_crosshair изменяет цвет прицела
bottomcolor 6 устанавливает "нижний" цвет у модели игрока
drawradar включает радар
hideradar выключает радар
force_centerview заставляет игрока смотреть прямо вперед
graphheight 64 устанавливает ширину графы r_netgraph
graphhigh 512 устанавливает макисмальное значение, которое показывает графа
graphmedian 128 устанавливает среднее значение графы
hud_centerid 1 показывает имя игрока в центре(1) или внизу(0)
hud_fastswitch 1 быстрое(1) или медленное переключение оружия(то есть надо ли нажимать стрельбу, чтобы переключить пушку)
hud_saytext_time 15 устанавливает время секунд, в течение которых мессаги остаются на экране
net_graph 1 показывает FPS и некоторые другие параметры, при значении "3" показывает информацию без графы, тем самым "сохраняя" FPS
r_decals 250 максимальное количество декалей, которые видны на карте
r_drawviewmodel 0 показывает(1) или не показывает(0) модельку оружия
r_netgraph 0 показывает информацию о соединении(1) или информацию о посылке сетевых пакетов(2)
scr_centertime 2 устанавливает как долго сообщения сервера остаются на экране
scr_conspeed 600 скорость выпадания консольки
scr_printspeed 7 скорость печати сообщений на экране
sizedown уменьшает разрешение, но повышает FPS
sizeup увеличивает разрешение, но понижает FPS
topcolor 30 устанавливает "верхний" цвет для модельки игрока
toggleconsole консоль появляется и закрывается при повторении команды
viewframe включает wireframe режим(только для OpenGL)
Команды cl_
cl_allowdownload разрешает(1), запрещает(1) скачивание карт, моделек и декалей с сервера
cl_allowupload разрешает(1), запрещает(1) закачку карт, моделек и декалей на сервер
cl_anglespeedkey устанавливает скорость вращения с помощью клавиш
cl_backspeed задает "заднюю" скорость игрока
cl_bob измеряет количество "подскакиваний" изображения, когда игрок бежит
cl_bobcycle устанавливает частоту "подскакиваний" изображения игрока, когда он бежит
cl_bobup устанавливает количество "подскакиваний" изображения игрока, когда он бежит
cl_download_ingame разрешает(1), запрещает(1) скачивание моделек и декалей с сервера во время игры
cl_forwardspeed задает скорость игрока при движении вперед
cl_gaitestimation дает возможность ходить игроку
cl_gg включает шаблонный(измеряющий) режим игры (если честно, сам не понял:) )
cl_himodels при значении "1" показывает высококачественные модельки игроков
cl_messages показывает сообщения сервера
cl_movespeedkey устанавливает скорость движения для клавиатуры
cl_nopred включает упреждение на стороне клиента
cl_pitchdown задает максимальный угол, на который игрок может смотреть вверх(по дефолту 89)
cl_pitchspeed устанавливают скорость изменения вертикального угла(смотри cl_pitchdown и cl_pitchup)
cl_pitchup задает максимальный угол, на который игрок может смотреть вниз(по дефолту 89)
cl_showfps показывает FPS(кадров в секунду)
cl_shownet показывает параметры сетевых пакетов
cl_slist устанавливает число серверов, которых видно с помощью команды slist
cl_solid_players включает режим "солид" при изображении моделей игроков
cl_upspeed устанавливает скорость, с которой игрок взбирается наверх
cl_waterdist задает дистанцию в воде
cl_yawspeed задает скорость поворота
Графические команды
gamma Гамма
lightgamma Гамма освещения
brightness Яркость
gl_polyoffset Смешение декалей относительно поверхности
gl_texturemode Качество текстур
gl_max_size Ограничение маскимального размера текстуры, чем меньше значение, тем размытее текстуры
gl_picmip Детализация текстур 0-3.
gl_playermip Детализация моделей игроков
gl_ztrick Для карт 3DFx нужно поставить 1 для ускорения
gl_alphamin видимость прозрачных текстур
gl_monolights При значении 1 карта становится светлой везде
violence_ablood Показывать ли кровь, мясо и т.д.
violence_agibs Показывать ли кровь, мясо и т.д.
violence_hblood Показывать ли кровь, мясо и т.д.
violence_hgibs Показывать ли кровь, мясо и т.д.
r_drawentities При значении 0 не видно объектов(энтитей), в том числе и игроков
r_drawviewmodel При значении 0 не вижно модельки оружия
r_dynamic Динамическое освещение
r_shadows Тени предметов
r_mmx Для включения поддержки ММХ
r_decals Число декалей в игре
fastsprites Качество дыма
max_shells Число одновременно видимых гильз
max_smokepuffs Число одновременно видимых дымков от пуль
Серверные команды
mp_autoteambalance включение(1) / выключение(0) баланса в командах
mp_c4timer значение этого параметра равно секундам, которые пройдут после закладки бомбы перед ее взрывом
mp_fadetoblack при значении "1" экран становится черным, когда игрок умирает
mp_flashlight включение(1) / выключение(0) возможности использования фонарика
mp_footsteps включение(1) / выключение(0) шагов в игре
mp_forcechasecam "свободный полет"(0) / возможность следить только за игроками своей команды(1) / "лежачее положение"(2)
mp_freezetime значение этого параметра равно секундам, которые даны на закупку оружия и т.д.
mp_friendlyfire в зависимости от этого параметра своих либо можно убивать(1), либо нет(0)
mp_hostagepenalty значение этого параметра равно заложникам, которых над убить, прежде чем игрока кикнет с сервера
mp_mapvoteratio значение этого параметра равно той части игроков(0,1 - 1), которые должны проголосовать за смену карты
mp_roundtime время одного раунда
mp_startmoney параметр, устанавливающий количество денег, которое дается вначале игры.
mp_timelimit время, через которое меняется карта
mp_tkpunish параметр, устанавливающий, должны ли тимкиллеры отдыхать следующий раунд(1) или нет(0) hostname имя сервера
sv_restartround значение этого параметра равно секундам, через которые произойдет рестарт
Сетевые настройки
allowupload запрещает закачку на сервер декалей и моделей(0)
cmdlist выводит список всех команд, если напечатать 'cmdlist a', то выведет все команды, начинающиеся с буквы a, а команда 'cmdlist log logfile' запишет все команды в лог-файл logfile
cvarlist то же самое, что и предыдущая команда, только выводит список переменных, а не команд
connect IP коннектит к серверу с IP
developer 1 при значении 1 выводит дополнительные отладочные сообщения в консоли
disconnect отсоединение от сервера
echo "message" выводит текст в консольке
enableconsole открывает консоль
exec file запускает конфиг file
fullinfo показывает инфу о пользователе
fullserverinfo показывает инфу о сервере
getcertificate получает сертификат от WON
getsv показывает IP каждого сервака и общее число серверов
hideconsole закрывает консоль
motd показывает Совет Дня и motd.txt файла на сервере
pingsv пингует сервер
quit выход из игры
reconnect переконнект к текущему серверу
retry пытается подконнектится к серверу четыре раза
serverinfo показывает информацию о сервере
toggleconsole в зависимости от состояния консоли открывает или закрывает ее
wait короткая пауза в алиасе или скрипте(примерно равна 1/20 - 1/25 секунде)
Команды для демок
appenddemo записывает демку и добавляет ее в начало demo.dem
listdemo показывает информацию о демке
playdemo проигрывает демку на нормальной скорости
playvol 9 громкость звука при проигрывании демки
record записывает демку
setdemoinfo info добавляет информацию о демке, например название
startdemos demo1, demo2, ..., demon начинает проигрывать демки в последовательности их указания в качестве параметров, когда заканчивается последняя, начинает проигрывать все демки заново
stop останавливает записывание демки
stopdemo прекращает проигрывать демку
swapdemo меняет позиции сегментов в демке
timedemo проигрывает демку с максимальным fps и показывает средний fps
Радио команды
voice_loopback 1 Создайте сервер и наберите в консоли команду voice_loopback 1. Теперь скажите что-нибудь. То, что вы услышите в наушниках и есть то, как вас слышат другие. Теперь подберите оптимальную громкость вашего голоса и расстояние от рта до микрофона.
voice_scale x Эта команда устанавливает громкость голоса всех людей, в том числе и вашего.
voice_overdrive N Ослабляет все звуки (выстрелы и т.д.) в N раз, когда кто-то говорит. Оптимальнаое значение от 1 до 2.
voice_overdrivefadetime x.xxx Определяет время в секундах, в течение которого будет действовать эффект ослабления окружающих звуков (см. предыдущую команду). Оптимально 0.4.
voice_maxgain x Сглаживает голос говорящих. Ставьте от 1 до 5. Поэкспериментируйте в онлайне.
voice_avggain x Усреднение голосовой волны (удаление шума). Установите 0.5 - 0.1.
voice_fadeouttime x.xxx Влияет на время затухания вашего голоса. Оставьте около 0.1.
Команды настроки звука
hisound включает высококачественный звук: 1=22kHz, 0=11kHz
nosound выключает(1) или включает звук(0)
playvol громкость проигрывания демки
s_2dvolume максимальная громкость 2d звука (0 - 1)
s_a3d включает(1), выключает(0) поддержку A3D
s_automax_distance устанавливает дистанцию для максимальной громкости
s_automin_distance устанавливает дистанцию для минимальной громкости
s_buffersize 65536 устанавливает размер буфера в байтах
s_disable_a3d выключает a3d
s_distance 60 вообщем, чем больше значение, тем ближе все слышно
s_eax включает(1) или выключает(0) поддержку EAX
s_enable_a3d включапет a3d
s_geometry включает(1)или выключает(0) геометрическое разбиение(только для a3d 2.0)
s_max_distance максимальная дистанция, когда игрок еще слышит звуки (s_min_distance - бесконечность)
s_min_distance минимальная дистанция, когда игрок начинается слышить звуки (0 - s_max_distance
s_numpolys количество полигонов, обрабатываемых в a3d
s_occfactor проницаемость материала, то есть насколько материал заглушает звук (0 - 1)
s_refdelay минимальная дистанция между источников и ближайшим отражением
s_refgain
s_verbwet контролирует "сухость" звуков... чем больше значение, тем более "влажный" звук
speak если в параметре указаны некоторые ключевые слова, то вы их услышите чере наушники или колонки, например speak mesa
stopsound прекращает проигрывать текущий звук
ambient_fade 100 устанавливает дистанцию, на которой слышны "включенные в карту" звуки, например музыка на cs_italy
ambient_level устанавливает громкость для встроенных звуков(смотри выше)
Настройка мыши
+mlook позволяет "осматриваться" с помощью мышки
m_filter позволяет включить "сглаживание" движения мыши
m_forward скорость мышки прямо
m_pitch 0.022 устанавливает коэффициент чувствительности мыши при движении вних и вверх, при отрицательных значениях получим invert
m_side 0.800 устанавливает скорость стрейфа мыши (например, при включенной команде +strafe)
m_yaw 0.022 устанавливает коэффициент чувствительности мыши при движении влево, вправо
sensitivity чувствительность мыши
zoom_sensitivity_ratio чувствительность мыши в приближении
Управление клавиатурой
+forward двигаться вперед
+back двигаться назад
+moveleft стрейфиться налево
+moveright стрейфиться направо
+left повернуться налево
+right повернуться направо
+jump подпрыгнуть
+duck присесть
+use использовать
+attack стрелять, резать ножом
+attack2 альтернативная стрельба / дополнительная функция оружия
+reload перезарядить оружие
slot1 1-ый слот
slot2 2-ой слот
slot3 3-ий слот
slot4 4-ый слот
slot5 5-ый слот
slot6 6-ой слот
slot7 7-ой слот
slot8 8-ой слот
slot9 9-ый слот
slot10 нулевой слот
cancelselect отменить
messagemode говорить всем игрокам
messagemode2 говорить игрокам своей команды
radio1 первая группа радиокоманд
radio2 вторая группа радиокоманд
radio3 третья группа радиокоманд
toggleconsole открыть/закрыть консоль
chooseteam выбрать команду, за которую хотите играть
+showscores показать статистику
drop выбросить текущее оружие
nightvision включить/выключить очки ночного видения
impulse 201 нарисовать лого
impulse 100 включить/выключить фонарь
invprev переключиться на предыдущее оружие
invnext переключиться на следующее оружие
invlast переключиться на последнее оружие
buy включить меню покупки
buyammo1 купить патроны для основного оружия
buyammo2 купить патроны для пистолета
buyequip купить допольнительное снаряжение
pause запаузить игру
+voicerecord использовать голосовую коммуникацию
+commandmenu показать встроенное VGUI меню
showbriefing показать брифинг к карте
snapshot сделать скриншот
quit выйти из игры
сl_crosshairscsle 2000 прицел
SourceTV - система мониторинга и трансляции игры под дрижок Source
Ниже приведены команды для управления новым инструментом, ведь они отличаются от использовавшихся в HLTV.
tv_autorecord 0 - Автоматическая запись всех игр в виде SrcTV демо.
tv_debug 0 - Информация для отладки SrcTV
tv_delay 10 - Задержка вещания в секундах
tv_dispatchmode 1 - Перенаправление клиентов на relay-прокси. 0 - никогда, 1 - при необходимости, 2 - всегда
tv_enable 0 - Активирует SrcTV на сервере
tv_maxclients 128 - Максимальное количество клиентов SrcTV сервера
tv_maxrate 3500 - Лимит пропускной способности зрителя, 0 - без ограничений
tv_name 0 - Имя хоста SrcTV
tv_overrideroot 0 - Заместить адрес SrcTV master root
tv_password "" - пароль SrcTV для клиентов
tv_record - Начинает запись SrcTV-демо
tv_relay - Подключается к SrcTV серверу или relay-вещанию
tv_relaypassword "" - Пароль для relay-прокси SrcTV
tv_retry - Переподключается к SrcTV relay-прокси
tv_snapshotinterval 2 - Делает скриншот каждый n-ный "tick"
tv_status - Подключается к указанному SrcTV серверу
tv_stop - Останавливает запись демо SrcTV
tv_stoprecord - Останавливает запись демо SrcTV