Сервис bec - battle eye control - описание

Slawter

Support team
5 Сен 2014
21.933
882
Для расширения возможностей серверов DayZ Standalone используют сервис BEC

После аренды игрового сервера DayZ Standalone и службы BEC, вам нужно настроить и подключить BEC к игровому серверу.

Чтобы подключить BEC к игровому серверу, откройте вкладку Settings в ClanForge и впишите в эти поля данные от вашего игровго сервера
dayz23.png

dayz22.png


После чего нажмите Save and Apply.

Если Вы всё сделали правильно, в логах во вкладке файл, появится первый логфайл открыв его Вы увидите
Если нет, то появятся соответствующие ошибки.



ОПИСАНИЕ ФАЙЛОВ КОНФИГУРАЦИИ BEC

Для просмотра и редактирования файлов конфигурации подведите мышь к всплывающему меню Profiles и выберете Configs (как показано ниже)
dayz24.png


Вы увидите следующие файлы
dayz25.png


Описание файлов BEC

Admin.xml - файл установки прав администраторам (соблюдение структуры обязательно, не удаляйте символы и правильно вписывайте никнеймы и GUID игроков)
Код:
<?xml version="1.0"?>
<BEAdmins>
    
        <admin id="0">
        <name>Ivan</name>
        <guid>abcdef0123456789</guid>
        <group>0</group>
        <groupname>super admin</groupname>
    </admin>
    
       <admin id="1">
        <name>Andrey</name>
        <guid>0123456789abcdef</guid>
        <group>3</group>
        <groupname>admin</groupname>
    </admin>   
    
       <admin id="2">
        <name>Konstantin</name>
        <guid>abcdef9876543210</guid>
        <group>3</group>
        <groupname>admin</groupname>
    </admin>       

</BEAdmins>
Описание тегов.

<name>
Имя администратора
Это не обязательно должен быть игровой никнейм.
Можно установить любое имя.

<guid>
guid игрока, которого вы добавляете администратором.
GUID - шестнадцатеричная строка длиной 32 символа

<group>
Уровень администратора. Значение должно быть числом.
Чем ниже число, тем выше ранг. Например группа 0 выше, чем группа 1

<groupname>
Имя группы.
Bec будет объявлять это имя группы, когда игрок подключается.
Например: 12:00:00: RCon admin # 0: (global) BEC: Super Admin Noob Connected

Администратор низкого уровня, не сможет применять команды к администратору уровня выше.



BadNames.txt - список имён (ников) которые запрещены на вашем сервере.

BadWords.txt - список слов, которые запрещены в игровом чате (не работает в DayZ Standalone)

Commands.xml - команды (программируемые скрипты) в файле вы найдёте множество примеров
вот один из них
Код:
  <!-- Permban -->

    <command id="8">
        <name>!bpl</name>
        <group>0</group>
        <cmd>ban</cmd>
        <time>0</time>
        <text>Admins Decision!</text>               
    </command>   
    
    <!-- 1 Hour Ban -->
    <command id="9">
        <name>!btk</name>
        <group>1</group>
        <cmd>ban</cmd>
        <time>60</time>
        <text>Teamkilling not tolerated! Your banned until _time_</text>               
    </command>   
    
    <!-- 10 Min Ban -->
    <command id="10">
        <name>!bst</name>
        <group>2</group>
        <cmd>ban</cmd>
        <time>10</time>
        <text>Idiot behavior belongs elsewhere! Your banned until _time_</text>               
    </command>   
    
    <!-- Kick Command(s).-->
    <command id="11">
        <name>!kpl</name>
        <group>3</group>
        <cmd>kick</cmd>
        <time></time>
        <text>Admins Decision!</text>       
    </command>
Возможно, вы не захотите, чтобы все администраторы могли банить перманетно, а могли использовать только временные баны или кикнуть с сервера.
Допустим, у нас тоже 4 уровня администраторов.
Пример для файла Admin.xml
Код:
<admin id="0">
        <name>Admin_A</name>
        <guid>123456</guid>
        <group>0</group>
    </admin>
    
    <admin id="1">
        <name>Admin_B</name>
        <guid>654321</guid>
        <group>1</group>
    </admin>   

    <admin id="2">
        <name>Admin_C</name>
        <guid>a1b2c3</guid>
        <group>2</group>
    </admin>       

    <admin id="3">
        <name>Admin_D</name>
        <guid>6a5b4c</guid>
        <group>1</group>
    </admin>
