- 0
[HELP] With a java code
-
Posts
-
⚔️ LINEAGE II KHADIA ⚔️ Interlude PTS (L2OFF) • Mid Rate PvP • Custom Endgame Experience 🔥 NOT JUST ANOTHER SERVER — A REAL BATTLEFIELD 🔥 Welcome to L2Khadia, where classic Interlude meets competitive PvP and custom progression. No fake numbers, no empty promises — only action, economy, war and long-term gameplay. ━━━━━━━━━━━━━━━━━━━━━━ 📊 SERVER RATES EXP: x100 SP: x150 Adena: x300 Spoil: x15 ━━━━━━━━━━━━━━━━━━━━━━ ⚔️ WHY KHADIA? ✔ Original Interlude Mechanics & Formulas ✔ Mid Rate PvP Balance ✔ Real Clan Wars / Sieges / Olympiad ✔ Stable & Fair Economy ✔ Active Staff Team ✔ Long-Term Project Vision ━━━━━━━━━━━━━━━━━━━━━━ 🗡️ KHADIA CUSTOM CONTENT 🔥 Khadia Weapons – Unique power & visuals 🛡 Khadia Armor – Raid Boss drops & crafting 🧥 Khadia Cloaks – Endgame progression items 💎 Designed for competitive PvP ━━━━━━━━━━━━━━━━━━━━━━ 🎁 REWARD SYSTEMS 🏆 PvP / PK Reward System 📦 Daily PvP Reward Package 👑 Raid Package from Boss Extract Rewards 🗳 Vote Reward System 📈 Rankings: PvP / PK / Clans / Castles ━━━━━━━━━━━━━━━━━━━━━━ 💎 VIP FEATURES ✔ VIP Buff Coin ✔ Nick / Title Colors ✔ Special VIP Chat ( ^ Key ) ✔ Exclusive VIP Benefits ━━━━━━━━━━━━━━━━━━━━━━ 🎮 QUALITY OF LIFE ✔ Auto Loot for Farm ✔ Auto Loot Disabled for Raid Boss ✔ Offline Shop System ✔ Remote Buff Coin ✔ RaidBoss Status NPC ✔ PvP / PK Ranking NPC ━━━━━━━━━━━━━━━━━━━━━━ 🌍 FARM ZONES • Elven Fortress [80] – Medium • Cave of Trials [80+] – Party Hard • Monastery of Silence [80] – Medium • PvP Zones Around Raid Bosses ━━━━━━━━━━━━━━━━━━━━━━ 🏰 CLAN & SIEGE SYSTEM ✔ Full Interlude Clan System ✔ Max Clan Level 8 + Clan Skills ✔ Max 3 Clans per Alliance ✔ No Kick / Leave Penalty ✔ Weekly Castle Sieges ━━━━━━━━━━━━━━━━━━━━━━ 🚀 JOIN NOW – START YOUR LEGEND 🚀 🌐 Website: www.l2khadia.com 💬 Discord: https://discord.gg/DnZrgWn77n ━━━━━━━━━━━━━━━━━━━━━━ No Pay To Win • Fair Gameplay • Real PvP • Custom Endgame Content We Wish you the best game !
-
This is a bump: https://databay.com/
-
First of all, he doesn’t even know English. He needs to learn it first.
-
Which copies are you talking about? Hahaha, stop crying, everyone knows you're a copy-paste, you can't even program "hello world".
-
By Banshee Garnet · Posted
Imagine if gustavo cuts cocaine and skylord stops flaming him and this two motherfuckers work together, they can do very good stuff... But.. yeah
-
-
Topics

