Документация StatsMe

Добро пожаловать в StatsMe, анализатор статистики игры в реальном времени и двигатель событий! Следующая документация была создана для использования StatsMe версии 2.8.0.7 и последний раз обновлялась 16 ноября, 2003.
Эта документация создана для того, чтобы:

  • Обеспечить вас большей информацией о программе StatsMe
  • Объяснить вам установку StatsMe.
  • Помочь в настройке StatsMe.

О программе StatsMe
StatsMe это очень гибкий анализатор статистики игры в реальном времени, который объявляет различные события, известные по игре, как MultiKill (убийство нескольких врагов), Headshot (попадание в голову), KnifeKill (убийство с ножа) и другие. Также он создаёт статистику об использовании вами оружия, включая хиты (попадания), урон, колличество убийств и точность.
StatsMe это дополнение Metamod, позволяющее вам:

  • Вести лог, собирающий всё с оружий (выстрелы, попадания в разные части тела, жизни, убийство врагов, убийство членов команды).
  • Объявлять различные события. Например: Обычное убийство, Убийство из-зи попадания в голову, Убийство нескольких врагов, Закладка бомбы, Взрыв бомбы, Успешное\проваленное разминирование бомбы, Поднятие с земли\бросок на земля бомбы).
  • Объявлять счёт и лучших игроков по разным критериям в конце каждого раунда.
  • Смотреть логи в графическом окошке с каждого использованого оружия (сказать /statsme или сказать /stats может любой игрок).
  • Показывать атаковавших и атакованных с некоторыми деталями после смерти игрока (а также потерянные жизни/потерянное снаряжение, и т.д.).
  • Иметь статистику, которая может быть показана в красивом графическом окне (скажите /top15).
  • Сообщать членам команды о вашем здоровье/броне/оружии/аммуниции/деньгах.
  • Администрировать StatsMe с помощью ГПИ (графический пользовательский интерфейс).
  • Сопровождать каждое событие в игре, которое вместе с AdminMod скриптами даёт поистине мощные возможности.
  • И еще делать кучу других разных интересных вещей.

Файлы конфигурации

StatsMe предлагает вам настройку через его файлы конфигурации, которые расположены здесь:
HLDS
  • MOD (такие как cstrike, tfc, dod, и т.д.)
  • addons
  • statsme
Файл конфигурации Описание
motd.cfg Сообщение дня: Сообщение, которое видит игрок при подключении
statsme.cfg Главный Файл Конфигурации StatsMe

Здесь список Скриптов, которые постовляются вместе с StatsME v2.8.0.7beta (в том же порядке, что и в alpha версии):
**Примечание: многие из этих скриптов расположены в папке 'scriptpacks' и должны быть добавлены вручную.
Для того, чтобы сделать это, Пожалуйста ознакомтесь с файлом scriptpacks.cfg в вашей папке addons/statsme.
HLDS
  • MOD (такие, как cstrike, tfc, dod, и т.д.)
  • addons
  • statsme
  • scripts
