Как записать и посмотреть демку в Counter-Strike Global Offensive

Чтобы записать demo в CS:GO необходимо во время игры открыть консоль клавишей ~, она находится возле клавиши Esc.
Если консоль не открывается, то вероятно она отключена в настройках, откроем настройки игры и выберем «Да» напротив «Включить консоль разработчика (~)».

Далее в открывшемся окне консоли набрать команду (где NAME — любое имя демки):

record NAME

Чтобы остановить запись demo в консоли нужно набрать команду:

stop

Файл с demo будет сохранен в директорию с CS:GO, например C:\Program Files\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\NAME.dem, в эту же директорию нужно помещать чужие демки.

Для просмотра демок нужно открыть проигрыватель, для этого в консоли наберем команду:

demoui

Или:

demoui2

Либо нажмем комбинацию клавиш Shift + F2.
Далее в открывшемся плеере нажмем «Load…» и выберем демку.

Во время просмотра можно переключаться между игроками клавишами влево/вправо, CTRL — откроет карту, Пробел переключит камеру в режим свободного полета.

Ускорение загрузки файлов с Counter-Strike сервера

Чтобы клиенты в момент подключения к серверу Counter-Strike могли быстрее скачивать файлы которых у них нет (новая карта, модели, звуки и т.д.), а стандартно скорость скачивания с сервера ограничена и очень низкая, необходимо запустить личный веб-сервер и скопировать в его корневую директорию все нужные файлы.

Читать далее «Ускорение загрузки файлов с Counter-Strike сервера»

Назначение админов в AMXmodX

Администраторы AMXmodX добавляются в конце файла \cstrike\addons\amxmodx\configs\users.ini

Можно назначать как по IP-адресу так и по нику.

Читать далее «Назначение админов в AMXmodX»

Установка Metamod в Linux

Metamod — модуль, позволяющий расширить возможности HLDS сервера, он перехватывает вызовы функций и передает данные в другие плагины.

Для примера установлю его на сервере Counter-Strike 1.6.
Перейдем в директорию cstrike и создадим необходимы папки:

cd ~/hlds/cstrike
mkdir addons
cd addons
mkdir metamod
cd metamod
mkdir dlls
cd dlls

Скачаем архив с Metamod и распакуем:

wget https://ixnfo.com/wp-content/uploads/2016/12/metamod-p-1.21p37-linux_i686.tar.gz
tar -zxvf metamod-p-1.21p37-linux_i686.tar.gz

Создадим файл plugins.ini:

cd ~/hlds/cstrike/addons/metamod
touch plugins.ini

