Deferato 1 Опубликовано 16 сентября, 2011 Действовал по мануалу и проявила ошибка при компилирование Вот ошибки Eclipsa [javac] Compiling 800 source files to C:\Games\GameServer\build\classes [javac] C:\Games\GameServer\head-src\com\l2jfrozen\gameserver\model\entity\ProtectionIP.java:41: cannot find symbol [javac] symbol : method getSocketChannel() [javac] location: class com.l2jfrozen.netcore.MMOConnection<com.l2jfrozen.gameserver.network.L2GameClient> [javac] curr = player.getClient().getConnection().getSocketChannel().socket().getInetAddress(). getHostAddress(); [javac] ^ [javac] C:\Games\GameServer\head-src\com\l2jfrozen\gameserver\model\entity\ProtectionIP.java:88: cannot find symbol [javac] symbol : method getSocketChannel() [javac] location: class com.l2jfrozen.netcore.MMOConnection<com.l2jfrozen.gameserver.network.L2GameClient> [javac] String address = player.getClient().getConnection().getSocketChannel().socket().getInetAddress(). getHostAddress(); [javac] ^ [javac] 2 errors Вот код 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().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(); } } } } Вот сам мануал Скрытый текст Описание: Предотвращая кражу аккаунта, вы можете поставить на своем Java сервере Lineage 2 систему, которая будет оповещать, с какого IP вы сидите сейчас и какой IP адрес входил на ваш аккаунт до этого. (Требуются Исходники!) Платформа: Java Index: EnterWorld.java import net.sf.l2j.gameserver.model.entity.Hero; import net.sf.l2j.gameserver.model.entity.L2Event; +import net.sf.l2j.gameserver.model.entity.ProtectionIP; @@ RegionBBSManager.getInstance().changeCommunityBoard(); +/** +* Custom stuff +*/ +ProtectionIP.onEnterWorld(activeChar); Index: LoginController.java if (ok) { 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(); } /* 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(); } } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deferato 1 Опубликовано 16 сентября, 2011 UP Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deferato 1 Опубликовано 16 сентября, 2011 помогите срочно надо на телефон вам даже денег кину Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты