Switch to Velocity from Bungeecord and add configuration support

- Replaced Bungeecord proxy with Velocity proxy.
- Updated brand name and logging for Velocity support.
- Introduced `velocity` and `velocity-secret` configuration options.
- Removed deprecated Bungeecord handling.
- General refactor and cleanup for proxy integration.
This commit is contained in:
2025-12-25 18:47:49 +01:00
parent d80b7deb53
commit 4f10ce5ba8
3 changed files with 20 additions and 14 deletions

2
.idea/misc.xml generated
View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" project-jdk-name="corretto-17" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_21" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>

View File

@@ -17,7 +17,7 @@ import net.minestom.server.event.GlobalEventHandler;
import net.minestom.server.event.inventory.InventoryPreClickEvent; import net.minestom.server.event.inventory.InventoryPreClickEvent;
import net.minestom.server.event.item.ItemDropEvent; import net.minestom.server.event.item.ItemDropEvent;
import net.minestom.server.event.player.*; import net.minestom.server.event.player.*;
import net.minestom.server.extras.bungee.BungeeCordProxy; import net.minestom.server.extras.velocity.VelocityProxy;
import net.minestom.server.timer.TaskSchedule; import net.minestom.server.timer.TaskSchedule;
import java.io.IOException; import java.io.IOException;
@@ -31,7 +31,7 @@ public class Main {
System.setProperty("minestom.chunk-view-distance", "16"); System.setProperty("minestom.chunk-view-distance", "16");
MinecraftServer minecraftServer = MinecraftServer.init(); MinecraftServer minecraftServer = MinecraftServer.init();
MinecraftServer.getConnectionManager().setPlayerProvider(MuseumPlayer::new); MinecraftServer.getConnectionManager().setPlayerProvider(MuseumPlayer::new);
MinecraftServer.setBrandName("mhsl.eu:worldmuseum_by_olischma"); MinecraftServer.setBrandName("mhsl.eu:worldmuseum");
//update Taskbar //update Taskbar
MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20)); MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
@@ -40,13 +40,12 @@ public class Main {
WorldManager worldManager = WorldManager.getInstance(); WorldManager worldManager = WorldManager.getInstance();
worldManager.loadWorlds(); worldManager.loadWorlds();
//load main config //load main config
Config config = Config.getInstance(); Config config = Config.getInstance();
config.loadConfig(); config.loadConfig();
if (config.isBungeecordEnabled()) { if (config.isVelocityEnabled()) {
BungeeCordProxy.enable(); VelocityProxy.enable(config.getVelocitySecret());
System.out.println("[Info] Bungeecord enabled"); System.out.println("[Info] Velocity enabled");
} }

View File

@@ -9,7 +9,8 @@ import java.io.IOException;
public class Config { public class Config {
private static Config instance; private static Config instance;
private boolean bungeecordEnabled = false; private boolean velocityEnabled = false;
private String velocitySecret = "";
private String bungeeReturnServerName; private String bungeeReturnServerName;
public static Config getInstance() { public static Config getInstance() {
if (instance == null) instance = new Config(); if (instance == null) instance = new Config();
@@ -19,10 +20,11 @@ public class Config {
createDefaultIfNotExists(); createDefaultIfNotExists();
try { try {
JsonObject config = (JsonObject) JsonParser.parseReader(new FileReader("config.json")); JsonObject config = (JsonObject) JsonParser.parseReader(new FileReader("config.json"));
this.bungeecordEnabled = config.get("bungeecord").getAsBoolean();
this.bungeeReturnServerName = config.get("bc-return-servername").getAsString(); this.bungeeReturnServerName = config.get("bc-return-servername").getAsString();
this.velocityEnabled = config.get("velocity").getAsBoolean();
this.velocitySecret = config.get("velocity-secret").getAsString();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace(System.err);
} }
} }
@@ -34,18 +36,23 @@ public class Config {
String default_config = """ String default_config = """
{ {
"bc-return-servername": "server", "bc-return-servername": "server",
"bungeecord": false "velocity": false,
"velocity-secret": ""
}"""; }""";
fileWriter.write(default_config); fileWriter.write(default_config);
fileWriter.close(); fileWriter.close();
} }
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace(System.err);
} }
} }
public boolean isBungeecordEnabled() { public boolean isVelocityEnabled() {
return bungeecordEnabled; return velocityEnabled;
}
public String getVelocitySecret() {
return velocitySecret;
} }
public String getBungeeReturnServerName() { public String getBungeeReturnServerName() {