*****LAC - LuCiFer Anti Cheat*****

 

Перед использование обязательно прочтите license.txt

Серверная часть для Counter Strike

Версия: 0.6 Public Edition

Для подключения необходима клиентка версии не ниже 0.6

 

Если вы обнаружили чит к этому античиту или серьезную ошибку, убедительнейшая просьба сообщите название чита или вышлите его автору, а в случае ошибки ее подробное описание по электронной почте 2xl@mail.ru В случае если чит окажется рабочим, в следующей же версии он не будет работать.

 

1. Назначение. 1

Основные функциональные возможности: 1

Примечания к релизу. 2

2. Состав дистрибутива. 2

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

3.2 Обновление. 3

4. Использование. 3

Консольный команды.. 3

CVAR'ы: 4

Сообщения которые могут прийти с сервера при попытке соединиться или при запуске. 5

Проблемы. 5

АMXX.. 5

Web интерфейс. 6

lac.cfg. 6

5. Удаление. 6

6. Автор. 6

7. FAQ.. 6

8. История версии. 7

 

 

 

1. Назначение

Программа предназначена для недопущения появления читеров на защищенном сервере. Данное приложение является серверной частью и предназначена для установки на сервер. Для работы необходимо, что бы на сервере был установлен MetaMod. ДЛЯ ПОИСКА СКРИПТОВЫХ ЧИТОВ РЕКОМЕНДУЕТСЯ ТАК ЖЕ НА СЕРВЕРЕ ДЕРЖАТЬ УСТАНОВЛЕННЫЙ HLGuard С КОНФИГАМИ ОТ Reallite.

 

Основные функциональные возможности:

 

Примечания к релизу:

В шестой версии основной уклон был сделан на исправление множественных ошибок и багов, которыми пользовались не честные игроки и читеры. Основные исправления: имя содержащие символ "%" больше не должно блокировать LAC; сервер не должен падать при снятии скриншотов, админа не должно кикать при попытке снять скриншот, серв не должен виснуть при опросе с монитора и множество более мелких не значительных поправок, которые гадили этот античит. Добавлено блокирование еще одного класса читов. Напоминаю, что для защиты от скриптовых читов ставьте себе на сервер hlguard вместе с лаком. Теперь LAC может не только блокировать читы, но и банить за них несмотря на то что они не работаю. Для этого нужно включить CVAR lac_bandi. Существовал баг со спидхаком, для чего была выпущена версия 0.5а. Она мало чем помогла. В версии 0.6 теперь можно самостоятельно задать лимит на спидхак (CVAR lac_shlim), если вам эта функция ни к чему для отключения ее нужно поставить lac_shlim в 0, а не как в 0.5а lac_band 0. Битые скрины тоже должны уйти в прошлое: теперь LAC сам контролирует верность приема и при ошибке перезапрашивает неверную часть скриншота. В имя скриншота дописывается имя игрока и его IP адрес. Подправлен lac_id, он должен стать более устойчив. Центральный бан отключен по умолчаниию, ввиду его не востребованости. При просмотре банов выскакивал длинный и не понятный список уже разбаненых игроков, теперь его можно чистить (lac_cban). Документация переписана в html вид, в ней исправлены ошибки, добавлен FAQ. Надеюсь, так он выглядит более наглядно. Официальный сайт теперь открыт на весь мир! Его url изменился – http://lucifer.selfip.org .

 

2. Состав дистрибутива

LAC.dll

сама программа

license.txt

лицензионное соглашение

readmeS.htm

этот документ

bans.php

веб интерфейс для банов

lac.sma

плагин для амхх (дает права на ЛАК админам из амхх) в исходниках

lac.amxx

плагин для амхх (дает права на ЛАК админам из амхх) скомпеллированый

 

3.1 Установка

 

  a) Для работы античита необходимо что бы на сервере был установлен MetaMod. Если его нет, то сейчас самое время его установить. Для подробностей по установке MetaMod обратитесь к документам по MetaMod.

  б) Создайте папку LAC внутри папки \cstrike\addons\

  в) Скопируйте внутрь созданной папки файл LAC.dll

  г) Откройте файл \cstrike\addons\metamod\plugins.ini и впишите в него строку

 

      win32 addons/LAC/LAC.dll

 