Итак, действия админа против обычных игроков
(Admin_A) может выполнять команду (! Bpl,! Btk,! Bst) против любых игроков
(Admin_B) может выполнять команду (! Btk,! Bst) против любых игроков
(Admin_C) может выполнять команду (! Bst) против любых игроков
(Admin_D) может выполнять команду (! Btk,! Bst) против любых игроков

# Админы против Админов

* Кик
Admin_A может выполнить! Kpl на админов (Admin_A, Admin_B, Admin_C, Admin_D)
Admin_B может выполнять! Kpl на админов (Admin_B, Admin_C, Admin_D)
Admin_D может выполнить! Kpl на админов (Admin_C, Admin_D)
Admin_C может выполнять только! Kpl на самого себя (Admin_C)

* Бан
Admin_A может выполнять (!bpl, !btk, !bst) на админов (Admin_B, Admin_C, Admin_D)
Admin_B может выполнять (!btk, !bst) на админа (Admin_C)
Admin_D может выполнять (!btk, !bst) на админа (Admin_C)
Admin_C не сможет забанить ни кого из админов (Admin_A, Admin_B, Admin_C, Admin_D) так как имеет самый низкий ранг.


Config.cfg - файл конфигурации BEC
не изменяйте здесь строки Ip = $$dayzip$$ и Port = $$dayzport$$ они тянутся автоматически из ClanForge (хотсинг Multiplay)


Scheduler.xml - планировщик заданий
например, вы можете задать сообщения, которые будут выводиться автоматически
Код:
<?xml version="1.0"?>

<Scheduler>

    <job id="0">
        <day>1,2,3,4,5,6,7</day>
        <start>000100</start>
        <runtime>003000</runtime>
        <loop>-1</loop>
        <cmd>say -1 Вступайте в нашу группу Вконтакте vk.com/xlteam</cmd>
        <cmdtype>0</cmdtype>
    </job>
 
</Scheduler>
ОПИСАНИЕ ТЕГОВ
<job id="0"> - номер задание, начинается с нуля, следующее задание 1, 2, 3 и тд.
<day> </day> - день запуска задания
1 = Понедельник
2 = Вторник
3 = Среда
4 = Четверг
5 = Пятница
6 = Суббота
7 = Воскресенье

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

К примеру задание будет запущено только в Понедельник, если установить так
<day>1</day>

Понедельник, Среда, Пятница и Воскресенье.
<day>1,3,5,7</day>

Все дни.
<day>1,2,3,4,5,6,7</day>


<start></start>
-
время запуска
Определите, когда расписание должно быть запущено и выполнено.
Существует два формата для определения времени.

Способ 1.

<start> ЧЧММСС </ start>

ЧЧ = Час
MM = Минута
СС = Секунда

К примеру:
<start>001000</start>
означает, что задание должно запускаться, когда прошло 10 минут после запуска BEC
Минимальное значение, которое может быть установлено, составляет 000000, а максимальное - 999999.

Примечание: существует несколько способов определить одно и то же время.
Пример:
<start>000090</start> совпадает с <start>000130</start> -> 1 минута 30 секунд
<start>009000</start> совпадает с <start>013000</start> -> 1 час 30 минут

Формат должен быть длиной 6 цифр.
Даже если вы только хотите запустить что-то через 45 секунд, вам нужно установить все нули перед 45.
<start>000045</start>

Способ 2.
<start>18:00:30</start>
Означает, что задание должно начать выполняться, когда будет 6 часов (вечера) и 30 секунд, времени на сервере.
ИМЕЙТЕ ВВИДУ, АРЕНДОВАВ СЕРВИС BEC на Multiplay, вероятно время установлено по Лондону, откройти логи BEC чтобы понять, сколько сейчас времени на сервере BEC


<runtime></runtime> - интервал, с которым повторять задание
Этот тег использует тот же формат, что и тег <start> в методе 1 (ччммсс), он также работает только тогда, когда цикл установлен на -1 или выше 0, иначе он будет проигнорирован
<runtime>ччммсс</runtime>
Этот тег указывает интервал между каждым циклом задания

Пример.
<runtime>001000</runtime>
<loop>5</loop>


