Esse e o erro completo
O arquivo funciona normal so que fica dando esse erro cada vez que eu entro no game (E um jogo) e a cada alguns segundos se a proteção que isso e uma proteção estiver desativada nao da o erro
java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.l2jdesire.crypt.nProtect.sendGameGuardQuery(nProtect.java:141)
at com.l2jdesire.gameserver.network.serverpackets.GameGuardQuery.writeIm
pl(GameGuardQuery.java:48)
at com.l2jdesire.gameserver.network.serverpackets.L2GameServerPacket.wri
te(L2GameServerPacket.java:42)
at com.l2jdesire.netcore.SelectorThread.putPacketIntoWriteBuffer(Selecto
rThread.java:627)
at com.l2jdesire.netcore.SelectorThread.prepareWriteBuffer(SelectorThrea
d.java:599)
at com.l2jdesire.netcore.SelectorThread.writePacket(SelectorThread.java:
515)
at com.l2jdesire.netcore.SelectorThread.run(SelectorThread.java:182)
esse e o meu codigo
package com.l2jdesire.protection.bin;
import java.util.Map;
import javolution.util.FastMap;
import com.l2jdesire.gameserver.model.actor.instance.L2PcInstance.PunishLevel;
import com.l2jdesire.gameserver.model.entity.Announcements;
import com.l2jdesire.gameserver.network.Disconnection;
import com.l2jdesire.gameserver.network.L2GameClient;
import com.l2jdesire.gameserver.network.serverpackets.GameGuardQuery;
import com.l2jdesire.gameserver.network.serverpackets.LeaveWorld;
import com.l2jdesire.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jdesire.gameserver.thread.LoginServerThread;
import com.l2jdesire.gameserver.thread.ThreadPoolManager;
import java.util.logging.Logger;
import com.l2jdesire.protection.ProtectConfig;
public class GameGuardManager {
private static final Logger _log = Logger.getLogger("ProtectSystem");
private static GameGuardManager _instance = null;
private Map<Integer,Integer> _sessions;
public static GameGuardManager getInstance() throws Exception {
if(_instance==null)
_instance = new GameGuardManager();
return _instance;
}
@SuppressWarnings("unused")
private GameGuardManager() throws Exception {
_sessions = new FastMap<Integer, Integer>();
_log.info("ProtectSystem: GameGuard manager...initialized");
}
public static void sendRequest(L2GameClient cl) {
cl.sendPacket(new GameGuardQuery());
}
public static boolean checkGameGuardQuery(L2GameClient cl, int [] reply) {
try {
if((reply[3] & 0x4) == 4 ) {
if(ProtectConfig.ANNOUNCE_HACK_ATTEMPT && cl.getActiveChar()!=null)
Announcements.getInstance().announceToAll("Player "+cl.getActiveChar().getName()+" tentativas nao autorizadas de usar o programa!");
if (ProtectConfig.ON_HACK_ATTEMPT.startsWith("jail") && cl.getActiveChar()!=null)
{
Announcements.getInstance().announceToAll("Para isso, ele foi enviado para batizar.");
cl.getActiveChar().setPunishLevel(PunishLevel.JAIL, 9999);
}
else if (ProtectConfig.ON_HACK_ATTEMPT.startsWith("ban") )
{
Announcements.getInstance().announceToAll("Para isso, ele recebeu a oportunidade de se familiarizar com o Antharas");
LoginServerThread.getInstance().sendAccessLevel(cl.getAccountName(),0);
cl.close(new LeaveWorld());
} else
cl.close(new LeaveWorld());
_log.warning("ProtectSystem: "+cl+" hacking attempt!!");
return false;
}
reply[3] = reply[3] & 0xFFFFFF00;
cl.getSessionId().clientKey = reply[0];
if(ProtectConfig.NPROTECT_KEY != reply[3]) {
if(ProtectConfig.LOG_INVALID_LOGONS)
{
if(ProtectConfig.ANNOUNCE_NON_PROTECT && cl.getActiveChar()!=null)
{
Announcements.getInstance().announceToAll("Игрок "+cl.getActiveChar().getName()+" tentando entrar no jogo com um software rachado");
}
_log.warning("ProtectSystem: "+cl+" logged in with invalid server key");
}
NpcHtmlMessage msg = new NpcHtmlMessage(5,"<html><body><center><br><br> No seu computador nao esta definido <br><font color=\"LEVEL\">Full Team Protective System</font></center></body></html>");
cl.sendPacket(msg);
ThreadPoolManager.getInstance().scheduleGeneral(new Disconnection(cl.getActiveChar()), 30000);
return false;
}
return true;
} catch(Exception e) {
return true;
}
}
public int startSession(int key) {
synchronized (_sessions) {
if(_sessions.get(key)==null)
_sessions.put(key,0);
_sessions.put(key,_sessions.get(key)+1);
}
return _sessions.get(key);
}
public static void closeSession(L2GameClient cl) {
try {
getInstance().closeSession(cl.getSessionId().clientKey);
} catch(Exception e) {
}
}
public void closeSession(int key) {
synchronized (_sessions) {
if(_sessions.get(key)==null)
_sessions.put(key,0);
else if(_sessions.get(key)>0) {
_sessions.put(key,_sessions.get(key)-1);
_log.info("ProtectSystem: Session "+String.format("%X",key)+" closed");
}
}
}
}