Установка завершена.

Убедиться в правильности установки можно запустив сервер и прописать в сервеной консоли "meta list"

в появившемся тексте должна быть строка

 

      [ .] LAC              RUN   -    lac.dll           v0.6      ini  Start   Start

 

3.2 Обновление

 

  Замените в папке \cstrike\addons\ старый LAC.dll на новый. А также обновите файл веб интерфейса банов и с плагины амхх.

 

 

4. Использование

 

#### ВНИМАНИЕ ДАННАЯ ПРОГРАММА НЕ ПРОВЕРЯЛАСЬ СО STEAM. НЕ РЕКОМЕНДУЮ ПОДКЛЮЧАТЬСЯ К STEAM СЕРВЕРАМ С ЗАПУЩЕННОЙ ПРОГРАММОЙ, Т.К. ЭТО МОЖЕТ ПРИВЕСТИ К НЕЖЕЛАТЕЛЬНЫМ ПОСЛЕДСТВИЯМ

так же вероятно что и на стим версия контра страик данное приложение не запустится

 

Смысл работы античита в том, что любой подключающейся игрок должен пройти аутентификацию на сервере. Все проверки на читы происходят на клиентской стороне. Если сервер в течении 10 секунд после начала подключения игрока не получил данных, что проверка на клиенте завершена игрок будет кикнут с сервера немедленно. После аутентификации в консоли сервера будет сообщение:

 

"[LAC] Authentification "Player" (0000000000) complete."

 

У каждого игрока есть свой уникальный (возможно и нет, шанс повтора 1 к 4 млрд.) идентификатор - LACid, который генерируется на основе данных о том компьютере на котором запущен LAC.

Для HLTV присваивается условный LACID_HLTV, по сути 0000000000.

 

Начиная с версии 0.3a HLTV присоединяется на сервер, так, как будто на сервере нет LAC, т.е. как обычно.

 

LAC содержит централизованную базу данных с банами, с которой он обновляется автоматический. Список забаненных LACid определяет автор LACa. Если вы обнаружили читера и можете безоговорочно доказать (в данной ситуацией лучше всего будет скриншот сделанный лаком на котором виден интерфейс чита или WallHack) то отсылайте это на адресс электронной почты - 2xl@mail.ru . LACid игрока будет забанен централизованно.

 

 

Консольный команды:

консольный команды в основном зависят только от серверной компоненты и могут варьироваться.

lac_id

высвечивает таблицу: имя игрока - его LACid

lac_id <маска>

выводит lac_id на игроков в имени которых содержиться маска

lac_ss <маска>

снимает скриншот с игроков имя которых в маске. Скриншот отправляется через канал КС и файл сохраняется в папке \cstrike\addons\LAC\screenshot в виде jpg файла. Размер порядка 100 кб, т.е. снятие скринов не должно сильно "забивать" интернет канал пользователя.

Движок Half-Life использует протокол UDP, в котором доставка пакетов не гарантируется, поэтому скриншоты могут быть сильно искажены

lac_ban <маска> <время> <причина>

забанивает на локальном сервере игрока по LACid на определенное время в минутах. Если время не указанно, то бан будет выдан на 1 час. Если нужно забанить навечено, пишите время 9999999. Столько минут это очень долго :). Контра к тому времени наверно уже будет ни кому не нужна :) <причина> является необязательным параметром и может не указываться, отображается в веб статистике, если в причине несколько слов через пробел, то ОБЯЗАТЕЛЬНО писать ее в "таких кавычках" иначе будет отображено одно слово.

 

lac_unban <lacid> <время> <причина>

снимает бан на локальном сервере по введенному lacid, если не указанно время. Если указанно время, то функции можно забанить по lacid на указанное время. <причина> является необязательным параметром и может не указываться, отображается в веб статистике, если в причине несколько слов через пробел, то ОБЯЗАТЕЛЬНО писать ее в "таких кавычках" иначе будет отображено одно слово.

 

