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

Feature Request Megathread #3461

Open FedUpWith-Tech opened 3 years ago

FedUpWith-Tech commented 3 years ago

This Issue will track all feature requests so that we can close the several dozen individual feature requests threads that would be needed otherwise.

Before submitting a feature request please search this thread to make sure your suggestion is unique.

To submit new requests please submit a new issue All discussion about that feature will take place on that thread, even if it is closed. This thread will function as a vote and hub for requests since there are so many

To vote on a feature request please us the 👍 reaction on each comment to show your interest in that feature being developed.

FedUpWith-Tech commented 3 years ago

Geyser Support for Logging in

Get support for bedrock players connecting via geyser: Currently there is no way to log into the website using geyser. If you do this, it will return invalid ID (which i assume to be UUID), so it would be nice if there was an alternative for using UUIDs to support bedrock players connecting to the server?

Find geyser here: https://geysermc.org/ https://github.com/GeyserMC/Geyser Suggestion by @zentag in #3449

FedUpWith-Tech commented 3 years ago

Add the Fog of War effect on explored but out of range tiles

I had this idea for Fog of War where the map would have a CSS rgba(0,0,0,0.5) layer over tiles or chunks that hasn't had a block-render within 10 chunks or so. If a block is placed at 0, 64, 0, then fog of war would lift the rgba(0,0,0,0.5) to rgba(0,0,0,0) and look bright and clear within a wide range from the tile updated.

This would allow people to explore something fresh by seeking darker areas on the map while having the entire map previously rendered, lessening the strain on the CPU when the players are exploring. This would drastically improve the immersion of having a map and wanting to explore areas. While the terrain could still be seen on the map, having a darker area would prove no one has built there and give that authentic sense of exploration, rather than seeing everything on the map at a glance.

This would be a cool cross between this: http://wiki.hatventures.net/images/thumb/5/58/Dynmap1.png/700px-Dynmap1.png

and this: http://i57.tinypic.com/69j62h.jpg

Which might look a little like this: https://upload.wikimedia.org/wikipedia/commons/e/ee/Freeciv-net-screenshot-2011-06-23.png


Suggestion by @Soz3r in #1934

FedUpWith-Tech commented 3 years ago

Add toggle whether or not dynmap automatically adds new world maps on world creation

I have a system that creates new worlds on the fly, but every world always gets shown on the dynmap. I found no option to disable it from automaticly trying to show new worlds.

If this config option already exists, where can I find it? If not, could it be added?

Thanks


Suggestion by @BlackCoyote in #1959

FedUpWith-Tech commented 3 years ago

Add Cuberite Support

I would love to see Dynmap support Cuberite. It's a FOSS Minecraft server alternative written in C++, you can compare it to Bukkit and Spigot. It uses Lua for it's plugins. API documentation is available here.

Since it's devs welcome any plugin, they are probably eager to help out wherever needed.


Suggestion by @PureTryOut in #1972

FedUpWith-Tech commented 3 years ago

/radiuspurge command to selectively purge an area of the map #3449


Suggestion by @molor in #1982

FedUpWith-Tech commented 3 years ago

Add the ability to unregister webusers

Suggestion by @ScuroK in #2012

FedUpWith-Tech commented 3 years ago

Websocket for map updates

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_a_WebSocket_server_in_Java

Most MC players should be using up-to-date browsers. I believe Dynmap will benefit from using websockets to give the live map viewers instant and update of player position, health, and map tile location while keeping the used bandwidth to the minimum. The traditional method can be used for those not on the modern browsers or those unable to access the websocket port.


Suggestion by @chuushi in #2064

FedUpWith-Tech commented 3 years ago

Support for BungeeCord Servers/Maps

mikeprimm - I know you're only keeping the maintenance of the plugin updated, but I've recently switched to using BungeeCord Server and putting all my worlds under it. This as you know is the proxy for the rest of the worlds by keeping them behind the proxy server (BungeeCord) and restricting direct access. Unfortunately, it still opens the server for intrusion because of the dynmap port on the spigot server itself which means they are still getting hit directly. What I'm proposing is a change that a Dynmap plugin be installed on BungeeCord plugin folder (not the mc spigot servers), that have pointers to the mc server dynmap ports. So BC would be the proxy to display the maps for each world in that plugin.

