Немного сыроват, но работает уже на неск серверах и вроде все норм
Вариант конечно не окончательный
Эксперементировал с кодом и тд итп
Потом лишнее уберу
Упрощу и тд итп
Хочу сделать универсальный
Как для вайтлиста так и для блэк
Конфиг простой
Подключаем в init.c
у меня лежит в корне миссии в папке _MOD\WhiteList
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c"
обявляем там же
ref Server_WhiteList WhiteList = new Server_WhiteList();
сам список UID (в столбик) кладем в папку _CONF в текстовый файл whiteList.lst
далее используем
у меня в init.c в 2х местах
в классе CustomMission : MissonServer переопределил пару функций и добавил вызов в него
и следом
override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
{
super.InvokeOnConnect(player, identity);
//Если игрок в черном списке или игрока нет в белом списке или ник игрока в черном списке игрока кикнет и функция вернет false
if (!Server_WhiteList.CheckWBListConnectAllow(player, identity))
{
return; //IF KICK
}
}
Файл whiteList.lst можно править на горячую, если в папке с whiteList.lst положить whitelistautoreload - то при каждом вызове проверки игрока по вайтлисту он будет перезагружаться из whiteList.lst - по задумке что бы не перзапускать каждый раз сервер
но иногда если чел хотел войти, не пустило, потом внесли UID может не пустить с ошибкой Character Locked in database.
Придется ждать минут 5
Либо перезапускать сервер
+ Читайте каменты в файлах
+ подтягивайтесь для доработок
в первую очередь хотелось бы разобарться с залочиванием перса в базе
Вобщем буду переделывать под обработку эвентов + добавлю управление белым/черным списком из админки с автокиком в случае внесения УИДа
ручками вроде получилось
Буду автоматизировать
Обновленный вариант
Server_WhiteList_Class.c