Перейти к содержанию
Авторизация  

Защита От Нелегальных ГМов


Описание

защищаем свой сервер от лжецов

thumb_pre_1346947795__aj_padlock.png

 

И так, расскажу вам дорогие пользователи, как защитить свой сервер от самозванцев, так называемых нелегальных ГМов

 

1. Откроем EnterWorld.java, путь к нему можно увидеть ниже

 

gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\EnterWorld.java

 

 

2. Открываем его и ищем следующие строки, и в этом нам поможет поиск CTRL+F

 

// Restores custom status
activeChar.restoreCustomStatus();

 

- После того как вы нашли данные строки, после них вставляем наш код проверки

 

// Защита От Нелегальных Гмов
if (Config.ENABLE_GM_LIST)
{
if((activeChar.isGM()) && !(Config.LIST_GM_NAME.contains(activeChar.getName())))
{
activeChar.setAccessLevel(-100);
Util.handleIllegalPlayerAction(activeChar,"Игрок" + activeChar.getName() + " получил БАН! ", IllegalPlayerAction.PUNISH_KICKBAN);
}
}

 

- В коде идет проверка всех входящих игроков с Access правами, то есть с правами ГеймМастера, проверка ссылается на конфиг LIST_GM_NAME, в котором будут вписаны ники всех ГМов

- При разборе кода, заметил, что на фрозенах есть некие проблемы с компиляцией и одна из них это:

 

IllegalPlayerAction

 

- При компиляции идет жалоба на данную часть кода, но нашел выход, заменяем в коде:

 

IllegalPlayerAction.PUNISH_KICKBAN

 

- На вот такое:

 

Config.DEFAULT_PUNISH

 

- И получаем вот такое код в целом:

 

// Защита От Нелегальных Гмов
if (Config.ENABLE_GM_LIST)
{
if((activeChar.isGM()) && !(Config.LIST_GM_NAME.contains(activeChar.getName())))
{
activeChar.setAccessLevel(-100);
Util.handleIllegalPlayerAction(activeChar,"Игрок" + activeChar.getName() + " получил БАН! ", Config.DEFAULT_PUNISH);
}
}

 

- Но при таком раскладе теперь наша проверка ссылается на Config.DEFAULT_PUNISH

- Этот конфиг вшит уже во всех сборках, и действует он как наказание

- Его можно настроить в кофиги options.properties и выглядит он так:

 

# Как карать игрока за нелегальные дейтсвия?
# 1 - Сообщить ГМу
# 2 - Кикнуть из игры
# 3 - Кикнуть и забанить
# 4 - Посадить в тюрьму (0 на бесконечно, 300 на 5 минут)
DefaultPunish = 2

 

- Советую вам выбрать 3 пункт, так как иначе при других вариантах самозванец продолжить свои злодеяния на вашем сервере

- И следуя совету мы ставим так:

 

DefaultPunish = 3

 

Здесь мы всё решили, переходим к 3 части!

 

3. Откроем Config.java, путь к нему можно увидеть ниже

gameserver\head-src\com\l2jfrozen\Config.java

 

- Итак мы открыли

 

Config.java

 

- Используем поиск CTRL+F и ищем следщую строчку

 

public static int MASTERACCESS_LEVEL;

 

- И после нее вставляем

 

// Защита от нелегальных гмов
public static boolean ENABLE_GM_LIST;
public static String GM_NAME;
public static List LIST_GM_NAME = new FastList();

 

- Дальше используем еще раз поиск и ищем такую строчку

 

USERACCESS_LEVEL = Integer.parseInt(AccessSettings.getProperty("UserAccessLevel", "0"));

 

- И ставим после нее

 

// Защита от нелегальных гмов
ENABLE_GM_LIST = Boolean.parseBoolean(AccessSettings.getProperty("EnableGMList", "False"));
GM_NAME = AccessSettings.getProperty("ListGmName", "DoctorQ");
LIST_GM_NAME = new FastList();
for (String name : GM_NAME.split(","))
{
LIST_GM_NAME.add(name);
}

 

- В данный части, мы выносим настройки нашего кода, в конфиги сервера, чтобы в дальнейшем управлять всеми действиями Защиты от нелегальных ГМов

- После успешных действие переходим к 4 части!

 

4. Добавляем в конфиг сервера access.properties

 

# Включить/Выключить защиту от нелегальных гмов
EnableGMList = False
# Защита от нелегальных гмов
# все гмы имеющие ники не внесеные в этот список будут забанены
# внимание! указываем без пробелов и запятой в конце
ListGmName = DoctorQ,Jumper

 

- Здесь думаю объяснять ничего не стоит, все написанно по русски и разобраться не сложно даже новичку

 

Вот и всё, тестим, делимся своими впечатлениями!

 

Также хочу сказать, если у вас ядро не поддерживает наш родной русский язык, то замените в коде все русские слова, используя переводчик, иначе будут проблемы при компиляции!



Рекомендуемые комментарии

Комментариев нет

×
×
  • Создать...