Skip to content

Commit 81b9f70

Browse files
committed
Update Paper
1 parent e7e9592 commit 81b9f70

File tree

6 files changed

+104
-76
lines changed

6 files changed

+104
-76
lines changed

folia-server/minecraft-patches/sources/net/minecraft/server/network/ServerGamePacketListenerImpl.java.patch

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
return;
135135
}
136136

137-
@@ -817,7 +_,7 @@
137+
@@ -824,7 +_,7 @@
138138
}
139139

140140
// This needs to be on main
@@ -143,7 +143,7 @@
143143
} else if (!completions.isEmpty()) {
144144
final com.mojang.brigadier.suggestion.SuggestionsBuilder builder0 = new com.mojang.brigadier.suggestion.SuggestionsBuilder(packet.getCommand(), stringReader.getTotalLength());
145145
final com.mojang.brigadier.suggestion.SuggestionsBuilder builder = builder0.createOffset(builder0.getInput().lastIndexOf(' ') + 1);
146-
@@ -1200,11 +_,11 @@
146+
@@ -1207,11 +_,11 @@
147147
}
148148
// Paper end - Book size limits
149149
// CraftBukkit start
@@ -157,7 +157,7 @@
157157
// CraftBukkit end
158158
int slot = packet.slot();
159159
if (Inventory.isHotbarSlot(slot) || slot == 40) {
160-
@@ -1215,7 +_,22 @@
160+
@@ -1222,7 +_,22 @@
161161
Consumer<List<FilteredText>> consumer = optional.isPresent()
162162
? texts -> this.signBook(texts.get(0), texts.subList(1, texts.size()), slot)
163163
: texts -> this.updateBookContents(texts, slot);
@@ -181,7 +181,7 @@
181181
}
182182
}
183183

184-
@@ -1341,9 +_,10 @@
184+
@@ -1348,9 +_,10 @@
185185
int i = this.receivedMovePacketCount - this.knownMovePacketCount;
186186

187187
// CraftBukkit start - handle custom speeds and skipped ticks
@@ -194,7 +194,7 @@
194194

195195
if (i > Math.max(this.allowedPlayerTicks, 5)) {
196196
LOGGER.debug("{} is sending move packets too frequently ({} packets since last tick)", this.player.getName().getString(), i);
197-
@@ -1532,7 +_,7 @@
197+
@@ -1539,7 +_,7 @@
198198

199199
// If the event is cancelled we move the player back to their old location.
200200
if (event.isCancelled()) {
@@ -203,7 +203,7 @@
203203
return;
204204
}
205205

206-
@@ -1540,7 +_,7 @@
206+
@@ -1547,7 +_,7 @@
207207
// there to avoid any 'Moved wrongly' or 'Moved too quickly' errors.
208208
// We only do this if the Event was not cancelled.
209209
if (!oldTo.equals(event.getTo()) && !event.isCancelled()) {
@@ -212,7 +212,7 @@
212212
return;
213213
}
214214

215-
@@ -1799,9 +_,9 @@
215+
@@ -1806,9 +_,9 @@
216216
if (!this.player.isSpectator()) {
217217
// limit how quickly items can be dropped
218218
// If the ticks aren't the same then the count starts from 0 and we update the lastDropTick.
@@ -224,7 +224,7 @@
224224
} else {
225225
// Else we increment the drop count and check the amount.
226226
this.dropCount++;
227-
@@ -1829,7 +_,7 @@
227+
@@ -1836,7 +_,7 @@
228228
case ABORT_DESTROY_BLOCK:
229229
case STOP_DESTROY_BLOCK:
230230
// Paper start - Don't allow digging into unloaded chunks
@@ -233,7 +233,7 @@
233233
this.player.connection.ackBlockChangesUpTo(packet.getSequence());
234234
return;
235235
}
236-
@@ -1911,7 +_,7 @@
236+
@@ -1918,7 +_,7 @@
237237
}
238238
// Paper end - improve distance check
239239
BlockPos blockPos = hitResult.getBlockPos();
@@ -242,7 +242,7 @@
242242
Vec3 vec3 = location.subtract(Vec3.atCenterOf(blockPos));
243243
double d = 1.0000001;
244244
if (Math.abs(vec3.x()) < 1.0000001 && Math.abs(vec3.y()) < 1.0000001 && Math.abs(vec3.z()) < 1.0000001) {
245-
@@ -2032,7 +_,7 @@
245+
@@ -2039,7 +_,7 @@
246246
for (ServerLevel serverLevel : this.server.getAllLevels()) {
247247
Entity entity = packet.getEntity(serverLevel);
248248
if (entity != null) {
@@ -251,7 +251,7 @@
251251
return;
252252
}
253253
}
254-
@@ -2064,7 +_,7 @@
254+
@@ -2071,7 +_,7 @@
255255
}
256256
// CraftBukkit end
257257
LOGGER.info("{} lost connection: {}", this.player.getName().getString(), details.reason().getString());
@@ -260,7 +260,7 @@
260260
super.onDisconnect(details, quitMessage); // Paper - Fix kick event leave message not being sent
261261
}
262262

