Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (revision 869)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (working copy)
@@ -98,6 +98,7 @@
import com.l2jfrozen.gameserver.thread.TaskPriority;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import com.l2jfrozen.gameserver.util.Util;
+import com.l2jfrozen.gameserver.model.entity.ProtectionIP;
/**
* Enter World Packet Handler
@@ -443,6 +444,7 @@
}
RegionBBSManager.getInstance().changeCommunityBoard();
+ ProtectionIP.onEnterWorld(activeChar);
CustomWorldHandler.getInstance().enterWorld(activeChar);
if(TvT._savePlayers.contains(activeChar.getName()))
Index: head-src/com/l2jfrozen/loginserver/LoginController.java
===================================================================
--- head-src/com/l2jfrozen/loginserver/LoginController.java (revision 869)
+++ head-src/com/l2jfrozen/loginserver/LoginController.java (working copy)
@@ -750,10 +750,9 @@
{
client.setAccessLevel(access);
client.setLastServer(lastServer);
- statement = con.prepareStatement("UPDATE accounts SET lastactive=?, lastIP=? WHERE login=?");
+ statement = con.prepareStatement("UPDATE accounts SET lastactive=? WHERE login=?");
statement.setLong(1, System.currentTimeMillis());
- statement.setString(2, address.getHostAddress());
- statement.setString(3, user);
+ statement.setString(2, user);
statement.execute();
statement.close();
statement = null;
pane edw head-src\com\l2jfrozen\gameserver\model\entity
kai ftiakse ena arxeio me onoma ProtectionIP
/* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.model.entity;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.l2jfrozen.util.database.L2DatabaseFactory;
import com.l2jfrozen.gameserver.network.clientpackets.Say2;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
/**
*
* @author xAddytzu
*/
public class ProtectionIP
{
public static void onEnterWorld(L2PcInstance player)
{
String last = "";
String curr = "";
try
{
last = LastIP(player);
curr = player.getClient().getConnection().getInetAddress().getHostAddress();
}
catch (Exception e)
{
}
if (!last.equals(curr))
player.sendPacket(new CreatureSay(1, Say2.PARTY, "SYSTEM", "Your last ip was: "+last+" and current: "+curr));
UpdateLastIP(player, player.getAccountName());
}
public static String LastIP(L2PcInstance player)
{
String lastIp = "";
java.sql.Connection con = null;
try
{
ResultSet rset;
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("SELECT * FROM `accounts` WHERE login = ?");
statement.setString(1, player.getAccountName());
rset = statement.executeQuery();
while(rset.next())
{
lastIp = rset.getString("lastIP");
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
return lastIp;
}
public static void UpdateLastIP(L2PcInstance player ,String user)
{
String address = player.getClient().getConnection().getInetAddress().getHostAddress();
java.sql.Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("UPDATE accounts SET lastIP=? WHERE login=?");
statement.setString(1, address);
statement.setString(2, user);
statement.execute();
statement.close();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}