diff options
author | Nassim Jahnke <[email protected]> | 2023-03-14 18:11:24 +0100 |
---|---|---|
committer | Nassim Jahnke <[email protected]> | 2023-03-14 18:11:24 +0100 |
commit | 2ed604cf725820344878b0d49117bd5ef31463bc (patch) | |
tree | 701daae297f65de2ae3b2cc233047e7903adcb51 /patches/server/0098-Async-GameProfileCache-saving.patch | |
parent | 155aa36d89b260ef5841615899299756b5983c0a (diff) | |
download | Paper-2ed604cf725820344878b0d49117bd5ef31463bc.tar.gz Paper-2ed604cf725820344878b0d49117bd5ef31463bc.zip |
Start working on 1.19.4
Diffstat (limited to 'patches/server/0098-Async-GameProfileCache-saving.patch')
-rw-r--r-- | patches/server/0098-Async-GameProfileCache-saving.patch | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/patches/server/0098-Async-GameProfileCache-saving.patch b/patches/server/0098-Async-GameProfileCache-saving.patch deleted file mode 100644 index f7d915bad3..0000000000 --- a/patches/server/0098-Async-GameProfileCache-saving.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar <[email protected]> -Date: Mon, 16 May 2016 20:47:41 -0400 -Subject: [PATCH] Async GameProfileCache saving - - -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3ed50490121f34ab5b247565b9a4555bf6a46dff..0a419ec121bbddffa0424147c642f79d4e5eb817 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -934,7 +934,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa - } catch (java.lang.InterruptedException ignored) {} // Paper - if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { - MinecraftServer.LOGGER.info("Saving usercache.json"); -- this.getProfileCache().save(); -+ this.getProfileCache().save(false); // Paper - } - // Spigot end - io.papermc.paper.chunk.system.io.RegionFileIOThread.close(true); // Paper // Paper - rewrite chunk system -diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 18f7d73fd8a780753e2249a9fec6bb335ebfdeed..35904c69e14c4c0addda204d5e3788518c2e16c4 100644 ---- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -242,7 +242,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface - } - - if (this.convertOldUsers()) { -- this.getProfileCache().save(); -+ this.getProfileCache().save(false); // Paper - } - - if (!OldUsersConverter.serverReadyAfterUserconversion(this)) { -diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index d246563021c32127e570809f4d849b6a156f4dc6..225e15d686675e21969c4210fa38fef58d920355 100644 ---- a/src/main/java/net/minecraft/server/players/GameProfileCache.java -+++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java -@@ -127,7 +127,7 @@ public class GameProfileCache { - GameProfileCache.GameProfileInfo usercache_usercacheentry = new GameProfileCache.GameProfileInfo(profile, date); - - this.safeAdd(usercache_usercacheentry); -- if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.save(); // Spigot - skip saving if disabled -+ if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.save(true); // Spigot - skip saving if disabled // Paper - async - } - - private long getNextOperation() { -@@ -160,7 +160,7 @@ public class GameProfileCache { - } - - if (flag && !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { // Spigot - skip saving if disabled -- this.save(); -+ this.save(true); // Paper - } - - return optional; -@@ -274,7 +274,7 @@ public class GameProfileCache { - return arraylist; - } - -- public void save() { -+ public void save(boolean asyncSave) { // Paper - JsonArray jsonarray = new JsonArray(); - DateFormat dateformat = GameProfileCache.createDateFormat(); - -@@ -282,6 +282,7 @@ public class GameProfileCache { - jsonarray.add(GameProfileCache.writeGameProfile(usercache_usercacheentry, dateformat)); - }); - String s = this.gson.toJson(jsonarray); -+ Runnable save = () -> { // Paper - - try { - BufferedWriter bufferedwriter = Files.newWriter(this.file, StandardCharsets.UTF_8); -@@ -306,6 +307,14 @@ public class GameProfileCache { - } catch (IOException ioexception) { - ; - } -+ // Paper start -+ }; -+ if (asyncSave) { -+ io.papermc.paper.util.MCUtil.scheduleAsyncTask(save); -+ } else { -+ save.run(); -+ } -+ // Paper end - - } - |