BungeeCord Plugin
EmptyServerRouterPlugin
Maak een velocity plugin die je spelers automatisch naar de meest lege server stuurt die in servers.json staat. Als alle servers bijna vol zitten moet ie je kicken en zeggen "&cAll servers are full. Try again later."
src/main/java/eu/codexe/emptyserverrouterplugin/EmptyServerRouterPlugin.java
package eu.codexe.emptyserverrouterplugin;
import com.google.inject.Inject;
import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.event.proxy.ProxyInitializeEvent;
import com.velocitypowered.api.plugin.Plugin;
import com.velocitypowered.api.proxy.ProxyServer;
import org.slf4j.Logger;
@Plugin(
id = "emptyserverrouter",
name = "EmptyServerRouter",
version = "1.0.0",
description = "Routes players to the least populated server from servers.json.",
authors = {"Codexe"}
)
public final class EmptyServerRouterPlugin {
private final ProxyServer server;
private final Logger logger;
private final ServerRegistry serverRegistry;
private final RouterListener routerListener;
@Inject
public EmptyServerRouterPlugin(ProxyServer server, Logger logger) {
this.server = server;
this.logger = logger;
this.serverRegistry = new ServerRegistry();
this.routerListener = new RouterListener(server, logger, serverRegistry);
}
@Subscribe
public void onProxyInitialize(ProxyInitializeEvent event) {
server.getEventManager().register(this, routerListener);
serverRegistry.load(logger);
logger.info("EmptyServerRouter loaded with {} configured servers.", serverRegistry.getConfiguredServerCount());
}
}