I'm not expecting any rendering be done thru bungee, only a web page that allows for a drop down list of the worlds registered by BungeeCord that I can switch between them and get the generated maps from the back end servers. So basically what this guy did for the same setup, but the download link isn't working. http://maps.yeahwh.at/

Thanks for considering taking this to a new level. :-) Steve


Suggestion by @smmmadden in #2100

FedUpWith-Tech commented 3 years ago

Adding markers and areas online

We are having a city-scale project undergoing, and would like to have districts sliced up. The districts has been sliced on some Photoshop-like software, and we are ready to build things on it. But when comes to dynmap, we see the hassle to add markers and areas from config to textpads, and necessity of copying coordinates from dynmap to somewhere else back and forth.

So I am suggesting that dynmap can allow logged in users, to add markers and areas by clicking on a single spot, or adding areas by selecting multiple point.


Suggestion by @lifehome in #2168

FedUpWith-Tech commented 3 years ago

Update WebUI

The current one is old and ugly and things are small on higher resolutions (not the maps obviously). Possibly due for a redesign?


Suggestion by @simonjonnemeth in #2216

FedUpWith-Tech commented 3 years ago

Biome & topo shader

Suggestion by @HanatakeYurii in #2251

FedUpWith-Tech commented 3 years ago

Banner Markers

I'd love to see support for using Custom Banners as markers with custom icons


Suggestion by @durand1w in #2266

FedUpWith-Tech commented 3 years ago

Support for Async Chunk Loading (Paper)

Hi mike, it's been a long time since we spoke!

Paper has an API addition that allows plugins to request chunks asynchronously. This API has existed since 1.9 roughly.

I'm requesting DynMap add support for this by detecting if World#getChunkAtAsync exists, and if it does, use an alternative chunk loader that uses the Paper API method.

By doing this, Paper will be able to asynchronously load all chunks. We also have a World#isGenerated(x,z) method that you may find useful too since you were using NMS for that logic already.

I am also planning to add a new method in 1.13 to "getChunkAtAsyncWithoutLoading" kind of concept, that would suit dynmaps needs, in that we can load the chunk but never post it into the world.

This would remove your need to immediately unload the chunk.

Many server owners are switching to Paper, and I'm hoping you can add this support so that dynmap can be nearly free in performance cost.

I would love if you would join the Paper discord, and I can speak more with you on there if you need :) https://paperdiscord.emc.gs

Thanks, hope to reconnect soon!


Suggestion by aikar in #2345

FedUpWith-Tech commented 3 years ago

Minecolonies

I'd like to request support for Minecolonies within Dynmap, if possible.

Edit: I'm referring to displaying colony information on the map, the textures are all fine except the roofing.

It's extremely popular, and its built in claim/permission system means that GriefPrevention (which also has excellent Dynmap support) isn't necessary.

Link: https://minecraft.curseforge.com/projects/minecolonies


Suggestion by @pulz-TCP in #2385

FedUpWith-Tech commented 3 years ago

Storage type migration

Suggestion by @PoQuatre in #2419

FedUpWith-Tech commented 3 years ago

Staff+ support

Suggestion by @Flipp3rrr in #2424

FedUpWith-Tech commented 3 years ago

Use MySQL for Player Login

I would like to be able to store the player's logins on the SQL server. Right now it is a simple txt file.


Suggestion by @EliSauder in #2456

FedUpWith-Tech commented 3 years ago

Slime Chunks on DynMap

I would like to view slime chunks on dynmap.


Suggestion by @EliSauder in #2457

FedUpWith-Tech commented 3 years ago

Add option to show marker IDs on map

It would be useful to have an option to show the marker IDs on the map, so a marker labelled as "Underwater Ruin" could be displayed instead as "Underwater Ruin (marker_id_1)"


Suggestion by @Jameskmonger in #2539

FedUpWith-Tech commented 3 years ago

Rendering on another server

