PlayerLog 2015-01-20

Local replacement API for Bukkit.getOfflinePlayer(String name); Will not ping mojang.

  1. Recolance
    This plugin is an SQL based API replacement to retrieve UUID from player names inside of a local database.

    What it does:
    This plugin will update the database whenever a user logs online with their username and UUID paired (also stores their ip address if you'd like). You can then use this paired information to retrieve a UUID from a last known username. This plugin also has a method for populating the database with current users as well before the plugin was installed.

    Methods:
    PlayerLogAPI.nameToUUID(String name);
    -This method will return null UUID if no UUID was found in the database, this method will never ping mojang unless somehow duplicate usernames ended up in the database, in this case it will ping to fix this. Although that would be a very rare to occur.

    PlayerLogAPI.populateOfflinePlayers();
    -This method will populate the database with already known UUID/ name pairs from your server's local files. Ip will not be included, and also will overwrite current users pre-calling this method.

    Why use this?
    This utility will specifically only search within your server's / hub's local database and never attempt to retrieve a UUID from mojang unless there are duplicate names in the database (which is very very very rare to occur). If it does not find a UUID for a player name it will return null rather than pinging mojang or returning a fake player.

    Personally I use this to handle efficient offline transfers in one of my economy systems. I am sure there are many more uses of handling offline player stuff, although that is up to you.

    Feel free to use this for whatever you'd like. And a reminder, mojang pings are main thread stalling, from personal tests they take on average 800 ms to return the UUID. Which if a user spammed this they could figure out how to entirely stall your server, pings to your local SQL database take just a few nano seconds.

Recent Updates

  1. Async Saving
  2. Added Efficiency
  3. Name Cache