Skip to content

Commit 2cc054a

Browse files
committed
fix: schedule shutdown if the server is empty after a player has been kicked while being on the waiting server
1 parent 5b800ad commit 2cc054a

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/main/java/fr/pickaria/pterodactylpoweraction/ConnectionListener.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ public void onServerPreConnect(ServerPreConnectEvent event) {
112112

113113
@Subscribe()
114114
public void onDisconnect(DisconnectEvent event) {
115-
stopServer(event.getPlayer());
115+
scheduleServerShutdown(event.getPlayer());
116116
}
117117

118118
@Subscribe()
119119
public void onKicked(KickedFromServerEvent event) {
120-
stopServer(event.getPlayer());
120+
scheduleServerShutdown(event.getPlayer());
121121
redirectPlayerToWaitingServerOnKick(event);
122122
}
123123

@@ -134,6 +134,7 @@ private void redirectPlayerToWaitingServerOnKick(KickedFromServerEvent event) {
134134
} else {
135135
event.setResult(KickedFromServerEvent.RedirectPlayer.create(waitingServer, getKickRedirectMessage(event)));
136136
}
137+
scheduleServerShutdown(event.getServer());
137138
} else {
138139
event.setResult(KickedFromServerEvent.DisconnectPlayer.create(getKickDisconnectMessage(event)));
139140
}
@@ -153,11 +154,15 @@ private Component getKickRedirectMessage(KickedFromServerEvent event) {
153154
.orElseGet(() -> messager.format(MessageType.INFO, "kick.generic.message", new Text(serverNameComponent), goBack));
154155
}
155156

156-
private void stopServer(Player player) {
157+
private void scheduleServerShutdown(Player player) {
157158
Optional<ServerConnection> serverConnection = player.getCurrentServer();
158159
if (serverConnection.isPresent()) {
159160
RegisteredServer currentServer = serverConnection.get().getServer();
160-
shutdownManager.shutdownServer(currentServer, true);
161+
scheduleServerShutdown(currentServer);
161162
}
162163
}
164+
165+
private void scheduleServerShutdown(RegisteredServer registeredServer) {
166+
shutdownManager.shutdownServer(registeredServer, true);
167+
}
163168
}

0 commit comments

Comments
 (0)