Bug Closed · Resolved Critical priority

Worlds not deleting, leading to a plethora of issues including memory overuse

#4390 opened by Unknown 2 years ago

Unknownreported this bug

For a while now, my server has been suffering from an issue where each time a dungeon instance is unloaded, its not fully removed, usually this isnt a problem for my server cause a restart will wipe them away, but with more people doing dungeon activities and loading more instances, it is causing a legitimately big memory leak issue that can easily bring down large servers without warning.

[13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §dCleaning up instance 'InsightTerminus_15'... [13:19:02] [Server thread/WARN]: Nag author(s): '[MarcatoSound, Aestrus]' of 'MythicDungeons v1.2.0' about their usage of System.out/err.print. Please use your plugin's logger instead (JavaPlugin#getLogger). [13:19:02] [Server thread/INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'InsightTerminus_15' [13:19:02] [Server thread/INFO]: [ChunkHolderManager] Halted chunk system for world 'InsightTerminus_15' [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Unloading world InsightTerminus_15 processed in 1ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Cleaning up InsightTerminus_15 processed in 2ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §dCleaning up instance 'InsightTerminus_15'... [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Unloading world InsightTerminus_15 processed in 0ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Cleaning up InsightTerminus_15 processed in 0ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §dCleaning up instance 'InsightTerminus_15'... [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Unloading world InsightTerminus_15 processed in 0ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Cleaning up InsightTerminus_15 processed in 0ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §dCleaning up instance 'InsightTerminus_15'... [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Unloading world InsightTerminus_15 processed in 0ms. =- [13:19:02] [Server thread/INFO]: [MythicDungeons] [STDOUT] §d-= Cleaning up InsightTerminus_15 processed in 0ms. =- [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: org.apache.commons.io.IOExceptionList: ./InsightTerminus_15 [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:331) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at dungeonspremium.jar//net.playavalon.mythicdungeons.dungeons.Instance.lambda$dispose$2(Instance.java:500) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/java.lang.Thread.run(Thread.java:1589) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: Caused by: java.io.IOException: Cannot delete file: ./InsightTerminus_15/players [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1344) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:324) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: ... 8 more [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: Caused by: java.nio.file.NoSuchFileException: ./InsightTerminus_15/players/9ae329a1-763a-4cf3-8580-70c24ce09a72.yml [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.readAttributes(UnixFileAttributeViews.java:257) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.readAttributes(UnixFileAttributeViews.java:168) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.file.PathUtils.setReadOnly(PathUtils.java:927) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.file.DeletingPathVisitor.visitFile(DeletingPathVisitor.java:159) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.file.DeletingPathVisitor.visitFile(DeletingPathVisitor.java:37) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/java.nio.file.Files.walkFileTree(Files.java:2810) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at java.base/java.nio.file.Files.walkFileTree(Files.java:2881) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.file.PathUtils.visitFileTree(PathUtils.java:971) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.file.PathUtils.deleteDirectory(PathUtils.java:434) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.file.PathUtils.delete(PathUtils.java:391) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1341) [13:19:02] [Craft Scheduler Thread - 927 - MythicDungeons/WARN]: ... 9 more [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: org.apache.commons.io.IOExceptionList: ./InsightTerminus_15 [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:331) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at dungeonspremium.jar//net.playavalon.mythicdungeons.dungeons.Instance.lambda$dispose$2(Instance.java:500) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at java.base/java.lang.Thread.run(Thread.java:1589) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: Caused by: java.io.FileNotFoundException: File does not exist: ./InsightTerminus_15/paper-world.yml [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1349) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:324) [13:19:02] [Craft Scheduler Thread - 932 - MythicDungeons/WARN]: ... 8 more [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: org.apache.commons.io.IOExceptionList: ./InsightTerminus_15 [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:331) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at dungeonspremium.jar//net.playavalon.mythicdungeons.dungeons.Instance.lambda$dispose$2(Instance.java:500) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at java.base/java.lang.Thread.run(Thread.java:1589) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: Caused by: java.io.FileNotFoundException: File does not exist: ./InsightTerminus_15/paper-world.yml [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1349) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:324) [13:19:02] [Craft Scheduler Thread - 915 - MythicDungeons/WARN]: ... 8 more [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: org.apache.commons.io.IOExceptionList: ./InsightTerminus_15 [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:331) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at dungeonspremium.jar//net.playavalon.mythicdungeons.dungeons.Instance.lambda$dispose$2(Instance.java:500) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftTask.run(CraftTask.java:101) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at java.base/java.lang.Thread.run(Thread.java:1589) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: Caused by: java.io.FileNotFoundException: File does not exist: ./InsightTerminus_15/paper-world.yml [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1349) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:324) [13:19:02] [Craft Scheduler Thread - 941 - MythicDungeons/WARN]: ... 8 more

Unknowncommented

Hey there! This seems to be a somewhat recurring issue and I'm struggling to get to the bottom of it. Let me explain my observations so far...

One of the main peculiar things I'm observing is how absurdly fast the dungeon reports being "cleaned up". Even the most basic of dungeons should take 20-50ms to get cleaned up, but yours (and others with this issue) is cleaning up in 1-2ms.

Furthermore, it's trying to clean up the dungeon multiple times and there should be no way for that to happen unless something else is breaking.

I've got a couple questions I'm hoping well help identify what's going wrong here.

  1. What server software are you running? (Spigot, Paper, Purpur, etc.)
  2. Does this happen for every dungeon no matter what you do, or only sometimes?
  3. Can you show me the contents of a dungeon world folder that's gotten stuck?
Unknowncommented

Currently running my server on Paper after i transferred it over from spigot, every instance will seemingly do this but will vanish once the server has gone through a restart, one time it managed to have 57 failed instances of a single dungeon (server can handle the load, but it was still straining it severely)

Here is both the issue in action, as well as the content of a stuck dungeon folder, they appear empty yet still update whenever a new instance of that dungeon is active.

[Legacy attachment omitted]

Unknowncommented

here is also my listed plugins, i was told by another mythic dev to post these here as well

[Legacy attachment omitted]

Unknowncommented

Also, unsure if this is related, but it appears that on server startup, Mythic Dungeons has some sort of error loading up the world, thought id leave this here as well.

[18:45:27] [Server thread/INFO]: [DungeonParties] Enabling DungeonParties v1.0-SNAPSHOT
[18:45:27] [Server thread/INFO]: [MythicDungeons] §dDungeonParties plugin found! Enabled party support.
[18:45:27] [Server thread/INFO]: [MythicDungeons] §dMythicMobs plugin found! Enabled MythicMobs support.
[18:45:27] [Server thread/INFO]: [PlaceholderAPI] Successfully registered internal expansion: md [1.2.1]
[18:45:27] [Server thread/INFO]: [org.reflections.Reflections] Reflections took 40 ms to scan 1 urls, producing 11 keys and 149 values
[18:45:28] [Server thread/INFO]: [org.reflections.Reflections] Reflections took 5 ms to scan 1 urls, producing 8 keys and 64 values
[18:45:28] [Server thread/INFO]: [org.reflections.Reflections] Reflections took 3 ms to scan 1 urls, producing 5 keys and 20 values
[18:45:28] [Server thread/INFO]: [MythicDungeons] §d* Loaded §629 §dfunctions.
[18:45:28] [Server thread/INFO]: [MythicDungeons] §d* Loaded §613 §dtriggers.
[18:45:28] [Server thread/INFO]: [MythicDungeons] §d* Loaded §64 §dconditions.
[18:45:28] [Server thread/ERROR]: [org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static org.bukkit.Location org.bukkit.Location.deserialize(java.util.Map)' of class org.bukkit.Location for deserialization
java.lang.IllegalArgumentException: unknown world
	at org.bukkit.Location.deserialize(Location.java:1139) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:578) ~[?:?]
	at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaMethod(ConfigurationSerialization.java:85) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:127) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:207) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:58) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270) ~[snakeyaml-1.33.jar:?]
	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253) ~[snakeyaml-1.33.jar:?]
	at org.bukkit.configuration.file.YamlConstructor.construct(YamlConstructor.java:37) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.file.YamlConfiguration.fromNodeTree(YamlConfiguration.java:163) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.file.YamlConfiguration.fromNodeTree(YamlConfiguration.java:161) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:120) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at net.playavalon.mythicdungeons.dungeons.Dungeon.<init>(Dungeon.java:109) ~[MythicDungeons-1.2.1-SNAPSHOT (1).jar:?]
	at net.playavalon.mythicdungeons.managers.DungeonManager.loadDungeon(DungeonManager.java:52) ~[MythicDungeons-1.2.1-SNAPSHOT (1).jar:?]
	at net.playavalon.mythicdungeons.managers.DungeonManager.loadDungeon(DungeonManager.java:48) ~[MythicDungeons-1.2.1-SNAPSHOT (1).jar:?]
	at net.playavalon.mythicdungeons.managers.DungeonManager.<init>(DungeonManager.java:42) ~[MythicDungeons-1.2.1-SNAPSHOT (1).jar:?]
	at net.playavalon.mythicdungeons.MythicDungeons.onEnable(MythicDungeons.java:333) ~[MythicDungeons-1.2.1-SNAPSHOT (1).jar:?]
	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.19.4.jar:git-Paper-550]
	at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.19.4.jar:git-Paper-550]
	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:563) ~[paper-1.19.4.jar:git-Paper-550]
	at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:474) ~[paper-1.19.4.jar:git-Paper-550]
	at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:638) ~[paper-1.19.4.jar:git-Paper-550]
	at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:437) ~[paper-1.19.4.jar:git-Paper-550]
	at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.19.4.jar:git-Paper-550]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1104) ~[paper-1.19.4.jar:git-Paper-550]
	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-550]
	at java.lang.Thread.run(Thread.java:1589) ~[?:?]
[18:45:28] [Server thread/INFO]: [MythicDungeons] §dGUI menus initialized!
[18:45:28] [Server thread/INFO]: [MythicDungeons] §dMythic Dungeons v1.2.1 §ainitialized! Happy dungeon-ing!
Unknowncommented

So this one is unrelated; check your dungeon configs for a line that looks something like ==: org.bukkit.Location under "ExitLocation". This is related to a bug we've since fixed but you have to manually delete that line to eliminate that error.

Unknowncommented

understood, thank you so much

Unknowncommented

This issue should be resolved as of the latest dev build. Special thanks to @RazielMartelus96 for doing some digging around and helping us identify the issue. :D

Sign in to join the discussion.