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 419 forks source link

critical invalid moddellist error whilst dynmap is still able to render #3848

Open JurgenKuyper opened 2 years ago

JurgenKuyper commented 2 years ago

Issue Description: when utilising dynmap-3.4-828 combined with blockscan-3.4-beta-4-forge-1.18 on forge 1.18.2 40.1.76 the server spits out huge amounts of "Invalid modellist patch for box" errors as soon as any mod texture or model file is present in renderdata or renderdata/modsupport. Dynmap is able to start rendering the mods blocks properly, except of the usual unsupported ones like the chisseled blocks.

Intaria commented 1 year ago

+1

AurLemon commented 1 year ago

+1, Because of this problem, every time my server log can reach 20MB+

K1ller0561 commented 11 months ago

+1 Please fix that! Its very important! Thanks, K1ller0561

GamerTable commented 11 months ago

+1 It makes server startup so long

carsongmiller commented 10 months ago

I'm also experiencing this with dynmap 3.6, forge for 1.19.2. Specifically, an all the mods 8 server with dynmap added on to it, specifically this build: https://www.curseforge.com/minecraft/modpacks/all-the-mods-8/files/4787465

GamerTable commented 10 months ago

Hey, so for a temporary solution. I just deleted all the Model files but kept the texture files. It's better than nothing and depending on the mods most textures load

lbernardojr commented 4 months ago

+1

eski-dev commented 4 months ago

As a temporary workaround, I made a python script to delete all the offending model data from the modellist file: https://github.com/eski-dev/dynmap_invalid-modellist_fix

But a more permanent solution would be nice. :)

+1

VVhiteAngel commented 4 months ago

As a temporary workaround, I made a python script to delete all the offending model data from the modellist file: https://github.com/eski-dev/dynmap_invalid-modellist_fix

But a more permanent solution would be nice. :)

+1

Hi, im total newb but can you explain how to deploy this fix on a hosted server ? Thanks !

eski-dev commented 4 months ago

As a temporary workaround, I made a python script to delete all the offending model data from the modellist file: https://github.com/eski-dev/dynmap_invalid-modellist_fix But a more permanent solution would be nice. :) +1

Hi, im total newb but can you explain how to deploy this fix on a hosted server ? Thanks !

Sure thing! Don't wanna get too off topic from the issue report though, so I'll try to make this kinda comprehensive for anyone else who might stumble upon this post. If I find the time, I'll also update the script repo with more detailed instructions.

So, in Linux, first ensure you have python3 installed (See for examples) Then, use curl or wget to download script.py someplace your user has execute permissions (user home is fine) Lastly, make the script executable (chmod +x script.py)

Then, all you need to do is have the full file path (or relative path to where script.py is located) of the Minecraft server logfile and the dynmap renderdata directory handy

To run, type: python3 script.py and hit enter You will be prompted for the location of the logfile and the renderdata directory, and I would suggest choosing dry run until you confirm everything runs okay Then, run it for real and let it do its thing

The server doesn't need to be off to run the script, but I would anyway just to ensure there's no issues and it goes quick. Once it finishes running you will need to restart the server to test and see if the startup log doesn't fill up with the invalid modellist patches spam anymore And that's it!

FYI - You'll need to perform these steps from a user shell on your hosted server instance, in order to execute the python script. If that isn't possible, it's theoretically do-able by uploading the script using web gui/ftp file transfer and scheduling it to execute somehow as long as python3 is installed on the underlying OS. You could also reach out to the host service's customer support and send them context with a link to the script on GitHub to see if they'd be willing to run it for you. YMMV