lac_crc <имя файла>

считает контрольную сумму файла на клиенте и на сервере. Затем выводит их в консоль. Необходимо для проверки некоторых текстур, карт. На многие файлы контрольные суммы могут быть разные на различных версия CS. Поэтому данная функция носит вспомогательный характер и не может служить поводом для определения факта читерства. Так же данная функция сильно нагружает процессор сервера и процессор клиента. Так что не стоит забавляться с ней.

lac_ubl 

принудительно скачивает централизованную базу данных читеров с центрального сервера.

Данные функции(кроме lac_id) запускаються только с серверной консоли, чтобы администратор находящейся на сервере мог воспользоваться этими командами со своей консоли рекомендуется использовать rcon.

lac_bans

выводит полный лог банов на вашем сервере, причем в виде истории, если один и тот же lacid банился а потом был разбанен, то на него будет две строки, смотреть надо на которая выше будет.

lac_bans <lacid>

выводит данные о банах на конкретный lacid

lac_ubans

аналогично, но читает данные из глобальной базы банов

lac_cban

Очищает всю историю банов локального сервера, для того что бы по команде lac_bans не было видно просроченных банов. Текущие баны, разумеются остаются.

 

под <маска> в описании понималось, что если указать, как маску "*" то действие будет распространяться на всех игроков, а если прописать часть имени, то на игроков содержащих такую часть имени, однако же если в части имени вписать "*", то это ни к чему не приведет.

 

 

CVAR'ы:

 

lac_band (по умолчанию 3)

действие при обнаружении чита. 0 - вообще ничего не делать. 1 - только сообщать. 2 - кикать. 3 - банить на время lac_bantime.

lac_bantime (по умолчанию 120)

время автоматического бана при обнаружении чита.

