BlueMap-Minecraft / BlueMap

A Minecraft mapping tool that creates 3D models of your Minecraft worlds and displays them in a web viewer.
https://bluecolo.red/bluemap
MIT License
1.92k stars 131 forks source link

No tile-updates are being detected / scheduled #162

Closed xorinzor closed 3 years ago

xorinzor commented 3 years ago

BlueMap Version: 1.3.1 Full version including the target, e.g. BlueMap-1.3.1-spigot Running on paper 1.16.5-463

I am using:

Description: When I mine/place blocks (ie: just cause chunks to update) and then run /bluemap it will always say Scheduled tile-updates: 0. Only when forcing a full render using /bluemap render it will update the chunks.

The logs don't show any information or errors.

DeTOB69 commented 3 years ago

I also have this problem on fabric, but newly generated chunks also don't render

xorinzor commented 3 years ago

Same as what DeTOB69 says.

Additionally, it seems that when I restart the server, the map is updated instantly without any re-rendering going on. Does perhaps shutting down, or starting the plugin write some data away to the web files?

I should add that I'm not using the integrated webserver either.

TBlueF commented 3 years ago

On discord we have a command for this:

BlueMap needs to wait until the server saves the world data to disk, so it may take some time for changes to appear on the map. You can use /bluemap and hover over the number of currently scheduled tiles to see more detailed info. Also make sure to click clear tile cache in the menu on the left to make your browser fetch a fresh copy of the updated tiles.

Additionally, bluemap currently does indeed have some reliability issues with automatically updating sometimes, there is an issue addressing this: #126

Usually it should update on its own, if you want detected changes to be rendered instantly you can use /bluemap debug flush .. if something doesn't update even after that or a server-restart then that's due to the reliability issue and until that is fixed you'll need to manually update it using a radius render /bluemap render <radius in blocks> :)

Closing this in favor of #126

xorinzor commented 3 years ago

I had cleared the tile cache, and had the chrome developer tools open to disable my local cache too. It doesn't seem to be a client-side caching issue. The fact that the map is updated when the server restarts supports this theory, indicating that the plugin isn't handling some sort of event / file write correctly.

I force my minecraft server to write data to the disk every 15 minutes before running my incremental backup too.

I'll see if the debug command works for me and force that occasionally.

TBlueF commented 3 years ago

126 will completely change the way map-updates are handled. Which makes any bugfixes on the current map-update system obsolete. So, since i have limited time and resources here, I'd prefer to just wait out #126. It is scheduled to be worked on directly after the web-app rewrite is done, which i am working on rn :)

xorinzor commented 3 years ago

Yea I commented a bit too quickly ;) Re-reading your initial answer and the referenced issue I realized it's fine

If the flush command forces it to render changed chunks that's a decent workaround for the time being (and else they'll just have to make due with a forced re-render every 24 hours for now).

I'll keep an eye on the repo! :)

xorinzor commented 3 years ago

Just as an update, /bluemap debug flush combined with a "clear tile cache" does indeed work :) I just created a cronjob which runs the command every minute, and that should work :)

That said, it seems it only detects changes by players. A tree growing didn't update the map (even after flushing) until I placed/broke a block and flushed again

TBlueF commented 3 years ago

note that this command saves your world similar to /save-all flush .. so you might get lagspikes when executing it every minute ^^

xorinzor commented 3 years ago

Hm, didn't notice any of that yet, but good to know ;)