Dynmap-Forge/Fabric

Dynmap-Forge/Fabric

888k Downloads

[DynmapCore] Dynmap not rendering any tiles

Martmists-GH opened this issue ยท 5 comments

commented

I'm working on a Fabric port of Dynmap, but after getting seemingly everything working, it for some reason doesn't render any tiles. What could be the cause here?

Screenshot_20200715_162229

commented

I'll make a thread out of this with all current issues:
Screenshot_20200719_172000
Player list on the side is empty despite showing the correct amount of players, including showing the login in the web client.

commented

The problem is that I'm the maintainer for the Fabric port, as it's not supported by you guys. There's little to no documentation on what's needed to implement dynmap on a new platform, hence why I'm having these issues. Cross-referencing my code with existing implementations also doesn't provide much helpful information as (from what I can see) everything is implemented properly.

commented

Why was this closed without comment?

commented

Because this is related to an unofficial port not being done by the Dynmap team - so whoever is working on that should be supporting the effort elsewhere. 'DynmapCore' isn't a library or independently supported component - it's a block of shared code used by the supported versions built WITHIN this repository: whether it works or doesn't work anywhere else is a happy accident, at best, as the interfaces between the platform specific components and the shared components change routinely and without warning or concern for compatibility. The only supported interfaces are those published by DynmapCoreAPI and dynmap-api, and those only in conjunction with the official releases built within this repository.

commented

Sure - it's not documented because the code is open and I don't support enabling other folks to produce unofficial versions: that's all the cost of supporting it without any of the benefits. The time and effort to produce and maintain documentation for the sake of folks building unofficial versions, much less porting to platforms that I don't yet support, is more effort than doing the platform myself - and invites all kinds of problems:

  1. WHEN there are problems, they'll come to my support channels. And they will be just as satisfied with the response as you were to me closing this issue, since it isn't a deliverable we built and support. This is no different than bringing a Forge problem to the Minecraft support people, or PaperMC-specific problems to the SpigotMC folks.
  2. WHEN some third party produces a bad version - due to mistakes or malicious intent - Dynmap's (and my) reputation as one of the oldest and more stable server plugins will be exploited and compromised by that. I'm not saying this is true of you, but I honestly don't know you from Adam, so I cannot say one way or the other.
  3. WHEN the port winds up being abandoned (over the years, this has happened 90% or more of the time within the first year, when folks have done forks), the users are unhappy and put pressure on me to pick up the abandoned work. Dynmap just released its final updates for Forge and Spigot on 1.8.9 about a month ago - unless someone is willing to commit to a similar support horizon (and almost no other plugin devs are), we're not on compatible terms. Heck, I've been asked for help on a Forge 1.7.10 version in the last 6 months, which received its last update about 2 years back.

I am willing to review and accept a PR to support any new platform with a sufficient installed base to justify the long term commitment to support - Fabric does easily meet this bar, and I actually DO intend to support officially (it's just a non-trivial effort in time that naturally falls behind the priorities of the 20k+ servers supported by the current platforms, and I do work full time plus for a living...). That said, I'm not willing to spend time and energy enabling any deliverable that I cannot assure is safe, secure, and long-term supported for the community I've been taking care of for 9 1/2 years now.

It's open source, so you're free to do what you wish (with appropriate attribution, and a new name - don't call it Dynmap, although you can say it's based on it), but it will not be considered supported or otherwise 'blessed' by this team. That's not a rebuke - this stuff is open source because I believe in open source and have been an active contributor to open source projects for over 20 years now - but it is a practical necessity in a community that is so dependent upon trust, reputation, and good faith. If you or your team aren't the ones who reviewed and delivered code, you aren't the ones that support it - it's really that simple.