Question
VaGGPD
Index: java/com/l2jserver/gameserver/GameServer.java =================================================================== --- java/com/l2jserver/gameserver/GameServer.java (revision 3751) +++ java/com/l2jserver/gameserver/GameServer.java (working copy) @@ -125,6 +125,7 @@ import com.l2jserver.gameserver.util.DynamicExtension; import com.l2jserver.status.Status; import com.l2jserver.util.DeadLockDetector; +import com.l2jserver.util.IPv4Filter; /** * This class ... @@ -437,7 +438,7 @@ sc.HELPER_BUFFER_COUNT = Config.MMO_HELPER_BUFFER_COUNT; final L2GamePacketHandler gph = new L2GamePacketHandler(); - _selectorThread = new SelectorThread<L2GameClient>(sc, gph, gph, gph, null); + _selectorThread = new SelectorThread<L2GameClient>(sc, gph, gph, gph, new IPv4Filter()); InetAddress bindAddress = null; if (!Config.GAMESERVER_HOSTNAME.equals("*")) Index: java/com/l2jserver/loginserver/SelectorHelper.java =================================================================== --- java/com/l2jserver/loginserver/SelectorHelper.java (revision 3751) +++ java/com/l2jserver/loginserver/SelectorHelper.java (working copy) @@ -12,11 +12,7 @@ */ package com.l2jserver.loginserver; -import java.net.InetAddress; import java.nio.channels.SocketChannel; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map.Entry; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -29,23 +25,22 @@ import org.mmocore.network.ReceivablePacket; import com.l2jserver.loginserver.serverpackets.Init; +import com.l2jserver.util.IPv4Filter; /** * * @author KenM */ -public class SelectorHelper extends Thread implements IMMOExecutor<L2LoginClient>, +public class SelectorHelper implements IMMOExecutor<L2LoginClient>, IClientFactory<L2LoginClient>, IAcceptFilter { - private HashMap<Integer, Flood> _ipFloodMap; private ThreadPoolExecutor _generalPacketsThreadPool; + private IPv4Filter _ipv4filter; public SelectorHelper() { _generalPacketsThreadPool = new ThreadPoolExecutor(4, 6, 15L, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>()); - _ipFloodMap = new HashMap<Integer, Flood>(); - super.setDaemon(true); - super.start(); + _ipv4filter = new IPv4Filter(); } /** @@ -74,110 +69,6 @@ */ public boolean accept(SocketChannel sc) { - InetAddress addr = sc.socket().getInetAddress(); - int h = hash(addr.getAddress()); - - long current = System.currentTimeMillis(); - Flood f; - synchronized (_ipFloodMap) - { - f = _ipFloodMap.get(h); - } - if (f != null) - { - if (f.trys == -1) - { - f.lastAccess = current; - return false; - } - if (f.lastAccess + 1000 > current) - { - f.lastAccess = current; - - if (f.trys >= 3) - { - f.trys = -1; - return false; - } - - f.trys++; - } - else - { - f.lastAccess = current; - } - } - else - { - synchronized (_ipFloodMap) - { - _ipFloodMap.put(h, new Flood()); - } - } - return !LoginController.getInstance().isBannedAddress(addr); - } - - /** - * - * @param ip - * @return - */ - private int hash(byte[] ip) - { - return ip[0] & 0xFF | ip[1] << 8 & 0xFF00 | ip[2] << 16 & 0xFF0000 | ip[3] << 24 - & 0xFF000000; - } - - private class Flood - { - long lastAccess; - int trys; - - Flood() - { - lastAccess = System.currentTimeMillis(); - trys = 0; - } - } - - /** - * - * @see java.lang.Thread#run() - */ - @Override - public void run() - { - while (true) - { - long reference = System.currentTimeMillis() - (1000 * 300); - ArrayList<Integer> toRemove = new ArrayList<Integer>(50); - synchronized (_ipFloodMap) - { - for (Entry<Integer, Flood> e : _ipFloodMap.entrySet()) - { - Flood f = e.getValue(); - if (f.lastAccess < reference) - toRemove.add(e.getKey()); - } - } - - synchronized (_ipFloodMap) - { - for (Integer i : toRemove) - { - _ipFloodMap.remove(i); - } - } - - try - { - Thread.sleep(5000); - } - catch (InterruptedException e) - { - - - } - } + return _ipv4filter.accept(sc) && !LoginController.getInstance().isBannedAddress(sc.socket().getInetAddress()); } } Index: java/com/l2jserver/util/IPv4Filter.java =================================================================== --- java/com/l2jserver/util/IPv4Filter.java (revision 0) +++ java/com/l2jserver/util/IPv4Filter.java (revision 0) @@ -0,0 +1,151 @@ +/* + * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>. + */ + +package com.l2jserver.util; + +import java.net.InetAddress; +import java.nio.channels.SocketChannel; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map.Entry; + +import org.mmocore.network.IAcceptFilter; + +/** + * Formatted Forsaiken's IPv4 filter [DrHouse] + * + * @author Forsaiken + * + */ +public class IPv4Filter implements IAcceptFilter, Runnable +{ + private HashMap<Integer, Flood> _ipFloodMap; + private final long SLEEP_TIME = 5000; + + public IPv4Filter() + { + _ipFloodMap = new HashMap<Integer, Flood>(); + Thread t = new Thread(this); + t.setDaemon(true); + t.start(); + } + /** + * + * @param ip + * @return + */ + private static final int hash(byte[] ip) + { + return ip[0] & 0xFF | ip[1] << 8 & 0xFF00 | ip[2] << 16 & 0xFF0000 | ip[3] << 24 & 0xFF000000; + } + + protected static final class Flood + { + long lastAccess; + int trys; + + Flood() + { + lastAccess = System.currentTimeMillis(); + trys = 0; + } + } + + @Override + public boolean accept(SocketChannel sc) + { + InetAddress addr = sc.socket().getInetAddress(); + int h = hash(addr.getAddress()); + + long current = System.currentTimeMillis(); + Flood f; + synchronized (_ipFloodMap) + { + f = _ipFloodMap.get(h); + } + if (f != null) + { + if (f.trys == -1) + { + f.lastAccess = current; + return false; + } + + if (f.lastAccess + 1000 > current) + { + f.lastAccess = current; + + if (f.trys >= 3) + { + f.trys = -1; + return false; + } + + f.trys++; + } + else + { + f.lastAccess = current; + } + } + else + { + synchronized (_ipFloodMap) + { + _ipFloodMap.put(h, new Flood()); + } + } + + @Override + public void run() + { + while (true) + { + long reference = System.currentTimeMillis() - (1000 * 300); + ArrayList<Integer> toRemove = new ArrayList<Integer>(50); + + synchronized (_ipFloodMap) + { + for (Entry<Integer, Flood> e : _ipFloodMap.entrySet()) + { + Flood f = e.getValue(); + if (f.lastAccess < reference) + toRemove.add(e.getKey()); + } + } + synchronized (_ipFloodMap) + { + for (Integer i : toRemove) + { + _ipFloodMap.remove(i); + } + } + + try + { + Thread.sleep(SLEEP_TIME); + } + catch (InterruptedException e) + { + + } + } + } + +} \ No newline at end of fileI put it correct no errors on java but i try to log in i log in and when i reach the name of server i press ok to log in and nothing happened.Did anyone know how to fix it or how i can modified it to enter? Is for security.
//Off sory for bad english.
Thanks.
4 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now