Dynmap-Forge/Fabric

Dynmap-Forge/Fabric

888k Downloads

Newly generated chunks not rendering correctly without doing "/dynmap fullrender"

Drift91 opened this issue ยท 20 comments

commented

Screenshot_2020-07-07 Drift's Domain
I'm not sure why but not all the chunks are getting rendered when they generate. However when I do /dynmap fullrender world it renders fine. The nether and the end appear to be unaffected as far as I can tell. I also noticed that when zooming in and out where the gaps are in the map seems to change slightly.

I've tried deleting the entire dynmap folder from my server's plugins folder and then copying my config file over, which I'd recently deleted and regenerated as well. It seems the issue is still present.

/dynmap version:

Dynmap version: core=3.1-beta-1-367, plugin=3.1-beta-1-367

/paper version:

[04:49:34 INFO]: This server is running Paper version git-Paper-89 (MC: 1.16.1) (Implementing API version 1.16.1-R0.1-SNAPSHOT)
[04:49:34 INFO]: Checking version, please wait...
[04:49:35 INFO]: Previous version: git-Paper-82 (MC: 1.16.1)
[04:49:35 INFO]: You are running the latest version
commented

This seems to still be a problem as of PaperMC 1.17.1. I've disabled async-chunks: on my server for now to see if it solves the problem.

Would anyone happen to know how much of a reduction in performance I might experience by disabling async chunks? I'm not 100% sure what it even does. Does it do async file i/o when saving chunks? Or does it only affect how plugins access the API?

Since opening this issue I've replaced the server box with my old gaming PC. Currently the server is running on an Intel Core i7-2600s, 8GB DDR3 and a Kingston 500GB SATA3 SSD (SATA2 on motherboard), which is all shared between a few different game servers.

commented

So disabling async-chunks seems to have had no effect. I haven't tested with a large area of new chunks yet, but it appears that some changes to the world haven't appeared on the Dynmap even though it's been a couple of hours since they were made. Again, as others have said, some zoom levels did update and others didn't.

commented

Unless it changed somewhere after 1.14.x or so, the Paper async chunks haven't affected our Dynmap usage in any way, it was the same with older Spigot releases without async chunks as well.

commented

Duplicate of #2075

commented

So I am running into the same issue. I find that if a player is sitting in the same location (one of the black areas) for a while, it will render that soon (even sooner if you run /dynmap render) have you tried changing the number of ticks between render in the config?

commented

Here's my configuration: https://pastebin.com/iLKFRSYm

Main changes that I can think of right now are the following:

usenormalthreadpriority: false
tiles-rendered-at-once: 2
parallelrendercnt: 2

Note that I've recently changed parallelrendercnt: from 4 to 2.

Also probably should have mentioned in my first post that I'm running on Windows Server 2019 on an old machine (AMD Athlon II X4 630). Java version is Java 8 update 251.

My JVM arguments:

java -Xms2048M -Xmx2048M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:+UseLargePages -XX:+UseLargePagesInMetaspace -jar paper.jar

Do you think maybe I should try dropping tiles-rendered-at-once: down to 1? I have no clue what to try to fix the issue. Far as I can tell it's a bug with the plugin itself. Either that or some kind of incompatibility. I do have Dynmap-Towny-0.80 running on the server if that's potentially a problem.

commented

Well, I don't think it is a matter of how many tiles are being rendered at once because you aren't noticing any of the black spaces changing. I don't really know anything about Dynmap-Towny to be able to say if that is causing an issue. Maybe try removing it and seeing if that fixes things? Could it be a heap issue? Maybe the arg -XX:G1HeapRegionSize=8M has something to do with it, or one of the other heap args.

commented

Now that you mention it, -XX:G1HeapRegionSize=32M is the default for the client if I recall correctly. I'm not sure why that would be different for the server seeing as how it still needs to store the full chunks in memory.

commented

Did that seem to fix your issues?

commented

@BenjaminCCross No, unfortunately not. I'm not sure what could be causing it.

commented

I checked the sub-Reddit and found two threads with numerous people suffering from the same issue:
https://www.reddit.com/r/Dynmap/comments/hsx9kr/anyone_know_how_to_solve_this_splotchy_rendering/
https://www.reddit.com/r/Dynmap/comments/hsdjsw/black_squares_in_the_surface_render_not_flat_or/

From what I can make out it seems to be a problem/incompatibility with PaperMC servers. Not the only plugin I'm having trouble with due to using Paper. I'm not sure why everyone refuses to support Paper seeing as how it's quickly overtaking Spigot as the go-to Bukkit fork.

commented

For what it's worth, we have this problem on my server, and we had the problem before we switched to Paper as well, back when we were still running mainline Spigot.
We've actually had the problem for over a year.

commented

Just curious, if you zoom in to the highest zoom level (the closest), do you still see missing chunks?

For me I don't. I get the splotchyness when zoomed out, but when I zoom in, every single chunk is perfectly fine. This makes me dubious of any claims that Paper is the issue. If Paper were failing to notify Dynmap of chunk updates, I would expect the chunk to be missing on all zoom levels.

commented

Have you all tried uninstalling and reinstalling dynmap? maybe it is a caching issue.

commented

Duplicate of #3003

commented

This seems to be a longstanding issue for awhile and there have been many separate issues on this, going to try and clean them up a bit to get better data

commented

I HAVE FOUND THE SOURCE! This issues is a result of using Paper and not Spigot, paper uses async chunks (enabled by default in the config) which dynmap doesn't have support for. The issue to add support for this is #2345

Potential workarounds are

  • increase parallelrenderthreadcount
  • disable async chunks
  • Use spigot instead of paper
commented

I had this issue on Spigot this time last year. You're sure it works on Spigot now?

commented

I'm not sure lol, after doing even more digging it appears the data on this issue is incredibly unreliable and vague- some servers with no perfomance limits have the issue and some do. some people on spigot have this issue and some don't.

I have been tagging all related issues if anyone wants to dig further- I don't have the time to dig into this issue specifically yet and I'm still gathering more data.

commented

workaround for forge?