Jumper 551 Опубликовано 28 августа, 2012 (изменено) 1. Заходим gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\EnterWorld.java 2. Открываем и перед строками // 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); } } Если же потом в дальнейшей компиляции у вас будет жаловаться на IllegalPlayerAction то это легко поправимо ставим вот такой вариант кода // Защита От Нелегальных Гмов 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.ini и выглядит он так # Как карать игрока за нелегальные дейтсвия? # 1 - Сообщить ГМу # 2 - Кикнуть из игры # 3 - Кикнуть и забанить # 4 - Посадить в тюрьму (0 на бесконечно, 300 на 5 минут) DefaultPunish = 2 С этим мы разобрались! 3. Идем дальше 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. Добавляем в конфиг сервера access.properties # Включить/Выключить защиту от нелегальных гмов EnableGMList = False # Защита от нелегальных гмов # все гмы имеющие ники не внесеные в этот список будут забанены # внимание! указываем без пробелов и запятой в конце ListGmName = DoctorQ,Jumper Вот и всё, тестим, делимся свои впечатлениями! Также хочу сказать, если у вас ядро не поддерживает наш родной русский язык, то замените в коде все русские слова, использую переводчик, иначе будут проблемы при компиляции Изменено 4 сентября, 2012 пользователем Wonder 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
aWeTon 11 Опубликовано 28 августа, 2012 1.Заходим gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\EnterWorld.java 2.Открываем и перед строками // 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); } } Сохраням 3. Далее Открываем gameserver\head-src\com\l2jfrozen\Config.java Ищем такую строчку 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<String>(); for (String name : GM_NAME.split(",")) { LIST_GM_NAME.add(name); } Сохраняем 4. Добавляем в конфиг сервера access.properties # Включить/Выключить защиту от нелегальных гмов EnableGMList = False # Защита от нелегальных гмов # все гмы имеющие ники не внесеные в этот список будут забанены # внимание! указываем без пробелов и запятой в конце ListGmName = DoctorQ,Jumper Все готово, радуемся) ОЧень полезно спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jumper 551 Опубликовано 28 августа, 2012 ОЧень полезно спасибо только начал в ядре лазить, может еще что выдерну) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BlackDream 321 Опубликовано 28 августа, 2012 Лови + Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
genokk22 174 Опубликовано 28 августа, 2012 Полезно +. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mrvampir 66 Опубликовано 28 августа, 2012 а такую фигню мона сделать что не ник чара,а ИД чара? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jumper 551 Опубликовано 28 августа, 2012 а такую фигню мона сделать что не ник чара,а ИД чара? зачем вам ид) принцип работы такой, заходит игрок с правами админа под ник 2425(например), но его нету в списке этом, его автоматом банит сразу, навечно) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jumper 551 Опубликовано 28 августа, 2012 Упустил момент Администрация исправьте исправьте 3 пункт на это 3. Далее Открываем gameserver\head-src\com\l2jfrozen\Config.java Ищем такую строчку public static int MASTERACCESS_TITLE_COLOR После нее добавляем // Защита от нелегальных гмов public static boolean ENABLE_GM_LIST; public static String GM_NAME; public static List<String> LIST_GM_NAME = new FastList<String>(); Далее Ищем такую строчку 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<String>(); for (String name : GM_NAME.split(",")) { LIST_GM_NAME.add(name); } Сохраняем Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jumper 551 Опубликовано 4 сентября, 2012 проработал, пост изменил) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jumper 551 Опубликовано 12 сентября, 2012 Столько бреда в коде я давно не видел. Jumper, каков смысл публикавать подобное не понимая принципов языка не котором оно написано? я смотрю вы профи у нас, так предъявите свои творения, не надо оскорблять труд других Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
kick 129 Опубликовано 12 сентября, 2012 (изменено) только начал в ядре лазить, может еще что выдерну) Fr3d ты читать умеешь? У тебя со зрением нормально? зачем так критично относится к человеку Изменено 12 сентября, 2012 пользователем kick Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Durky 3 Опубликовано 17 сентября, 2012 Столько бреда в коде я давно не видел. Jumper, каков смысл публикавать подобное не понимая принципов языка не котором оно написано? Умей уважать других и их труд! Ибо ты .... Если почитать то все понятно тут... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xblx 8 Опубликовано 2 января, 2013 (изменено) есть несколько неточностей + лучше использовать Id, т.к. equals у стрингов регистрозависимый: пропишите ник с маленькой буквы и будет ваш гм в бане сидеть. Нет смысла хранить стрингу GM_NAME в статик переменной, она у вас должна создаваться в момент парсинга конфига и потом собираться мусорщиком. Вроде как handleIllegalPlayerAction умеет банить игрока при передаче правильного параметра наказания. Проверку на активность системы можно совместить с проверкой на гм, хотя компилятор сделает это за вас. Советую не использовать FastList - ArrayList будет попроще, и + вы определяете его 2 раза и первый раз без указания типа. Изменено 2 января, 2013 пользователем xblx Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Azik 0 Опубликовано 29 марта, 2013 Код кривой до ужаса. Пришлось переписывать. В любом случае спасибо за идею реализации. P.S. EnterWorld.java не самое подходящее место для проверки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты