Jump to content
  • 0

Help for MAX_IP code noting heppen


Question

Posted (edited)

I using this code for Max_ip online but noting heppen

I doing the code correct?

some 1 please help. sorry for my ENG

I using l2jserver 6670------

 

here is the code...

 

at    server.properties

------------------------

# MAX IP
MaxIp = 2

 

at L2pcinstance

------------------------------

public void findDualBox(L2PcInstance activeChar)
    {
        Map<String, List<L2PcInstance>> ipMap = new HashMap<>();
        String ip = "0.0.0.0";
        int multibox = Config.MAX_IP;
        
        final Map<String, Integer> dualboxIPs = new HashMap<>();
        
        for (L2PcInstance player : L2World.getInstance().getPlayers())
        {
            
            ip = player.getIP();
            
            if (ipMap.get(ip) == null)
            {
                ipMap.put(ip, new ArrayList<L2PcInstance>());
            }
            
            ipMap.get(ip).add(player);
            
            if (ipMap.get(ip).size() >= multibox)
            {
                Integer count = dualboxIPs.get(ip);
                if (count == null)
                {
                    dualboxIPs.put(ip, multibox);
                }
                else
                {
                    dualboxIPs.put(ip, count++);
                }
            }
        }
        List<String> keys = new ArrayList<>(dualboxIPs.keySet());
        Collections.sort(keys, (left, right) -> dualboxIPs.get(left).compareTo(dualboxIPs.get(right)));
        Collections.reverse(keys);
        
        for (String dualboxIP : keys)
        {
            findCharacterByIp(activeChar, dualboxIP);
        }
        
    }
    
    /**
     * @return
     */
    private String getIP()
    {
        // TODO Auto-generated method stub
        return null;
    }
    
    private void findCharacterByIp(L2PcInstance activeChar, String IpAdress) throws IllegalArgumentException
    {
        boolean findDisconnected = false;
        
        if (IpAdress.equals("disconnected"))
        {
            findDisconnected = true;
        }
        else
        {
            if (!IpAdress.matches("^(?:(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))\\.){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2(?:[0-4][0-9]|5[0-5]))$"))
            {
                throw new IllegalArgumentException("Malformed IPv4 number");
            }
        }
        
        String ip = "0.0.0.0";
        
        for (L2PcInstance player : L2World.getInstance().getPlayers())
        {
            if (findDisconnected)
            {
                continue;
            }
            
            ip = player.getIP();
            if (!ip.equals(IpAdress))
            {
                continue;
            }
        }
        
        stopDualbox();
        
        logout();
        
        antiDualbox();
    }
    
    public static void startAntiDualTask(L2PcInstance player)
    {
        player.antiDualbox();
        
    }
    
    public static ScheduledFuture<?> _antiDualbox;
    
    private static void stopDualbox()
    {
        if (_antiDualbox != null)
        {
            _antiDualbox.cancel(false);
            _antiDualbox = null;
        }
        
    }
    
    public void antiDualbox()
    {
        
        _antiDualbox = ThreadPoolManager.getInstance().scheduleAi(new startDualbox(), 300000);
        
    }
    
    private class startDualbox implements Runnable
    {
        public startDualbox()
        {
            
            findDualBox(_plD);
        }
        
        @Override
        public void run()
        {
            
        }
    }
    
    L2PcInstance _plD;
}

 

 

Edited by aonniemnoi

2 answers to this question

Recommended Posts

  • 0
Posted
2 hours ago, Kara said:

What exactly are you trying to do? Set max online users on the server?

If that's what you want to do using login system to block access such edit the file

 

RequestServerLogin.java

 

and in 

 

public void run()

 

Before send the:

 

getClient().setJoinedGS(true);
getClient().sendPacket(new PlayOk(sk));

 

You can add a check or you can do the same thing easier using

 

EnterWorld.java

 

and add a simple check to kick player if for example

 

if (L2World.getInstance().getPlayersSize() > 100)
{
   activeChar.logout(false);
}

 

I want to set 1 ip can play 2 char online only . If use 3 cha will get disconnect on 3nd cha  can help me please?

want to set 1 ip can play 2 char online only . If use 3 cha will get disconnect on 3nd cha  can help me please?

 
  •  
  • 0
Posted

What exactly are you trying to do? Set max online users on the server?

If that's what you want to do using login system to block access such edit the file

 

RequestServerLogin.java

 

and in 

 

public void run()

 

Before send the:

 

getClient().setJoinedGS(true);
getClient().sendPacket(new PlayOk(sk));

 

You can add a check or you can do the same thing easier using

 

EnterWorld.java

 

and add a simple check to kick player if for example

 

if (L2World.getInstance().getPlayersSize() > 100)
{
   activeChar.logout(false);
}

 

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 HIDDENSTASH KEY SYSTEM INTRODUCED TO THE SITE   **Earn While You Spend - Introducing HS Cashback!**   Every purchase on our site now rewards you with **HS Keys cashback**   EVERY ONE WHO REGISTERS IN SITE UNTILL 15TH OF MAY GETS 2000 HS KEYS IN HES BALANE   Here's how it works:       **1 USD = 1000 HS Keys**   **Get 3% cashback** on every purchase   **Use your HS Keys to **save on your next order**   ---   ### ⚡ Why this is awesome   * Every order gives you value back   * Stack it with promos & HS usage   * Turn your spending into future discounts   ---   ### Example   Spend **$10** → Get **300 HS Keys** back   Spend **$50** → Get **1500 HS Keys** back   ---   ### Smart system (built for fairness)   * Cashback is rounded to keep things balanced   * Prevents abuse from tiny orders   * Rewards real buyers   ---   ### Start earning now   Every purchase = progress toward your next discount   Shop now and build your HS balance!   #cashback #gamingdeals #d2r #rewards #loyalty   Stay safe out there, heroes - and happy hunting! www.d2rhiddenstash.com     We just launched our new Affiliate Program — and it’s the easiest way to earn HS Keys.   Invite your friends using your personal link.   Example: If your friend spends $10 → you get 300 HS Keys No limits. No effort. Just share your link.   Get your referral link here: www.d2rhiddenstash.com/profile     Start earning today
    • https://jumpshare.com/share/L45ApA5PVrGN2O5Ua5pQ   Skill synchronization with the server: Launching and synchronizing animations, launching and synchronizing effects. All of this is tied to the server's timing  
  • 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..