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
Potential bug with the web chat portion. when typing a doubld '?', the chat window reponds with a jQuery. for example
typing '??abc' produced this output: 'web-002: jQuery16305045386303089457_1325251380131abc'
EDIT: the 'jQuery' text also appears in the players console.
When trying to browse I get this error: "Could not retrieve configuration: Not Found"
Followed your guide. IIS7, Win 2008 server Standard R2 with PHP function.
Have you though about adding support to dynmap for the plugin epiczones? I think allot of people would find it useful.
EDIT: nevermind, I just did a /dynmap fullrender world:flat and its working fine.
I'm having a weird thing happen. I set the worlds.txt file to autogenerate-to-visibility limits. I then did a /dynmap fullrender. For the iso map and the cave map, it did the autogenerate, but for the flat map it didnt.
@mikeprimm Thanks for the response, if you do I'll love the mod even more, if not, ill still love it.
Hello,
I have been trying to get dynmap working on a apatche 2.2 server and every time i visit the webpage i get could not retreve configuration: not found. and have followed everything in this guide https://github.com/webbukkit/dynmap/wiki/Setting-up-without-the-Internal-Web-Server, Would somebody be willing to help me,
Thanks
@Swang4004
I'm considering it - need to work out how I want to allow it to be defined.
@Ryokotsusai
You need to fully build and replace the web files in sync with the build. The '-dev' version is what you get on a private build of the JAR file - the version.js will be regenerated too, during the build, if it has been run properly.
@Viper150
You can use 'renderinterval' to control how often updated tiles are processed - this will limit re-processing of the same tile changes, although it can also result in backlogs of updates.
@Endimmion
I'll take a look at this - please file a bug at https://github.com/webbukkit/dynmap/issues
Is there a way to add plain 2d lines to the map? We have a rail system on the server and it would be nice to show which stations connect. If not no biggie.
Someone managed to crash my server using the webchat:
this would be great if when you entered the map on the site, that it asked you to enter a username and that username was used for the chat instead off the ip
Yeah... I just installed Dynamap on my server, used the fullrender command, but... Where and how do I actually view the map? 0_0 Sorry if I fail at reading instructions, I've tried going to 184.173.98.13:8132... Wait, it's 184.173.98.13:8123... Oops, you can all laugh at my fail >.>
I seem to have a bit of a CPU issue as well. It seems that as soon as someone starts placing/editing blocks, the CPU usage starts to rocket up (especially when multiple people are building). I have lowered maxchunkspertick to 100, 80, 70, and even 30. My question is, is there any way to delay the rendering after X amount of blocks are edited or something else to lower CPU usage? Thanks.
@mikeprimm
I'm fairly sure in my case that the config.js file is fine (Link if you want to confirm).
However, while trying different things to get it to work I tried a different browser and it gave me the error message:
In version.js I changed
to
and was able to get it to work on every browser I tried except Opera, which still refuses to even load the map title.
@dunem666
What load are you specifically concerned about? Nearly all processing is done off of the main server thread, so don't assume a high CPU number actually translates into impact on server performance (unless you're running on a server with only a single core). For fullrenders, you can opt to have the fullrender processing suspend when more than a specific number of players are online (fullrenderplayerlimit). For any rendering, the main load on the server thread can be gated by dialing down the 'maxchunkspertick' setting (be careful - this can murder rendering throughput, particularly if you go much below about 80 or so). For updates, look at the /dynmap triggerstats to see which triggers are generating the most traffic - ultimately, all of them are needed to assure the map stays in sync with reality, but turning off things like 'pistonmoved' can be important, if you allow continuously running piston machines on your server.
@craftopia
Look at /dynmap triggerstats - this will tell you what the source of your triggered updates (the only load generated when a fullrender isn't running). Now, do remember that if you kick a fullrender (which can run a very long time) and log off, it keeps running - you just don't see the messages on your user console anymore. To see if you have any full renders running, and other load information, check out /dynmap stats.
Things to watch for are triggers on things that you allow to happen continuously on your server (for example, if you allow continuously cycling piston-based machines on your server, you almost certainly want to turn off the 'pistonmoved' trigger).
@waybaker
the 'scrollback' setting on the 'chatbox' component does this. See https://github.com/webbukkit/dynmap/wiki/Component-Configuration for details.
@Ryokotsusai
@weezel:
If you are getting this in JSON mode, it usually means you haven't set the config.js properly. Make sure you uncommented the proper lines (particularly NOT including the line for the 'For Json file" comment itself - just the url settings).