mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-06 00:07:56 +01:00
f7ae11f984
TODO: Add isProxyOnlineMode check to Metrics
99 lines
5.1 KiB
Diff
99 lines
5.1 KiB
Diff
--- a/net/minecraft/server/players/OldUsersConverter.java
|
|
+++ b/net/minecraft/server/players/OldUsersConverter.java
|
|
@@ -21,6 +21,9 @@
|
|
import java.util.UUID;
|
|
import javax.annotation.Nullable;
|
|
import net.minecraft.core.UUIDUtil;
|
|
+import net.minecraft.nbt.CompoundTag;
|
|
+import net.minecraft.nbt.NbtAccounter;
|
|
+import net.minecraft.nbt.NbtIo;
|
|
import net.minecraft.server.MinecraftServer;
|
|
import net.minecraft.server.dedicated.DedicatedServer;
|
|
import net.minecraft.util.StringUtil;
|
|
@@ -62,7 +65,8 @@
|
|
return new String[i];
|
|
});
|
|
|
|
- if (server.usesAuthentication()) {
|
|
+ if (server.usesAuthentication() ||
|
|
+ (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode())) { // Spigot: bungee = online mode, for now. // Paper - Add setting for proxy online mode status
|
|
server.getProfileRepository().findProfilesByNames(astring, callback);
|
|
} else {
|
|
String[] astring1 = astring;
|
|
@@ -85,7 +89,7 @@
|
|
try {
|
|
gameprofilebanlist.load();
|
|
} catch (IOException ioexception) {
|
|
- OldUsersConverter.LOGGER.warn("Could not load existing file {}", gameprofilebanlist.getFile().getName(), ioexception);
|
|
+ OldUsersConverter.LOGGER.warn("Could not load existing file {}", gameprofilebanlist.getFile().getName()); // CraftBukkit - don't print stacktrace
|
|
}
|
|
}
|
|
|
|
@@ -143,7 +147,7 @@
|
|
try {
|
|
ipbanlist.load();
|
|
} catch (IOException ioexception) {
|
|
- OldUsersConverter.LOGGER.warn("Could not load existing file {}", ipbanlist.getFile().getName(), ioexception);
|
|
+ OldUsersConverter.LOGGER.warn("Could not load existing file {}", ipbanlist.getFile().getName()); // CraftBukkit - don't print stacktrace
|
|
}
|
|
}
|
|
|
|
@@ -184,7 +188,7 @@
|
|
try {
|
|
oplist.load();
|
|
} catch (IOException ioexception) {
|
|
- OldUsersConverter.LOGGER.warn("Could not load existing file {}", oplist.getFile().getName(), ioexception);
|
|
+ OldUsersConverter.LOGGER.warn("Could not load existing file {}", oplist.getFile().getName()); // CraftBukkit - don't print stacktrace
|
|
}
|
|
}
|
|
|
|
@@ -228,7 +232,7 @@
|
|
try {
|
|
whitelist.load();
|
|
} catch (IOException ioexception) {
|
|
- OldUsersConverter.LOGGER.warn("Could not load existing file {}", whitelist.getFile().getName(), ioexception);
|
|
+ OldUsersConverter.LOGGER.warn("Could not load existing file {}", whitelist.getFile().getName()); // CraftBukkit - don't print stacktrace
|
|
}
|
|
}
|
|
|
|
@@ -346,7 +350,39 @@
|
|
private void movePlayerFile(File playerDataFolder, String fileName, String uuid) {
|
|
File file5 = new File(file, fileName + ".dat");
|
|
File file6 = new File(playerDataFolder, uuid + ".dat");
|
|
+
|
|
+ // CraftBukkit start - Use old file name to seed lastKnownName
|
|
+ CompoundTag root = null;
|
|
+
|
|
+ try {
|
|
+ root = NbtIo.readCompressed(new java.io.FileInputStream(file5), NbtAccounter.unlimitedHeap());
|
|
+ } catch (Exception exception) {
|
|
+ // Paper start
|
|
+ io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(exception);
|
|
+ exception.printStackTrace();
|
|
+ com.destroystokyo.paper.exception.ServerInternalException.reportInternalException(exception);
|
|
+ // Paper end
|
|
+ }
|
|
|
|
+ if (root != null) {
|
|
+ if (!root.contains("bukkit")) {
|
|
+ root.put("bukkit", new CompoundTag());
|
|
+ }
|
|
+ CompoundTag data = root.getCompound("bukkit");
|
|
+ data.putString("lastKnownName", fileName);
|
|
+
|
|
+ try {
|
|
+ NbtIo.writeCompressed(root, new java.io.FileOutputStream(file2));
|
|
+ } catch (Exception exception) {
|
|
+ // Paper start
|
|
+ io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(exception);
|
|
+ exception.printStackTrace();
|
|
+ com.destroystokyo.paper.exception.ServerInternalException.reportInternalException(exception);
|
|
+ // Paper end
|
|
+ }
|
|
+ }
|
|
+ // CraftBukkit end
|
|
+
|
|
OldUsersConverter.ensureDirectoryExists(playerDataFolder);
|
|
if (!file5.renameTo(file6)) {
|
|
throw new OldUsersConverter.ConversionError("Could not convert file for " + fileName);
|