263-
@@ -2073,6 +_,8 @@
263+
@@ -2080,6 +_,8 @@
264264
this.removePlayerFromWorld(null);
265265
}
266266

@@ -269,7 +269,7 @@
269269
private void removePlayerFromWorld(@Nullable net.kyori.adventure.text.Component quitMessage) {
270270
// Paper end - Fix kick event leave message not being sent
271271
this.chatMessageChain.close();
272-
@@ -2086,6 +_,8 @@
272+
@@ -2093,6 +_,8 @@
273273
this.player.disconnect();
274274
// Paper start - Adventure
275275
quitMessage = quitMessage == null ? this.server.getPlayerList().remove(this.player) : this.server.getPlayerList().remove(this.player, quitMessage); // Paper - pass in quitMessage to fix kick message not being used
@@ -278,7 +278,7 @@
278278
if ((quitMessage != null) && !quitMessage.equals(net.kyori.adventure.text.Component.empty())) {
279279
this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false);
280280
// Paper end - Adventure
281-
@@ -2324,7 +_,7 @@
281+
@@ -2331,7 +_,7 @@
282282
this.player.resetLastActionTime();
283283
// CraftBukkit start
284284
if (sync) {
@@ -287,7 +287,7 @@
287287
} else {
288288
handler.run();
289289
}
290-
@@ -2379,7 +_,7 @@
290+
@@ -2386,7 +_,7 @@
291291
String originalFormat = event.getFormat(), originalMessage = event.getMessage();
292292
this.cserver.getPluginManager().callEvent(event);
293293

@@ -296,15 +296,15 @@
296296
// Evil plugins still listening to deprecated event
297297
final PlayerChatEvent queueEvent = new PlayerChatEvent(player, event.getMessage(), event.getFormat(), event.getRecipients());
298298
queueEvent.setCancelled(event.isCancelled());
299-
@@ -2476,6 +_,7 @@
299+
@@ -2483,6 +_,7 @@
300300
if (rawMessage.isEmpty()) {
301301
LOGGER.warn("{} tried to send an empty message", this.player.getScoreboardName());
302302
} else if (this.getCraftPlayer().isConversing()) {
303303
+ if (true) throw new UnsupportedOperationException(); // Folia - region threading
304304
final String conversationInput = rawMessage;
305305
this.server.processQueue.add(() -> ServerGamePacketListenerImpl.this.getCraftPlayer().acceptConversationInput(conversationInput));
306306
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check
307-
@@ -2701,8 +_,25 @@
307+
@@ -2708,8 +_,25 @@
308308
// Spigot end
309309

310310
public void switchToConfig() {
@@ -331,7 +331,7 @@
331331
this.send(ClientboundStartConfigurationPacket.INSTANCE);
332332
this.connection.setupOutboundProtocol(ConfigurationProtocols.CLIENTBOUND);
333333
}
334-
@@ -2727,7 +_,7 @@
334+
@@ -2734,7 +_,7 @@
335335
// Spigot end
336336
this.player.resetLastActionTime();
337337
this.player.setShiftKeyDown(packet.isUsingSecondaryAction());
@@ -340,7 +340,7 @@
340340
if (!serverLevel.getWorldBorder().isWithinBounds(target.blockPosition())) {
341341
return;
342342
}
343-
@@ -2859,6 +_,12 @@
343+
@@ -2866,6 +_,12 @@
344344
switch (action) {
345345
case PERFORM_RESPAWN:
346346
if (this.player.wonGame) {
@@ -353,7 +353,7 @@
353353
this.player.wonGame = false;
354354
this.player = this.server.getPlayerList().respawn(this.player, true, Entity.RemovalReason.CHANGED_DIMENSION, RespawnReason.END_PORTAL); // CraftBukkit
355355
this.resetPosition();
356-
@@ -2868,6 +_,17 @@
356+
@@ -2875,6 +_,17 @@
357357
return;
358358
}
359359

@@ -371,7 +371,7 @@
371371
this.player = this.server.getPlayerList().respawn(this.player, false, Entity.RemovalReason.KILLED, RespawnReason.DEATH); // CraftBukkit
372372
this.resetPosition();
373373
if (this.server.isHardcore()) {
374-
@@ -3441,7 +_,21 @@
374+
@@ -3448,7 +_,21 @@
375375
}
376376
List<String> list = Stream.of(lines).map(ChatFormatting::stripFormatting).collect(Collectors.toList());
377377
// Paper end - Limit client sign length

folia-server/paper-patches/features/0005-Add-watchdog-thread.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ When regions take too long, having the server print the stacktrace
77
of the ticking region should help debug the cause.
88

99
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
10-
index a9339f59f81dff307317ae4afdff0dc296febcc9..75b698c2bcbbf487200b29083671332a6cc222ed 100644
10+
index dced8899be0bb8d562093dc3a7673ed8185b85a6..8228752184aaf91288092c1c60e8a431723ded41 100644
1111
--- a/src/main/java/org/spigotmc/WatchdogThread.java
1212
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
13-
@@ -159,7 +159,7 @@ public class WatchdogThread extends Thread {
13+
@@ -159,7 +159,7 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
1414
}
1515
}
1616

folia-server/paper-patches/files/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java.patch

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,35 @@
1212
import net.minecraft.core.BlockPos;
1313
import net.minecraft.world.entity.Entity;
1414
import net.minecraft.world.level.ChunkPos;
15-
@@ -119,50 +_,157 @@
15+
@@ -15,8 +_,26 @@
16+
17+
private static final Logger LOGGER = LoggerFactory.getLogger(TickThread.class);
18+
19+
+ private static String getRegionInfo(final ThreadedRegionizer.ThreadedRegion<TickRegions.TickRegionData, TickRegions.TickRegionSectionData> region) {
20+
+ if (region == null) {
21+
+ return "{null}";
22+
+ }
23+
+
24+
+ final ChunkPos center = region.getCenterChunk();
25+
+ final net.minecraft.server.level.ServerLevel world = region.regioniser.world;
26+
+
27+
+ return "{center=" + center + ",world=" + (world == null ? "null" : WorldUtil.getWorldName(world)) + "}";
28+
+ }
29+
+
30+
private static String getThreadContext() {
31+
- return "thread=" + Thread.currentThread().getName();
32+
+ final Thread thread = Thread.currentThread();
33+
+
34+
+ if (!(thread instanceof TickThread)) {
35+
+ return "[thread=" + thread + ",class=" + thread.getClass().getName() + "]";
36+
+ }
37+
+
38+
+ return "[thread=" + thread.getName() + ",class=" + thread.getClass().getName() + ",region=" + getRegionInfo(TickRegionScheduler.getCurrentRegion()) + "]";
39+
+
40+
}
41+
42+
/**
43+
@@ -123,50 +_,157 @@
1644
}
1745

1846
public static boolean isShutdownThread() {

0 commit comments

Comments
 (0)