diff --git a/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java b/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java index 6e2044a..a1fe96f 100644 --- a/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java +++ b/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java @@ -5,6 +5,7 @@ import com.velocitypowered.api.event.PostOrder; import com.velocitypowered.api.event.player.PlayerChooseInitialServerEvent; import com.velocitypowered.api.event.proxy.ProxyInitializeEvent; +import com.velocitypowered.api.event.proxy.ProxyShutdownEvent; import com.velocitypowered.api.plugin.Plugin; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.server.RegisteredServer; @@ -87,6 +88,9 @@ public void onProxyInitialize(ProxyInitializeEvent event) { // Register commands server.getCommandManager().register("hub", new HubCommand(server, logger)); server.getCommandManager().register("lobby", new LobbyCommand(server, logger)); + + // Register event listener for gameserver stops + server.getEventManager().register(this, this); } @Subscribe(order = PostOrder.FIRST) @@ -128,4 +132,11 @@ public void onPlayerDisconnect(Player player) { connectionAttempts.remove(uuid); logger.info("Player {} disconnected.", player.getUsername()); } + + @Subscribe + public void onGameServerStop(ProxyShutdownEvent event) { + for (Player player : server.getAllPlayers()) { + player.disconnect(Component.text("The gameserver has stopped. You have been kicked.")); + } + } }