Dungeon creation crashes server in 1.9 #29


  • New
  • Defect
Open
Assigned to timvisee
  • _ForgeUser7564439 created this issue Mar 8, 2016

    What steps will reproduce the problem?
    1. Run /mv create Dungeon normal -g DungeonMaze
    2. See 08.03 16:22:45 [Server] ERROR Block at -1,219,38,-883 is FURNACE but has net.minecraft.server.v1_9_R1.TileEntityChest@7a2672b5. Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.
    3. Get as far as 08.03 16:23:06 [Server] INFO [DEBUG] Unloading all excess dungeon chunks for 'Dungeon'...
    08.03 16:23:06 [Server] INFO Preparing spawn area for Dungeon, 8%
    4. Server crashes with error below

    What is the expected output? What do you see instead?
    Expected world to load, ended with server crash.

    What version of the product are you using?
    0.2.2

    Do you have an error log of what happened?
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:945)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.ChunkBlockPopulator.populate(ChunkBlockPopulator.java:69)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.surface.SurfaceBlockPopulator.populateChunk(SurfaceBlockPopulator.java:22)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.surface.plants.TreePopulator.populateSurface(TreePopulator.java:87)
    08.03 16:23:24 [Server] ERROR org.bukkit.craftbukkit.v1_9_R1.CraftWorld.generateTree(CraftWorld.java:456)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.WorldGenTrees.generate(SourceFile:62)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.getType(World.java:743)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAtWorldCoords(World.java:320)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAt(World.java:324)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getOrCreateChunkFast(ChunkProviderServer.java:76)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:139)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:205)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.loadNearby(Chunk.java:901)
    08.03 16:23:24 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:945)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.ChunkBlockPopulator.populate(ChunkBlockPopulator.java:69)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeLayerBlockPopulator.populateChunk(MazeLayerBlockPopulator.java:66)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeRoomBlockPopulator.populateLayer(MazeRoomBlockPopulator.java:61)
    08.03 16:23:24 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeRoomBlockPopulator.getFloorOffset(MazeRoomBlockPopulator.java:93)
    08.03 16:23:24 [Server] ERROR org.bukkit.craftbukkit.v1_9_R1.block.CraftBlock.getType(CraftBlock.java:156)

    Please provide any additional information below.

  • _ForgeUser7564439 added the tags New Defect Mar 8, 2016
  • timvisee posted a comment Mar 8, 2016

    Thank you for the error report. I'll try to analyze the report as soon as possible.

    One quick question, are you running Minecraft 1.9?

    Tim Visée

  • _ForgeUser7564439 posted a comment Mar 8, 2016

    @timvisee: Go

    I was running the latest.

    This server is running CraftBukkit version git-Spigot-3104eb1-bf43ca6 (MC: 1.9) (Implementing API version 1.9-R0.1-SNAPSHOT)

    Looking at the files via FTP, the world seemed to be there. MV could see that there was a world folder and unloaded world. When MV would try to load it, it would not see it as properly generated. I've since deleted that world folder.

  • timvisee posted a comment Mar 9, 2016

    @der_Kernschatten: Go

    Thank you for the detailed report. It might even be Multiverse related, since that plugin is API wise quite badly designed. Anyways, I'll take a look into it.

    You might want to try the world generation/creation command from Dungeon Maze itself. Multiverse should recognize the world after it has been generated.

    Tim Visée

  • timvisee posted a comment Mar 9, 2016

    @der_Kernschatten: Go

    I was wondering. Does your server say anything about 'The server has stopped responding!', right before (maybe 4 lines before) the error popped up?

    It looks like there's a world generation performance problem with Spigot servers. If the server is working too long on generating a world, it thinks the server has crashed because it doesn't respond while it's generating a world. If the server isn't responding for 60 seconds, Spigot (and Bukkit) stop the server, ususally with an error message like this. I'll try to improve the performance as much as possible to prevent this error from occurring.

    Tim Visee

  • _ForgeUser7564439 posted a comment Mar 9, 2016

    @timvisee: Go

    You are correct, the server crashed.

    @timvisee: Go

    I tried the built in world generation and this was the result:

    09.03 17:52:44 [Multicraft] Server stopped
    09.03 17:52:44 [Multicraft] Server shut down
    09.03 17:52:38 [Server] ERROR com.timvisee.dungeonmaze.populator.ChunkBlockPopulator.populate(ChunkBlockPopulator.java:69)
    09.03 17:52:38 [Server] ERROR com.timvisee.dungeonmaze.populator.surface.SurfaceBlockPopulator.populateChunk(SurfaceBlockPopulator.java:22)
    09.03 17:52:38 [Server] ERROR com.timvisee.dungeonmaze.populator.surface.plants.TreePopulator.populateSurface(TreePopulator.java:44)
    09.03 17:52:38 [Server] ERROR org.bukkit.craftbukkit.v1_9_R1.CraftWorld.generateTree(CraftWorld.java:456)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.WorldGenForest.generate(SourceFile:53)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.World.getType(World.java:743)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAtWorldCoords(World.java:320)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAt(World.java:324)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getOrCreateChunkFast(ChunkProviderServer.java:76)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:139)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:205)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.loadNearby(Chunk.java:905)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:929)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.o(Chunk.java:1158)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:1188)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.e(Chunk.java:1221)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.World.w(World.java:2228)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.World.c(World.java:2293)
    09.03 17:52:38 [Server] ERROR net.minecraft.server.v1_9_R1.World.a(World.java:2239)
    09.03 17:52:38 [Server] ERROR Stack:
    09.03 17:52:38 [Server] ERROR PID: 23 | Suspended: false | Native: false | State: RUNNABLE
    09.03 17:52:38 [Server] ERROR Current Thread: Server thread
    09.03 17:52:38 [Server] ERROR ------
    09.03 17:52:38 [Server] ERROR Server thread dump (Look for plugins here before reporting to Spigot!):
    09.03 17:52:38 [Server] ERROR ------
    09.03 17:52:38 [Server] ERROR Spigot version: git-Spigot-3104eb1-bf43ca6 (MC: 1.9)
    09.03 17:52:38 [Server] ERROR Be sure to include ALL relevant console errors and Minecraft crash reports
    09.03 17:52:38 [Server] ERROR Please report this to http://www.spigotmc.org/
    09.03 17:52:38 [Server] ERROR The server has stopped responding!
    09.03 17:52:36 [Server] INFO [DEBUG] Unloading all excess dungeon chunks for 'Dungeon'...
    09.03 17:52:34 [Server] INFO Preparing spawn area for Dungeon, 32%
    09.03 17:52:33 [Server] INFO Preparing spawn area for Dungeon, 32%
    09.03 17:52:32 [Server] INFO Preparing spawn area for Dungeon, 32%
    09.03 17:52:30 [Server] INFO Preparing spawn area for Dungeon, 28%
    09.03 17:52:29 [Server] INFO Preparing spawn area for Dungeon, 28%
    09.03 17:52:28 [Server] INFO Preparing spawn area for Dungeon, 28%
    09.03 17:52:27 [Server] INFO Preparing spawn area for Dungeon, 24%
    09.03 17:52:26 [Server] INFO Preparing spawn area for Dungeon, 24%
    09.03 17:52:25 [Server] INFO Preparing spawn area for Dungeon, 20%
    09.03 17:52:24 [Server] INFO Preparing spawn area for Dungeon, 20%
    09.03 17:52:23 [Server] INFO Preparing spawn area for Dungeon, 20%
    09.03 17:52:22 [Server] INFO Preparing spawn area for Dungeon, 20%
    09.03 17:52:21 [Server] INFO Preparing spawn area for Dungeon, 16%
    09.03 17:52:20 [Server] INFO Preparing spawn area for Dungeon, 16%
    09.03 17:52:18 [Server] INFO Preparing spawn area for Dungeon, 16%
    09.03 17:52:17 [Server] INFO Preparing spawn area for Dungeon, 12%
    09.03 17:52:17 [Server] INFO [DEBUG] Unloading all excess dungeon chunks for 'Dungeon'...
    09.03 17:52:16 [Server] INFO Preparing spawn area for Dungeon, 12%
    09.03 17:52:15 [Server] INFO Preparing spawn area for Dungeon, 12%
    09.03 17:52:14 [Server] ERROR Block at -213,49,-245 is CHEST but has net.minecraft.server.v1_9_R1.TileEntityMobSpawner@57b2712a. Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.
    09.03 17:52:10 [Server] INFO Preparing spawn area for Dungeon, 8%
    09.03 17:52:09 [Server] INFO Preparing spawn area for Dungeon, 8%
    09.03 17:52:08 [Server] INFO Preparing spawn area for Dungeon, 8%
    09.03 17:52:06 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:52:05 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:52:03 [Server] ERROR Block at -195,56,125 is FURNACE but has net.minecraft.server.v1_9_R1.TileEntityMobSpawner@2de94f28. Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.
    09.03 17:52:03 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:52:02 [Server] INFO [DEBUG] Unloading all excess dungeon chunks for 'Dungeon'...
    09.03 17:51:58 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:51:57 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:51:55 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:51:53 [Server] INFO [DEBUG] Unloading all excess dungeon chunks for 'Dungeon'...
    09.03 17:51:53 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:51:42 [Server] INFO [DEBUG] Unloading all excess dungeon chunks for 'Dungeon'...
    09.03 17:51:40 [Server] ERROR Block at -503,37,-423 is MOB_SPAWNER but has net.minecraft.server.v1_9_R1.TileEntityChest@5c4be9b6. Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.
    09.03 17:51:39 [Server] INFO Preparing spawn area for Dungeon, 4%
    09.03 17:51:38 [Server] INFO Preparing spawn area for Dungeon, 4%


    Edited Mar 9, 2016
  • _ForgeUser7564439 posted a comment Mar 9, 2016

    Okay. I was successful, but with a bunch of snags on the way. Here's the story...

    After server reboot, I noticed that DM started generating again, this time with little issue other than:
    09.03 17:53:48 [Server] INFO Preparing spawn area for Dungeon, 69%
    09.03 17:53:47 [Server] ERROR Block at 41,55,-215 is MOB_SPAWNER but has net.minecraft.server.v1_9_R1.TileEntityChest@139c31c9. Bukkit will attempt to fix this, but there may be additional damage that we cannot recover.
    09.03 17:53:47 [Server] INFO Preparing spawn area for Dungeon, 65%

    I rebooted and saw:
    09.03 18:01:33 [Server] INFO All Dungeon Maze worlds have been unloaded!
    09.03 18:01:32 [Server] INFO Saved 1667 pending tile renders in world 'Dungeon'
    09.03 18:01:32 [Server] WARN /mv import Dungeon NORMAL
    09.03 18:01:32 [Server] WARN To let Multiverse know about it, use:
    09.03 18:01:32 [Server] WARN Hmm Multiverse does not know about this world but it's loaded in memory.
    09.03 18:01:32 [Server] INFO Unloading Dungeon Maze worlds...
    09.03 18:01:32 [Server] INFO [DEBUG] [Service] Service Dungeon Chunk Grid Manager unloaded!
    09.03 18:01:32 [Server] INFO Unloading 251 chunks, took 57 ms!
    09.03 18:01:32 [Server] INFO Unloading all dungeon chunks for all worlds...

    It advised that I run "/mv import Dungeon NORMAL" but I ran "/mv import Dungeon NORMAL DungeonMaze" because I thought it might be important to declare the worldgenerator to MV. Please correct me if I'm wrong.

    Now, in theory, all should be working. However, no matter the command I tried, I was told I didn't have permission.
    I re-opped myself just in case. No dice.
    I then manually added all of the permissions you listed on the main page. Some dice...
    I could not use /dm listworlds so I made an educated guess and added an unlisted "dungeonmaze.command.listworlds" and that seemed to resolve things.

    Moving forward I saw this, not sure if it's supposed to happen or normal:
    09.03 18:04:23 [Server] INFO New Spawn for 'Dungeon' is located at: Dungeon:0.00,83.00,0.00:0.00:0.00
    09.03 18:04:23 [Server] WARN Original Location: X: 0 Y: 0 Z: 0 P: 0 Y: 0
    09.03 18:04:23 [Server] WARN Spawn location from world.dat file was unsafe. Adjusting...
    09.03 18:04:23 [Server] INFO Loading World & Settings - 'Dungeon' - Env: NORMAL - Type: null

    Using /mv to get to the Dungeon world puts me above the surface.
    Using /dm to get to the Dungeon puts me in the middle of a maze. I assume the latter is what is supposed to happen.


    Edited Mar 9, 2016
  • _ForgeUser7564439 posted a comment Mar 9, 2016

    Hiccups (like the permissions issue mentioned below) aside, I'm currently running a worldborder fill with a radius of 500 to further test world generation and I'll run an updaterender with dynmap to confirm all is well and let you know.

    I noticed in your video that you seem to have some other plugins. If you don't mind, what did you guys use? I'm considering using Extra Hard Mode to make the Dungeon a really hard challenge.

  • _ForgeUser7564439 posted a comment Mar 9, 2016

    Three restarts of forcing it to generate and running dynmap and it looks like the world has generated okay.

    Before telling WorldBorder to Fill, I ran Dynmap and noticed some oddities in generation. I didn't explore the world, but for some reason the world generated as many as 2K blocks in a NW direction. See this screenshot to see what I'm talking about http://www.tiikoni.com/tis?e3af1d8

  • timvisee posted a comment Mar 9, 2016

    Hmm, some weird things are going on then. Those, of course, shouldn't happen!

    About the permission nodes: Dungeon Maze has some great help-related commands. The help pages of each command show what permission is required to run that specific command, you probably find that really useful. The help command itself doesn't require any permission so you should be all right. You can simply use the '/dm help' command to find more information about the usage. For example, we can run '/dm help createworld', this shows us what permission is required for the usage of that command, and it shows whether the current command executer has permission or not. I hope this can help you out with the permissions.

    Luckely, I've implemented some useful commands in the last few versions. You might want to use these commands from the console, because you mentioned the permissions (and a few other things) are acting weird.

    The status command does show some status about the plugin, and the server it's running on. (Command: /dm status) This command also clearly shows what permissions system is used (or not). On the third line, the output should show the permissions system you're currently using (for me, it shows 'PermissionsEx'). If this line says the permissions system is 'unknown' or 'none', something is wrong with the hook between Dungeon Maze and the permissions system being used. (If no permissions system is found, Dungeon Maze only allows OP (operators) to run commands, as a security measure). Could you please run this status command (/dm status) in the console, and post the output of the command in a message on this page?

    Dungeon Maze uses a services system. Various parts of the system are separated in different services. Please check whether all servers are properly loaded using the '/dm services' command.

    About the usage of Multiverse. I'm not too familiar with the plugin, but yes, you should give the name of the plugin as populator while generating (or re-generating) the world, like you did.

    Thanks a lot for the Dynmap render. That really makes it easier to visualise what we're talking about. Those stripes to the north west are indeed quite weird. I'm not really sure whether this is caused by the Dungeon Maze plugin, or by something else. I might use these plugins you mention for testing from now on, because that might make it easier to find these kind of problems.

    I still think it's (at least) partially caused by some performance problem related to Spigot. I've done some testing, but I didn't really find out yet what is causing this issue (on Spigot servers). CraftBukkit servers are running fine.

    I've changed quite a lot in the world generation and the data storage of the plugin, which really improved the performance so far. Would you mind checking whether the current development build (with these changes) causes the same issues? This should be done on a new world. And do you see an improvement in performance (the time it takes to generate a world)? You can download this build here (please note that this shouldn't be used in production, it's a development build):
    https://drive.google.com/file/d/0B6yxrPUFzujYWUc0bWpyTmVHQkU/view?usp=sharing

    The plugins in the video, I'll get back to that at a later moment if you don't mind. This because I don't really remember what plugins were used, but I can look it up.

    It's quite sad you're having this many problems with the plugin. I hope these problems doesn't keep you from using it.

    Tim Visée


    Edited Mar 9, 2016
  • _ForgeUser7564439 posted a comment Mar 9, 2016

    @timvisee: Go

    I'm off for work in a bit, so I'll address a few things and come back with more details later.

    I should have caught the bit about the permissions command. After all, you defined it on the main page.

    All services and permissions are loaded/recognized.

    10.03 06:16:02 [Server] INFO Java Version: 1.8.0_60 (64-bit)
    10.03 06:16:02 [Server] INFO OS Version: 3.13.0-67-generic
    10.03 06:16:02 [Server] INFO OS Architecture: 64-bit (amd64)
    10.03 06:16:02 [Server] INFO OS Name: Linux
    10.03 06:16:02 [Server] INFO Machine Status:
    10.03 06:16:02 [Server] INFO Server Time: 2016-03-10 06:16:02
    10.03 06:16:02 [Server] INFO Loaded Worlds: 6 / 11
    10.03 06:16:02 [Server] INFO Running Plugins: 29
    10.03 06:16:02 [Server] INFO Bukkit Version: 1.9-R0.1-SNAPSHOT
    10.03 06:16:02 [Server] INFO Server Version: git-Spigot-3104eb1-bf43ca6 (MC: 1.9)
    10.03 06:16:02 [Server] INFO Detected Minecraft Server: Bukkit
    10.03 06:16:02 [Server] INFO Detected Minecraft Version: 1.9
    10.03 06:16:02 [Server] INFO Server Status:
    10.03 06:16:02 [Server] INFO Version: Dungeon Maze v0.2.2 (code: 22)
    10.03 06:16:02 [Server] INFO Runtime: 05:25:53.178 Hours
    10.03 06:16:02 [Server] INFO Running Services: 13 / 13
    10.03 06:16:02 [Server] INFO Loaded Dungeon Chunks: 166 in 1 grid
    10.03 06:16:02 [Server] INFO Permissions System: bPermissions
    10.03 06:16:02 [Server] INFO Dungeon Maze players: 1 / 1
    10.03 06:16:02 [Server] INFO Dungeon Maze worlds: 1
    10.03 06:16:02 [Server] INFO ==========[ DUNGEON MAZE STATUS ]==========

    When you say "Dungeon Maze only allows OP (operators) to run commands, as a security measure", I interpret that to mean that DM did recognize my permissions and recognized that I had not given them to myself. So, even though I was OP, because it saw bPermissions and that I didn't have the proper accesses, I was denied. I feel like most plugins just give me access as OP regardless of defined permissions, so I was definitely thrown off when I was being denied.

    If Spigot is potentially such an issue, a may just try Bukkit. I know of no harm to the world switching between the two and I don't really have any 'need' for one over the other.

    The statement that you aren't too familiar with MV interests me. What do you use instead to get from one world to the other? I have PerWorldInventories to keep SkyBlock inventories separate, a Skyblock command gets them there and an Essentials /home or similar gets them back. If MV is unnecessary, I don't see myself using it.

  • timvisee posted a comment Mar 10, 2016

    @der_Kernschatten: Go

    That's fine, for sure!

    It's good to see all services running, so that can't be the problem. Also, the server status log you've returned seems all rights. The proper versions of Java, the server and the plugin are running so that can't be a problem either.

    That's true, it only allows OP users when no permissions system is found. I'd like to note, that the permissions system should allow all permission nodes when a player is OP, so this is something on the permissions plugin side, not on the plugin's side that is using the permissions. Giving yourself the 'dungeonmaze.*' permission though, will give you permission to all commands that are available. But, would you like to have an option anyways to set whether OP users always have access to commands? If so, I'll add it anyways.

    Spigot indeed has some issues. I'm still looking to find out what's going on, because it just seems weird Spigot has so much trouble generating worlds. Dungeon Maze is quite a heavy generator on it's own, so that doesn't really help either.

    True, I haven't used Multiverse too much. To be honest, I don't like the plugin based on my experience in the last 4 to 5 years. Multiverse is too heavy for what the plugin offers, and breaks more things than it does good. It really hooks into the world management of the server itself while that is not necessary. And for example, Dungeon Maze was required to use Multiverse's API to properly work on servers where Multiverse was installed, that's just something that shouldn't happen. I've used WorldPortal, a plugin I had written myself back in the days. These days it's really outdated, and I haven't updated it for years, so that wouldn't be an option.

    Tim Visée

  • _ForgeUser7564439 posted a comment Mar 10, 2016

    @timvisee: Go

    Before I left for work, I couldn't get those weird lines of world generation, that was up to 2K blocks in length, to disappear. I tried the Trim feature of WorldBorder that helps to give that round appearance on a map, then I'd tell DynMap to update the map with new chunk data and it wouldn't disappear. So, I couldn't tell if worldgeneration was functioning appropriately.
    It had to something to do with how Linux (or my host) doesn't necessarily delete when you tell it to delete. The files weren't there, but were... I FTPd in, renamed the folder with the map data and had DynMap regenerate the files from scratch AFTER only using DM to generate the world.

    Conclusion: Your suggestion to have DM generate instead of MV was a solution. While I had to restart a few times with DM generating 500 and 1000 block radius worlds, the world generated perfectly (minus those chest errors I showed you).

    Suggestion: Given this experience, I suggest removing the mention of using MV to generate. Maybe MV is a solution for some folks in handling worlds and I wouldn't kill the page(s) dedicated to it, just the generation part. MV still could be a solution for me unless you know of something else/I find something that allows me to bring someone from World A to World B etc.

    Regarding the permission talk, I'll give myself dungeonmaze.* and be done with it. My server is small, with coworkers, family, and friends and I'm the only OP, so I'm not too worried about anything extra there.

    I would have hoped Spigot would be less of an issue considering the Spigot folks are making Bukkit now too. Whatever the case, I'll test a comparison of both later.

    I'm planning to test out the new DM soon.

    Does DM handle anything other than WorldGeneration... and I suppose being able to teleport into the world? In your video (going back to previous question of your plugins), I saw talk of Bosses and what not, so I was wondering if that was DM or something else.

  • timvisee posted a comment Mar 10, 2016

    @der_Kernschatten: Go

    It's great to hear that some of the issues are solved. And I'll indeed remove the Multiverse notice, since generating it with Dungeon Maze itself (like you said) should be all right.

    I've already added an option to the configuration file to always allow permission to OP players, so this will be available in a next update. You can decide whether you want to enable this option or not (and use the permission method), since it's disabled by default.

    Some other people have been noticing the Spigot issue too, thus we're currently trying to figure out what's going on. I might have found a hotfix that we can temporarily use to speed up the generation process. (I'll give you an heads up if that temporary hotfix indeed works).

    DungeonMaze does handle just a few other things, but that's very limited. The things you're mentioning are indeed other plugins. I do only remember a few of those, but I think those are the ones you're talking about.

    The first one is Corruption. This allows you to configure boss monsters, and give them various abilities. I'm not quite sure whether this plugin still works, but you should give it a try. I know these folks in real life, and I'll contact them to ask whether they can update it if it isn't compatible anymore. If they wont, I might update it for you.

    The second one MagicSpells, this allows you like the name suggests, to add magic spells. That lava geyser you can see somewhere in that trailer is done using MagicSpells too. One of the guys on our server really configured the MagicSpells (and the Corruption) plugin a lot, to get all these awesome things out of it. I've shutdown the server about two years ago though, I should still have these configuration files laying around somewhere though. If you'd really want to, I can try and look 'm up.

    The third one was McMMO. This add's skills to players. You should check out there pages for more information.

    I don't really remember anything about the other plugins that we're used. But these three mentioned above are probably the biggest ones.

    Tim Visée

  • _ForgeUser7564439 posted a comment Mar 10, 2016

    I'm 50% done generating a 500 radius world with the dev build and before I could really even start, I saw those long lines. I think they are being created as part of the initial spawn generation.

    The initial build crashed the server:
    10.03 16:37:34 [Multicraft] Server shut down
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.populator.surface.plants.TreePopulator.populateSurface(TreePopulator.java:87)
    10.03 16:37:23 [Server] ERROR org.bukkit.craftbukkit.v1_9_R1.CraftWorld.generateTree(CraftWorld.java:456)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.WorldGenTrees.generate(SourceFile:62)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.World.getType(World.java:743)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAtWorldCoords(World.java:320)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAt(World.java:324)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getOrCreateChunkFast(ChunkProviderServer.java:76)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:139)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:205)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.loadNearby(Chunk.java:909)
    10.03 16:37:23 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:945)
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.populator.ChunkBlockPopulator.populate(ChunkBlockPopulator.java:80)
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeLayerBlockPopulator.populateChunk(MazeLayerBlockPopulator.java:66)
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeRoomBlockPopulator.populateLayer(MazeRoomBlockPopulator.java:53)
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.DungeonMaze.isConstantRoom(DungeonMaze.java:295)
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.DungeonMaze.isConstantRoom(DungeonMaze.java:299)
    10.03 16:37:23 [Server] ERROR com.timvisee.dungeonmaze.DungeonMaze.isConstantRoom(DungeonMaze.java:307)
    10.03 16:37:23 [Server] ERROR java.lang.Integer.toString(Integer.java:402)
    10.03 16:37:23 [Server] ERROR java.lang.Integer.getChars(Integer.java:460)
    10.03 16:37:23 [Server] ERROR Stack:
    10.03 16:37:23 [Server] ERROR PID: 23 | Suspended: false | Native: false | State: RUNNABLE
    10.03 16:37:23 [Server] ERROR Current Thread: Server thread
    10.03 16:37:23 [Server] ERROR ------
    10.03 16:37:23 [Server] ERROR Server thread dump (Look for plugins here before reporting to Spigot!):
    10.03 16:37:23 [Server] ERROR ------
    10.03 16:37:23 [Server] ERROR Spigot version: git-Spigot-b1c1b55-dd016e7 (MC: 1.9)
    10.03 16:37:23 [Server] ERROR Be sure to include ALL relevant console errors and Minecraft crash reports
    10.03 16:37:23 [Server] ERROR Please report this to http://www.spigotmc.org/
    10.03 16:37:23 [Server] ERROR The server has stopped responding!

    After the crash/restart things started picking up nicely. It was almost done:
    10.03 16:47:32 [Server] INFO [Debug] Loaded region for 'Dungeon_Maze' at (, -5, -5)
    10.03 16:47:30 [Server] INFO [Debug] Loaded region for 'Dungeon_Maze' at (, -4, -5)
    10.03 16:47:22 [Server] INFO [Debug] Loaded region for 'Dungeon_Maze' at (, -4, -4)

    Then I had one more crash:
    10.03 16:48:16 [Multicraft] Server shut down
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:507)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.BlockRedstoneLamp.onPlace(BlockRedstoneLamp.java:24)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.isBlockIndirectlyPowered(World.java:2646)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.getBlockFacePower(World.java:2642)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.getBlockPower(World.java:2622)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.getBlockPower(World.java:2596)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.getType(World.java:743)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAtWorldCoords(World.java:320)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAt(World.java:324)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getOrCreateChunkFast(ChunkProviderServer.java:76)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:139)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:205)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.loadNearby(Chunk.java:909)
    10.03 16:47:57 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:945)
    10.03 16:47:57 [Server] ERROR com.timvisee.dungeonmaze.populator.ChunkBlockPopulator.populate(ChunkBlockPopulator.java:80)
    10.03 16:47:57 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeLayerBlockPopulator.populateChunk(MazeLayerBlockPopulator.java:66)
    10.03 16:47:57 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeRoomBlockPopulator.populateLayer(MazeRoomBlockPopulator.java:53)
    10.03 16:47:57 [Server] ERROR com.timvisee.dungeonmaze.DungeonMaze.isConstantRoom(DungeonMaze.java:295)
    10.03 16:47:57 [Server] ERROR com.timvisee.dungeonmaze.DungeonMaze.isConstantRoom(DungeonMaze.java:299)
    10.03 16:47:57 [Server] ERROR Stack:
    10.03 16:47:57 [Server] ERROR PID: 23 | Suspended: false | Native: false | State: RUNNABLE
    10.03 16:47:57 [Server] ERROR Current Thread: Server thread
    10.03 16:47:57 [Server] ERROR ------
    10.03 16:47:57 [Server] ERROR Server thread dump (Look for plugins here before reporting to Spigot!):
    10.03 16:47:57 [Server] ERROR ------
    10.03 16:47:57 [Server] ERROR Spigot version: git-Spigot-b1c1b55-dd016e7 (MC: 1.9)
    10.03 16:47:57 [Server] ERROR Be sure to include ALL relevant console errors and Minecraft crash reports
    10.03 16:47:57 [Server] ERROR Please report this to http://www.spigotmc.org/
    10.03 16:47:57 [Server] ERROR The server has stopped responding!

    Now that the initial generation is done, I'm telling WorldBorder to Fill out to the radius and things are going fairly smooth.

    Almost finished and one more crash.
    10.03 17:09:39 [Multicraft] Server shut down
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.notify(World.java:447)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.NavigationListener.a(SourceFile:28)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.NavigationListener.a(SourceFile:62)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.BlockStateList$BlockData.d(SourceFile:369)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.Block.a(Block.java:248)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.BlockStateList$BlockData.c(SourceFile:379)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.BlockThin.a(SourceFile:88)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.BlockThin.updateState(SourceFile:111)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.getType(World.java:743)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAtWorldCoords(World.java:320)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.World.getChunkAt(World.java:324)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getOrCreateChunkFast(ChunkProviderServer.java:76)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:118)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:139)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:205)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.loadNearby(Chunk.java:905)
    10.03 17:09:24 [Server] ERROR net.minecraft.server.v1_9_R1.Chunk.a(Chunk.java:945)
    10.03 17:09:24 [Server] ERROR com.timvisee.dungeonmaze.populator.ChunkBlockPopulator.populate(ChunkBlockPopulator.java:80)
    10.03 17:09:24 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeLayerBlockPopulator.populateChunk(MazeLayerBlockPopulator.java:66)
    10.03 17:09:24 [Server] ERROR com.timvisee.dungeonmaze.populator.maze.MazeRoomBlockPopulator.populateLayer(MazeRoomBlockPopulator.java:61)
    10.03 17:09:24 [Server] ERROR Stack:
    10.03 17:09:24 [Server] ERROR PID: 23 | Suspended: false | Native: false | State: RUNNABLE
    10.03 17:09:24 [Server] ERROR Current Thread: Server thread
    10.03 17:09:24 [Server] ERROR ------
    10.03 17:09:24 [Server] ERROR Server thread dump (Look for plugins here before reporting to Spigot!):
    10.03 17:09:24 [Server] ERROR ------
    10.03 17:09:24 [Server] ERROR Spigot version: git-Spigot-b1c1b55-dd016e7 (MC: 1.9)
    10.03 17:09:24 [Server] ERROR Be sure to include ALL relevant console errors and Minecraft crash reports
    10.03 17:09:24 [Server] ERROR Please report this to http://www.spigotmc.org/
    10.03 17:09:24 [Server] ERROR The server has stopped responding!
    10.03 17:08:49 [Server] INFO [Debug] Loaded region for 'Dungeon_Maze' at (, -3, -4)
    10.03 17:08:38 [Server] INFO [Debug] Loaded region for 'Dungeon_Maze' at (, -2, -3)
    10.03 17:08:19 [Server] INFO [Debug] Saved 16 regions, took 183 ms!
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-4, -2)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-3, -2)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-3, -1)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (1, -1)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (1, 0)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (0, 1)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-1, 1)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-1, -3)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-2, 0)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-2, -1)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-1, -2)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (0, -2)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (0, 0)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-1, 0)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (0, -1)
    10.03 17:08:19 [Server] INFO [Debug] Saved region for 'Dungeon_Maze' at (-1, -1)
    10.03 17:08:19 [Server] INFO [Debug] Saving dungeon regions for 'Dungeon_Maze'...
    10.03 17:08:19 [Server] INFO [Fill] Saving the world to disk, just to be on the safe side. (free mem: 206 MB)

    ... and we are done:
    10.03 17:17:58 [Server] INFO [Fill] task successfully completed for world "Dungeon_Maze"! (free mem: 251 MB)
    10.03 17:17:58 [Server] INFO [Debug] Saved 0 regions, took <1 ms!
    10.03 17:17:58 [Server] INFO [Debug] Saving dungeon regions for 'Dungeon_Maze'...
    10.03 17:17:58 [Server] WARN A manual (plugin-induced) save has been detected while server is configured to auto-save. This may affect performance.
    10.03 17:17:58 [Server] INFO [Fill] 1082 more chunks processed (8191 total, 97.8%) (free mem: 263 MB)

    I will PM you so you can see how both worlds generated. Dungeon is with your official release after I used WorldBorder to Trim the weird lines out. Dungeon_Maze is the dev build before I Trim'd the lines. When you get around viewing it, DynMap may still be in the process of generating the Dungeon_Maze (dev build) map.

  • timvisee posted a comment Mar 10, 2016

    @der_Kernschatten: Go

    Really weird, the same things seem to be happening then! These lines don't seem to be generated on CraftBukkit servers by the way (just tested it).

    Generating a whole new world really locks up the server, WorldBorder probably tries to generate the world chunk by chunk with some pause between each chunk. That really improves the performance. Sadly, this isn't possible while creating new worlds (yet).

    If I can't fix these problems soon enough, I might try to run all the populators (code that is placing things like chests) after the world has been generated, because these are the most heavy in the generation process. This is quite a lot of work to get done, but it might be the best.

    Tim Visée

  • _ForgeUser7564439 posted a comment Mar 10, 2016

    <<reply 2759826>>

    I will do one more generation with Bukkit. If Bukkit doesn't do those lines, Spigot can say goodbye... at least for now.

    One other thing worth mentioning, when I spawned into the world, I feel. I don't think the spawn floor generated. Here I am perched above where I think Spawn should be and the floor I fell to (I placed the torches).

    https://img42.com/fRJPy

  • timvisee posted a comment Mar 10, 2016

    @der_Kernschatten: Go

    Good, I hope that will fix the issues on your server instance for now.

    Dungeon Maze indeed generates holes in the floor (like the one you showed on the picture). But is that hole generated inside the spawn room? (The little room you spawn in)?

    Tim Visée

  • _ForgeUser7564439 posted a comment Mar 10, 2016

    @timvisee: Go

    Yes. That was the spawn. I spawned through that at the top of the whole and took damage on fall. It seem like either I spawned in a wrong area (the first spawns had a floor and had basic lighting/chests to get started or that the bottom was missing.

    Generation of the bukkit build finished. Much faster. Much smoother. One or two crashes, nothing significant. There are still some weird stuff going on with generation in the NW, but not as drastic as it was with Spigot. If you go to the link I previously PM'd, it's the Dungeons (not Dungeon or Dungeon_Maze) world. If you look at the first world on that list, it's our vanilla world, you'll see 'ideal' generation.

    I found a potential MV replacement that seems like it can help manage worlds: http://dev.bukkit.org/bukkit-plugins/multiworld-v-2-0/

  • _ForgeUser7564439 posted a comment Mar 10, 2016

    @timvisee: Go

    I went back to spawn with flight and it's clear the bottom two layers are missing. You can kind of pick that up in the picture I previously posted.

    One final issue that hopefully is completely unrelated, I've had repeated client crashes since starting down this road. I haven't fully been able to test this, but all of the crashes have happened while in a dungeon world. I thought maybe a restart was in order, but it happened again and I haven't had a client issue this consistent since I start infdev.

    I'll give some of those plugins a look. It's hard sometimes hard to find some reliable ones after the Bukkit debacle. I went pure vanilla after that and have only started trying to get a Bukkit/Spigot back up and running recently.

    As of now, I'm going to consider the main issue resolved for my end while it may still be something you want to continue to look into. I'll unload the two newest worlds and won't delete yet pending your words.

    You are the most professional dev I've worked with on Bukkit. Thank you for the help.


    Edited Mar 10, 2016
  • _ForgeUser7564439 posted a comment Mar 12, 2016

    One more crash while moving far enough to cause chunk loading. While I was using Spigot at the time (I've been switching between the two to see if I can see what was causing a client crash), I'm not sure this was the source. As best I could in looking up this error, this could be from a spawner? One source: https://github.com/MinecraftForge/MinecraftForge/issues/1648

    [09:05:26] [Server thread/ERROR]: "Silently" catching entity tracking error.
    net.minecraft.server.v1_9_R1.ReportedException: Adding entity to track
    at net.minecraft.server.v1_9_R1.EntityTracker.addEntity(EntityTracker.java:142) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.EntityTracker.track(EntityTracker.java:81) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.WorldManager.a(WorldManager.java:18) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.World.b(World.java:1015) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.WorldServer.b(WorldServer.java:1120) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.World.addEntity(World.java:1008) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:467) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:463) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:474) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.MobSpawnerAbstract.c(MobSpawnerAbstract.java:106) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.TileEntityMobSpawner.c(SourceFile:61) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.World.tickEntities(World.java:1485) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.WorldServer.tickEntities(WorldServer.java:628) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:792) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
    Caused by: java.lang.IllegalStateException: Entity is already tracked!
    at net.minecraft.server.v1_9_R1.EntityTracker.addEntity(EntityTracker.java:109) [custom.jar:git-Spigot-2dc26f3-4a8818c]
    ... 17 more

  • timvisee posted a comment Mar 13, 2016

    @der_Kernschatten: Go

    @der_Kernschatten: Go

    Thanks again for the error report. I don't think the link you've posted is related to the error, but thank you anyways.

    I still didn't found a fix for the performance issue thoug'h, and I'm not quite sure whether I'm able to anyways in the future. Thus, I've been thinking about a work around, that might solve the issues. I'll try to explain what I was thinking of in the following paragraph(s):

    I'm not quite sure whether I've told you about the way Dungeon Maze generates the world since I've been talking to quite a few different people about the generation, so I'll give a little remap of what's going on. The world is generated chunk by chunk, first the base of the chunk is generated, then the chunk is being populated by various 'populators', which puts chests, lanterns and all kinds of other structures in the chunk. This whole process is quite heavy, and generating a chunk freezes the server for a while. Generating a whole new worlds causes hundreds, maybe thousands (depends on the server configuration) of chunks which causes the server to freeze for quite a long time. This is also why the server crashes, as it thinks it's not responsive anymore since the chunk generation locks up the server. The Spigot performance issue multiplies the performance effect by about 8 times of course, which doesn't really help.

    Now, to get back to my possible workaround. I was thinking, that I might queue the chunk population. So, that means that when generating a world, just the base chunks are generated (with nothing on them, just the structure of the maze). Then, the chunk population is queued and will be done at a later time when the server isn't busy. This allows the performance impact of the world generation to spread out a lot more, instead of doing all of it in just an instant. Generating non-populated chunks only takes about 1 second for a whole world, thus I'm quite sure this will solve all performance related problems. The plugin will decide when to populate all the newly generated chunks, one by one. Of course, when a player gets close to a non-populated chunk, the plugin will then force that chunk to populate if it hasn't been populated yet. I hope you get the basic principle of this idea, so can give some feedback if you'd want to. I would like to note, that this shouldn't have an impact on the gameplay, instead it should improve the performance a whole lot. It's quite hard to implement a feature like this correctly, and I haven't done any tests yet. I'm quite sure though, this is possible and I'll do my best to implement this idea if it indeed improves the experience with the plugin.

    You said that the server also crashed when moving (quickly) in a Dungeon Maze world or something along those lines. I'm quite sure the server was busy generating chunks because you were moving to a non-generated part of the Dungeon Maze worlds. When moving quickly, you cause quite a lot of chunks to generate. This can lock up the server the same way it does when generating a whole new world. This probably resulted in a server crash because the server thought it timed out. I can't however, verify this, it's just a probable guess.

    You said that you've unloaded the other worlds. You can delete them if you'd like, I don't need them anymore. I've seen what happens on your Dynmap page.

    I'd like to add, that you can configure the timeout time for Spigot servers. By default the server crashes after about 60 seconds when it thinks it's unresponsive. (That's what's going on on your server all the time). In the spigot.yml file, there's a node called 'timeout' which is set to 60. You can increase this value to, for example, 300 to crash the server after 300 seconds of unresponsiveness. This might help a lot generating new worlds, so you don't have to restart the server all the time. I must add, that I do not recommend you to put such a big number in this configuration for production use, because it might freeze your server up a long time if a different plugin is having an issue which is locking up the server.

    Thank you. Likewise by the way, it has been good communicating with you, and you clearly state the problems that occur in the plugin along with nice error logs. That's great, and really helps a lot!

    Tim Visée


    Edited Mar 13, 2016
  • timvisee posted a comment Mar 13, 2016

    I did some basic testing with the delayed/queued populators I talked about. I'm happy to tell you that the first tests really work out well, and gives an insane performance improvement. It takes longer for the world to generate, yes, but it doesn't freeze up the server anymore (except for the initial generation, which only takes about 2 seconds).

    Could you please test the following build, if this fixes the generation crashes you were getting? You can download it here: http:ci.xephi.fr/job/DungeonMaze/59/artifact/target/DungeonMaze-0.2.3.jar

    When creating a world, only the center chunk is fully generated, the rest is delayed. When you're teleported to the new, created world, it will thus be empty. It might take a while for all chunks to properly populate. You might be able to see all chunks populating one by one when looking to the side on the edge of the world.

    Please note that this build should NOT be used in production, because it's bleeding edge. The current implementation of the delayed world generation is dirty, and hasn't been fully tested. Also, if you restart the server, the delayed generation for a world stops (this will of course be fixed)!

    The population will take a long time with the current build. A population progress note is sometimes shown in the console. Some errors might pop up caused by the delayed populator, but these can be ignored for now. I'm just wondering whether your server is still crashing or not on world generation.

    Tim Visée


    Edited Mar 13, 2016
  • timvisee posted a comment Mar 13, 2016

    I've been debugging all day to find out what causes those weird stripes on the edge of the map like you showed on the Dynmap page. I've (partially) figured out what is causing it.. This is (again) a problem caused either by Spigot/Bukkit or Minecraft. It's quite annoying that either Minecraft or Spigot is causing these issues because it really increases the development time.

    I'm trying to work on a workaround to prevent these issues from occurring. I hope that works to ensure the world doesn't get those weird spikes on the negative (X and Y coordinate) side.

    If you'd like to know what happens: The issue is caused by chunks that are on the negative edge (on the X or Y coordinate) of the world. When a block is placed on X=0 or Y=0 (inside the chunk) a new chunk is being generated next to it (which shouldn't happen). Because blocks are placed on these edge chunks by Dungeon Maze, new chunks are being generated all the time on that side. That is also why those lines only extend into one direction.

    Tim Visée

  • _ForgeUser21073981 posted a comment Mar 15, 2016

    I get the same error on 1.8.8 Spigot :( My server crashes

  • _ForgeUser7564439 posted a comment Mar 15, 2016

    @evilLamer: Go

    I've been testing a fair amount and it seems there is definitely a spigot generation issue. Bukkit handles it much better. For the time being, for mass generation (with World Border) I use Bukkit then switch back to Spigot for day to day use.

    @timvisee: Go

    I'll give this a try soonish. I am working on the other side of the world and have family visiting for the first time in years. Priorities. ;)

  • _ForgeUser23134122 posted a comment Mar 23, 2016

    @timvisee: Go

    Thanks


To post a comment, please login or register a new account.