lac_ifkurl (по умолчанию http://lucifernet.homeip.net)

Текст который приписывается в конце сообщения, что игрока кикнули за отсутствующий или устаревший LAC. Рекомендуется установить ссылку сайта на котором выложен ЛАК, если сайт http://lucifer.selfip.net недоступен

lac_bandi (по умолчанию 0)

При значении 1 будет производить согласно настройкам lac_band действие в случае если на клиентской машине обнаружен чит, даже не смотря на то, что чит заблокирован лаком. Есть один нюанс – не все блокируемые читы будут обнаружены, это связанно с техническими причинами. 0 – не производить никаких действий.

lac_shlim (по умолчанию 60000)

Уровень определяющий при каком значении будет считаться что у клиента SpeedHack. Само значение характеризует на сколько миллисекунд ушло времени у клиента по сравнению с сервером. Значения менее 20000 не имеют смысла, т.к. все равно минимальный порог 20000. Максимальный порог 4294967295. Если значение установить в 0 SpeedHack на клиенте обнаруживаться не будет.

lac_urlbans (по умолчанию 0)

0 – выключена синхронизация с центральной базой банов. 1 – включает эту возможность.

 

 

Сообщения которые могут прийти с сервера при попытке соединиться или при запуске.

 

[LAC] Check failed. Please reinstall LAC!!! 

удалить у себя LAC вообще и поставьте заново с дистрибутива.

***[LAC]*** You, name (LACid xxxxxxxxxx) ban for nn minutes

вас забанили на nn минут

***[LAC]***Incompatible LAC version. Need v0.3. http://lucifernet.homeip.net

у вас устаревшая или наоборот слишком модная версия. Зайдите на http://lucifer.selfip.net и скачайте ту версию которая указанна в сообщении (Need v0.3)

***[LAC]*** You LACid ххххххххххх in ban list. nn minutes left

это значит что вы находитесь в бан листе по LACid на сервере и будете разбанены через nn минут.

***[LAC]*** This Server LAC (LuCiFer Anti Cheat) Require. http://lucifer.selfip.org

 

значит у вас вообще хрен стоит LAC или он не запущен.

 

 

Проблемы.

 

Если ваш сервер падает при запуске, а у вас стоит KIS (Kaspersky Internet Security), то делайте так:

Чтобы не было проблем, файл hlds.exe надо добвить в довереную зону. для этого надо в Касперском версии KIS пройти:

Настройка->Защита, там будет кнопка Доверенная зона, жмёте её и там в обоих вкладках добавляете файл hlds.exe. на этом проблема с KIS исчерпана.

За помощь в поиске данного косяка и написании инструкции выражаю благодарность linkin

 

Если у игрока не запускается клиентская часть LAC и у него установлен Agnitium Outpost Firewall, то для того чтобы у него заработало, ему можно посоветовать:

 

- Заходим в "Пуск, Панель Управления, Свойсва папки". Переходим во вкладку "Вид" и ищем пункт "Скрывать расширения для зарегистрированых файлов", снмаем галочку, жмём ok.

- На время отрубаем внутреннюю защиту, либо вырубить фаервол. Проще всего правой кнопкой в трее по значку аутпоста и там выйти из программы.

- Создаём "Текстовый документ.txt" в папке аупоста (по-умолчанию тут C:\Program Files\Agnitum\Outpost Firewall), заходим в него и прописываем путь до lac.exe (у меня D:\Games\Valve\lac.exe). Очень важный момент!!! Когда пропишите путь, не забудьте Enter нажать, иначе не будет работать. Закрываем, сохраняем, переименовываем в "wl_hook_data.cfg".

- Включаем фаервол или внутреннюю защиту, а лучше перезагружаем комп.

- При желании заходим в "Пуск, Панель Управления, Свойсва папки". Переходим во вкладку "Вид" и ищем пункт "Скрывать расширения для зарегистрированых файлов", ставим галочку, жмём ok.

За помощь в поиске данного косяка и написании инструкции выражаю благодарность Smile, MrCuper и Hero

 

АMXX

Для управления админки amxx начиная с версии 0.4 добавлен плугин для amxx. Установите плугин lac.amxx к себе на сервер и у админов с правом доступа на kick появится возможность управлять лаком со своей консоли: у них будут доступны команды - amx_lac_ban, amx_lac_unban, amx_lac_ss, amx_lac_bans, amx_lac_ubans, amx_lac_crc, amx_lac_ubl,amx_lac_cban которые соответствуют функциям lac_ban, lac_unban, lac_ss, lac_bans, lac_ubans, lac_crc, lac_ubl,lac_ban имеют те же параметры и назначение. Исходный код плугина в фаиле lac.sma

 

Web интерфейс

В версии 0.4 добавлена возможность выводить список локальный банов на веб сервер. Для этого в дистрибутиве идет фаил bans.php. Чтобы им воспользоваться положите его в папку веб сервера, открой фаил и если надо измените строку

 

$file="e:\Games\Counter - Strike\cstrike\addons\LAC\lac_ban.log";

 

на путь от вашего сервера. Обращаю внимание, что веб статистика банов пользуется файлов lac_ban.log который представляет собой статистику банов, а сам серверный лак пользуется другим файлом для определения кто на сколько забанен, однако же когда вносятся какие либо изменения они вносятся в оба, поэтому ручками по этим файлам лучше особо не лазить, что бы не получилось, что что-то где-то врет.

 

 

lac.cfg

С помощью этого файла LAC сохраняет настройки.

Файл расположен в директории с LAC.dll. В нём содержатся CVARы от LAC’а. В ручную можно править только значения CVAR, которые в кавычках. Комментарии и если вписать какие либо другие CVARы ,будут удалены.

5. Удаление

 

  a) Удалите папку LAC внутри папки \cstrike\addons\

  г) Откройте файл \cstrike\addons\metamod\metamod.ini и удалите в нем строку

 

win32 \addons\LAC\LAC.dll

 

  в) При необходимости можете удалит MetaMod. Как, читайте в документах по MetaMod.

Удаление завершено.

 

 

6. Автор

 

