Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Помогите с добавлением //banhwid
#1
Сборка Silentium (Исходы последней ревы) http://yadi.sk/d/t3LRpErx6eeot
Нужно добавить команду //banhwid
Сутки проковырялся, безуспешно, компилятор показывает ошибки.
Основа: посмотрел на исходниках люцеры как там реализовано. Там отдельный класс CatsGuardHandler.java
Пробывал прикрутить:
1. Поменял импорты - неудачно. Некоторых нужных классов нету, а создать их без ошибок не получилось(
2. Попробывал вырезать оттуда код отвечающий за banhwid и прикрутить его по аналогии в копию AdminCache.java - неудачно. И то я пробывал сделать только 20% реализации этой команды.
Код:
package silentium.scripts.handlers.admin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import silentium.commons.database.DatabaseFactory;
import silentium.gameserver.handlers.IAdminCommandHandler;
import silentium.gameserver.model.actor.instance.L2PcInstance;
import silentium.gameserver.network.clientpackets.Say2;
public class AdminBanHwid implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS =
{
"admin_hwidban"
};

@Override
public String[] getAdminCommandList()
{
return ADMIN_COMMANDS;
}

@Override
/* public void runCommand(L2PcInstance admin, String... params) {
String command = params[0]; */
public boolean useAdminCommand(String... params, L2PcInstance admin) {
String command = params[0];
if (command.startsWith("hwidban")) {
String hwid=null;
if (params.length==1) {
if(admin.getTarget() instanceof L2PcInstance)
     hwid = ((L2PcInstance)admin.getTarget()).getHWid();
}
/* else {
hwid = L2Utils.getHwId(params[1]);
}
if(hwid!=null) {
try {
//     Integer.parseInt(hwid,16);
     CatsGuard.getInstance().ban(hwid);
     for(L2PcInstance pc : L2World.getInstance().getAllPlayers()) {
     if(pc.getHWid()!=null && pc.getHWid().equals(hwid) && !gmCache.getInstance().isGm(pc.getObjectId()))
     new Disconnection(pc).defaultSequence(false);
     }
     admin.sendMessage("HWID "+hwid+" забанен");
} catch(NumberFormatException e) {
     admin.sendMessage("Нет такого игрока "+params[1]);
}

}
runCommand(admin, new String[] {"hwidbanned"});
}### */

return true;
}
}
}
3. Пробывал из CatsGuard.java вытянуть бан при обнаружении hack софта. И вставить по аналогии в копию AdminCache.java
Код:
if (ProtectionProperties.ON_HACK_ATTEMP.equals("hwidban") && (cl.getHWid() != null))
{
ban(cl.getHWid());
}
Получилась - неудача.
Код:
package silentium.scripts.handlers.admin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import silentium.commons.database.DatabaseFactory;
import silentium.gameserver.handlers.IAdminCommandHandler;
import silentium.gameserver.model.actor.instance.L2PcInstance;
import silentium.protection.CatsGuard;
import silentium.gameserver.network.clientpackets.Say2;
private class AdminBanHwid implements IAdminCommandHandler
{
@Override
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
if (command.startsWith("hwidban"))
{
ban(activeChar.getTarget().getHWid());
}
}
}
Исходник CatsGuardHandler из люцеры:
http://pastebin.com/DDE0xU0T
Исходник CatsGuard из силентиума:
http://pastebin.com/EmZNcfKp
Укажите пожалуйста на то, как нужно прикручивать. Всем заранее спасибо.
Ответ
#2
Явно что то не докрутил с такой защитой дел не имел вообще ССР либо ЛГ то да.......
Smile
Ответ
#3
Mangol Написал:Явно что то не докрутил с такой защитой дел не имел вообще ССР либо ЛГ то да.......
Это да, я изучаю яву путем сравнений, но тут мало этого, не знаю как обратится к методам из других классов (если метод это public/private ...)
Ответ
#4
откройте дифф и перенесите себе http://rghost.ru/47691692
Ответ
#5
mar4ello24 Написал:откройте дифф и перенесите себе http://rghost.ru/47691692
Там нету хандлеров, а следовательно команды //banhwid . Сама защита у меня работает.
Ответ
#6
fenixjob Написал:Это да, я изучаю яву путем сравнений, но тут мало этого, не знаю как обратится к методам из других классов (если метод это public/private ...)
Советую погуглить и почитать хоть какуето литературу чтобы знать хоть какое то представление.
Smile
Ответ
#7
так посмотрите как это реализовано в rguard

Добавлено через 10 минут
кстати в люсе тоже есть, не понимаю от куда вы пилите воопше
Ответ
#8
mar4ello24 Написал:так посмотрите как это реализовано в rguard

Добавлено через 10 минут
кстати в люсе тоже есть, не понимаю от куда вы пилите воопше
Хм, если вы прочитали мой первым пост
Цитата:Основа: посмотрел на исходниках люцеры как там реализовано.
Я оттуда и пилил.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Помогите с Сервером L2Dream версии 439 для Lineage 2 Gracia Part 2 CAHTEX 4 3,379 10-01-2021, 02:40 PM
Последний пост: tenor
  Помогите выбрать! denisgreen11 3 1,408 09-25-2021, 05:13 PM
Последний пост: zmeylsdn
  Помогите. IIpu3pak 2 1,365 05-10-2021, 12:43 PM
Последний пост: Lord_Gothic
  Помогите voland3 8 5,315 01-30-2021, 10:54 AM
Последний пост: han
  Уважаемые Гуру помогите ! Klvl 46 11,290 06-20-2020, 08:02 PM
Последний пост: Klvl
  Ребята помогите с настройкой сервера la2 Heon 11 2,838 04-15-2020, 10:36 PM
Последний пост: Shady
  Помогите с ошибкой ГС при запуске pustota312 1 1,298 04-15-2020, 11:27 AM
Последний пост: Tiger7th
  помогите понять в чем дело. nexami 1 1,806 11-14-2019, 01:30 AM
Последний пост: nexami
  Помогите с сервером не могу запустить Lalak 4 3,030 10-13-2018, 10:23 PM
Последний пост: Kampina
  Ребята помогите с ошибкой умоляю) Lackyjack 2 1,685 04-19-2018, 12:52 PM
Последний пост: Daan Raven

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)