Скрипт Описание
admin.cfg Исполняет действие над игроком, за котором вы следите (spect. mode): Бан на время, Бан навсегда, Кик, Смерть. afk.cfg Кикает игроков, которые не за компьютером (по истичению X раундов)
autorr.cfg Перезапускает игру после 30 секунд, как сменилась карта
avlist.cfg Список атакующих и атакованных
awplimit.cfg Ограничение по количеству AWP в команде
bombc.cfg События, связанные с бомбой: Уронили, Подобрали, Обезвредили, Зарядили, Взорвали
bwctrl.cfg Управление вместимостью сервера
chicken.cfg Превращает проигравшую команду в цыплят
endround.cfg Объявление статистики в конце раунда
firstblood.cfg При первой крови проигрывает звук 'misc/firstblood'
forgivetk.cfg Наказание за убийство членов своей команды, появляется окошко Простить или Убить
grand.cfg Великий Chelem: Проигрывает звук из файла 'misc/godlike' и объявляет игрокам всех убитых вами врагов
greet.cfg Приветствует игроков при присоеденении
gresuc.cfg Объявляет самоубийство с гранаты
headshot.cfg Объявляет и проигрывает убийце 'misc/headshot'
hospen.cfg Бедные заложники: Конец игры зависит от того, Контры или Терроры убили заложников
hossi.cfg Скрипт заложников: Объявляет каждое действие заложника и над заложником
hp.cfg Сообщает жизнь и попадания вашего убийцы
hping.cfg Кикает за высокий пинг: Максимум пинга выставляется
kickdp.cfg Кикает игроков, которые атакуют членов своей команды в начале раунда
kill.cfg Объявление обычного убийства
killingspree.cfg Объявление 'Лёгкие убийства'
knifearena.cfg Карта ножей, позволяет каждому пользоваться только ножем
knifekill.cfg Объявление убийства с ножа
lastman.cfg Объявляет последнему оставшемуся в команде, сколько врагов живо
lastscout.cfg Последний бойскаут - заставляет последних врагов сражаться на ножах
mapcycle.cfg Разный набор карт каждый день недели
misckill.cfg Бонус по радио за убийство курицы на cs_italy
multikill.cfg Объявление убийств и проигрывание звуков за убийство нескольких врагов
nextmap.cfg Показывает следующую карту, выбранную путем голосования
overwin.cfg Ограничение по выиграшам на карте
playername.cfg Показывает информацию игрока для членов команды (жизни, оружие) в центре экрана
punishtk.cfg Наказывает убийц членов команды в следующем раунде командой /punishtk
rank.cfg Показывает ваше место в лучших 15 игроках командой /rank
redirect.cfg Переадресовывает игроков на другой сервер, если на запрашиваемом их максимальное количество достигнуто
report.cfg Сообщает об оружии и деньгах в конце раунда
roundcount.cfg Счетчик раундов: Показывает количество и проигрывает звук 'misc/prepare'
snapshot.cfg Снепшот за убийство, сделанное из mp5, m4a1, aug, sg552 и ak47
specinfo.cfg Показываент статистику игрока, за которым вы следите (spect.mode)
tdwarn.cfg Объявляет, что нельзя атаковать членов своей команды
timeinfo.cfg Показывает время, установленное на компьютере - сервере
tmlf.cfg Показывает точнее время в середине экрана


Список папок

Здесь мы привели для вас список всех папок, касающихся StatsMe:
HLDS

  • MOD (такие как cstrike, tfc, dod, и т.д.)
    • addons
      • statsme (statsme.cfg, motd.cfg, statsme.log)
        • dlls (.dll и .so)
        • docs (документация)
        • scripts (все другие скрипты)
Как вы можете видеть, у программы StatsMe новая сортировка файлов по одноименным папкам, которая не смешевыает их с файлами других MOD'ов. Это дает нам не только возможность без особых усилий обновить версию, но и повысить уровень организации.

Установка StatsMe

Установка StatsMe производится не автоматически, но она очень легка, если вы будете следовать инструкциям документации. Перед тем, как начать, убедитесь, что вы прочли системные требования StatsMe. После того, как вы прочтёте, можете продолжить установку, следую простой инструкции:

  1. Распаковка Файлов
  2. Установка Metamod
  3. Редактирование plugins.ini

Требования программы

  1. Последняя версия HLDS (x.1.2.0 на момент написания)
    http://www.steampowered.com/
  2. Последняя версия Metamod (1.16.2 на момент написания)
    http://www.metamod.org/
  3. Компетентный Админ Сервера (Который может прочесть и проследовать инструкциям)

1. Распаковка файлов

StatsMe запакован таким образом, что при распаковке в вашу директорию с MOD'ами, все файлы будут помещены в нужные директории автоматически. Вы должны побольше узнать о структуре размещения файлов перед продолжением установки.

Если нужно установить свои директории и перенести файлы самому, то список папок предоставит вам необходимую информацию.

Замечание: Очень важно, чтобы директории и папки были созданы и расположены должным образом или StatsMe не будет работать как надо.