Автором является LuCiFer

e-mail: mailto:2xl@mail.ru (обычно отвечаю, но оооочень долго)

Сайт: http://lucifer.selfip.net

Сайт для клиентов Воронежского филиала ЦентрТелеком (трафик бесплатен): http://lucifernet.homeip.net

 

 

7. FAQ

Здесь я буду собирать наиболее часто задаваемые Вами вопросы, а так же вопросы поясняющие работы античита.

 

Q: Почему много "битых" скриншотов?

A: Потому, что движок Counter-Strike использует UDP протокол согласно которому не гарантируется доставка пакетов получателю. Для самой игры это не смертельно. А вот для jpeg файла очень даже смертельно…

 

Q: Можно ли банить по LAC_ID не за читы, а например за нарушения правил на сервере.

A: Конечно можно, см. функцию lac_ban

 

Q: Можно ли поставить бан по LAC_ID если игрока нет на сервере.

A: Можно с помощью функции lac_unban (вопреки её названию). Например что бы забанить игрока с LAC_ID 1234567890 на 2 часа нужно дать команду:

lac_unban 1234567890 120

 

Q: Можно ли удаленно, например из мониторинга серверов узнать установлен ли LAC?

A: Можно. Посылайте запрос по UDP на порт сервера. Запрос:

\x66\x66\x66\x66\x66\x66\x66\x66\xFF

Ответ:

true\x00 – для LACv0.3

true_x.X – для LAC начиная с версии 0.4, где x.X – номер версии.

 

Q: Зачем нужна функция lac_crc ???

A: C помощью lac_crc можно запросить контрольную сумму любого файла. К примеру можно проверить стоит ли у игрока оригинальные модели какого либо оружия. Например:

lac_crc * cstrike\models\v_awp.mdl

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

оригинальный. На практике фича оказалась немного бесполезной :)

 

Q: Чем этот античит лучше других?

A: Он сделан нашими! myAc возможны лаги, нагрузка, не него читов как грязи. sXe Injetcted у многих проблемы с клиентом и читы на него обновляют часто! Этот анти-чит, не говорю что на него невозможно написать чит, но если ты их найдёшь чит, ты можешь послать автору в следующей версии чит работать не будет. Этот анти-чит не банит, а блокирует читы. Есть функция бана по LAC_ID , который он сам генерирует, смена IP , не поможет. Есть отправка скриншотов, бан лист, и многое другое. За 1 год и 4 месяца существования античита был замечен всего 1 чит написанный для 4 версии. И то он работал, т.к. я ни разу не видел читов которые так подгружались (в виде asi файла). так же не видел ни одной ломаной клиентки, хотя знаю попытки были. Конечно, не могу отвечать, что не без результатные, но хоть какого распространения подобных вещей на текущий момент нету

 

Q: Я обнаружил чит работающий на лаке или дыру в работе античита

A: Пошлите его, пожалуйста, автору LAC на адрес электронной почты 2xl@mail.ru. В следующей версии античит будет блокировать этот чит.

 

Q: Сервер падает при запуске через 10-20 секунд. Что делать?

A: Попробуйте отключить синхронизацию с центральной системой банов для этого в консоле сервера напишите lac_urlbans 0. По умолчанию эта опция выключена. Если падает при выключенной опции, пробуйте по одному отключать плугины от metamoda.

 

Q: Можно ли сделать меню в AMXX для админов???

A: Можно. Откройте файл clcmds.ini, расположенный /addons/amxmodx/configs/clcmds.ini

Добавляем строчку, по желанию, в любую позицию:

 

"Ban by lac_id" "amx_lac_ban %name%" "b" "u"

 

После чего у админов по команде amx_clcmdmenu из консоли будет высвечиваться меню, там можно будет выбрать Ban by lac_id.

amx_clcmdmenu разумеется можно забиндить на любую кнопку, например bind l "amx_clcmdmenu" забиндит меню на клавишу L

Для того что бы это работало на сервере, должен стоять плугин lac.amxx

 

Q: Если не секрет, на каком языке написан античит?

