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
@deleted_7536780
I get the same lag spikes, intermittent, was running 1185 and now running 1240. That's why I asked for an offline version so I can just do nightly renders instead.
I was wondering if there's a way to disable all of the "live" functionality and just have it do full renders at nights by having /dynmap fullrender command run once a day. Everytime I run the plugin as is, it just lags everything right out.
Additoinally, just want a flat map, no nether, no caves, anyone can help me with that part of the config as well?
@FrozenCow2
Hey, Thanks for the reply. I've change file ownership/perms just incase thats causing Chunk error.. umm..
Any news on the lag spikes tho? i Get the Chunk error without dynmap but with dynmap every now and then theres a big lag spike for a min and everyone is booted ... not a crash! a lag spike..
Any Ideas?
@souldevour
You can check the commit messages: https://github.com/webbukkit/dynmap/commits/master I'm mostly working on an unstable branch, which likely will not yet be included in 0.24, but is for a later version: https://github.com/FrozenCow/dynmap/commits/servlets
is there a changelog somewhere? i wanna see whats new in .24
@deleted_7536780
It seems to be related to Minecraft/CraftBukkit's chunk-loading. Dynmap will make Bukkit (eventually) load all chunks when doing a fullrender, so it makes sense that the error only pops up when Dynmap is running. The strange thing is that it 'crashes' when writing a chunk. This should never happen. It might have something to do with the disk/filesystem/permissions. It could also be a recent change in chunk-handling in Minecraft/CraftBukkit. I've just received a similar report that only happens with CB1317: https://github.com/webbukkit/dynmap/issues/472. What version of CraftBukkit are you running?
is there gonna be a time when you are gone put breaklines in your textfiles?
because right now it just looks so messy
No Sure Why, but i was getting huge lag spikes when using this plugin with only a 20 man server. it would lag spike and after a min EVERYONE would get kicked..
so i removed this plugin an woola, no more of that..
Any ideas?
i also got this
2011-10-18 03:43:49 [SEVERE] java.io.IOException Input/output error
2011-10-18 03:43:49 [SEVERE] at java.io.RandomAccessFile.write(Native Method)
2011-10-18 03:43:49 [SEVERE] at java.io.RandomAccessFile.writeInt(Unknown Source)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:343)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.RegionFile.a(SourceFile:279)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.ChunkBuffer.close(SourceFile:259)
2011-10-18 03:43:49 [SEVERE] at java.util.zip.DeflaterOutputStream.close(Unknown Source)
2011-10-18 03:43:49 [SEVERE] at java.io.FilterOutputStream.close(Unknown Source)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.ChunkRegionLoader.a(SourceFile:64)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.ChunkProviderServer.saveChunk(ChunkProviderServer.java:152)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:236)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.World.doTick(World.java:1624)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:461)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
2011-10-18 03:43:49 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
@patey5
The FAQ shows how to do high-detailed maps: http://dev.bukkit.org/server-mods/dynmap/pages/faq/ To enable Towny, you have to uncomment (=remove the first '#' in front of) the following lines: https://github.com/webbukkit/dynmap/blob/master/src/main/resources/configuration.txt#L171-199
i need a little help with configuring the components. i have no clue where to begin... i'd like to add towny regions and hd rendering, but is there any other cool stuff dynmap can do?
@xKoKSii
No luck reaching your server. In hires, you need to edit the templates/normal-hires.txt, and switch the 'lighting' setting there from 'shadows' to 'nightandday' (or 'brightnightandday', if you want things a bit brighter at night). You'll then need to do a fullrender.
I got a Problem with the day and night nothing will be rendering if i change the config? im on HiRes.. an i want to be day and night here my link survival-builders.de:8123
@Nukufox
Simply reload / restart your server once, it will generate all the needed files!
I just downloaded Dynmap for the first time and can't seem to locate the configuration.txt. I've already uploaded Dynmap to my MC server plugin folder. Do I need to generate this file somehow?
From what I have seen online the configuration.txt file is just inside the dynmap folder, however all I see are 3 folders: colorschemes, texturepacks and web. No configuration.txt
@FrozenCow2
Awesome! Thanks FC! I must have missed the part about parallelrendercnt, as that's pretty much what I was looking for anyway. :)
@GameCharmer
This would require dynmap to read in the world-files itself. Now we make use of the interface of Bukkit to retrieve the blocks/chunks that are in the different worlds. This has a few big advantages:
All this without inter-process communication, which is therefore fast. It also costs less memory, since we don't need to create a whole new JavaVM in the seperate process.
Also, Mike has added a feature to Bukkit, which allows him to retrieve whole chunks quite fast. As an added bonus, we can access those chunks from different threads, which is why multi-threaded rendering is now possible ;). (the 'parallelrendercnt' in configuration.txt) All in all I think Dynmap allows enough configurations-tweaks to make it perform under most circumstances. Check out 'timesliceinterval' if fullrenders are hogging your cpu. If the main game is underperforming while doing fullrenders (or any renders), you might want to take a look at 'maxchunkspertick'.
I'm not too keen on Java processes, but would it be possible for Dynmap to spawn in a separate process? Have 1 small JAR file determine the path from root and execute the main Dynmap jar vial command line or something? This would/should/could eliminate nearly all lag caused by full renders on upper level multi-core systems. Since the current version of Dynmap allows multiple concurrent full renders, this could drastically speed up the rendering process as well, since each process would not be fighting for CPU.
Even if this was something very simple, such as spawning a new process with a single command line argument (world name) for handling full renders, it couldn't hurt, could it?
Keep the attached Dynmap process for handling the chat, internal webserver, chunk change tracker, etc, but offload the tedious process of generation to separate processes.
If only MC were multi-thread capable. :P
GC
@Dcl2049
Well, not specific for 0.24, but I have been working in the weekends on authentication and a new webserver. The new webserver should allow other plugins to host webservices, just like Dynmap does. Authentication allows people to login on Dynmap, so you can set permissions for what people may do or see on the map. After that all kinds of cool features are possible which at the moment would cause chaos since everyone can use them. It also should (finally) resolve the problems with usernames in webchat.
Mike's got some big and awesome render-features planned, but I don't know when he'll work on that. Lately the Minecraft updates requires quite some work on Dynmap, Mike keeps the rendering up-to-date with those changes.
@d4rkwarriors
The url where dynmap fetches the skins is hard-coded atm, but you can just disable 'fetchskins' in the configuration and put your own versions of the faces in dynmap/web/tiles/faces/*x*/.
Just dropping by to say thanks again for an awesome plugin and helping my server look beautiful.
Do you guys have any big changes planned for 0.24?