Jump to content

Recommended Posts

Posted

Index ?

/* 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 net.sf.l2j.gameserver.model.entity;

 

import java.sql.PreparedStatement;

import java.sql.ResultSet;

 

import net.sf.l2j.L2DatabaseFactory;

import net.sf.l2j.gameserver.clientpackets.Say2;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.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().getSocketChannel().socket().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().getSocketChannel().socket().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();

}

}

}

}

  • 2 weeks later...
Posted

well... the point of all this ? ...

 

For example if the user has dynamic ip .... how would he know if his account was stolen ? or used by another person.... he would be confused anyway because he will see different ip's ... heh nvm xD talking to much :)

 

But regards the coding :) well done ^ ^ :)

Posted

Did everything exactly like you, but flying bug: ( Where could I go wrong?

 

    [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:42: cannot find symbol
    [javac] 			curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress();
    [javac] 			                                         ^
    [javac]   symbol:   method getSocketChannel()
    [javac]   location: class MMOConnection<L2GameClient>
    [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:89: cannot find symbol
    [javac] 		String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress();
    [javac] 		                                                   ^
    [javac]   symbol:   method getSocketChannel()
    [javac]   location: class MMOConnection<L2GameClient>
    [javac] 2 errors

Posted

Did everything exactly like you, but flying bug: ( Where could I go wrong?

 

    [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:42: cannot find symbol
    [javac] 			curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress();
    [javac] 			                                         ^
    [javac]   symbol:   method getSocketChannel()
    [javac]   location: class MMOConnection<L2GameClient>
    [javac] D:\opensource\la2vt\la2vt-core\java\com\l2dc\gameserver\model\entity\ProtectionIP.java:89: cannot find symbol
    [javac] 		String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress().getHostAddress();
    [javac] 		                                                   ^
    [javac]   symbol:   method getSocketChannel()
    [javac]   location: class MMOConnection<L2GameClient>
    [javac] 2 errors

 

look this

 

 

package net.sf.l2j.gameserver.model.entity;

import java.sql.PreparedStatement;
import java.sql.ResultSet;

import net.sf.l2j.L2DatabaseFactory;
import net.sf.l2j.gameserver.clientpackets.Say2;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.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().getSocketChannel().socket().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().getSocketChannel().socket().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();
		}
	}
}
}

 

 

delete for this

 

/* 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
*/

and is ok :P

 

test for  l2j Interlude

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • [New Server] L2Aquila — Gracia Final x9300 No Wipe | Custom Farming Zones Hi all, Rolling a fresh Gracia Final x9300 server — stable core, dedicated box, no wipe, no close, 24/7. WHAT TO EXPECT • 9300x EXP / 3000x SP / 5500x Adena / Safe +3 / Max +25 • Custom Shop + Custom Farming Zones • Free Starter Pack with 20 Custom Coins • Accounts auto-created on first login — no registration • Olympiads, TvT, CTF, offline trading, buff shop LINKS • Website & downloads: https://l2aquila.com/downloads/ • Forum: https://l2aquila.com/forum/ • Discord: https://discord.gg/5ZyBRvG4k • Gameplay tour: https://youtu.be/5QS8qpDG_wc • Install guide: https://youtu.be/F_BfBeiof-s Happy to answer any questions here. Feedback welcome!
    • [New Server] L2Aquila — Gracia Final x9300 No Wipe | Custom Farming Zones Hi all, Rolling a fresh Gracia Final x9300 server — stable core, dedicated box, no wipe, no close, 24/7. WHAT TO EXPECT • 9300x EXP / 3000x SP / 5500x Adena / Safe +3 / Max +25 • Custom Shop + Custom Farming Zones • Free Starter Pack with 20 Custom Coins • Accounts auto-created on first login — no registration • Olympiads, TvT, CTF, offline trading, buff shop LINKS • Website & downloads: https://l2aquila.com/downloads/ • Forum: https://l2aquila.com/forum/ • Discord: https://discord.gg/5ZyBRvG4k • Gameplay tour: https://youtu.be/5QS8qpDG_wc • Install guide: https://youtu.be/F_BfBeiof-s Happy to answer any questions here. Feedback welcome!
    • Hey everyone! A few of us are currently brainstorming and designing a new Lineage 2 private server. Our goal is to capture that classic L2 atmosphere we all fell in love with back in the day, but with a modern, refined feel. We’re aiming for a community-driven, dynamic server where good PvP, meaningful progression, clan life, and that nostalgic L2 vibe take center stage—a place where it just feels good to log in and play. Instead of deciding everything on our own behind closed doors, we want to build something the community actually wants to play on. We’ve put together a short survey to gather your thoughts: What did you love most about older/classic servers? What burnout factors or mechanics are you tired of? What systems or QoL (quality of life) features would you like to see? What red flags make you avoid a server entirely? It only takes a few minutes to fill out, and every single response helps us shape the vision for this project. We can't promise every single idea will be implemented, but we promise to read and consider all of your feedback.   https://docs.google.com/forms/d/e/1FAIpQLScKXptLs9ci_y8PfSmfy9dr2iSvZ9KI9dF3qDaKeFgg9RAaMQ/viewform?pli=1   Thanks a lot for your time and help in bringing this project to life! Let us know your thoughts in the comments as well.
    • Standard Google accounts added in login:password format; aged 7–14 days on average after registration; high quality, manually registered!
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..