Откроем в текстовом редакторе файл liblist.gam (в редакторе nano клавиши Ctrl+X для выхода, y или n, потом Enter для сохранения или отмены изменений:

cd ~/hlds/cstrike
nano liblist.gam

Добавим в его конце строку:

gamedll_linux "addons/metamod/dlls/metamod.so"

Готово, Metamod установлен, сервер можно перезагрузить.
Чтобы к серверу могли подключаться nosteam клиенты, можно установить еще Dproto.

Новую версию Metamod можно поискать здесь http://metamod-p.sourceforge.net

Запуск и настройка сервера Counter-Strike 1.6 на Linux

Опишу процедуру установки и настройки игрового сервера Counter-Strike 1.6.
На тесте буду использовать Linux Ubuntu Server 18.04

Читать далее «Запуск и настройка сервера Counter-Strike 1.6 на Linux»

Список консольных команд Counter-Strike

Консоль открывается клавишей тильда (~), если этого не происходит, то необходимо в свойствах ярлыка на counter–strike в поле «Объект» добавить в конце «–console», например «D:\Games\Counter-Strike\hl.exe -game cstrike -console».

Приведу список пользовательских команд:
adjust_crosshair (изменение цвета прицела)
name имя (смена имени, вместо пробела можно использовать знак %)
clear (очистка экрана консоли)
cl_showfps 1/0 (отображение FPS)
cl_dynamiccrosshair 1/0 (1 — при движении и приседании прицел будет расширятся и сужаться, 0 — неподвижен)
changeteam (открытие меню смены команды)
hud_fastswitch 1/0 (включение/выключение быстрого переключения оружия)
hud_centerid 1/0 (определяет будет ли отображаться имя игрока при наведении на него прицела)
net_graph 0-3 (отображение сетевой активности)
nosound 1/0 (1 — отключение звука)
say текст (отправка сообщения всем игрокам)
say_team текст (отправка сообщения всем игрокам в команде)
sensitivity цифра (чувствительность мышки, можно использовать не целое число)
zoom_sensitivity_ratio цифра (чувствительность мышки при использовании zoom прицела, можно использовать не целое число)
password пароль (определяет пароль для входа на сервер)
rate число (установка скорость потока клиента)
cl_cmdrate число (количество пакетов в секунду от клиента к серверу)
cl_updaterate число (количество пакетов в секунду получаемых от сервера)
drawradar/hideradar (включение/выключение радара)
connect домен/ip (подключение к указанному серверу)
disconnect (отключение от сервера)
quit (выход из игры)
serverinfo (отображение информации о сервере)

Приведу список серверных команд:
cmdlist (отображение списка возможных команд)
restart секунды (перезапуск сервера через указанное количество секунд)
maxplayers число (установка максимально возможного количества игроков на сервере)
mp_roundtime число (время раунда в минутах)
mp_c4timer число (время в секундах через которое взрывается бомба)
mp_friendlyfire 1/0 (1 — разрешения огня по игрокам своей команды)
mp_autoteambalance 1/0 (включение авто баланса игроков в командах)
mp_decals (максимальное количество деталей, отверстий от пуль и т.д.)
mp_limitteams число (лимит игроков в команде)
mp_flashlight 1/0 (1 — позволяет использовать фонарик)
mp_footsteps 1/0 (1 — включение звука шагов)
mp_hostagepenalty число (количество убитых игроком заложников после которого он будет исключен из сервера)
mp_fadetoblack 1/0 (1 — включение черного экрана после смерти игрока)
mp_forcechasecam 0-2 (0 — игрок после смерти видит от себя, 1 — только свою команду, 2 — всех)
mp_freezetime число (время в секундах на заморозку игроков для закупки оружия в начале раунда)
mp_startmoney 800 — 16000 (сумма денег даваемая в начале игры)
mp_buytime число (время в секундах в течении которого можно покупать оружие после старта раунда)
mp_timelimit число (время в минутах по истечению которого происходит смена карты)
mp_autokick 1/0 (1 — исключение игрока с сервера если он убил игрока по команде или заложника)
mp_tkpunish 1/0 (1 — убивший игрока по команде умирает в следующем раунде)
map название_карты (смена карты сервера с перезагрузкой севрера)
changelevel название_карты (смена карты без перезагрузки, игроки остаются подключенными)
cl_allowdownload 1/0 (1 — игрокам можно скачивать файлы с сервера, карты, модели и т.д.)
cl_allowupload 1/0 (1 — игрокам можно закачивать файлы на север)
sv_restart секунды (перезапуск игры)
sv_password пароль (определяет пароль на сервер)
sv_cheats 1/0 (1 — разрешает игрокам использовать коды/читы)
sv_maxspeed число (скорость движения игрока, стандартно 320)
sv_gravity число (уровень гравитации, стандартно 800)
kick имя (исключение игрока с сервера)
rcon_password пароль (определяет пароль на rcon удаленное управление сервером)

Запуск сервера Counter-Strike Source на Linux

Создаем и открываем директорию для сервера:

mkdir srcds
cd srcds

Скачиваем установщик:

wget http://storefront.steampowered.com/download/hldsupdatetool.bin

Разрешаем права на запуск:

chmod +x hldsupdatetool.bin

Запускаем установщик:

./hldsupdatetool.bin

Если не запускается, устанавливаем необходимую библиотеку:

sudo apt-get install lib32gcc1

Разрешаем права на запуск:

chmod +x steam

Скачаиваем файлы, если требуется, выполнить эту команду несколько раз:

./steam -command update -game "Counter-Strike Source" -dir .

Открываем директорию в которой находится файл запуска сервера:

cd css

Создеем необходимый конфиг server.cfg
Запускаем сервер:

./srcds_run -console -game cstrike +map de_dust -maxplayers 16 -secure -sv_lan 0 -autoupdate +ip айпи -port 27015
Пример запуска через screen:
screen AmdS css /home/папкапользователя/srcds/css/srcds_run -game cstrike +map de_dust -maxplayers 16 -secure -sv_lan 0 -autoupdate +ip айпи -port 27015

Немного консольных команд:

+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     выйти из игры

Текст приветствия изменяется в файле motd.txt.
Карты добавляются в папку maps и прописываются в mapcycle.txt и maplist.txt.

Пример server.cfg

//Включение ведения логов
log on
//Записвать в лог баны
sv_logbans 1
//Отображать логи в консоли сервера
sv_logecho 0
//Записывать логи сервера в файл
sv_logfile 1
//Записывать в лог повреждения от: 0 - выкл.; 1 - противников; 2 - своих; 3 - всех.
mp_logdetail 0
// RCON лог
sv_rcon_log "1"
//Разрешить ботам использовать гранаты
bot_allow_grenades 0
//Разрешить ботам использовать пулемёты
bot_allow_machine_guns 0
//Разрешить ботам использовать пистолеты
bot_allow_pistols 0
//Разрешить ботам использовать винтовки
bot_allow_rifles 0
//Разрешить ботам использовать дробовики
bot_allow_shotguns 0
//Разрешить ботам использовать снайперские винтовки
bot_allow_snipers 0
//Разрешить ботам использовать мини-пулемёты
bot_allow_sub_machine_guns 0
//Разрешить NPC на сервере
mp_allowNPCs 1
//Разрешить игрокам после смерти наблюдать за другими игроками
mp_allowspectators 1
//Разрешить автоприцеливание
mp_autocrosshair 0
//Разрешить автокик за убийство игроков своей команды
mp_autokick 0
//Разрешить автоматическую балансировку команд
mp_autoteambalance 0
//Время покупки в минутах
mp_buytime 0.5
//Время таймера бомбы
mp_c4timer 35
//Время в секундах, в течении которого игроки смогут разговаривать между собой после окончания карты
mp_chattime 10
//Колличество разрешённых декалей (спреи, пятна крови, пулевые отверстия)
mp_decals 200
//После смерти экран становится чёрным, не давая игроку смотреть за другими игроками в режиме спектатора
mp_fadetoblack 0
//Получать урон от падения
mp_falldamage 1
//Разрешить фонарик
mp_flashlight 1
//Разрешить переключения камер в режиме спектатора
mp_forcecamera 1
//Максимальное колличество фрагов, при достижении которого определённым игроком карта сменится на следующую
mp_fraglimit 0
//Начальный отсчёт времени в начале каждого раунда (для покупки), в секундах
mp_freezetime 0
//Звуки шагов
mp_footsteps 1
//Разрешить атаковать своих
mp_friendlyfire 1
//Кикает игрока при убийстве заданного лимита заложников
mp_hostagepenalty 0
//На сколько человек в одной команде может быть больше чем в другой
mp_limitteams 1
//Максимальное количество раундов на одной карте
mp_maxrounds 0
//Контролирует информацию которую игрок видит на панели статуса: 0 - все имена; 1 - только имена игроков своей команды; 2 - без имён
mp_playerid 1
//Кикает игроков которые убивают членов своей команды в течении # секунд после перезапуска раунда
mp_spawnprotectiontime 10
//Длина раунда в минутах
mp_roundtime 3
//Начальное колличество денег у игроков
mp_startmoney 800
//Ограничение по времени на карту, в минутах
mp_timelimit 60
//Игрок, убивший товарища по команде, будет убит в следующем раунде
mp_tkpunish 0
//Максимальное количество побед, после которой произойдёт смена карты
mp_winlimit 0
//Ускорение игрока, когда он находится в воздухе (например падает)
sv_airaccelerate 10
//Разрешить загрузку файлов с сервера (например карт)
sv_allowdownload 1
//Разрешить загрузку файлов на сервер (например спреев)
sv_allowupload 0
//Разрешить всем слышать переговоры друг друга по микрофону, вне зависимости от команды
sv_alltalk 1
//Разрешить игровые читы на сервере
sv_cheats 0
//Предписывает ли сервер последовательность файла для критических файлов
sv_consistency 1
//e-mail администратора сервера
sv_contact админ@example.com
//Использовать звук шагов при передвижении игрока
sv_footsteps 1
//Коэффициент трения в игре
sv_friction 4
//Уровень гравитации в игре
sv_gravity 800
//Максимальное количество байт в секунду, которое может быть передано сервером (0 - без ограничения)
sv_maxrate 20000
//Максимальная скорость игрока
sv_maxspeed 320
//Максимальное количество обновлений (количество пакетов) которое разрешено на сервере
sv_maxupdaterate 40
//Минимальное количество байт в секунду, которое может быть передано сервером (0 - без ограничения)
sv_minrate 0
//Минимальное количество обновлений (количество пакетов) которое разрешено на сервере
sv_minupdaterate 10
//Разрешить ставить паузу во время игры
sv_pausable 0
//Количество минут на которое банится игрок пытавшийся подобрать rcon пароль к серверу
sv_rcon_banpenalty 15
//Максимальное количество попыток при наборе rcon пароля, после истечения которых игрок будет забанен
sv_rcon_maxfailures 5
//Колличество попыток при наборе rcon пароля во время заданное sv_rcon_minfailuretime, после истечения которых игрок будет забанен
sv_rcon_minfailures 5
//Колличество секунд для определения неверной rcon аутентификации
sv_rcon_minfailuretime 30
//Ускорение при передвижения в режиме spectator
sv_specaccelerate 5
//Разрешить игроку в режиме spectator пролетать через стены и объекты
sv_specnoclip 0
//Скорость передвижения в режиме spectator
sv_specspeed 3
//Собирать статистику использования процессора
sv_stats 1
//Длинна шага в юнитах
sv_stepsize 18
//Минимальная скорость остановки на поверхности
sv_stopspeed 75
//Если сервер не получает отклика от клиента в течении # секунд, клиент отключается от сервера
sv_timeout 540
//Разрешить использование микрофона
sv_voiceenable 1
//rcon пароль для удалённого управления сервером
rcon_password "пароль"
//Загрузка файла banned_ip.cfg со списком забаненых по IP
exec banned_ip.cfg
//Загрузка файла banned_ip.cfg со списком забаненых по имени
exec banned_user.cfg
//Записываем SteamID игроков
writeid
//Записываем IP игроков
writeip
//Имя сервера
hostname "Имя"
//Разрешить доступ к серверу только по локальной сети
sv_lan 0
//Пароль для входа на сервер
sv_password ""
//Регион, место расположения вашего сервера (3 - Европа)
sv_region "3"
//URL для загрузки файлов
sv_downloadurl ""
//Разрешить распрыжку
sv_enablebunnyhopping 0
// 0 = Игроки могут использовать любые скины, модели и звуки
// 1 = Игроки используют только тот контент, который разрешен в pure_server_whitelist.txt
// 2 = Используются только оригинальные файлы SteaM (pure_server_whitelist.txt не подгружается).
sv_pure
// Если 1 и файлы игрока не соответствуют серверным, он будет кикнут.
sv_pure_kick_clients "0"
// Если 1, то сервер будет выдавать сообщение о том, что файлы клиента проверяются.
sv_pure_trace "1"
// 1 = Отключить награды на сервере
sv_nomvp "0"
// 1 = Отключить сбор статистики и награждения достижений.
sv_nostats "0"
// 1 = Отключить режим мести
sv_nonemesis "0"
// 1 = Отключить звук и сообщение, когда игрок бросает гранату
sv_ignoregrenaderadio "0"

Купить клиент игры можно тут: http://store.steampowered.com/app/240/?snr=1_7_suggest__13
Links:
Модуль статистики: http://hlstats-community.org
Античит Zblock: http://zblock.mgamez.eu
Сообщество: http://hlmod.ru
Mani Admin Plugin: http://code.google.com/p/maniadminplugin/source/list
Мониторинг и администрирование http://www.hlsw.org

https://developer.valvesoftware.com/wiki/Command_Line_Options