UUIDWatcher
UUIDWatcher
Upcoming Minecraft V1.8 is widely reported to allow players system-level name changes,(not nicknames) and a lot of older plugins assume game names are unique and unchangeable. It could be possible for a player to take a name of someone who used to play on your server and take over their accounts, regions, roles, etc. This plugin makes sure that will not happen.
This plugin enables you to run old plugins with confidence knowing that if new players join with the same name as an older player, an automatic wipe will occur of the old player's data, balances, region protections etc.
How it works
This plugin registers all the players on your server and their Unique User Id's (UUID's). Whenever a player logs in, it checks if the player's UUID matches the UUID of the previous player with that name. If it doesn't a set of custom wipes occur.
Required Plugin
- Vault and an economy plugin of some kind
Installation and Configuration
- Download and install Vault and an Economy Plugin like Essentials if you haven't done so
- Download the plugin (UUIDWatcher.jar)
- Place into your plugins folder
- Restart your server (or reload plugins)
- The plugin will make a folder called UUIDWatcher. Open that folder.
- Check config.yml and edit the wipe sections how you like. See below for an example.
- Reload plugins or restart the server if you made changes
- You are done - look in the console for activites from this plugin
Configuration
To set up your wipe commands you edit the config.yml. Here is an example one:
# Config file for UUID Watcher wipe: # If true, will try to zero out player's balance via vault in all worlds vault: true # Custom balance zeroing via console command. [playername] is substituted # Any number of commands can be issued, list one command per line. Errors will be shown on the console. balance: - eco reset [playername] # Will remove this player from any world guard regions worldguard: false # Commands to remove permissions and group affiliations # [playername] and [oldUUID] will be substituted # In this example, PermissionsEx is being used to manage permissions. Change to match your system # Any number of commands can be issued, list one command per line. Errors will be shown on the console. perms: - pex user [playername] delete - pex user [playername] group set Newbie # Player name and UUID's are stored here by the plugin - do not edit this section! players:
Commands
- This plugin has no commands.
Permissions
- There are no permissions for this plugin.
To Do
- Implement WorldGuard region removal
- Implement and check other wipes
- Add a config section for new player actions - for example, teleport them to a special new player spawn
- Add permissions for players who will not be wiped, e.g., mods or ops
- Add ability for plugin to not wipe players when they change their name, but instead rewrite all the settings to their new name.
Source Code
Available here for your reading pleasure.
Mojang API URL connection
This plugin includes a library that can make a URL connection to the Mojang API of the purpose of looking up UUID's for player names and finding player names for UUIDs.
Stats Disclosure
This plugin utilizes a plugin metrics system, which means that the following information is collected and sent to mcstats.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
Visit mcstats.org if you would like to learn more about the stats collected. Go into /plugins/PluginMetrics/config.yml to disable stat collecting if you wish.
Comments