- jahangir13 (modified version) , mikeprimm (original version)
What it is:
A modification of the original Dynmap-Griefprevention plugin by mikeprimm with unique features I initially wrote for my server.
The plugin shows GriefPrevention claim information on the dynmap in different style/colors (admin,user, used,unused claims) based on the absence time of the players and shows relevant info on the claim popups.
Everything configurable via config file and reloadable. Have a look at the features below!
(Original plugin: http://dev.bukkit.org/bukkit-plugins/dynmap-griefprevention/)
The plugin is one reason that I've never needed to reset my first server map for over 3 years now. I just always cleanup what is not needed anymore. This is especially important for modded servers where e.g. endlessly running machines (which players just living nearby load and activate) kill your tps.
Important Note (2015.05.31):
v2.5 does not require the availability of Dynmap plugin anymore.
Some functions can be executed without (export of claims to csv file with all the information / teleporting to claims via command / claim statistics via command)
Important Note (2015.04.16):
Version 2.4+ AGAIN SUPPORTS BOTH uuid and name based servers.
Information about versions can be found at begin of the config file.
Both UUID and NAME based servers can use v2.4+
Important Note (2015.02.18):
From version 2.0 the plugin has been completely reworked with respect to performance and the decision has been taken not to support older server versions (no uuid support) and new server versions (uuid support) at the same time anymore.
The goal was to get a cleaner and more performant plugin which is easier to maintain.
For UUID-based servers (CraftBukkit/MineCraft >= 1.7.5 / Griefprevention >= 8.1) use version 2.0+
For Name-based servers (CraftBukkit/MineCraft < 1.7.5 / Griefprevention < 8.1) use version 1.0
I've successfully tested v2.5.1 with (I guess it's working with any versions):
GriefPrevention v10.5.7 / Dynmap v2.3-SNAPSHOT-1131 / git-Spigot-7d15d07-c194444 (MC: 1.9)
GriefPrevention v10.5.7 / Dynmap v2.1-SNAPSHOT-1091 / git-Spigot-8a983f9-e81edfc (MC: 1.8)
GriefPrevention v9.1 / Dynmap 2.0.0-61 / git-Cauldron-MCPC-Plus-1.7.10-1.1240.06.213 (MC: 1.7.10)
GriefPrevention 7.6.2 / Dynmap 1.6 / MC 1.4.7 (Tekkit Lite)
Open Spoiler to see some degug output about example times/numbers of 2 subsequent executions:
If you use the forge version of Dynmap you may need the Dynmap CB Bridge plugin suitable for your dynmap version for this plugin to work. Just drop it into your plugins folder.
- [ Dynmap - no hard requirement for v2.5+ anymore. Obviously, it's needed to show claims (what the plugin is about). However, without dynmap plugin limited functionality is possible (like the export of claim information to csv-file) ]
- [ Essentials - only v0.75. Not needed in 0.85+ anymore ]
Plugin can now be used without Dynmap plugin (with limited functionality...see Changelog v2.5)
- FIXED: 'method not found' error with Spigot 1.9 ( getOnlinePlayers() ) due to too old plugin metrics statistics class (https://www.spigotmc.org/threads/jdynmapgriefprevention.25033/page-5#post-1363927)
- FIXED: typo in infowindow in config (was: %cordx% --> is: %coordx%)
- FIXED: string 'updater.url.color = §b' in german language file
- FIXED: NullPointerException send by PirateCraft (https://www.spigotmc.org/threads/jdynmapgriefprevention.25033/page-4#post-1023829)
- FIXED: missing implementation to count claim statistics for name based servers (< MC version 1.7.5)
- FIXED: reload command possible several times in a row before 1st update task finishes
- CHANGED: reworked all schedulers
- CHANGED: code cleanups
- CHANGED: plugin metric graphs, values added/changed
- Dynmap plugin not needed anymore as hard requirement. However without it claims can not be shown (clear ) Will be automatically checked at plugin start. Dynmap relevant commands do not work (and will not be shown in command help) if switched off. So people not using Dynmap can use the plugin to e.g. export claims to CSV file (see below), to show claim statistics or to teleport to claims.
- NEW config option 'useDynmap' to switch off showing claims in Dynmap even if the Dynmap plugin is available. Can be changed and reloaded while server is running as everything else. Useful if people just sometimes want to show claims (due to too many claims and lagging map) but still want to use the other plugin features.
- NEW command '/jdgp tp <id>' to teleport to the middle of the claim of a given claim id. Claim borders will be highlighted after teleporting (2-3sec after tp).
- NEW command 'jdgp tp <x> <z>' to teleport to given coordinates. y coordinate is the highest available block at this location. If there is a claim at these coordinates the claim borders will be highlighted (2-3sec after tp). Change teleport command in configs infowindows if you want to use these teleport commands.
- NEW command 'jdgp export' to export all claim and statistics information to CSV files within the main plugin folder (export_claims.csv / export_stats.csv). Delimiter between values is '|'.
- ADD: coordinates of claims do now have their own variables to be replaced in the claims popup (%coordx%, %coordy%, %coordz% can now be used there).
- Small adaptions for plugin metrics values showing on Hidendra's mcstats page.
- AGAIN SUPPORTS BOTH uuid and name based servers. So older servers can also benefit from the newer features. (Information about versions at begin of the config.)
- NEW command '/jdgp claims' to show claims of the player (owned/trusted) and '/jdgp claims <name>' to show claims for another player
- Added a News Window which can be used to show whatever text. A circle marker shows the position (default yellow). Text is displayed in the popup.
- Added %owneruuid% variable which can be used in the infowindows / new config option getOwnerUuid (default: false)
- Added individual permissions for each command (admin/player)
- New config options for the Player Map (/jdgp claims command)
- New config options for the News Window
- Fixed: all files now in UTF-8 (language files were saved in local default windows Lokale before)
- Deleted syncTask debug code and config option again
Config file changed a bit: new option updateCheck and I've corrected some texts and tried to make explanations a bit more clear.
- UpdateChecker for new versions (+config option updateCheck to enable/disable - only sends a message to console)
- Localization - added language translation support (en/de example files included). That's not really needed as players do not see commands/console output...but I wanted to know how that works If anybody translates texts for whatever language, you can send the files to me and I will include these in future versions and add links below!
- Plugin Metrics graph for number of total builders, containers, accessors, managers
- Plugin Metrics graph for Locale used
- Added example infowindow code to config for showing player skin in the popup ( see screenshot below how this looks like)
- Some minor code optimizations
- Added command '/jdgp stats' to get some statistical information
- New config option: 'consolelog' to enable/disable logging when claim update task ends
- Added some custom data graphs for plugin metrics
- Some minor code improvements and cleanup
- Fixed: plugin not sending data to mcstats.org
- Fixed a typing error so claims where added to the wrong dynmap layer and regression tested
Some changes to the config file (additional options/ more comments) have been made. Make sure to use the one which comes with this version.
- Complete rework of the previous version. Only supports uuid-based servers anymore
- All features available from previous versions
- Async task to process all costly operations and only non-thread-safe operations executed in a Sync task (If there is any error like ConcurrentModificationException, please let me know, as I have no MC1.8 server with players to test this)
- Analysis and measurements carried out for all loop processing / data structure accesses to find the most suitable way
- New config options to switch off possibly unneeded functionality
- (2 new dev/test config options to get some measured debug output and to switch from async to sync tasks (if issues may occur)
- New command ‘/jdgp disable’ to disable plugin at runtime for whatever reason (and ‘/jdgp cancel’ to cancel this in the confirm step)
- Fixed: scheduling of an additional task when '/jdgp reload' has been used
Changelog and Features for all previous versions on the ‘Updates’ tab.
- Shows user claims (default red) and admin claims (default blue) on dynmap and shows claims where owners are absent/offline (default green)
- Works with and without Dynmap plugin, for name and uuid based servers. (Without Dynmap, claims cannot be shown.)
- Calculates claim owner absence time and based on a limit (defined in config) shows claim as expired (default green).
- If builders (trusted players) are still active and absence time of these is < limit, show border in different color (default black) - means: claim still used, even if owner is absent.
- Builders absence time only calculated if owner passes the absence limit - for performance reasons.
- Show used and unused (completely green) claims on 2 different dynmap layers (showing number of claims in brackets).
- Shows claim id, width, height, size, and coordinates (with /tppos command to this claim) on the popup.
- Players can view a Dynmap layer with all claims they own or they are trusted on via command (Admins also for other players)
- Possible to ‘trust’ words in brackets, e.g. [xyz] so (if switched on) claims do not expire completely.
- Claims where ‘all’ or ‘public’ is container-trusted shows up in different fill color (default purple). e.g. so others know they are allowed to do something there.
- Export of all the claims information and statistics to CSV file via command.
- 2 Teleport commands available to teleport to the claim id or to coordinates
- All texts can be localized/translated and color-changed.
- Optimized for performance, even with a high number of claims (usage of custom plugin-metrics graphs to see where more optimization may make sense)
- Everything configurable and well-documented and ALL config / messages changes can be reloaded immediately via /reload command at runtime.
Screenshots of plugin in Action:
Have a look how it works on Youtube (v0.75 – initial version):
- Extract the zip file. Copy the plugins .jar file into your servers plugins folder
- Start the server. A config file will be created in JDynmapGriefprevention folder inside the plugins folder
- OR: Copy the example 'JDynmapGriefPrevention' directory with example config file into your servers plugin directory
- After editing the config options to your needs, start the server and claims should show up on your dynmap
- Config changes can also be reloaded via '/jdgp reload' command at runtime
The following variables can be used in both html-infowindows in the config file:
- %owneruuid% - UUID of the claim owner (does not work for admin claims or in name based servers)
- %owner% - Name of the claim owner
- %ownerdays% - Days owner is absent
- %cwidth% - Width of the claim
- %cheight% - Height of the claim
- %csize% - Size of the claim (width*height)
- %claimid% - ID of the claim
- %coords% - Coordinates of one claim corner
- %coordx% - x coordinate
- %coordy% - y coordinate
- %coordz% - z coordinate
- %managers% - Comma separated list of claim sub-owners
- %builders% - Comma separated list of people trusted on the claim
- %containers% - Comma separated list of people having container trust
- %accessors% - Comma separated list of people having access trust
The following commands can be used both ingame and in console (except tp):
- /jdgp - shows version information and help screen
- /jdgp reload - reloads config file changes and performs claim updates immediately (The scheduled update task is cancelled and the next one will execute in 'period' seconds as defined in the config).
- /jdgp claims - shows player claims (owned/trusted)
add <name> to show for other player (admin permission)
- /jdgp tp <id> - teleport to claim with id <id>
- <x> <z> - to teleport to coordinates (to be used instead of <id> above)
- /jdgp disable - disables plugin at runtime (needs to be entered twice to confirm)
- /jdgp cancel - cancels disable command in confirmation step
- /jdgp stats - output statistical info about claims (Explanation in spoiler)
- /jdgp export - export claim info and statistics into .csv file within the plugin directoryInfos on how to read the statistics screen:
- Claims / Owners: total number of claims (and number of owners to be read)
- Bui: total number of build trusted players (/trust)
- Con: total number of container trusted players (/ct)
- Acc: total number of access trusted players (/at)
- Man: total number of permission trusted players (/pt)
- Parent claims: number of main claims
- Subdiv claims: number of subdivision claims
- Used: total number of used claims
- A: number of administrator claims (default blue)
- N: number of user claims where owner is still active (default red)
- B: number of user claims where owner is absent but builders still active (default black-green)
- Unused: number of user claims where owner and all builders are not active since > limit days
jdynmapgriefprevention.admin contains all permissions (admin and player)
jdynmapgriefprevention.player contains only player permissions
- jdynmapgriefprevention.admin.reload (/jdgp reload)
- jdynmapgriefprevention.admin.disable (/jdgp disable)
- jdynmapgriefprevention.admin.cancel (/jdgp cancel)
- jdynmapgriefprevention.admin.claims (/jdgp claims <name>)
- jdynmapgriefprevention.admin.teleport (/jdgp tp ...)
- jdynmapgriefprevention.admin.export (/jdgp export)
Command help line (via /jdgp) only shown if player has permission for that command.
- jdynmapgriefprevention.player.claims (/jdgp claims)
- jdynmapgriefprevention.player.stats (/jdgp stats)
Localized Language Files (v2.3+):
Languages en/de already in the plugin and copied to disk after first start. For other languages just download a file, copy into the 'lang' folder within the plugins folder and change Locale setting in config.
- Russian.: http://pastebin.com/4YPmgrkx (--> Download to Messages_ru.properties) (thanks to DmitryRendov)
- English.: http://pastebin.com/ieAifriE (--> Download to Messages_en.properties)
- German..: http://pastebin.com/DJKcwfSp (--> Download to Messages_de.properties)
- Japanese: http://pastebin.com/U4Sgh0rt (--> Download to Messages_jp.properties) (thanks to LEE3KFC !)
- Polish..: http://pastebin.com/CVPr19Uh (--> Download to Messages_pl.properties) (thanks to Captancorc !)
After saving to the disk, make sure that there is no '.txt' or something as file extension available. Filename for whatever reason is saved with a non-capital 'm'...but that should not matter.
Files are in pure UTF-8 format. On Windows (as standard CMD Codepage is 850) texts might not show up correctly in console. You might need to change the Codepage for your country explicitly in e.g. your start server batch script via 'chcp' command (Change Codepage) before the line starting the server.
The game itself shows the characters correctly (even if no specific language pack is installed in the system).
For me (German): 'chcp 65000' works which is an UTF-7 Codepage. 65001 is an UTF-8 Codepage. If these do not work search in e.g. Google for: 'windows codepage <your_country>' to get the right number which should then show characters for your country correctly. Or have a look at the following list:
In Linux I use an utf-8 language via locale command and have no issues.
Want to see it in Action?
http://dynmaptk.crafttekk.de (MC 1.4.7 Tekkit Lite - NAME based)
With a high number of claims you cannot smoothly move the map or scroll in/out in Firefox browser.
This does work much better in Internet Explorer.
In Firefox you can enter about:config in the address bar and change the value for browser.cache.use_new_backend from 0 to 1 which made this much more performant for me.
You can also uncheck the dynmap claim layers while moving the map around.
MCStats / PluginMetrics (by Hidendra):
This plugin utilizes PluginMetrics to gather anonymous, technical usage and statistical information about the servers who use this.
This is very helpful for plugin authors to decide which way to go in the future.
JDGP plugin metric page: http://mcstats.org/plugin/JDynmapGriefPrevention
Click the link to learn more to see what is collected (besides this I've added some custom graphs):
To disable plugin metrics use the config option or to disable for all plugins set opt-out to true in the PluginMetric config file in your plugins folder.
JDynmapGriefPrevention itself does not gather any information nor is it doing any downloads/uploads automatically except PluginMetrics mentioned above.
Let me know what you think, or maybe you have some other meaningful idea(s) or feature / command requests. I am always happy for getting any meaningful feedback!
Or if you have any question(s), feel free to ask!
If you like the plugin and if you agree that it takes a lot of free time to release and maintain it, you can support my work with a PayPal Donation via the following link:
Other Stuff by Me:
JWebConsole: Colored WebConsole for Minecraft (PHP) - nice, easy, useful
If you use/like the plugin, please vote for it by clicking on the 'stars' in the information or version panel on the right and leaving a short review message! Should take less than a minute.
GriefPrevention Addon with Dynmap Support (if available)