From aa5d287e4f266d8ba4bc76fee336d06fd91d8364 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 7 May 2019 16:26:37 +0100 Subject: [PATCH] Fix RegionFileCache write logic --- .../Allow-Saving-of-Oversized-Chunks.patch | 12 ++++++------ Spigot-Server-Patches/Chunk-Save-Reattempt.patch | 7 +++++-- ...ption-to-use-a-versioned-world-folder-for-t.patch | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Spigot-Server-Patches/Allow-Saving-of-Oversized-Chunks.patch b/Spigot-Server-Patches/Allow-Saving-of-Oversized-Chunks.patch index 16f5f076b..7ae7b7e51 100644 --- a/Spigot-Server-Patches/Allow-Saving-of-Oversized-Chunks.patch +++ b/Spigot-Server-Patches/Allow-Saving-of-Oversized-Chunks.patch @@ -31,7 +31,7 @@ this fix, as the data will remain in the oversized file. Once the server returns to a jar with this fix, the data will be restored. diff --git a/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java b/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java -index 9fd8a75dae..d49afd622e 100644 +index 9fd8a75da..d49afd622 100644 --- a/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java +++ b/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java @@ -0,0 +0,0 @@ public class NBTCompressedStreamTools { @@ -51,7 +51,7 @@ index 9fd8a75dae..d49afd622e 100644 a((NBTBase) nbttagcompound, dataoutput); } diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index b7c94fe238..80eea5dfbd 100644 +index b7c94fe23..80eea5dfb 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -0,0 +0,0 @@ import java.util.Objects; @@ -64,7 +64,7 @@ index b7c94fe238..80eea5dfbd 100644 public NBTTagList() {} diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index e68f901943..ed2ccebb23 100644 +index e68f90194..ed2ccebb2 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable { @@ -286,7 +286,7 @@ index e68f901943..ed2ccebb23 100644 + } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 1b12a16113..6893f3cd34 100644 +index 990d34efd..b61864641 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -0,0 +0,0 @@ public abstract class RegionFileCache implements AutoCloseable { @@ -503,6 +503,6 @@ index 1b12a16113..6893f3cd34 100644 +// } + // Paper end - } catch (Exception ex) { - laste = ex; + // Paper start + return; -- \ No newline at end of file diff --git a/Spigot-Server-Patches/Chunk-Save-Reattempt.patch b/Spigot-Server-Patches/Chunk-Save-Reattempt.patch index b130299f3..d6d4221c2 100644 --- a/Spigot-Server-Patches/Chunk-Save-Reattempt.patch +++ b/Spigot-Server-Patches/Chunk-Save-Reattempt.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Chunk Save Reattempt We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks. diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 88b5aa3a51..b062a31c49 100644 +index 88b5aa3a5..b062a31c4 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable { @@ -20,7 +20,7 @@ index 88b5aa3a51..b062a31c49 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index ad76ed27dc..75731c9195 100644 +index ad76ed27d..20f563144 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -0,0 +0,0 @@ public abstract class RegionFileCache implements AutoCloseable { @@ -35,6 +35,8 @@ index ad76ed27dc..75731c9195 100644 } ++ // Paper start ++ return; + } catch (Exception ex) { + laste = ex; + } @@ -44,6 +46,7 @@ index ad76ed27dc..75731c9195 100644 + com.destroystokyo.paper.exception.ServerInternalException.reportInternalException(laste); + MinecraftServer.LOGGER.error("Failed to save chunk", laste); + } ++ // Paper end } public void close() throws IOException { diff --git a/Spigot-Server-Patches/Provide-option-to-use-a-versioned-world-folder-for-t.patch b/Spigot-Server-Patches/Provide-option-to-use-a-versioned-world-folder-for-t.patch index f566f7480..c91415b7e 100644 --- a/Spigot-Server-Patches/Provide-option-to-use-a-versioned-world-folder-for-t.patch +++ b/Spigot-Server-Patches/Provide-option-to-use-a-versioned-world-folder-for-t.patch @@ -59,7 +59,7 @@ index a9b71c85d..8c3880c83 100644 + } } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index c8573a8ee..1b12a1611 100644 +index 6425b14f2..990d34efd 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -0,0 +0,0 @@ import java.io.IOException;