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
-
View User Profile
-
Send Message
Posted Sep 8, 2012Do you have to use the in-built webserver?
-
View User Profile
-
Send Message
Posted Sep 8, 2012how to display torch?
-
View User Profile
-
Send Message
Posted Sep 8, 2012To anyone having issues with spawn not moving to correct location on dynmap after /setspawn change.
I /setspawn to new location......stopped server.....deleted dynmap.jar....started server..stopped server.....reinstalled dynmap.jar.....started server.... and spawn shows where its supposed to.
-
View User Profile
-
Send Message
Posted Sep 7, 2012For the record, works fine on Tekkit version 3.1.2. It doesn't show modded blocks though and i don't expect it to, but otherwise, great mod.
-
View User Profile
-
Send Message
Posted Sep 7, 2012Is there any way to speed up the render process? I changed a few settings in the config but was unable to get a decent speed increase.
-
View User Profile
-
Send Message
Posted Sep 7, 2012I currently have no server window issues or errors with 0.80 Though I am running into this issue right now when I attempt to look at the dynmap website. It shows only this red box error message "Web files are not matched with plugin version: All files need to be same version (0.80-1315)"....Which I completely deleted all of my dynmap files and re-downloaded and installed the latest. I still get the same issue. I am running craftbukkit 1.3.2-R0.2 along with Spout Plugin 1317. The only big change is I started using the custom craftbukkit build called spigot v2.
-
View User Profile
-
Send Message
Posted Sep 6, 2012I get this error, is it bad?
2012-09-07 09:26:12 [SEVERE] [dynmap] Exception occured: java.util.concurrent.CancellationException at org.bukkit.craftbukkit.scheduler.CraftFuture.get(CraftFuture.java:68) at org.bukkit.craftbukkit.scheduler.CraftFuture.get(CraftFuture.java:42) at org.dynmap.bukkit.DynmapPlugin$BukkitServer.createMapChunkCache(DynmapPlugin.java:413) at org.dynmap.MapManager$FullWorldRenderState.processTile(MapManager.java:606) at org.dynmap.MapManager$FullWorldRenderState.run(MapManager.java:568) at org.dynmap.MapManager$DynmapScheduledThreadPoolExecutor$1.run(MapManager.java:180) at org.dynmap.MapManager$DynmapScheduledThreadPoolExecutor$2.run(MapManager.java:196) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
-
View User Profile
-
Send Message
Posted Sep 6, 2012I Keep getting this error! please help!!!!!!!!!!!!!!!!
13:37:01 [SEVERE] [dynmap] Exception during render job: world=world_the_end, map
null
13:37:01 [SEVERE] java.lang.NullPointerException 13:37:01 [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<ini t>(TexturePackHDShader.java:94) 13:37:01 [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<ini t>(TexturePackHDShader.java:69) 13:37:01 [SEVERE] at org.dynmap.hdmap.TexturePackHDShader.getStateInstance (TexturePackHDShader.java:231) 13:37:01 [SEVERE] at org.dynmap.hdmap.HDMapManager.getShaderStateForTile(H DMapManager.java:125) 13:37:01 [SEVERE] [dynmap] Exception during render job: world=world_the_end, map
null
13:37:01 [SEVERE] at org.dynmap.hdmap.IsoHDPerspective.render(IsoHDPerspec tive.java:1368) 13:37:01 [SEVERE] at org.dynmap.hdmap.HDMapTile.render(HDMapTile.java:96) 13:37:01 [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.processTil e(MapManager.java:622) 13:37:01 [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.run(MapMan ager.java:568) 13:37:01 [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecut or$1.run(MapManager.java:180) 13:37:01 [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecut or$2.run(MapManager.java:196) 13:37:01 [SEVERE] at java.util.concurrent.Executors$RunnableAdapter.call(U nknown Source) 13:37:01 [SEVERE] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.FutureTask.run(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.ScheduledThreadPoolExecutor$Sche duledFutureTask.access$201(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.ScheduledThreadPoolExecutor$Sche duledFutureTask.run(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unk nown Source) 13:37:01 [SEVERE] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Un known Source) 13:37:01 [SEVERE] at java.lang.Thread.run(Unknown Source) 13:37:01 [SEVERE] java.lang.NullPointerException 13:37:01 [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<ini t>(TexturePackHDShader.java:94) 13:37:01 [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<ini t>(TexturePackHDShader.java:69) 13:37:01 [SEVERE] at org.dynmap.hdmap.TexturePackHDShader.getStateInstance (TexturePackHDShader.java:231) 13:37:01 [SEVERE] at org.dynmap.hdmap.HDMapManager.getShaderStateForTile(H DMapManager.java:125) 13:37:01 [SEVERE] at org.dynmap.hdmap.IsoHDPerspective.render(IsoHDPerspec tive.java:1368) 13:37:01 [SEVERE] at org.dynmap.hdmap.HDMapTile.render(HDMapTile.java:96) 13:37:01 [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.processTil e(MapManager.java:622) 13:37:01 [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.run(MapMan ager.java:568) 13:37:01 [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecut or$1.run(MapManager.java:180) 13:37:01 [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecut or$2.run(MapManager.java:196) 13:37:01 [SEVERE] at java.util.concurrent.Executors$RunnableAdapter.call(U nknown Source) 13:37:01 [SEVERE] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.FutureTask.run(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.ScheduledThreadPoolExecutor$Sche duledFutureTask.access$201(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.ScheduledThreadPoolExecutor$Sche duledFutureTask.run(Unknown Source) 13:37:01 [SEVERE] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unk nown Source) 13:37:01 [SEVERE] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Un known Source) 13:37:01 [SEVERE] at java.lang.Thread.run(Unknown Source)
-
View User Profile
-
Send Message
Posted Sep 6, 2012@Iaintee
I just tried, but i still got this in the console:
23:02:45 CONSOLE: [SEVERE] [dynmap] Exception during render job: world=world, map=org.dynmap.hdmap.HDMap@43c87d08 23:02:45 CONSOLE: [SEVERE] java.lang.NullPointerException 23:02:45 CONSOLE: [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<init>(TexturePackHDShader.java:94) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<init>(TexturePackHDShader.java:69) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.hdmap.TexturePackHDShader.getStateInstance(TexturePackHDShader.java:231) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.hdmap.HDMapManager.getShaderStateForTile(HDMapManager.java:125) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.hdmap.IsoHDPerspective.render(IsoHDPerspective.java:1368) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.hdmap.HDMapTile.render(HDMapTile.java:96) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.processTile(MapManager.java:630) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.run(MapManager.java:568) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecutor$1.run(MapManager.java:180) 23:02:45 CONSOLE: [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecutor$2.run(MapManager.java:196) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.FutureTask.run(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 23:02:45 CONSOLE: [SEVERE] at java.lang.Thread.run(Unknown Source)
-
View User Profile
-
Send Message
Posted Sep 6, 2012I have been a user of Dynmap for some time now and recently upgraded to the latest version. Following un upgrade I am forced to replace all of the web files to the newest version, which requires a full re-render of all worlds.
When I start a Fullrender on our main world, I get the following error after a few tiles have rendered:
13:56:52 [SEVERE] [dynmap] Exception during render job: world=BoTC Land, map=org .dynmap.hdmap.HDMap@647e9c07 13:56:52 [SEVERE] java.lang.ArrayIndexOutOfBoundsException
Then the rendering stops. If I try to restart a fullrender it tells me that there is already one running. If I cancel that render then restart again, I get the same problem again. any ideas?
Also, what is the format to issue dynmap commands from the server console if the world name has two words in it? have tried several variations, but it just tells me that that world is not loaded/defined. I have to issued the commands in-world to have them work.
-
View User Profile
-
Send Message
Posted Sep 5, 2012@Jacob_Hamish
I think you need to specify a world.
-
View User Profile
-
Send Message
Posted Sep 5, 2012Hi, i have a hosted server and whenever i try to run /dynmap fullrender the plugin gives [SEVERE] warnings in the console, here is most of it:
07:54:23 CONSOLE: [SEVERE] [dynmap] Exception during render job: world=world, map=org.dynmap.hdmap.HDMap@735cf28e 07:54:23 CONSOLE: [SEVERE] java.lang.NullPointerException 07:54:23 CONSOLE: [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<init>(TexturePackHDShader.java:94) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.hdmap.TexturePackHDShader$ShaderState.<init>(TexturePackHDShader.java:69) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.hdmap.TexturePackHDShader.getStateInstance(TexturePackHDShader.java:231) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.hdmap.HDMapManager.getShaderStateForTile(HDMapManager.java:125) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.hdmap.IsoHDPerspective.render(IsoHDPerspective.java:1368) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.hdmap.HDMapTile.render(HDMapTile.java:96) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.processTile(MapManager.java:630) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.MapManager$FullWorldRenderState.run(MapManager.java:568) 07:54:23 CONSOLE: [SEVERE] at org.dynmap.MapManager$DynmapScheduledThreadPoolExecutor$2.run(MapManager.java:196) 07:54:23 CONSOLE: [SEVERE] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 07:54:23 CONSOLE: [SEVERE] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 07:54:23 CONSOLE: [SEVERE] at java.util.concurrent.FutureTask.run(Unknown Source)
-
View User Profile
-
Send Message
Posted Sep 4, 2012@anime5167
Same thing with me! Please help. :)
-
View User Profile
-
Send Message
Posted Sep 4, 2012on game chat in web can't see it
on web chat in game can see it
why?
-
View User Profile
-
Send Message
Posted Sep 4, 2012@shortansweet87
Do you see dynmap plugin started properly in server console?
-
View User Profile
-
Send Message
Posted Sep 4, 2012HI, trying to set this up so others can view the map over the web. I have an Apache 2 server installed and know the basics of getting it to work.
My problem is with configuring DynMap to work with it, as the guide listed in the original post (https://github.com/webbukkit/dynmap/wiki/Setting-up-without-the-Internal-Web-Server) doesn't look anything like my configuration files.
Here is what my config file looks like:
As you can see its somewhat more complicated then the 4-5 lines shown in the guide.
Can anyone tell me what I need to change in my above config, or link me to a better written guide?
-
View User Profile
-
Send Message
Posted Sep 4, 2012Hi, is it possible for you to make dynmap with multi-verse compatibility so I can see other worlds on a separate map? Thanks :)
-
View User Profile
-
Send Message
Posted Sep 4, 2012How do I reset the markers of offline players?
-
View User Profile
-
Send Message
Posted Sep 4, 2012I'm not sure what I may be doing wrong, but I installed craftbukkit, copied my server files (except for start.command and kept the new one) and unzipped the files into my plugins. I'm running the server on my spare Mac. It will not load dynmap at all in browser when I navigate to that address, not even the localhost address on the host machine. What am I doing wrong? Is it that my internet/server can't handle the extra stress?
-
View User Profile
-
Send Message
Posted Sep 3, 2012@Bradster
Try to update the other dynmap plugins : I updated Dynmap-essentials and now it works