Jump to content
  • 0

[Help]Ban IP Command


Question

Posted

Γεια σε ολους.. Εχω βρει αυτο το command για Ban ip απο το L2J-Archid

/*
* 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.handler.admincommandhandlers;

import java.util.StringTokenizer;
import java.util.logging.Logger;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.LoginServerThread;
import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;

public class AdminBlockIp implements IAdminCommandHandler
{

    private static final Logger _log = Logger.getLogger(AdminTeleport.class.getName());

    private static final int REQUIRED_LEVEL = Config.GM_UNBLOCK;
    private static final String[] ADMIN_COMMANDS =
    {
        "admin_banip", "admin_unblockip"
    };

    /* (non-Javadoc)
     * @see com.l2jarchid.gameserver.handler.IAdminCommandHandler#useAdminCommand(java.lang.String, com.l2jarchid.gameserver.model.L2PcInstance)
     */
    public boolean useAdminCommand(String command, L2PcInstance activeChar)
    {
        if (!Config.ALT_PRIVILEGES_ADMIN)
            if (!(checkLevel(activeChar.getAccessLevel()) && activeChar.isGM())) return false;
        
    	if (command.startsWith("admin_banip"))
    	{
    		StringTokenizer st = new StringTokenizer(command);
    		st.nextToken();

    		try
    		{
    			String ip = st.nextToken();
        		String duration = st.nextToken();
        		BanIp(activeChar,ip,Integer.parseInt(duration));
    		}catch(Exception e){activeChar.sendMessage("Usage: //banip ip duration");}
    		
    	}
    	else if (command.startsWith("admin_unblockip "))
        {
            try
            {
                String ipAddress = command.substring(16);
                if (unblockIp(ipAddress, activeChar))
                {
                    SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
                    sm.addString("Removed IP " + ipAddress + " from blocklist!");
                    activeChar.sendPacket(sm);
                }
            }
            catch (StringIndexOutOfBoundsException e)
            {
                // Send syntax to the user
                SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
                sm.addString("Usage mode: //unblockip <ip>");
                activeChar.sendPacket(sm);
            }
        }

        return true;
    }

    public String[] getAdminCommandList()
    {
        return ADMIN_COMMANDS;
    }

    private boolean checkLevel(int level)
    {
        return (level >= REQUIRED_LEVEL);
    }
    
    private boolean unblockIp(String ipAddress, L2PcInstance activeChar)
    {
    	//LoginServerThread.getInstance().unBlockip(ipAddress);
        _log.warning("IP removed by GM " + activeChar.getName());
        return true;
    }
    private boolean BanIp(L2PcInstance activeChar, String ip, int duration)
    {
    	LoginServerThread.getInstance().sendIpBan(ip, duration * 60000L);
    	activeChar.sendMessage("Ip: "+ip+". baned for "+duration / 60000L+" minutes.");
    	return true;
    }

}

Ολα σωστα! την εκανα register κανονικα και λειτουργει.. Παταω //banip και την IP και λεει πως η IP εχει απαγορευτει, αλλα ο παιχτης μετα μπενει κανονικα..

Καμια ιδεα; Τι φτεει; (το command οπως ειπα το πηρα απο το Archid)

5 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 account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock