mirror of
https://github.com/PaperMC/Paper.git
synced 2024-08-20 11:22:56 +02:00
We cannot put blocking network I/O onto the worldgen threads, this will crash the server if it stalls
62 lines
3.4 KiB
Diff
62 lines
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Mon, 4 Jan 2021 19:49:15 -0800
|
|
Subject: [PATCH] fix converting txt to json file
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java b/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java
|
|
index d83bed436d2ad51cef83ecbf0c7df227a67ff404..dc96b30c70cd79d7b2a0322f32b9399a0f2faa41 100644
|
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedPlayerList.java
|
|
@@ -17,6 +17,11 @@ public class DedicatedPlayerList extends PlayerList {
|
|
this.setViewDistance(dedicatedServerProperties.viewDistance);
|
|
this.setSimulationDistance(dedicatedServerProperties.simulationDistance);
|
|
super.setUsingWhiteList(dedicatedServerProperties.whiteList.get());
|
|
+ // Paper start - moved from constructor
|
|
+ }
|
|
+ @Override
|
|
+ public void loadAndSaveFiles() {
|
|
+ // Paper end
|
|
this.loadUserBanList();
|
|
this.saveUserBanList();
|
|
this.loadIpBanList();
|
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
index ae45abf66d2e7b24d316a5db3d00c0b52f402b7f..0414974fc773a30810f88b54867034f5922eaa55 100644
|
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
@@ -199,6 +199,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
org.spigotmc.SpigotConfig.init((java.io.File) options.valueOf("spigot-settings"));
|
|
org.spigotmc.SpigotConfig.registerCommands();
|
|
// Spigot end
|
|
+ // Paper start - moved up to right after PlayerList creation but before file load/save
|
|
+ if (this.convertOldUsers()) {
|
|
+ this.getProfileCache().save(false); // Paper
|
|
+ }
|
|
+ this.getPlayerList().loadAndSaveFiles(); // Must be after convertNames
|
|
+ // Paper end
|
|
// Paper start
|
|
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // Paper - load mappings for stacktrace deobf and etc.
|
|
paperConfigurations.initializeGlobalConfiguration();
|
|
@@ -258,9 +264,6 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
|
|
}
|
|
|
|
- if (this.convertOldUsers()) {
|
|
- this.getProfileCache().save(false); // Paper
|
|
- }
|
|
|
|
if (!OldUsersConverter.serverReadyAfterUserconversion(this)) {
|
|
return false;
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index 42b2f5c61e2bd07c3c86d889949c5f24345680d6..2266e4608ff5ed11cbd76767365fe74742b8bc63 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -176,6 +176,7 @@ public abstract class PlayerList {
|
|
this.maxPlayers = maxPlayers;
|
|
this.playerIo = saveHandler;
|
|
}
|
|
+ abstract public void loadAndSaveFiles(); // Paper - moved from DedicatedPlayerList constructor
|
|
|
|
public void placeNewPlayer(Connection connection, ServerPlayer player) {
|
|
player.isRealPlayer = true; // Paper - Chunk priority
|