1
0
Fork 0
mirror of https://github.com/PaperMC/Paper.git synced 2025-04-27 22:29:21 +02:00

Remote Connections shouldn't hold up shutdown

Bugs in the connection logic appears to leave stale connections even, preventing shutdown
This commit is contained in:
Aikar 2020-03-31 03:50:42 -04:00
parent 1273cf0f21
commit a44dc35353
2 changed files with 26 additions and 2 deletions
paper-server/patches/sources/net/minecraft/server

View file

@ -250,8 +250,17 @@
@Override
public boolean isSpawningMonsters() {
return this.settings.getProperties().spawnMonsters && super.isSpawningMonsters();
@@ -293,6 +403,7 @@
this.queryThreadGs4.stop();
@@ -286,13 +396,14 @@
}
if (this.rconThread != null) {
- this.rconThread.stop();
+ this.rconThread.stopNonBlocking(); // Paper - don't wait for remote connections
}
if (this.queryThreadGs4 != null) {
- this.queryThreadGs4.stop();
+ // this.remoteStatusListener.stop(); // Paper - don't wait for remote connections
}
+ System.exit(0); // CraftBukkit

View file

@ -9,3 +9,18 @@
if (string.isEmpty()) {
string = "0.0.0.0";
}
@@ -104,6 +104,14 @@
this.clients.clear();
}
+ // Paper start - don't wait for remote connections
+ public void stopNonBlocking() {
+ this.running = false;
+ for (RconClient client : this.clients) {
+ client.running = false;
+ }
+ }
+ // Paper end - don't wait for remote connections
private void closeSocket(ServerSocket socket) {
LOGGER.debug("closeSocket: {}", socket);