Dynmap®
* MAIN SUPPORT IS NOW ON DISCORD *
For further discussion and announcements, see us on Reddit or Twitter.
A Google Maps-like map for your Minecraft server that can be viewed in a browser. Easy to set up when making use of Dynmap's integrated webserver which works out-of-the-box, while also available to be integrated into existing websites running on Apache and the like. Dynmap can render your worlds using different renderers, some suitable for performance, some for high detail.
Components allow you to add/remove functionality to make Dynmap suit your needs. Using the components Dynmap comes supplied with, there is support for chat balloons, web-to-game chat, and configurable markers, areas, and lines.
Features
- Highly configurable maps per world
- Real-time updates: maps are kept in sync with your world in real-time, updates are shown while your leave your browser open
- Players with their faces are visible on the map
- Chat messages are visible (as balloons or in a chatbox) on the map.
- Map viewers can chat to players in-game.
- Current Minecraft time is visible on the map.
- Current Minecraft weather is visible on the map.
- WorldGuard, Residence, Towny and Factions regions that can be visible on the map (through corresponding Dynmap-* plugins)
- Overall highly configurable and customizable.
Installation
Copy dynmap-*.jar into your plugins directory. If you are upgrading, delete the previous dynmap-*.jar - you do NOT need to delete the plugins/dynmap directory or its contents.
If you are running a separate webserver (like Apache) you may need to copy the files from 'plugins/dynmap/web/' to a directory in your http-root and follow this guide. When upgrading, make sure you also upgrade the copied files.
First time use
When you start CraftBukkit, you should be able to navigate to http://yourserverip:8123/ in your browser. In case you are running CraftBukkit on the PC you are currently working on, you can navigate to http://localhost:8123/. You should be able to see the players who are in-game. Note that the map is not yet rendered, therefore the background will be black.
If you are planning on using the HD renderer, now would be a good time to do so. Enable 'deftemplatesuffix: hires' in the top of configuration.txt. More information about deftemplatesuffix is available at Base plugin settings.
If you just want to see Dynmap work, use the following command in-game: /dynmap fullrender. The wiki contains more information about commands and permissions. The map should reveal itself gradually in the browser, give it some time. Progress messages indicate that Dynmap is working and will show when the render is completed.
Configuration
Dynmap Add-Ons:
Both to demonstrate the API, and to help manage the growth of this already-huge plugin, we've started producing additional plugins for Dynmap. All of these will depend on Dynmap and interface through its APIs, but only need to be added by folks that are interested in the additional function they provide:
- dynmap-mobs: Provides marker layer for real-time position of selected mobs on dynmap maps.
- dynmap-residence: Successor to the 'regions' support for Residence in Dynmap, with live update of Residence changes
- Dynmap-WorldGuard: Successor to the 'regions' support for WorldGuard in Dynmap, with live update of WorldGuard changes
- Dynmap-Towny: Successor to the 'regions' support for Towny in Dynmap, with live update of Towny changes
- Dynmap-Factions: Successor to the 'regions' support for Factions in Dynmap, with live update of Factions changes
- Dynmap-CommandBook: Add support for showing /home and /warp locations defined using CommandBook.
- Dynmap-Essentials: Add support for showing /home and /warp locations defined using Essentials.
- Dynmap-GriefPrevention: Add support for showing Grief Protection claims
- Dynmap2CraftIRC3: Integrate Dynmap's web chat with IRC via CraftIRC
- Dynmap-SimpleClans: Integrate SimpleClans with Dynmap
- Dynmap-HeroChat: Integrate HeroChat v5.5+ with Dynmap
- Dynmap-PhysicalShop
- Dynmap-pyLandmarks
- Dynmap-PreciousStones: Integrate PreciousStones with Dynmap
- Dynmap-AdminCmd: Integrate AdminCmd with Dynmap
- Dynmap-PlayerWarp
- Dynmap-Citizens: Integrate Citizens with Dynmap
Mods integrated with Dynmap:
The following mods are known to support dynmap integration without needing an add-on:
Also, for the best response to questions and such, please post comments to our main forum thread - http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/. Once again, having more than one place just isn't helpful, and this is where the 'Dynmap Community' already operates.
Disclosure
This plugin utilizes bStats.org plugin metrics system, which means that the following information is collected and sent to bstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
Donations and Tips
Dynmap and my other mods and plugins have always been free, as I work on them as time permits and not as a job - the upside is that the price is good, the downside is they get the time I have left after working, taking care of my family, and other things!
I've set up a coffee-fund jar (I believe in the theory that software developers are machines that turn caffeine into code), for anyone who wants to throw in some tips! For Patreon - https://www.patreon.com/dynmap or for Ko-Fi https://ko-fi.com/michaelprimm
@DarkMinecrafter
You'll have to do a manual rerender of that area or have WorldEdit's dev make use of Dynmap's API to trigger a render. More specifically 'triggerRenderOfVolume' in DynmapAPI: https://github.com/webbukkit/dynmap-api/blob/master/src/main/java/org/dynmap/DynmapAPI.java
@fatman2778
Yes, the plugins should work with latest API.
@samsalot007
I have been working on this, but have very little time lately. If you're interested, the code is located here: https://github.com/FrozenCow/dynmap/tree/servlets . It also includes a new internal webserver (Jetty).
Dynmap 0.25 seems to not report the Y axis correctly. It always show 64
How do the markers work exactly?
@fatman2778
I'm using dynmap 25 on the MC 1.0 builds, as you mentioned, working just fine. A few minor CPU spikes I am working on for my server, but that's about it.
can you add that when you make blocks with worldedit that the tiles refresh
Dynmap-0.25 is working fine on craftbukkit 1493 :) Is this version compatible with the api plugins? I would like to try out using the worldguard one :)
Great plugin have been using it for some time now. I was wondering if you could add a feature where you can register usernames so you can see a persons username name when they are talking in web chat. Thanks for the great plugin.
Interesting, I was able to get it to work.
I ended up removeing all my plugins but the McMyAdmin Plugin Dynmap. Started it up and it worked. Shutdown the server and copied back the other plugins and it still works.
@mikeprimm
Fresh install of Dynmap with the latest version. On a fresh install it hangs right after it says its building the new shaders file.
@eldarstorm
Have you customized the shaders at all? You may want to try deleting shader.txt, let it make a fresh one, and apply any updates again.
@w7gamer
Can you supply the specific sequence of commands you're issuing, and a copy of the exception?
@deleted_7536780
Check to make sure you're disk isn't full....
Edit: Ah - wait - If you have a '/' (or '\') in your world name, it'll hose us up. Sorry, only way to fix that right now is to rename the world.
Gah!!! going nuts here! In what order does region coordinates need to be in order for the dynmap regions component not to throw an exception?? First regions works fine, but as soon as I try adding another the handler throws an exception and regions layer is disabled...
Craftbukkit DevBuild 1484 Dynmap 0.24
16:47:10 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_0_0.hash
16:47:10 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_0_0.hash
16:47:11 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_0_0.hash
16:47:11 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_0_0.hash
16:47:12 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_0_0.hash
16:47:12 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_0_0.hash
16:47:12 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_0_0.hash
16:47:12 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_0_0.hash
16:47:12 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_0_0.hash
16:47:12 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_0_0.hash
16:47:13 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.flat_0_-1.hash
16:47:13 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.flat_0_-1.hash
16:47:14 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_-1_0.hash
16:47:14 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_-1_0.hash
16:47:14 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_-1_0.hash
16:47:14 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_-1_0.hash
16:47:14 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.t_0_0.hash
16:47:14 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.ct_0_0.hash
16:47:15 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.flat_0_-1.hash
16:47:16 [SEVERE] [dynmap] Error writing hash file - plugins/dynmap/web/tiles/Muezli-1/0.flat_0_-1.hash
Working great on latest dev of craftbukkit with MC1.0.0.
Longtime user of this plugin, keep it up man!
Seem to have a problem. When first starting, it starts building the shaders and does not go on from there.
If I halt the server and start it back up, it halts at [dynmap] Using Permissions 2.7.7 for access control
For whatever reason it seems to halt when it needs to load the shaders I think. I am running McMyAdmin if that makes any differance. I have had this problem for ages, but have not been able to get past this point.
The server is running Windows Server 2003 and IIS. I have tried both the built in method that Dynmap uses and the webserver method.
Any help would be great.
@mikeprimm
Thanks, I'll take a look. I haven't made any changes to the config as far as I can recall. Just suddenly my cpu usage went from a normal 20% to well around 150-300% on the server htop screen.
Even after a restart and no one on, the CPU would still spike up after the server had started up.
I'll check the dynmap info once no one is on my server. Then I can tinker without much to worry about.
edit: Just started fresh, I really like how it looks, performs a lot better than what I had a couple days ago.
Suggestion: a way to relocate the "logo" to a different location. If the side bar is set to be open by default, you can't click the logo. My dynmap: http://96.44.129.66:8122/#
Currently in a full render at this time on Earth.
@Liger_XT5
Main thing to look at is render trigger related behavior - your mention of running 0.24 suggests that you've moved to 0.25? Fact is, there is no measurable changes to 0.25 at present - a couple of edge-case bug fixes, mostly related to the UI versus the server code. Which CB are you running, and which render-triggers do you have set? The biggest driver of trigger load will be folks exploring new territory - someone wandering around out in ungenerated territory will provoke lots of new tiles to be rendered. Beyond that, completely avoid the 'playermove' and 'chunkloaded' triggers - these are legacy triggers that were needed to handle new territory before we got the bukkit events we needed to do 'chunkgenerate'. Be cautions of 'pistonmoved' if you allow lots of that sort of thing to be done repeatedly/automatically on your server - ditto for 'blockspread' if folks have water/lava turning on and off frequently. None of this is distinctive to 0.24 or 0.25, but they are things to watch. Look at /dynmap stats to get an idea of how much triggered tile refresh is happening, and on which maps.