dynmap on headless 11.6.5 papermc - no tiles rendered, no error messages
smeenz opened this issue ยท 11 comments
Issue Description:
I've deployed papermc using this docker image https://hub.docker.com/r/phyremaster/papermc. The server is based on alpine linux, is headless, and minecraft is running nogui. Being a docker image, it's a very minimal linux installation.
I've installed the latest beta dynmap (the latest stable says it is incompatible), and can not get any tiles to render at all. There are no error messages afaikt. The map is drawn, and I see my player icon (with the correct skin), but all tiles are black. Rendering seems to be running, but not actually doing anything
dynmap fullrender world
[21:50:53 INFO]: Full render of world 'world' already active.
From what I've read, my guess is this could be a silent failure due to a lack of x11/graphics libraries on the server, but I've not been able to find any definitive list as to what libraries are required. The closest I found was someone who commented that they had to install x11 and other stuff, and that made it work.
- Dynmap Version: v3.1-beta7-449
- Server Version: Paper version git-Paper-550 (MC: 1.16.5)
- Pastebin of Configuration.txt: default
- Server Host (if applicable): selfhosted
- Pastebin of crashlogs or other relevant logs: https://pastebin.com/raw/nHkpY34Y
[x] I have looked at all other issues and this is not a duplicate
[x] I have been able to replicate this
Closing due to age, if this is still relevant please reply and i will reopen
I can confirm that this issue still exists. It's specific to dynmap on alpine. It appears that dynmap simply doesn't render anything on alpine.
@FedUpWith-Tech reopen please?
Need to be sure the JVM you are running is also set to be a headless JVM: default JVM depends on X libraries for things like JPEG encoding/decoding. If Alpine lacks a headless JVM, this configuration will not be supportable.
Looking at that docker image, it is incorrectly configured for headless - the JRE included is NOT the headless one...
https://github.com/Phyremaster/papermc-docker/blob/master/Dockerfile#L15
Here's my docker file. It experiences the same thing described and uses headless JRE. https://github.com/Opisek/mc-paper-docker/blob/master/Dockerfile
Not sure what to tell ya - we depend upon the ImageIO component of the JRE for PNG and JPEG encode/decode, and if that isn't working in your JRE setup (as generally happens when a headless environment is misconfigured), there isn't anything we can do about it...
(this specific issue is mortibund: the dynmap version listed is massively obsolete, so all the details are worthless - this can be discussed further in another issue, but we're honestly not going to debug someone's non-standard JVM setup - but do not expect this specific issue to be reopened.
Any reopen should be based on current DEVELOPMENT builds - https://dynmap.us/builds/dynmap/Dynmap-3.7-SNAPSHOT-spigot.jar )
I know this issue has been closed, but I wanted to add some information related to my environment:
1: I am running a PaperMC server on an Alpine container (inside Proxmox), some version info:
- Alpine: 3.15.0
- Java: openjdk17-jre-headless-17.0.8_p7-r0 x86_64 {openjdk17} (GPL-2.0-with-classpath-exception)
- PaperMC: 1.20.2
Dynmap did not want to render any tiles for our server, similar to what was listed in the initial report, players and spawn show, but not tiles, all black.
After a while, I installed the webp dependencies (as listed in the reddit post linked from the wiki) and switched dynmap configuration to use webp-95
as output format. This instantly started rendering tiles!
So, this makes me think that the headless Java JVM does not include the necessary OS dependencies to render the tiles in the default format? I know this is not your guys' call to fix, but perhaps add a note to the wiki to let people know they should try the webp
format?