diff --git a/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java b/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java index 4c24da923..45621b4eb 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/config/Config.java @@ -43,6 +43,7 @@ import javax.swing.*; import java.awt.*; import java.util.*; import java.util.List; +import java.util.concurrent.ThreadLocalRandom; /** @@ -1019,7 +1020,11 @@ public class Config public static ConfigEntry levelKeyPrefix = new ConfigEntry.Builder() .setServersideShortName("levelKeyPrefix") .setAppearance(EConfigEntryAppearance.ONLY_IN_FILE) - .set("") + .set( + SingletonInjector.INSTANCE.get(IMinecraftSharedWrapper.class).isWorldInitialized() + ? "" + : "server" + ThreadLocalRandom.current().nextInt(1, 1000) + ) .comment("" + "Prefix of the level keys sent to the clients.\n" + "Should be set to a unique value for each backend server behind a proxy,\n" diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java index 95bc31714..1b1b84dd9 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java @@ -30,4 +30,6 @@ public interface IMinecraftSharedWrapper extends IBindable File getInstallationDirectory(); + boolean isWorldInitialized(); + } \ No newline at end of file