Это означает, что задание будет выполняться 6 раз с 10-минутной задержкой между выполнением, после указанного в теге <start> времени + количество <loop> циклов



<loop></loop> - циклы выполнения задание (сколько раз выполнять)

Если используется -1, то задание будет повторяться бесконечно.
Если используется 0, задание будет выполняться только один раз.
Если 1+, когда используется число выше 0, оно будет зацикливать задание заданное число раз.

Каждый интервал между циклами устанавливается в теге времени <runtime>

<cmd> </cmd> - команды, которые должно выполнить задание
например команда say -1
<cmd>say -1 Добро пожаловать на сервер</cmd>
выведет сообщение "Добро пожаловать на сервер" в игровой чат
Доступные команды BEC (некоторые из них могут не работать в DayZ Standalone - restart, shutdown точно не работают
Код:
say -1 some text
loadbans
loadscripts
loadevents
writebans
maxping 250
#shutdown
#restart
#reassign
#lock
#unlock
#mission filename
systime
uptime
fortune
exit
Пример заданий с выводом нескольких сообщений повторяющихся с определенным интервалом и циклами
Код:
<?xml version="1.0"?>

<Scheduler>

    <!-- это задание начнётся через 10 минут и будет повторяться всегда с интервалом 1 час 30 минут -->
    <job id='0'>
        <day>1,2,3,4,5,6,7</day>
        <start>001000</start>
        <runtime>013000</runtime>
        <loop>-1</loop>
        <cmd>say -1 Вступайте в нашу группу ВК VK.com/XLteam</cmd>
    </job>

    <!-- это задание начнётся через 30 секунд и запустится 1 раз. -->
    <job id='1'>
        <day>1,2,3,4,5,6,7</day>
        <start>000030</start>
        <runtime>000000</runtime>
        <loop>0</loop>
        <cmd>say -1 TeamSpeak - TS.XL-GAMES.RU</cmd>
    </job>
    
    <!-- это задание начнётся через 15 секунд и будет повторяться 6 раз каждые 25 секунд. -->
    <job id='2'>
        <day>1,2,3,4,5,6,7</day>
        <start>000015</start>
        <runtime>000025</runtime>
        <loop>5</loop>
        <cmd>say -1 Соблюдайте правила сервера</cmd>
    </job>

    
    <!-- это задание начнётся в 06:00:00 часов (серверного времени) и запустится только 1 раз -->
    <job id='3'>
        <day>1,2,3,4,5,6,7</day>
        <start>06:00:00</start>
        <runtime>000000</runtime>
        <loop>0</loop>
        <cmd>say -1 За нарушение правил вы будете заблокированы</cmd>
    </job>

    <!-- это задание начнётся в 07:00:00 (серверного времени) и будет повторяться 3 раза через каждые 20 минут -->
    <job id='4'>
        <day>1,2,3,4,5,6,7</day>
        <start>07:00:00</start>
        <runtime>002000</runtime>
        <loop>3</loop>
        <cmd>say -1 Выходите на частоту сервера 89.5</cmd>
    </job>

    <!-- это задание начнётся через 08:00:00 (серверного времени) и будет повторяться всегда каждые 15 минут -->
    <job id='5'>
        <day>1,2,3,4,5,6,7</day>
        <start>08:00:00</start>
        <runtime>001500</runtime>
        <loop>-1</loop>
        <cmd>say -1 Сервер перезагружается каждые 6 часов</cmd>
    </job>
    
</Scheduler>

WhiteList.txt
- список игроков по белому списку, пропишите здесь GUID игроков и только они смогут войти на сервер
Как включить WhiteList описано тут Whitelist - вход на сервер dayz standalone по списку


fortune.txt - файл с случайными цитатами
 
  • Like
Реакции: alsab

alsab

Customer
31 Июл 2017
284
0
33
Подскажите для того чтобы переименовать файл новое имя нужно прописать в строке: Describe this profile update?
 

alsab

Customer
31 Июл 2017
284
0
33
Сохранить оригинальный Scheduler.xml и загрузить свой
 

Slawter

Support team
5 Сен 2014
21.933
882
Сохранить оригинальный Scheduler.xml и загрузить свой
Скопируйте текст из своего файла и вставьте в файл Scheduler.xml.
Если нужно сохранить оригинальный текст, то текст оригинального файла скопируйте и сохраните в текстовом файле на своём ПК.