A: Ассемблер.

 

 

8. История версии

15.12.07 версия 0.6 Public Edition Release

      +Настройки теперь сохраняются

      +Скриншоты должны доходить в случае любой плохой линии

      +возможность не просто не допускать запуск читов, но и возможность банить их (CVAR lac_bandi).

      +cvar на уровень SpeedHacka (lac_shlim)

      +cvar на включение централизованных банов (lac_urlbans)

      +команда lac_cban

      +команда lac_ver

      +куча «заплаток». Зафиксены такие вещи как падения серва, снятие скриншота, опрос с мониторингов, финты с именами игроков и т.д.

      +пойман еще один чит бравший 0.5 версию и более ранние. 0.6 не берет.

      +при сохранении скриншота в его имя указывается имя игрока и его IP.

 

16.01.07 версия 0.5a Public Edition Release

      +добавлен CVAR: lac_band

      +пофиксен баг со спих хаком.

      !!! В СВЯЗИ С ЭТИМ ПРОШУ ПРИЗНАТЬ ВЕРСИЮ 0.5 НЕРАБОТОСПОСОБНОЙ И УДАЛИТЬ ЕЁ, ЧТО БЫ ВЫ САМИ НЕ ПУТАЛИСЬ. В 0.5а БАГ УСТРАНЁН.      Приношу извинения за неудобства с версией 0.5.

 

15.09.07 версия 0.5 Public Edition Release

      +исправлены вылеты сервера при отсутствии доступа к сайту http://lucifernet.homeip.net

      +обнаруженная уязвимость была закрыта

      +добавленно два CVARa: lac_bantime, lac_ifkurl

      +при бане в случае указания причины игроку передается эта причина

      +теперь может банить за читы самостоятельно

      !!! В клиентской части античита был изменен алгоритм получения LACid. В связи с этим LACid от версий 0.3 и 0.4 не соответствуют LACid от версии 0.5. В связи с чем перед обновлением рекомендуется очистить базу бан листов. Для этого удалите файл lac_ban.dat в папке lac.dll

      !!!В четвертой версии LACa была допущена ошибка при написании алгоритма распознания более новой версии анти чита на сервере.  В связи с чем при попытке подключится к серверу с версией 0.5 клиентская часть 0.4 вылетает с ошибкой.

 

 

9.05.07 версия 0.4 Public Edition Release

      +наконец то можно глядеть базу банов.

      +веб статистика банов

      +админы установленные в amxx могут управлять LAC со своей консоли

      +скриншоты снабжаются большой избыточной информацией, т.е. теперь битых скриншотов должны быть на порядок меньше.

 

22.04.07 версия 0.3a Public Edition Beta2

      +поддержка HLTV

      +исправленный баги с ошибками в консоли

      +исправлен баг, когда игрок меняет имя

 

14.04.07 версия 0.3 Public Edition Beta1

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

 

17.02.07 версия 0.3 Закрытая версия

      +добавлен LACid, идентификатор компа (его железа) по которому можно банить и различать       игроков в условиях динамических айпи. LACid генерируеться при каждом запуске и       сохраняется в файл LACid.txt. Представляет собой 10 десятичных цифр. что бы узнать чей       то LACid во время игры нужно будет написать lac_id <часть имени игрока> или просто       lac_id чтоб посмотреть на всех в консоле клиента.

      +добавленна возможность снятия скриншота с экрана игрока и переправкой на сервак. (скриншот занимает в среднем 100кб так что я думаю это совсем маленькая нагрузка на       канал).

      +добавлена возможность сверки фаилов на сервере и клиенте на идентичность.

      +оттестирован на Windows Vista(черт же Microsoft решил в ней по чуть подправить       NativeAPI.....).

      +принудительно выставляет 32 битную цветность.

      +лого при запуске     

 

27.08.06 версия 0.2 Закрытая версия

      +добавлен редирект параметров

      +добавлено обнаружение OGL читов

 

19.08.06 версия 0.1 Закрытая версия

      Первая версия