Тема сложная за отсутствием нормальных гайдов или документации.. Будем разбираться вместе! Поверьте я не являюсь в ней специалистом, хотя и разобрался как настраивать скрипты.
1) Список файлов которые мы получим вместе с Battleye в составе Epoch
addbackpackcargo.txt
addmagazinecargo.txt
addweaponcargo.txt
attachto.txt
bans-epoch.txt
BEServer.dll
createvehicle.txt
deleteVehicle.txt
example-BEServer.cfg
mpeventhandler.txt
publicvariable.txt
publicvariableval.txt
remotecontrol.txt
remoteexec.txt
scripts.txt
selectplayer.txt
setdamage.txt
setpos.txt
setvariable.txt
setvariableval.txt
teamswitch.txt
waypointcondition.txt
waypointstatement.txt
2) В этих файла содержатся настройки для фильтров BE и служебная информация для работы Battleye
Давайте разберем за что они отвечают.
bans-epoch.txt
- список банов эпоча, по умолчанию туда включен хаккер листик (видимо за то что упер и выложил в сеть файлы до релиза).
BEServer.dll
Серверная библиотека файлов для Battleye. Этот файл мы не трогаем он находится на своем месте.
example-BEServer.cfg
Это пример заполнения вашего файла BEserver.cfg. Надо посмотреть, что там записано и создать свой типа
beserver_1231123.cfg в нем будет указан ваш RCON логин и пароль на сервер (этого достаточно, но параметров на самом деле много больше - вот пример)
MaxPing 369 - максимальный пинг после которого кикает с сервера
// максимальная задержка прежде чем сервер кикнет игрока при событиях с :
MaxCreateVehiclePerInterval 72 1 // созданием техники
MaxSetPosPerInterval 2 1 // перемещениями
MaxSetDamagePerInterval 36 1 //нанесением урона
MaxAddBackpackCargoPerInterval 12 1 //рюкзаками
MaxAddMagazineCargoPerInterval 96 1 //патронами
MaxAddWeaponCargoPerInterval 24 1 //оружием
MaxDeleteVehiclePerInterval 48 1 //удалением техники
MaxAttachToPerInterval 4 1 //прикреплением одних предметов к другим
// параметры указаны в формате - [событие] [кол-во] [время в секундах]
// чем больше ваш online не больше должны быть кол-во событий и время в секундах
С служебными файлами все.
Далее следуют файлы связанные с различными событиями. Давайте разберемся как их читать.
Открываем первый в алфавитном порядке файл addbackpackcargo.txt и видим следующее содержимое...
5 "" !"B_Parachute" !"B_AssaultPack_(cbr|dgtl|khk|mcamo|ocamo|rgr|sgg)" !"B_Carryall_(cbr|khk|mcamo|ocamo|oli|oucamo)"
!"B_FieldPack_(blk|cbr|khk|ocamo|oli|oucamo)" !"B_Kitbag_(cbr|mcamo|rgr|sgg)"
!"B_TacticalPack_(blk|mcamo|ocamo|oli|rgr)" !"smallbackpack_(red|green|teal|pink|)_epoch"
На первый взгляд мешанина цифр и символов, но это не так.
у команд есть синтаксис и выглядит он как
[type] [string to search for]
Например: 5 искать_это "и это" и также это !"но не это"
где type= действие ( самая первая цифра во всех фильтрах BE обозначает действие)
1 - записать обнаруженное действие в лог;
2 - записать обнаруженное действие в консоль сервера;
4 - Kick при обнаружении ("Script Restriction #X")
! = исключение...
"" - обозначает все
Вы можете комбинировать ТИПЫ действий:
например тип 3 запишет произошедшее и в scripts.log и в консоль (1+2=3),
тип 5 запишет произошедшее в scripts.log и кикнет пользователя (1+4=5),
тип 7 это комбинация всех 3 методов.
Чтобы исключить из формулы
Например если указать в фильтре createvehicle.txt
5 createVehicle Bo_MK82
- это будет обозначать, - кикнуть и записать в лог игрока, в случае спавна MK82
Итак давайте посмотрим на строчку из пример исходя из новых знаний которые мы имеем в переводе на русский язык это строка значит:
при любом добавлении к луту игрока предметов типа backpack (рюкзак),
кикать игрока с сервера, c записью в лог файл исключая следующие типы рюкзаков:
!"B_Parachute" - Парашют, !"B_AssaultPack_(cbr|dgtl|khk|mcamo|ocamo|rgr|sgg)"
B_AssaultPack_ в вариантах B_AssaultPack_cbr,
B_AssaultPack_dgt и тд...
другими словами после ! в "указывается тип для которого делается исключение" а в (указывается разновидность этого типа с перечислениями через |) в данном случае это различные типы окраски рюкзаков с одним и тем же названием...
Давайте посмотрим более конкретный пример.
Итак мы установили себе скрипт IgiLoad для перевозки техники в кузове, но плохо настроили скрипты для перевозки. В результате в нашем логе серверов мы получаем.
Смотрим на, что сработало ограничение? Видим ограничение #0 которое сработало на переменну "can_load" и "default_mass", значит необходимо добавить это действие в исключение для фильтров BE в переменных. Ищем файл с перменными
setvariable.txt и добавляем в него следующее (либо редактируем если там уже есть).
5 "" !"can_load" !"can_outside" !"default_mass"
Как мы видим в этом примере, мы будем кикать и писать в лог всех, кто пытается использовать переменные без разрешения кроме
can_load, can_outside, default_mass