I would like to suggest the possibility to render a map using another server so that the server running the bukkit server doesn't have to take the load. I wish I was better at Java and programming in general then I would love to help expand this plugin! All I can do now is suggest and hope :)


Suggestion by @Charkel in #2553

FedUpWith-Tech commented 3 years ago

Pre-cache Map Tiles near the current viewable area

In the Map View, Download Map Parts arround the Users Current View so that Panning arround the map at Slow/Medium Speed does not show Black Tiles for a short time before they are loaded. This would make the Map feel Much Smoother. https://streamable.com/9nask


Suggestion by @leumasme in #2602

FedUpWith-Tech commented 3 years ago

Permissions node to force players being visible on the map

It would be nice if we could restrict who shows up on the map via a Permission node, that would overrule an individual's show/hide command. Something like dynamp.forcehide or dynmap.forceshow My intended usage would be to assign permissions to users for specific contexts that aren't always able to run the show/hide command on a trigger.


Suggestion by @diamondwelsh in #2610

FedUpWith-Tech commented 3 years ago

Allow webmap to be visible when the server is offline

Suggestion by @TKwSni in #2632

FedUpWith-Tech commented 3 years ago

Provide some more information for fullrender

Would it be possible to show the actual percentage progress of a fullrender task and maybe even estimated time remaining to complete it?

There is another project "Minecraft Overviewer" which is able to know the actual progress in percent and the estimated time remaining, so I guess it might be also possible to implement it in dynmap.

Another cool feature would be to provide the render progress in the web frontend.

I know there was already a similar discussion back in 2011 (#140), but maybe today, there are some more possibilities. So I give it another try to ask. :-)


Suggestion by @Programie in #2648

FedUpWith-Tech commented 3 years ago

CORS Configuration Support

There is any way to setup the CORS with Dynmap. I want to be able to consume the Dynmap API from third party servers but I have the CORS restriction:

No 'Access-Control-Allow-Origin'

So that, I want to enable the CORS (with a simple header into the response of any request) like the following:

HTTP HEADERS
Access-Control-Allow-Origin YOUR-DOMAIN.TLD
Access-Control-Allow-Headers Origin, X-Requested-With, Content-Type, Accept

Could be nice if already exist this option and you guys, could help me with this, otherwise, could be a nice new feature into the plugin.


Suggestion by @dannegm in #2666

FedUpWith-Tech commented 3 years ago

Add the ability to change the light emission of light sources in the world

I created a separate night map for my server. The map generates fine, but it's really dark. I have played with the ambient light value, but right now it looks like Minecraft with the brightness slider set all the way to "moody". Is there a way to change the shader so it looks like the game with the brightness slider set to "bright"?

I understand I can just change the ambient brightness, but I don't want the entire world lit up. I want the areas lit up with torches to be more "fully" lit while keeping the uninhabited areas at the normal ambient brightness. It seems like the brightness slider in-game increases the falloff range or the brightness of light sources, which is what I want to do.


Suggestion by @Technoguyfication in #2690

FedUpWith-Tech commented 3 years ago

Retain viewer configuration between sessions

It would be cool if dynmap would save the viewer configuration (Enabled/disabled categories, selected map, zoom level, etc.) to localStorage or something so that the users don't have to adjust this to their individual preferences every time they look at the dynmap.


Suggestion by @DaniDipp in #2716

FedUpWith-Tech commented 3 years ago

Config option to restrict radius render maximum size

Would it be possible to add a config option to restrict the radius render maximum size to allow others access to the command without concerns of them entering absurd radius sizes?


Suggestion by @mibby in #2912

FedUpWith-Tech commented 3 years ago

Allow network segments in trusted-proxies

Right now, one can only specify a list of ip addresses for trusted-proxies. I run dynmap in a k8s cluster, and can't specify one, since it can change per each rollout. Instead, I'd like it to allow pass a CIDR such as 10.244.0.0/16. Notice you can still specify a single ip with a /32 suffix if desired


Suggestion by @ghost in #2923

FedUpWith-Tech commented 3 years ago

Add the ability to define visibility limits per map

You can define visibility limits for a world to render only certain locations. I would like to define such a limit only for the 3d view of my overworld as thats pretty huge (around 150GB+ for a 30k*30k world). To me it seems like you can only set these limits for a world, not for a single map on that world. Is there a workaround for this?


Suggestion by @T-x-T in #2926

FedUpWith-Tech commented 3 years ago

Dynmap + AntiqueAtlas Textures

I stumbled upon https://github.com/AntiqueAtlasTeam/AntiqueAtlas/issues/86 where the author says "If dynmap allows using custom tiles in this way, then feel free to use our textures to implement this idea by yourself." Is it possible to use Custom Tiles for Dynmap?

Dynmap looking like this on the flat would look pretty awesome.


Suggestion by @1337god in #2946

FedUpWith-Tech commented 3 years ago

support for native leaflet.js calls

I am working on a plugin that uses a dynamic map api and I would like to modify the map view within an api leflet, however I cannot do this without editing the js files of your plugin plugin. could you add support native calls like this for example https://github.com/dukescript/leaflet4j


Suggestion by @XuPuPG in #3036

FedUpWith-Tech commented 3 years ago

Markers with holes

Suggestion by @XuPuPG in #3065

FedUpWith-Tech commented 3 years ago

Add option to disable messages sending via the API

Suggestion by @Blueeyestar in #3096

FedUpWith-Tech commented 3 years ago

Allow http for /dmarker addicon

This would allow me to let server staff to add new icons, say from discord emote repositories, without giving them direct file access.


Suggestion by @ryantheleach in #3108

FedUpWith-Tech commented 3 years ago

Render player heads' skin to show on map

Custom heads from the Head Database plugin are rendered as Steve heads.


Suggestion by @RWoof in #3124

FedUpWith-Tech commented 3 years ago

Set a temporary marker at the urls position

Feature Description: When generating or opening a link that includes coordinates as query parameter (e.g. https://map.example.com/?worldname=world&mapname=flat&zoom=4&x=616&y=64&z=4010), show a temporary marker to the user at the given position. This should be helpful to see the precise position on the map. The map generator 'Overviewer' already supports the creation of clientside markers by adding parameters to the url. It would be nice to have to define a default marker icon in the config or even pass the icons id as url parameter.


Suggestion by @Schpammer in #3151

FedUpWith-Tech commented 3 years ago

Include Nether-Ores such as Ancient Debris in hideores

Suggestion by @WELTEINZ in #3176

FedUpWith-Tech commented 3 years ago

Show last 15 messages in webchat while typing

Feature Description:

Additional context: Goal of this feature request is to bring the web chat closer to the in-game chat experience. It's easy to miss someone’s message, especially when the map is open on another tab or screen. With this feature users would be able to see the last messages again just like in-game when you open chat with 'T'. By only showing up when the chat is being used, this does not block the view of the map. On the technical side, all messages shown in the chat box need to be saved temporarily and deleted as new ones come in. That includes join and quit messages. This could all be done client side in the existing JavaScript.

Future improvements: The suggested feature and its scope was chosen because its perceived simplicity and ease of implementation. The next logical step would be to have all messages saved and offer a scrollable chat box when in focus. Another possible improvement would be to fetch the most recent messages from the server when the webpage is opened.


Suggestion by @MSiegrist in #3188

FedUpWith-Tech commented 3 years ago

Adding more GET parameters: remove certain GUI elements but keep player heads & markers

Feature Description: Currently nogui=true disables everything so that only the map is visible, but I actually would like to show the markers & the playerheads. Maybe even allow enabling specific marker sets.

FedUpWith-Tech commented 3 years ago

S3 Storage Support

Feature Description: On some large servers, its very easy to run out of disk space and sometimes even filesystem inodes. AWS S3 storage doesn't have those limitations, however it also isn't a filesystem you can just mount; you can only upload files to it through their API. Amazon provides a lovely SDK for doing this and it seems like it fully supports all the same operations as the filetree backend, including storing file metadata inside S3. Another great bonus of S3 is that objects may be read-only accessible using a regular old-fashioned URL that any browser can understand, meaning its possible to offload all of the HTTP file request handling off of dynmap. In effect, server operators can get all the benefits of a fancypants global CDN with zero of the work needed to maintain it and keep it up to date. I might be playing on a server based in Spain (with a 200ms ping :E), but at least the map tiles would be served up lightning fast from the west coast CDN edge nodes!

I myself use DigitalOcean, not AWS, however DigitalOcean's Spaces product provides a S3 compatible API, so this feature wouldn't be limited to just one platform.

I'm hoping to make time over my upcoming winter holiday and hack on this and come back with a pull request.


Suggestion by @tdfischer in #3214

FedUpWith-Tech commented 3 years ago

double rendering (webp and png or jpeg

Is there a way to render webp and png or jpeg. So example webp and png, so that I can make a difference via htaccess if necessary.

currently I use webp


Suggestion by @lastsamurai26 in #3239

FedUpWith-Tech commented 3 years ago

Add the ability to view light levels in caves

There should be the ability to toggle on and off a feature to see the light level in caves. This can be represented with a yellow gradient; the most yellow areas would be light level 14 where as the least yellow areas would be light level 0. This would make it easier for us to see which caves we have fully lit up.


Suggestion by @Catterall in #3244

FedUpWith-Tech commented 3 years ago

Integrate a seed-based tool like Amidst/MineAtlas into Dynmap

Most of a Minecraft world is unexplored, and it takes a massive amount of storage space to load all the chunks. How about a setting where Dynmap uses an seed-based map like MineAtlas or Amidst to fill in the blanks where there's no world data? This would be useful for servers that don't want to pre-generate all of the chunks within a radius. It would also allow players to scout the map, looking for interesting destinations infinitely far out.


Suggestion by @ProClifo in #3262

FedUpWith-Tech commented 3 years ago

day number display support

Feature Description: Maybe this is possible, but I am not successful to find out how: it would be great addition, to display in dynmap not only current time in MC world, e.g. 8:30, but also number of current day (since world generation), e.g. DAY#8337.


Suggestion by @richard-ostrochovsky in #3220

FedUpWith-Tech commented 3 years ago

Mapping regional difficulty

Suggestion by @berlincount in #3290

FedUpWith-Tech commented 3 years ago

Add to dynmap show entities

Feature Description: I would like to see at my server some artworks which is created by paintings but I do not see them. I would like also see item frames with images inside but they are not visible. Feel free to add support to it.


Suggested by @Misio12320 in #3298

FedUpWith-Tech commented 3 years ago

ChangeSkin support

Feature Description: Add ChangeSkin support for player faces.

Additional context: ChangeSkin is a lightweight alternative for SkinsRestorer (which is considered by some users as a bloatware) with a really straightforward functionality.


Suggestion by @ImDaniX in #3315

FedUpWith-Tech commented 3 years ago

External Webserver as Hub Server

Feature Description: Adding the ability to use the external webserver as hub for multiple server.

Additional context: I know that it is asked a lot, but since the external web server already has its own tile folder and world json for each world, why not use it as a central map for several servers. The prerequisite is that every world has a unique name. Then nothing should interfere. The last thing I heard about this was this #1495 According to this it will go on the list but i never heard something new about it


Suggestion by @JeffHD in #3330

FedUpWith-Tech commented 3 years ago

Dynmap Sign Setname Permission dynmap.marker.sign.setname

Feature Description: We curerntly have dynmap.marker.sign which allows the use of signs to put markers into a default-sign-set:, which works well, but I would like to limit the use of the set: on signs based on permissions, I have a hidden set that Contributors can add markers to, but its only toggled on manually by players, they could currently add markers to the main markers set which are default on, but ive not doucmented the set: line on signs anywhere at present. At some point someone will figure this out.

Please can you add in permissions to sets users can add markers too using signs, for example;

dynmap.marker.sign.* (All sets)
dynmap.marker.sign.markers (Set named "markers")
dynmap.marker.sign.contributors  (Set named "contributors")

We also have some third party plugins that auto add sets, which we dont want players being able to add markers into!

Thanks.


Suggestion by @TomLewis in #3358