mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-23 02:55:47 +01:00
Fix NPE during server initialization from server list pings
This commit is contained in:
parent
e952f6ebe2
commit
182d4f528f
@ -1,4 +1,4 @@
|
|||||||
From 49a9d5dd768670e0cf6bb85313727ad57bc8428e Mon Sep 17 00:00:00 2001
|
From 4987254c0fc69b5f08d88f3dec52e37a6e68140d Mon Sep 17 00:00:00 2001
|
||||||
From: Minecrell <minecrell@minecrell.net>
|
From: Minecrell <minecrell@minecrell.net>
|
||||||
Date: Wed, 11 Oct 2017 15:55:38 +0200
|
Date: Wed, 11 Oct 2017 15:55:38 +0200
|
||||||
Subject: [PATCH] Add extended PaperServerListPingEvent
|
Subject: [PATCH] Add extended PaperServerListPingEvent
|
||||||
@ -8,10 +8,10 @@ and allows full control of the response sent to the client.
|
|||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 00000000..dd1deafd
|
index 00000000..b2a8476c
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
+++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
|
||||||
@@ -0,0 +1,319 @@
|
@@ -0,0 +1,320 @@
|
||||||
+package com.destroystokyo.paper.event.server;
|
+package com.destroystokyo.paper.event.server;
|
||||||
+
|
+
|
||||||
+import static java.util.Objects.requireNonNull;
|
+import static java.util.Objects.requireNonNull;
|
||||||
@ -185,7 +185,8 @@ index 00000000..dd1deafd
|
|||||||
+ * Returns the protocol version that will be sent as the protocol version
|
+ * Returns the protocol version that will be sent as the protocol version
|
||||||
+ * of the server to the client.
|
+ * of the server to the client.
|
||||||
+ *
|
+ *
|
||||||
+ * @return The protocol version of the server
|
+ * @return The protocol version of the server, or {@code -1} if the server
|
||||||
|
+ * has not finished initialization yet
|
||||||
+ */
|
+ */
|
||||||
+ public int getProtocolVersion() {
|
+ public int getProtocolVersion() {
|
||||||
+ return protocolVersion;
|
+ return protocolVersion;
|
||||||
@ -366,5 +367,5 @@ index 04804706..44563482 100644
|
|||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.18.0
|
2.20.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 929f9ec6f37275914c15fc6ba21f9b3304dba68f Mon Sep 17 00:00:00 2001
|
From 88af45c086f6c9a71ddcbfe68e612d383a590929 Mon Sep 17 00:00:00 2001
|
||||||
From: Minecrell <minecrell@minecrell.net>
|
From: Minecrell <minecrell@minecrell.net>
|
||||||
Date: Wed, 11 Oct 2017 15:56:26 +0200
|
Date: Wed, 11 Oct 2017 15:56:26 +0200
|
||||||
Subject: [PATCH] Implement extended PaperServerListPingEvent
|
Subject: [PATCH] Implement extended PaperServerListPingEvent
|
||||||
@ -60,7 +60,7 @@ index 000000000..a2a409e63
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..26e3031d2
|
index 000000000..a85466bc7
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
+++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
|
||||||
@@ -0,0 +1,112 @@
|
@@ -0,0 +1,112 @@
|
||||||
@ -90,7 +90,7 @@ index 000000000..26e3031d2
|
|||||||
+ private GameProfile[] originalSample;
|
+ private GameProfile[] originalSample;
|
||||||
+
|
+
|
||||||
+ private StandardPaperServerListPingEventImpl(MinecraftServer server, NetworkManager networkManager, ServerPing ping) {
|
+ private StandardPaperServerListPingEventImpl(MinecraftServer server, NetworkManager networkManager, ServerPing ping) {
|
||||||
+ super(server, new PaperStatusClient(networkManager), ping.getServerData().getProtocolVersion(), server.server.getServerIcon());
|
+ super(server, new PaperStatusClient(networkManager), ping.getServerData() != null ? ping.getServerData().getProtocolVersion() : -1, server.server.getServerIcon());
|
||||||
+ this.originalSample = ping.getPlayers() == null ? null : ping.getPlayers().getSample(); // GH-1473 - pre-tick race condition NPE
|
+ this.originalSample = ping.getPlayers() == null ? null : ping.getPlayers().getSample(); // GH-1473 - pre-tick race condition NPE
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
Loading…
Reference in New Issue
Block a user