Thread: ipban disconect and connect

Results 1 to 6 of 6
  1. #1 ipban disconect and connect 
    Registered Member
    Join Date
    Feb 2013
    Posts
    34
    Thanks given
    1
    Thanks received
    0
    Rep Power
    11
    hey i realy need ur help,after he is ipaned get conection lost and he can play normal,i get his ip in ipban.txt
    Spoiler for ipban command:
    package server.model.players.command.impl;

    import server.Config;
    import server.Connection;
    import server.model.players.Client;
    import server.model.players.PlayerHandler;
    import server.model.players.command.Command;

    public class IpBanCommand implements Command {

    @Override
    public void execute(Client c, String command) {
    if (c.playerRights == 2 || c.playerRights == 3 || c.playerRights == 4) {
    try {
    String playerToBan = command.substring(6);
    for (int i = 0; i < Config.MAX_PLAYERS; i++) {
    if (PlayerHandler.getPlayers()[i] != null) {
    if (PlayerHandler.getPlayers()[i].playerName
    .equalsIgnoreCase(playerToBan)) {
    Connection.addIpToBanList(PlayerHandler
    .getPlayers()[i].connectedFrom);
    Connection
    .addIpToFile(PlayerHandler.getPlayers()[i].connectedFrom);
    c.sendMessage("You have IP banned the user: "
    + PlayerHandler.getPlayers()[i].playerName
    + " with the host: "
    + PlayerHandler.getPlayers()[i].connectedFrom);
    PlayerHandler.getPlayers()[i].disconnected = true;
    }
    }
    }
    } catch (Exception e) {
    c.sendMessage("Player Must Be Offline.");
    }
    }
    }

    }

    Code:
    	public boolean newPlayerClient(Client client1) {
    		int slot = -1;
    		for (int i = 1; i < Config.MAX_PLAYERS; i++) {
    			if ((getPlayers()[i] == null) || getPlayers()[i].disconnected) {
    				slot = i;
    				break;
    			}
    		}
    		if (slot == -1)
    			return false;
    		client1.handler = this;
    		client1.playerId = slot;
    		getPlayers()[slot] = client1;
    		players[slot].isActive = true;
    		players[slot].connectedFrom = ((InetSocketAddress) client1.getChannel().getRemoteAddress()).getAddress().getHostAddress();
    		if (Config.SERVER_DEBUG)
    			Misc.println("Player Slot " + slot + " slot 0 " + getPlayers()[0]
    					+ " Player Hit " + getPlayers()[slot]);
    		return true;
    	}
    Spoiler for conection.class:
    package server;

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;

    import server.model.players.Client;

    /**
    * Connection Check Class
    *
    * @author Ryan / Lmctruck30
    *
    */

    public class Connection {

    public static ArrayList<String> bannedIps = new ArrayList<String>();
    public static ArrayList<String> bannedNames = new ArrayList<String>();
    public static ArrayList<String> mutedIps = new ArrayList<String>();
    public static ArrayList<String> mutedNames = new ArrayList<String>();
    public static ArrayList<String> loginLimitExceeded = new ArrayList<String>();

    /**
    * Adds the banned usernames and ips from the text file to the ban list
    **/
    public static void initialize() {
    banUsers();
    banIps();
    muteUsers();
    muteIps();
    }

    /**
    * Adding Name To List
    */
    public static void addIpToLoginList(String IP) {
    loginLimitExceeded.add(IP);
    }

    /**
    * Remove Ip From List
    */
    public static void removeIpFromLoginList(String IP) {
    loginLimitExceeded.remove(IP);
    }

    /**
    * Clear Name List
    */
    public static void clearLoginList() {
    loginLimitExceeded.clear();
    }

    public static boolean checkLoginList(String IP) {
    loginLimitExceeded.add(IP);
    int num = 0;
    for (String ips : loginLimitExceeded) {
    if (IP.equals(ips)) {
    num++;
    }
    }
    if (num > 5) {
    return true;
    }
    return false;
    }

    public static void unMuteUser(String name) {
    mutedNames.remove(name);
    deleteFromFile("./Data/Bans/UsersMuted.txt", name);
    }

    public static void unIPMuteUser(String name) {
    mutedIps.remove(name);
    deleteFromFile("./Data/Bans/IpsMuted.txt", name);
    }

    /**
    * Adding Ban IP
    **/
    public static void addIpToBanList(String IP) {
    bannedIps.add(IP);
    }

    public static void addIpToMuteList(String IP) {
    mutedIps.add(IP);
    addIpToMuteFile(IP);
    }

    /**
    * Removing Ban IP
    **/
    public static void removeIpFromBanList(String IP) {
    bannedIps.remove(IP);
    }

    /**
    * Contains Ban IP
    **/
    public static boolean isIpBanned(String IP) {
    if (bannedIps.contains(IP)) {
    return true;
    }
    return false;
    }

    /**
    * Adding banned username
    **/
    public static void addNameToBanList(String name) {
    bannedNames.add(name.toLowerCase());
    }

    public static void addNameToMuteList(String name) {
    mutedNames.add(name.toLowerCase());
    addUserToFile(name);
    }

    /**
    * Removing banned username
    **/
    public static void removeNameFromBanList(String name) {
    bannedNames.remove(name.toLowerCase());
    deleteFromFile("./Data/Bans/UsersBanned.txt", name);
    }

    public static void removeNameFromMuteList(String name) {
    bannedNames.remove(name.toLowerCase());
    deleteFromFile("./Data/Bans/UsersMuted.txt", name);
    }

    public static void deleteFromFile(String file, String name) {
    try {
    BufferedReader r = new BufferedReader(new FileReader(file));
    ArrayList<String> contents = new ArrayList<String>();
    while (true) {
    String line = r.readLine();
    if (line == null) {
    break;
    } else {
    line = line.trim();
    }
    if (!line.equalsIgnoreCase(name)) {
    contents.add(line);
    }
    }
    r.close();
    BufferedWriter w = new BufferedWriter(new FileWriter(file));
    for (String line : contents) {
    w.write(line, 0, line.length());
    w.newLine();
    }
    w.flush();
    w.close();
    } catch (Exception e) {
    }
    }

    /**
    * Contains banned username
    **/
    public static boolean isNamedBanned(String name) {
    if (bannedNames.contains(name.toLowerCase())) {
    return true;
    }
    return false;
    }

    /**
    * Reads all usernames from text file then adds them all to the ban list
    **/
    public static void banUsers() {
    try {
    BufferedReader in = new BufferedReader(new FileReader(
    "./Data/Bans/UsersBanned.txt"));
    String data = null;
    try {
    while ((data = in.readLine()) != null) {
    addNameToBanList(data);
    }
    } finally {
    in.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public static void muteUsers() {
    try {
    BufferedReader in = new BufferedReader(new FileReader(
    "./Data/Bans/UsersMuted.txt"));
    String data = null;
    try {
    while ((data = in.readLine()) != null) {
    mutedNames.add(data);
    }
    } finally {
    in.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    /**
    * Reads all the Ips from text file then adds them all to ban list
    **/
    public static void banIps() {
    try {
    BufferedReader in = new BufferedReader(new FileReader(
    "./Data/Bans/IpsBanned.txt"));
    String data = null;
    try {
    while ((data = in.readLine()) != null) {
    addIpToBanList(data);
    }
    } finally {
    in.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public static void muteIps() {
    try {
    BufferedReader in = new BufferedReader(new FileReader(
    "./Data/Bans/IpsMuted.txt"));
    String data = null;
    try {
    while ((data = in.readLine()) != null) {
    mutedIps.add(data);
    }
    } finally {
    in.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    /**
    * Writes the username into the text file - when using the ::ban playername
    * command
    **/
    public static void addNameToFile(String Name) {
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(
    "./Data/Bans/UsersBanned.txt", true));
    try {
    out.newLine();
    out.write(Name);
    } finally {
    out.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public static void addUserToFile(String Name) {
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(
    "./Data/Bans/UsersMuted.txt", true));
    try {
    out.newLine();
    out.write(Name);
    } finally {
    out.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    /**
    * Writes the IP into the text file - use ::ipban username
    **/
    public static void addIpToFile(String Name) {
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(
    "./Data/Bans/IpsBanned.txt", true));
    try {
    out.newLine();
    out.write(Name);
    } finally {
    out.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public static void addIpToMuteFile(String Name) {
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(
    "./Data/Bans/IpsMuted.txt", true));
    try {
    out.newLine();
    out.write(Name);
    } finally {
    out.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public static boolean isMuted(Client c) {
    return mutedNames.contains(c.playerName)
    || mutedIps.contains(c.connectedFrom);
    }

    }
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Feb 2013
    Posts
    34
    Thanks given
    1
    Thanks received
    0
    Rep Power
    11
    i have added
    Code:
    		if(Connection.isIpBanned(cl.connectedFrom)) {
    			returnCode = 4;
    		}
    after
    Code:
    if (Connection.isNamedBanned(cl.playerName)) {
    			returnCode = 4;
    		}
    		}
    but no one can connect after someone is ip banned
    Reply With Quote  
     

  3. #3  
    Registered Member Frankie's Avatar
    Join Date
    Feb 2013
    Posts
    568
    Thanks given
    10
    Thanks received
    16
    Rep Power
    12
    check your ban time under your char settings either banstart or ban end etc. make it 0 if its anything higher. causes problems with banning and etc.
    Reply With Quote  
     

  4. #4  
    Registered Member Frankie's Avatar
    Join Date
    Feb 2013
    Posts
    568
    Thanks given
    10
    Thanks received
    16
    Rep Power
    12
    scratch that i read it wrong. guys probably has a proxy (allows him to connect through a different ip) allowing him to login again you're just gonna have to keep ipbanning till he has no more proxy ip's to use.
    Reply With Quote  
     

  5. #5  
    Registered Member
    Join Date
    Feb 2013
    Posts
    34
    Thanks given
    1
    Thanks received
    0
    Rep Power
    11
    how?
    Reply With Quote  
     

  6. #6  
    oof


    Join Date
    Aug 2012
    Posts
    3,150
    Thanks given
    2,847
    Thanks received
    857
    Rep Power
    2260
    Quote Originally Posted by PkAdventures View Post
    how?
    By keep banning him.
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Replies: 13
    Last Post: 01-11-2013, 07:16 PM
  2. Replies: 9
    Last Post: 10-04-2010, 09:46 AM
  3. Client disconect problem ..
    By choroPelucon in forum Help
    Replies: 4
    Last Post: 03-11-2010, 01:53 AM
  4. Disconect when using mage [ESPEON]
    By Runebay™ in forum Help
    Replies: 9
    Last Post: 05-12-2009, 11:24 PM
  5. pk-town ipban or no ipban
    By M107 in forum Chat
    Replies: 63
    Last Post: 09-08-2008, 04:36 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •