UUIDCompatibility
Enable support for plugins that haven't yet updated to use UUIDs
WARNING!
This plugin uses dangerous code which can potentially have negative side effects, remember to keep regular backups of the server in the case of this ever happening.
How is this any different from similar plugins?
Unlike similar plugins, UUIDCompatibility DOES NOT prevent players who have changed their name from joining the server.
Features
- Only plugins you specify will be fooled into thinking a players name is their original name
- Importing UUIDs/usernames from player dat files
- Importing UUIDs/usernames from Essentials
Requirements
- Java 7 or higher.
How does it work?
The plugin starts up and injects some code into a CraftBukkit class, this method allows us to see which plugin is attempting to get a players name, if you specified the plugin requesting the players name in the config, we will give the plugin the players original name, in all other cases plugins are given the players real name.
Example
Player #1 joins the server with the name "Notch", they then leave the server and change their name to "jeb_", when they rejoin the server, UUIDCompatibility tricks plugins you specify that "jeb_" is still called "Notch".
Commands
/uuidcompatibility reload - Reloads all yml files and refreshes player names to reflect any changes made. Requires the permission node "uuidcompatibility.reload" (defaults to OP)
Config
# ATTENTION # This plugin uses some dangerous code to change a players name # As this is not normal behaviour for the Minecraft/Bukkit server and installed plugins, unexpected results could occur # We ask that you keep regular backups in the case of this happening # The developer(s) of UUIDCompatibility take no responsibility for damage caused by this plugin # YOU HAVE BEEN WARNED # # enabled - Enables the plugin, by changing this value to true, you show that you have read the above warning # showOriginalNameIn - Locations in which players original names should be used # displayName - Show original name in display name # tabList - Show original name in tab list # plugins - A list of plugins which should be given UUID compatibility # notifyPlayers - When a player joins and their username differs from their original name, should they be notified? # debug - Show extra information about the plugin for debugging purposes enabled: false showOriginalNameIn: displayName: false tabList: false plugins: - GriefPrevention notifyPlayers: true debug: false
Development Builds
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Metrics
This plugin reports statistics to MCStats, UUIDCompatibility statistics found here.
As well as the default statistics that MCStats sends (complete list available here), UUIDCompatibility also sends the amount of player UUIDs stored in your nameMappings.yml file for use on a graph on the MCStats page.
These statistics are public, however all statistics are anonymous.
If you would like to disable this, you can do so by changing "opt-out" to true in the PluginMetrics config.
Donations
UUIDCompatibility is completely free, however it took hours of trial and error. If you would like to donate, their is a button at the top right. All donations are greatly appreciated.
@iKeirNez ... any chance you would know how to "inject" UUID to specified player on Join?
@MinecraftAdmin
I have no idea what the result of that would be, I'd imagine it wouldn't break it but I can't say for sure. Sorry the exclude feature is taking awhile, been really busy!
Does this break if used with Towny's
/townyadmin resident <oldname> rename <newname> command?
I would guess not since installing UUIDCompatability will make Towny solely pull UUID's from UUIDCompatability's UUID-Username database.
@MinecraftAdmin
I'll get onto that :)
@iKeirNez
Im using DeluxeChat, thats hooked into TownyChat, thats hooked into Towny.
This is the URL to Deluxechat. https://www.spigotmc.org/resources/deluxechat.1277/ Is it possible to add an "excluded" list in which we could put DeluxeChat or other plugins to exclude?
@MinecraftAdmin
What chat plugin are you using? Could be a possibility that the chat plugin is somehow getting the players name through Towny, causing the wrong name to be returned.
Works flawlessly. One question, is it possible to make it so only Towny sees the old name, and not other plugins (chat plugins, etc), because right now I have showOriginalNameIn.displayName and showOriginalNameIn.tabList to false and I still see my old name in chat.
@MinecraftAdmin
This should work with Towny, how does it not work with Towny?
Desperately waiting on Towny update!
@BlissMCserver
@Mcraftpete
@CoolComixs
@J0rd4n44
@J0rd4n44
Update on the horizon to fix issues with Towny and many other plugins :)
@CoolComixs
It is only people who have changed their name.
It appears to be all of the permissions defined in townyperms.yml as opposed to permissions itself. So mayors aren't getting their mayor privileges unless I specifically give them the node in pex, etc.
I'm interested to here how your permissions are configured around Towny.
@J0rd4n44
Hey @J0rd4n44
I am using PEX and have teh UUID plugin to convert Towny and TownyChat. Your old permisisons should be fine, is it only the people who changed tehir names or ist it everyone who cannot do any commands?
@CoolComixs @iKeirNez What permissions plugin do you use? I've been trying to get it to work with Towny but the players just get "Command disabled, using permissions". I use PEX, and I don't think it's compatible.
Hopefully someone can investigate and fix it.
Works great for towny! Thank you!
Useful plugin, thanks a lot :)
I have bungee with offline server too so wanted to know how this effects. Also what happens if at a later date the original plugin does allow uuid conversion , wont it try to only convert the original names and not their new name , ultimately another player could have their old name and it could get messy ? Also I have Towny , will this work as I see a previous player Bliss says it doesn't ?
Does this work with offline mode servers? i have bungee
@thu2468
Yeah, should be fixed soon. And yeah that should be fine.
@DuoDex
Yeah, we use some very nice hacky code to get between plugins and the Bukkit API to return the value we want to.
@BlissMCserver
Hmm, will try looking into this!
Does not seem to fully work with towny. If you're mayor or comayor of a town, you lose all powers in it even while still in the position
@thu2468
Probably, my understanding is this plugin sneaks into CraftBukkit and kicks out the names changed in the mapping to chosen plugins.