All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minestom.server.extras.MojangAuth Maven / Gradle / Ivy

There is a newer version: 7320437640
Show newest version
package net.minestom.server.extras;

import net.minestom.server.MinecraftServer;
import net.minestom.server.ServerFlag;
import net.minestom.server.extras.mojangAuth.MojangCrypt;
import net.minestom.server.extras.velocity.VelocityProxy;
import net.minestom.server.utils.validate.Check;
import org.jetbrains.annotations.Nullable;

import java.security.KeyPair;

public final class MojangAuth {
    public static final String AUTH_URL = ServerFlag.AUTH_URL.concat("?username=%s&serverId=%s");
    private static volatile boolean enabled = false;
    private static volatile KeyPair keyPair;

    /**
     * Enables mojang authentication on the server.
     * 

* Be aware that enabling a proxy will make Mojang authentication ignored. */ public static void init() { Check.stateCondition(enabled, "Mojang auth is already enabled!"); Check.stateCondition(MinecraftServer.process().isAlive(), "The server has already been started!"); Check.stateCondition(VelocityProxy.isEnabled(), "Velocity modern forwarding should not be enabled with MojangAuth"); MojangAuth.enabled = true; // Generate necessary fields... MojangAuth.keyPair = MojangCrypt.generateKeyPair(); } public static boolean isEnabled() { return enabled; } public static @Nullable KeyPair getKeyPair() { return keyPair; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy