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"?>
<project version="4">
<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" />
</component>
</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.item.ItemDropEvent;
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 java.io.IOException;
@@ -31,7 +31,7 @@ public class Main {
System.setProperty("minestom.chunk-view-distance", "16");
MinecraftServer minecraftServer = MinecraftServer.init();
MinecraftServer.getConnectionManager().setPlayerProvider(MuseumPlayer::new);
MinecraftServer.setBrandName("mhsl.eu:worldmuseum_by_olischma");
MinecraftServer.setBrandName("mhsl.eu:worldmuseum");
//update Taskbar
MinecraftServer.getSchedulerManager().scheduleTask(new TablistUpdateTask(), TaskSchedule.tick(20), TaskSchedule.tick(20));
@@ -40,13 +40,12 @@ public class Main {
WorldManager worldManager = WorldManager.getInstance();
worldManager.loadWorlds();
//load main config
Config config = Config.getInstance();
config.loadConfig();
if (config.isBungeecordEnabled()) {
BungeeCordProxy.enable();
System.out.println("[Info] Bungeecord enabled");
if (config.isVelocityEnabled()) {
VelocityProxy.enable(config.getVelocitySecret());
System.out.println("[Info] Velocity enabled");
}

View File

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