ServerMinimap
This plugin is not in active development anymore. I might update it for a new Minecraft version from time to time, but don't expect feature updates. The source code is available on GitHub, though. ;)
ServerMinimap
This plugin allows you to provide a minimap to your users, without any client mod by using the vanilla maps.
You can configure the scale, updatetime and colors at which blocks are rendered. There is also a option to show other players on the minimap.
It also features a simple waypoint system and custom events to display own cursors on the map. (E.g. for more advanced waypoint systems)
The plugin is based on a idea from toxictroop and the team at: http://www.crossfiregaming.net. Request Thread
This plugin will break with every Minecraft update. It currently supports 1.5.2 to 1.10
Beta Notice
This plugin is in beta state. If you find bugs, please report them.
Also, this plugin can use big amounts of CPU, Bandwidth and RAM, depending on your settings.
Usage
Installing is, as every Bukkit plugin, just downloading and moving into the plugins folder.
After the first run, the plugin should create a default config with default values.
When you start up the server, it'll tell you which mapID the plugin uses together with a command to obtain the map a OP.
Configuration
scale
Defines the scale of the map. 1 map pixel is scale*scale blocks. Biggers scales need more CPU to render the map in the first run, while using less RAM to cache the values.
runPerTicks
After how much ticks (1/20 sec) the plugin should calculate the current renderer queue. Higher values give the server more time to recover from lag, lower values allow the server to distribute the load more evenly. (I recommend lower values)
chunksPerRun
This value determins who much 16x16 pixelblocks (map chunks) and block changes are rendered per run. Higher values will speed up the rendering of new areas, while using more CPU resources in a shorter timespan (if there is enough to render). Every map chunk is only rendered once after a server start. Make sure this value is not too low, otherwise the renderer may be slower than the queue is filled.
fastTicks
This value allows you to set the time in ticks (1/20 sec) after which users with the permission "minimap.fastupdate" get a complete update of the map. The additional bandwidth usage of every complete send is about 16KiB per Update, per player.
canSeeOthers
When activated, every player can see other player's on their minimap. This may be changed when plugins modify the MinimapPlayerCursorEvent.
mapID
This is the id of the map, the plugin uses. It will be shown every server startup in log. It is no recommended to change this id unless you know that a map with the new id already exists.
showDistantWaypoints
Sets whether waypoints, that are out of range, shall be displayed on the cornor of the map.
mysql
Under this section you need to put all needed information to connect to your MySQL server and if you want to use it. The host, port, username, password and the target database are needed.
worlds
This section allows you to set several things per world. It follows the format: <worldname>: <key>: <value>
possible keys are: enabled
Allows you to disable the map renderer in certain worlds. The renderer is enabled by default.
scale
Same as above but overrides the default value.
drawHeight
Allows you to set the upper border of the rendering algorythm. (Default the worlds max height - 255)
Use this for things like cave mapping. (e.g. Nether)
Default Configuration
scale: 1 chunksPerRun: 4 runPerTicks: 5 fastTicks: 20 canSeeOthers: true showDistantWaypoints: false mysql: enabled: false host: localhost port: 3306 user: user pass: password database: database worlds: world_nether: enabled: true drawHeight: 75 scale: 2
Commands
Permissions for the commands can be found below
/minimap - gives you the minimap item
/waypoint help [command] - gives you information about this command
/waypoint add [x] [z] - adds a waypoint either on your current location, or to the specified x and z coordinates.
/waypoint list - lists all your waypoints together with their index
/waypoint remove <index> - removes the waypoint with the index <index>. Note: indcies change, when removing waypoints.
/waypoint hide <index> [true|false] - either toggles visibility of a waypoint, or sets it to the given boolean.
Permissions
minimap.fastupdate
Makes a full update of the player's minimap every defined amount of ticks. Uses big amounts of Bandwidth. Player's without this node may need to stand still for about 5 seconds to have a clear map.
minimap.command.minimap
Allows you to use the /minimap command.
minimap.command.waypoint.help
Allows you to use the /waypoint help command
minimap.command.waypoint.list
Allows you to use the /waypoint list command
minimap.command.waypoint.add
Allows you to use the /waypoint add command
minimap.command.waypoint.remove
Allows you to use the /waypoint remove command
minimap.command.waypoint.hide
Allows you to use the /waypoint hidecommand
Metrics
This plugin utilises Hidendra's plugin metrics system. You can opt-out under <yourPluginFolder>/PluginMetrics/config.yml
The following informations will be collected:
- 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 implementation and game version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
- Your online-mode
- Your server location
- Your config values for scale, runPerTicks, fastTicks, and chunksPerRun
@SydMontague
I get the map but it doesn't update?
@jackassniper123
When you start the server there shoud be a log message, that tells you the vanilla /give command syntax for the map.
how do you get the map?
@CommodoreAlpha
Thanks for the feedback - I'll look into updating the description.
Yes, you can force to plugin to use a specific map. In your config.yml is a key "mapID". When you change this while the server is offline, it'll use the ID given there. However, you need to make sure that a map with this ID actually exists, otherwise the plugin will create a new map.
To display different images to different players you need a contextual MapRenderer. It's part of the BukkitAPI, so it was quite easy. Everytime the Server wants to render a Map with my renderer, it gives me the player who is looking at the map, so that I can easily center the map around it.
If you understand my code, you can also take a look into the source code - it's hosted on github.
@Dad_Yoshi
Great idea - Should be the next feature I add. Thanks. :)
You should make it much more explicit what a "minimap" is, as I wasn't sure what this plugin even did until I read the first few comments.
I know "minimap mods" are generally understood as mods that add "minimaps" which center on your position, but this isn't a mod, so that assumption doesn't stand. When I read "minimap" I was thinking of literally, a mini-sized map.
Also, can you "force" the plugin to replace one of the map's damage value with the minimap? For example, say "map_0" was the minimap - could I force the plugin to use "map_10" instead?
And I do have one question. I'm not too savvy on how maps work, but how do you get the map with the same damage value to display different "images" to each player? I thought the moment one copy of the map is updated, all the other maps with the same damage value are updated.
Waypoints for users (stored in MySQL) would be awesome!
Nice update! thanks.
@Professor_Botje
I just updated my testserver to 1.7.2 and the minimap plugin still shows me the map. Did it work in 1.6.4 before? What does the map show you?
On 1.7.2 dev i can't get it on my screen.
I placed it in the server rebooted it config gets created looks fine as your example. But its not shown on the client. Or do i need something more to do ?
Can you add water? I using my colors, but here cant set water. :/ Can add water?
EDIT: Ok i have now water, but cant add lava :/ Any help?
@toxictroop
The colors are written in the config file - so you can change them to whatever you like.
If there is any default color that should be changed, tell me which exactly please. :)
Anychance you could update the colors? ^_^
@MisterMystery
It only works with map_0, as the map needs to exist in order to be modified by a plugin.
The map itself will be the map. There is a screenshot as plugin picture where I currently hold the minimap. As it's a screenshot you can't see it, but the map will follow your movements to always center on your position, unlike vanilla maps where the center is persistant.
Does it work with any map, or just map_0?
Also, can you post screenshots of where the map will appear? I'm not sure if this is a HUD of the map, or if this plugin is just changing the colors of the default map to also show players.