webbukkit / dynmap

A set of Minecraft mods that provide a real time web-based map system for various Minecraft server implementations.
https://www.reddit.com/r/Dynmap/
Apache License 2.0
2.06k stars 420 forks source link

Extremely strange unrendered banding on custom map #4040

Closed DevMunky closed 10 months ago

DevMunky commented 10 months ago

template is bold sample data is italicized

Issue Description: odd banding on seemingly unrendered chunks that have some spots in the occasionally that are rendered. looks like it has something to do with y-levels but im not sure. no errors or anything in console. doing radius renders and fullrenders do not fix, must go to the chunk and do an update render

JurgenKuyper commented 10 months ago

standard earthmc issue: The EarthMC map has many known issues with Dynmap such as, incomplete render, only rendering where players have visited, or not rendering leaves and other foliage. This is a result of how the map was made and is not an issue with Dynmap, luckily there is a fix.

  1. Download the WorldBorder plugin: https://www.spigotmc.org/resources/worldborder.60905/
  2. Pause Dynmap: /dynmap pause all
  3. Set the world border radius and center: /wb [worldname] set [radiusX] [radiusZ] [X] [Z]
    • [worldname] is the name of the world you want to set the border in.
    • [radiusX] is the horizontal radius of the world border
    • [radiusZ] is the vertical radius of the world border
    • [X] is the horizontal center point of the world border
    • [Z] is the vertical center point of the world border
  4. Run worldborder with the force flag: /wb [worldname] fill [freq] [pad] [force]
    • [worldname] is the world you want to be pregenerated
    • [freq] is how many chunks a second are generated, 20 is the default. WARNING: setting this too high will cause server lag
    • [pad] how many chunks beyond the border to generate, this makes sure that if a player visits the border, all chunks are already generated. The default is 208, We recommend setting this to 0 for EarthMC
    • [force] This must be set to true
  5. Wait for worldborder to finish
  6. Unpause Dynmap: /dynmap pause none, you may have to start the fullrender using /dynmap fullrender [worldname]
DevMunky commented 10 months ago

thanks, im pregenerating right now, ill let you know how it goes!

DevMunky commented 10 months ago

Ive tried three times now to pregen the world and it only lasts about 8-9 hours before the server crashes. Im going to try a more recent fork of Worldborder to see if that helps, because it looks like it could be paper related.

