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
@Ramorous
Did that indeed happen after upgrading from CB 1185? You can disable the render-triggers in configuration.txt. That way no renders will be triggered on block-placements and such. See whether that helps.
@FrozenCow2
I actually rent my server from Fagnet, rented a 1GB server. We have at most 5 players on at a time with a maximum of 12.
The map isn't big, at least I don't think it is. From what I've seen it's about 4000x3000 blocks right now. I love this plugin and so does everyone on my server, but the lag is just unbearable and I looked through and wondered if there's sort of an offline version that doesn't poll the server at all unless you run the full render command which I would have done nightly.
@FrozenCow2
Since updating to the latest RB, my server randomly reboots. Sometimes in a half hour, sometimes in two, but it does randomly reboot. The good news it that it has nothing to do with the amazing Dynmap!
To everyone getting lag spikes when Dynmap generates, try using parallelrendercnt. I have that set to 3 on my quad core server and have not had a single shred of lag from Dynmap, and I run HD maps and have 12 worlds running.
On a side note, I have disabled the local webserver and use samba to store the dynmap tiles on an independent webserver on my local network. Saves on disk I/O, storage space, and fragmentation.
@Ramorous
Are you all noticing this since the new RB of CraftBukkit? I haven't heard so many lag complaints for quite some time + we didn't release any new version of Dynmap, so that can't be the problem. I don't have a big server with many players, so I can't test this very well. My machine can hardly run the client and server next to eachother nowadays, but I don't experience lag once the server is running. Can you all say what version of CraftBukkit you are using? Also, does downgrading CraftBukkit to 1185 help?
@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'.