Add online_mode and velocity_secret config options
Some checks failed
Build JStom / build (push) Failing after 53s

This commit is contained in:
2026-01-26 01:26:02 +00:00
parent d06d9bf9d9
commit e06b356531
5 changed files with 98 additions and 0 deletions

View File

@@ -12,6 +12,8 @@ public class Config {
public static int PORT = 25565;
public static String MOTD = "A JStom Server";
public static String HOST = "0.0.0.0";
public static boolean ONLINE_MODE = true;
public static String VELOCITY_SECRET = "";
private static final String CONFIG_FILE = "config.yml";
@@ -28,6 +30,8 @@ public class Config {
if (data != null) {
if (data.containsKey("port")) PORT = (int) data.get("port");
if (data.containsKey("motd")) MOTD = (String) data.get("motd");
if (data.containsKey("online_mode")) ONLINE_MODE = (boolean) data.get("online_mode");
if (data.containsKey("velocity_secret")) VELOCITY_SECRET = (String) data.get("velocity_secret");
if (data.containsKey("host")) {
String rawHost = (String) data.get("host");
if (rawHost.contains(":")) {
@@ -48,6 +52,8 @@ public class Config {
writer.write("host: \"0.0.0.0\"\n");
writer.write("port: 25565\n");
writer.write("motd: \"A JStom Server\"\n");
writer.write("online_mode: true\n");
writer.write("velocity_secret: \"\"\n");
} catch (IOException e) {
e.printStackTrace();
}

View File

@@ -7,6 +7,8 @@ import net.minestom.server.entity.Player;
import net.minestom.server.event.GlobalEventHandler;
import net.minestom.server.event.player.AsyncPlayerConfigurationEvent;
import net.minestom.server.event.server.ServerListPingEvent;
import net.minestom.server.extras.MojangAuth;
import net.minestom.server.extras.velocity.VelocityProxy;
import net.minestom.server.instance.InstanceContainer;
import net.minestom.server.instance.InstanceManager;
import net.minestom.server.instance.LightingChunk;
@@ -25,6 +27,17 @@ public class Main {
// Initialize server
MinecraftServer minecraftServer = MinecraftServer.init();
// Auth
if (!Config.VELOCITY_SECRET.isEmpty()) {
VelocityProxy.enable(Config.VELOCITY_SECRET);
System.out.println("Velocity forwarding enabled.");
} else if (Config.ONLINE_MODE) {
MojangAuth.init();
System.out.println("Online mode enabled.");
} else {
System.out.println("Running in offline mode.");
}
InstanceManager instanceManager = MinecraftServer.getInstanceManager();
// Create the instance
InstanceContainer instanceContainer = instanceManager.createInstanceContainer();