13.12 12:27:46 [Server] [INFO] [WorldBorder] [Fill] Saving the world to disk, just to be on the safe side. (free mem: 3719 MB)
13.12 12:27:51 [Server] [INFO] [WorldBorder] [Fill] 26 more chunks processed (1955315 total, ~21.0%) (free mem: 3601 MB)
13.12 12:27:56 [Server] [INFO] [WorldBorder] [Fill] 75 more chunks processed (1955390 total, ~21.0%) (free mem: 3786 MB)
13.12 12:28:02 [Server] [INFO] [WorldBorder] [Fill] 70 more chunks processed (1955460 total, ~21.0%) (free mem: 4128 MB)
13.12 12:28:09 [Server] [INFO] [WorldBorder] [Fill] 2 more chunks processed (1955462 total, ~21.0%) (free mem: 4088 MB)
13.12 12:28:24 [Server] [INFO] [WorldBorder] [Fill] 2 more chunks processed (1955464 total, ~21.0%) (free mem: 3974 MB)
13.12 12:28:24 [Server] [INFO] [WorldBorder] [Fill] Saving the world to disk, just to be on the safe side. (free mem: 3974 MB)
13.12 12:28:24 [Server] [WARN] [spark] Timed out waiting for world statistics
13.12 12:28:44 [Server] [ERROR] --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH  - git-Paper-"931781c" (MC: 1.20.2) ---
13.12 12:28:45 [Server] [INFO] [WorldBorder] [Fill] 0 more chunks processed (1955464 total, ~21.0%) (free mem: 2708 MB)
13.12 12:28:54 [Server] [INFO] [WorldBorder] [Fill] 1 more chunks processed (1955465 total, ~21.0%) (free mem: 2664 MB)
13.12 12:28:54 [Server] [ERROR] The server has not responded for 10 seconds! Creating thread dump
13.12 12:28:54 [Server] [ERROR] ------------------------------
13.12 12:28:54 [Server] [ERROR] Server thread dump (Look for plugins here before reporting to Paper!):
13.12 12:28:54 [Server] [ERROR] [ChunkTaskScheduler] Chunk wait task info below: 
13.12 12:28:54 [Server] [ERROR] [ChunkTaskScheduler] Chunk wait: [( 363,699) in 'earth750']
13.12 12:28:54 [Server] [ERROR] [ChunkTaskScheduler] Chunk holder: NewChunkHolder{world=earth750, chunkX=363, chunkZ=699, entityChunkFromDisk=false, lastChunkCompletion={chunk_class=null,status=null}, currentGenStatus=null, requestedGenStatus=minecraft:full, generationTask=ChunkProgressionTask{class: io.papermc.paper.chunk.system.scheduling.ChunkLoadTask, for world: earth750, chunk: (363,699), hashcode: 703921978, priority: BLOCKING, status: minecraft:empty, scheduled: true}, generationTaskStatus=minecraft:empty, priority=BLOCKING, priorityLocked=false, neighbourRequestedPriority=IDLE, effective_priority=BLOCKING, oldTicketLevel=32, currentTicketLevel=32, totalNeighboursUsingThisChunk=1, fullNeighbourChunksLoadedBitset=3247203, chunkStatusRaw=0, currentChunkStatus=INACCESSIBLE, pendingChunkStatus=INACCESSIBLE, is_unload_safe=ticket_level, killed=false}
13.12 12:28:56 [Server] [ERROR] ------------------------------
13.12 12:28:56 [Server] [ERROR] Current Thread: Server thread
13.12 12:28:57 [Server] [ERROR] PID: 28 | Suspended: false | Native: false | State: RUNNABLE
13.12 12:28:57 [Server] [ERROR] Stack:
13.12 12:28:57 [Server] [ERROR] java.base@17.0.7/java.lang.Thread.yield(Native Method)
13.12 12:28:57 [Server] [ERROR] net.minecraft.util.thread.BlockableEventLoop.waitForTasks(BlockableEventLoop.java:147)
13.12 12:28:57 [Server] [ERROR] net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:137)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:299)
13.12 12:28:57 [Server] [ERROR] net.minecraft.world.level.Level.getChunk(Level.java:896)
13.12 12:28:57 [Server] [ERROR] net.minecraft.world.level.Level.getChunk(Level.java:835)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.level.ServerLevel.setChunkForced(ServerLevel.java:2231)
13.12 12:28:57 [Server] [ERROR] org.bukkit.craftbukkit.v1_20_R2.CraftWorld.setChunkForceLoaded(CraftWorld.java:683)
13.12 12:28:57 [Server] [ERROR] WorldBorder.jar//com.wimbli.WorldBorder.WorldFillTask.run(WorldFillTask.java:318)
13.12 12:28:57 [Server] [ERROR] org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftTask.run(CraftTask.java:101)
13.12 12:28:57 [Server] [ERROR] org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1470)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:446)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1379)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1156)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315)
13.12 12:28:57 [Server] [ERROR] net.minecraft.server.MinecraftServer$$Lambda$5337/0x0000000801abefa0.run(Unknown Source)
13.12 12:28:57 [Server] [ERROR] java.base@17.0.7/java.lang.Thread.run(Thread.java:833)
13.12 12:28:57 [Server] [ERROR] ------------------------------
13.12 12:28:57 [Server] [ERROR] --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---
13.12 12:28:57 [Server] [ERROR] ------------------------------
13.12 12:29:29 [Server] [ERROR] --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH  - git-Paper-"931781c" (MC: 1.20.2) ---
13.12 12:29:31 [Server] [ERROR] The server has not responded for 10 seconds! Creating thread dump
13.12 12:29:32 [Server] [ERROR] ------------------------------
13.12 12:29:33 [Server] [ERROR] Server thread dump (Look for plugins here before reporting to Paper!):
13.12 12:29:33 [Server] [ERROR] [ChunkTaskScheduler] Chunk wait task info below: 
13.12 12:29:33 [Server] [ERROR] [ChunkTaskScheduler] Chunk wait: [( 363,699) in 'earth750']
13.12 12:29:33 [Server] [ERROR] [ChunkTaskScheduler] Chunk holder: NewChunkHolder{world=earth750, chunkX=363, chunkZ=699, entityChunkFromDisk=false, lastChunkCompletion={chunk_class=null,status=null}, currentGenStatus=null, requestedGenStatus=minecraft:full, generationTask=ChunkProgressionTask{class: io.papermc.paper.chunk.system.scheduling.ChunkLoadTask, for world: earth750, chunk: (363,699), hashcode: 703921978, priority: BLOCKING, status: minecraft:empty, scheduled: true}, generationTaskStatus=minecraft:empty, priority=BLOCKING, priorityLocked=false, neighbourRequestedPriority=IDLE, effective_priority=BLOCKING, oldTicketLevel=32, currentTicketLevel=32, totalNeighboursUsingThisChunk=1, fullNeighbourChunksLoadedBitset=3247203, chunkStatusRaw=0, currentChunkStatus=INACCESSIBLE, pendingChunkStatus=INACCESSIBLE, is_unload_safe=ticket_level, killed=false}
13.12 12:29:34 [Server] [ERROR] ------------------------------
13.12 12:29:34 [Server] [ERROR] Current Thread: Server thread
13.12 12:29:34 [Server] [ERROR] PID: 28 | Suspended: false | Native: false | State: RUNNABLE
13.12 12:29:34 [Server] [ERROR] Stack:
13.12 12:29:34 [Server] [ERROR] java.base@17.0.7/java.lang.Thread.yield(Native Method)
13.12 12:29:34 [Server] [ERROR] net.minecraft.util.thread.BlockableEventLoop.waitForTasks(BlockableEventLoop.java:147)
13.12 12:29:34 [Server] [ERROR] net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:137)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:299)
13.12 12:29:34 [Server] [ERROR] net.minecraft.world.level.Level.getChunk(Level.java:896)
13.12 12:29:34 [Server] [ERROR] net.minecraft.world.level.Level.getChunk(Level.java:835)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.level.ServerLevel.setChunkForced(ServerLevel.java:2231)
13.12 12:29:34 [Server] [ERROR] org.bukkit.craftbukkit.v1_20_R2.CraftWorld.setChunkForceLoaded(CraftWorld.java:683)
13.12 12:29:34 [Server] [ERROR] WorldBorder.jar//com.wimbli.WorldBorder.WorldFillTask.run(WorldFillTask.java:318)
13.12 12:29:34 [Server] [ERROR] org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftTask.run(CraftTask.java:101)
13.12 12:29:34 [Server] [ERROR] org.bukkit.craftbukkit.v1_20_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1470)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:446)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1379)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1156)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315)
13.12 12:29:34 [Server] [ERROR] net.minecraft.server.MinecraftServer$$Lambda$5337/0x0000000801abefa0.run(Unknown Source)
13.12 12:29:34 [Server] [ERROR] java.base@17.0.7/java.lang.Thread.run(Thread.java:833)
13.12 12:29:34 [Server] [ERROR] ------------------------------
13.12 12:29:34 [Server] [ERROR] --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---
13.12 12:29:34 [Server] [ERROR] ------------------------------
13.12 12:29:36 [Server] [ERROR] --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH  - git-Paper-"931781c" (MC: 1.20.2) ---
13.12 12:29:36 [Server] [ERROR] The server has not responded for 41 seconds! Creating thread dump
13.12 12:29:36 [Server] [ERROR] ------------------------------
13.12 12:29:36 [Server] [ERROR] Server thread dump (Look for plugins here before reporting to Paper!):
13.12 12:29:36 [Server] [ERROR] [ChunkTaskScheduler] Chunk wait task info below: 
13.12 12:29:36 [Server] [ERROR] [ChunkTaskScheduler] Chunk wait: [( 363,699) in 'earth750']
13.12 12:29:36 [Server] [ERROR] [ChunkTaskScheduler] Chunk holder: NewChunkHolder{world=earth750, chunkX=363, chunkZ=699, entityChunkFromDisk=false, lastChunkCompletion={chunk_class=null,status=null}, currentGenStatus=null, requestedGenStatus=minecraft:full, generationTask=ChunkProgressionTask{class: io.papermc.paper.chunk.system.scheduling.ChunkLoadTask, for world: earth750, chunk: (363,699), hashcode: 703921978, priority: BLOCKING, status: minecraft:empty, scheduled: true}, generationTaskStatus=minecraft:empty, priority=BLOCKING, priorityLocked=false, neighbourRequestedPriority=IDLE, effective_priority=BLOCKING, oldTicketLevel=32, currentTicketLevel=32, totalNeighboursUsingThisChunk=1, fullNeighbourChunksLoadedBitset=3247203, chunkStatusRaw=0, currentChunkStatus=INACCESSIBLE, pendingChunkStatus=INACCESSIBLE, is_unload_safe=ticket_level, killed=false}
13.12 12:29:41 [Server] [WARN] [spark] Timed out waiting for world statistics
13.12 12:31:39 [Server] [WARN] [com.zaxxer.hikari.pool.HikariPool] HikariPool-3 - Thread starvation or clock leap detected (housekeeper delta=1m9s239ms496µs580ns).
13.12 12:31:52 [Server] [WARN] [DiscordSRV] [JDA] Missed 2 heartbeats! Trying to reconnect...
13.12 12:46:51 [Server] [WARN] [com.zaxxer.hikari.pool.HikariPool] HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m9s239ms474µs701ns).
13.12 12:46:51 [Server] [WARN] [com.zaxxer.hikari.pool.HikariPool] HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m48s342ms32µs779ns).
13.12 12:47:19 [PebbleHost Loader] Server Stopped

Edit: Starting a new fill task with this remake https://github.com/PryPurity/WorldBorder/releases

JurgenKuyper commented 10 months ago

looks like there is some resouce hog, maybe you set the frequency too high?

DevMunky commented 10 months ago

its at 50 running again with the new version, ill see what happens. I wouldnt think its resources because it goes fine for 8 hours then just dies somewhat suddenly

DevMunky commented 10 months ago

Pre-generating is done with the new fork, and dynmap is successfully re-rendering!