/* 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();
}
}
}
}
kai to evala sto pack alla otan kaneis login den s vgazei tpt .. prepei na mpeis apo ena pc kai meta apo ena allo gia na s vgalei to mynhma..ginete na tou kanoume akwma kai an einai h idia ip na to dixnei?
Siege Reward
Start PM Msg
Rework Config root
BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards.
Improves character creation logic for thread safety and validation.
Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states.
Fixed auto-attack animation bug (there was no attack animation, only damage animation)
Clean Code
Other fixes I forgot to list!
Java 14
Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character).
Added Premium System from the other C2 project (Needs testing and improvement).
Added the "Improved" Community Board (incomplete).
Question
maximilion2
Klhspera :) Vrhka auto:
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;and
ProtectionIP.java
/* 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(); } } } }kai to evala sto pack alla otan kaneis login den s vgazei tpt .. prepei na mpeis apo ena pc kai meta apo ena allo gia na s vgalei to mynhma..ginete na tou kanoume akwma kai an einai h idia ip na to dixnei?
16 answers to this question
Recommended Posts