2. Установка Metamod

Если на вашем сервере уже есть установленный Metamod, (который должен у вас быть, если вы используете AdminMod, ClanMod или StatsMe) то вы можете пропустить этот шаг и продолжить, редактируя metamod.ini.

Если вам нужен Metamod, скачайте его отсюда:

Первый шаг в установке - согласовать dll/so файлы самой игры с файлами dll/so Metamod'а. Это позволяет подгружать нужные файлы dll/so в игру на вашем сервере вместе с основными файлами dll/so сервера. Для этого вам понадобится открыть директорию MOD'а (например, 'cstrike' или 'tfs) и проследовать нашим инструкциям (рассмотрим на примере Counter-Strike):

Linux Сервер
  1. Распакуйте файл metamod_i386.so в папку MOD/addons/metamod/dlls
  2. Откройте liblist.gam (который располежен в директории вашего MOD'а) с помощью текстового редактора ( например, 'ee' или 'vi' ).
  3. Замените следущую строку: gamedll_linux "dlls/cs_i386.so"

    на следующую: gamedll_linux "addons/metamod/dlls/metamod_i386.so"
  4. Сохраните и закройте файл.
Win32 Сервер
  1. Распакуйте файл metamod.dll в папку MOD/addons/metamod/dlls
  2. Откройте liblist.gam (который располежен в директории вашего MOD'а) с помощью текстого редактора (например, notepad)
  3. Замените следущую строку: gamedll "dlls\mp.dll"

    на следующую: gamedll "addons\metamod\dlls\metamod.dll"
  4. Сохраните и закройте файл.

Теперь мы согласовали dll/so файлы самой игры с файлами dll/so Metamod'а, поэтому теперь можно устанавливать StatsMe. Для правилной работы Metamod нам нужно подгрузить плагины и чтобы это сделать, мы должны создать файл metamod.ini, захваченный в следующем шагу.

3. Редактирование plugins.ini

Linux Сервер

  1. В папку MOD/addons/metamod/ создайте текстовый файл (с именем plugins.ini), или, если таковой уже есть, отредактируйте его с помощью текстового редактора (например, 'ee' или 'vi').
  2. Добавьте следующую строку до любого присутсвующего плагина (лучше всего перед HLGuard):

    linux addons/statsme/dlls/sm_<mod>_mm_i386.so
    в строке, которую вы вставили замените <mod> на серверный mod (cstrike/dod/tfc)
  3. Сохраните и закройте файл.
Win32 Сервер
  1. В папку MOD/addons/metamod/ создайте текстовый файл (с именем plugins.ini), или, если таковой уже есть, отредактируйте его с помощью текстового редактора (например, notepad).
  2. Добавьте следующую строку после любого присутсвующего плагина:

    win32 addons\statsme\dlls\sm_<mod>_mm.dll
    в строке, которую вы вставили замените <mod> на серверный mod (cstrike/dod/tfc)
  3. Сохраните и закройте файл.

Конфигурация
После успешной установки убедитесь, что вы просмотрели ваш statsme.cfg. Многие переменные можно не заменять, однако statsme очень гибкий в насройках и выбор остаётся за вами.
Alias
Alias - строки, начинающиеся с команды sm_alias. Вы можете создать свои с длинными стандартными командами. Можете добавить свои alias'ы если хотите, хотя не следует удалять уже существующие. Позже на их примере можно разобраться, как они работают, какие из них можно использовать консолей и\или командами say. Пример: если вы хотите, чтобы команда /stats вызывалась не say, а консолей, измените в строке /stats "b" на "a".
Motd
Строки, начинающиеся со sm_motd содержат текст, который отображается каждому игроку при соединении с сервером. Это используется для того, чтобы донести важную информацию каждому игроку: дружественный огонь, время карты, следующая карта, установленные plugin'ы и т.д. Вы можете добавить свои строки, например:
sm_mod "Сервер настроен по официальной документации StatsMe, переведенной Lefix'ом (Russian Translating Team)"
Команды Statsme
Добаляйте/удаляйте функции statsme путём добавления/удаления их в/из конфигурацию/конфигурации. Вы должны использовать только те функции, которые нужны, а это приведет к меньшей затрате системных ресурсов, например: игра без смертей из-за ножа, а остальное все как есть. Для этого измените "sm_mode set abciln" на "sm_mode set abcin" (изменилось - "l").
Формат логов, счета и объявлений
Вы можете изменить формат лога и формат счета, также, предназначенные для определенных событий, но это не рекомендуется. Изменение этих переменных может легко превести к серьезным проблемам, поэтому изменяйте их только когда знаете, что вы делаете. Запомните, что в вашем server.cfg обязательно должно быть написано "log on"!
Подгрузка скриптов statsme
Будьте уверены, что подгружаемые скрипты действительно вам нужны. Вы можете разрешить скрипты путем удаления двойных слешей (//) в начале строки перед словом exec, а можете запретить их, добавленяя слешей в начало строки. Вы не должны просто удалять ненужные строки, т.к. в будущем они могут вам понадобиться. Каждый скрипт объяснен, достатосно просто посмотреть в его код: там все написано. Для примера, чтобы узнать побольше, можете рассмотреть файл "sm_scripts/sm_bombc.cfg", отвечающий за события, связанные с бомбой.
Меню Statsme: ВАЖНО !
Всегда заменяйте стандартный пароль для меню statsme на свой. Другие, знающие стандартный пароль, могут без труда получить доступ к меню и изменить серверные переменные. Вы можете использовать пароль для доступа к меню statsme в игре, например, если в statsme.cfg стоит sm_menupassword "mysecretpass", то в игре введите statsme_menu mysecretpass для доступа в меню. Вы можете добавлять некоторые переменные сервера в меню, если хотите, но будьте уверены, что они используются в том формате, как в примерах (tkpunish, friendlyfire, autoteambalance).

Настройка звуков


  1. Замечание: Чтобы подключить звуки, вам необходимо скачать Soundpack.zip в разделе ссылок на программу Statsme.
  2. Подключение Multikill плангина
    • Откройте statsme.cfg (расположен в addons/statsme/statsme.cfg) с помощью текстового редактора.
    • Всавте эту строку в конце и файла и уберите "//" с начала строки:

      //exec addons/statsme/scripts/multikill.cfg должно будет выглядеть так:
      exec addons/statsme/scripts/multikill.cfg
    • Сохраните и закройте файл.
  3. Добавление звуков в ваши (.RES) файлы
    • (.RES) файлы сообщают серверу и проверяет, есть ли на компьютер клиента специальные звуки. Если их нет, то они закачиваются с сервера. В зависимости от вас, (.RES) файлы могут быть установленны на каждую карту (это значит, что звуки будут у всех), на выбранные вами карты (оптимально, если у вас много карт, из которых только на некоторых часто играют), или на одну определенную карту. Лучше всего добавлять (.RES) файлы только на те карты, которые перечислены в mapcycle.txt. Для облегчения вашей работы, мы решили, что серверный MOD запукает две карты, Map1 и Map2. Замените map1 или map2 на имена карт, которые будут добавлены на ваш сервер.
    1. Создайте текстовый файл (с именем map1.res), или отредактируйте map1.res (если такой уже существует) в папке MOD'а с помощью текстового редактора.
      --не забудьте заменить имя карты map1 на имя карты вашего сервера.
    2. Добавьте следующие строки в конце файла (все звуковые файлы должны быть внесены в список на отдельных строках)

      sound/misc/monsterkill.wav
      sound/misc/multikill.wav
      sound/misc/ultrakill.wav
      sound/misc/killingspree.wav
    3. Сохраните и закройте файл.
    4. Скопируйте файл map1.res и переименуйте его на map2.res. Если map2.res уже существует, повторите шаги 1 - 3.
      --не забудьте заменить имя карты map1 на имя карты вашего сервера.
  4. Повторите шаг 4 для любых других карт, которые должны иметь (.RES) файл.
  5. Убедитесь, что все расположено в правильных директориях

    Теперь осталось только проверить, что все указанные файлы расположены в указанных директориях. Все директории показаны в корне MOD'а:

    maps/map1.res
    maps/map2.res
    addons/statsme/statsme.cfg
    addons/statsme/scripts/multikill.cfg

    Также, скопируйте звуки в папку sound/misc/

    sound/misc/monsterkill.wav
    sound/misc/multikill.wav
    sound/misc/ultrakill.wav
    sound/misc/killingspree.wav

    Перезагрузите сервер и убедитесь, что все работает правильно.

Команды

  • sm_do
    • синтаксис: sm_do <команда>
    • sm_do используется для того, чтобы изменять указанные выражения некоторыми переменными, например изменять внутреннее значение переменной.
  • sm_reg(sm_register):
    • синтаксис: sm_reg < событие [параметр для sm_mode] [sm_mode id] > <комманда> <параметр> [условие]
    • доступные параметры :
      • a - получить сообщение только если оно послано глобально (всем игрокам, если приём 0)
      • b - получить сообщение только, если оно предназначено определеному игроку (получатель тогда является index_of_player)
      • c - получить только сообщение (некоторые сообщения посылаются несколько раз - т.е. посылается звук по радио
        предназначенный для определенного игрока, т.к. некоторые из них могут слышать звуки, некоторые - не могут )
      • d - не использовать цитаты в теле сообщения, лучший метод для быстрого и простого сообщения
        (перед его использованием убедитесь, что сообщение не содержит пробелов)
      • e - заполнить команду переменными и выполнить это без применения сообщения
      • f - переменные в условии должны точно соответствовать с переменными сообщения
      • g - получить личное сообщение только, если игрок жив
      • h - получить личное сообщение только, если игрок умер
    • sm_reg используется для регистрации Управляющих-событий. Эти управляющие-события ловят сообщения игры и
      превращают их в специальный код ( например, когда игрок умирает, они показывают СообщениеОСмерти на экране)
  • sm_task
    • синтаксис: sm_task < время в секундах > < команда > [ параметр ]
    • доступные параметры :
      • a - заполнить переменными пока выполняется это задание
      • b - инфинитивный повтор
      • c - обновлять на каждой перезагрузке карты
    • sm_task используется для выполнения определенного кода за отведенное время, например для перезапуска скрипта autorr.cfg
      после 30 секунд игры на этой карте.
  • sm_mode / sm_mode2 / sm_mode3
    • синтаксис: sm_mode[id] < set | remove > < части > [ * | #idпользователя | команда ]
      • set - поставить, remove - убрать
      • Вы можете использовать все буквы от a до z в качестве части. Если вы используете sm_mode без последней части ( #idпользователя или * или команда ) это выставляется глобально, что значит это выставляется для целого сервера, не для определенных игроков. Вы можете поставить для каждого игрока свой критерий, но это может быть сделано только с помощью statsme_menu (меню statsme).
  • sm_win
    • синтаксис: sm_win < * | #idпользователя | команда > < сообщение > [ заголовок ]
    • sm_win отображает сообщение всем игрокам в окне motd.
  • sm_alias
    • syntax: sm_alias < alias > < команда > < параметр >
    • допустимые параметры
      • a - консольная команда
      • b - команда, применяющиеся в say (например /rank)
      • c - не отоброжать сказанные alias'ы
    • sm_alias позволяет вам ловить команды, сказанные игроками или типами и реагировать на них.
  • sm_motd
    • синтаксис: sm_motd < motd переменная >
    • sm_motd позволяет вам добавлять строки к сообщению при подключении любого игрока.
  • sm_menu
    • синтаксис: sm_menu < описание > < команда >
    • sm_menu добавляет входящее к глобальному меню statsme, также известное, как меню "админа".
    • Команда может быть любой командой сервера, например “map de_dust”, или команда statsme
      (как sm_mode и т.д.)