Newer
Older
KeeperJerry_Launcher / LaunchServer / source / auth / limiter / AuthLimiterConfig.java
@KeeperJerry KeeperJerry on 2 May 2021 1 KB AuthLimit update
package launchserver.auth.limiter;

import launcher.LauncherAPI;
import launcher.helper.VerifyHelper;
import launcher.serialize.config.ConfigObject;
import launcher.serialize.config.entry.*;
import launchserver.LaunchServer;

public class AuthLimiterConfig extends ConfigObject
{
    @LauncherAPI
    public LaunchServer server;
    @LauncherAPI
    public int authRateLimit;
    @LauncherAPI
    public int authRateLimitMilis;
    @LauncherAPI
    public String authRejectString;
    @LauncherAPI
    public String authBannedString;
    @LauncherAPI
    public boolean blockOnConnect;
    @LauncherAPI
    public ListConfigEntry allowIp;
    @LauncherAPI
    public ListConfigEntry blockIp;

    @LauncherAPI
    public AuthLimiterConfig(BlockConfigEntry block)
    {
        super(block);
        authRateLimit = VerifyHelper.verifyInt(block.getEntryValue("authRateLimit", IntegerConfigEntry.class),
                VerifyHelper.range(0, 1000000), "Illegal authRateLimit");
        authRateLimitMilis = VerifyHelper.verifyInt(block.getEntryValue("authRateLimitMilis", IntegerConfigEntry.class),
                VerifyHelper.range(10, 10000000), "Illegal authRateLimitMillis");
        authRejectString = block.hasEntry("authRejectString") ?
                block.getEntryValue("authRejectString", StringConfigEntry.class) : "Превышен лимит авторизаций. Подождите некоторое время перед повторной попыткой";
        authBannedString = block.hasEntry("authBannedString") ?
                block.getEntryValue("authBannedString", StringConfigEntry.class) : "Ваш IP заблокирован!";
        blockOnConnect = block.getEntryValue("blockOnConnect", BooleanConfigEntry.class);
        allowIp = block.getEntry("allowIp", ListConfigEntry.class);
        blockIp = block.getEntry("blockIp", ListConfigEntry.class);
    }
}