Player IP API 1.2.10

A nice API that allows for VERY fast alt detection and Essentials-like /seen lookups

  1. 1.13 & JSON Fixes

    * 1.13-ready
    * Fixed issues with JSON parsing
    * Redis keys are now deleted if found to be invalid (clearing bad data)
    * Updated base libs
  2. SQLite and hanging thread fixes

    * Fixed remaining errors with SQLite
    * API will (hopefully) no longer hang randomly when fetching from SQL
    * Updated base libs
  3. Many performance improvements

    * Fixed major bug where using 1 SQL thread would lock the server
    * Redis now uses more reasonable defaults
    * Fixed a bug that prevented SQLite from loading properly
    * Improved performance by moving most checks and queries off the main thread
    * Moved main insertion code from PlayerJoinEvent to the much earlier and faster AsyncPlayerPreLoginEvent
    * Updated base libs
  4. Minor Updates & Slightly More Major Bug Fixes

    * Update base libs
    * Rabbit now handles sever disconnects better
    * Fixed a harmless console error on shutdown
    * Updated README to be a bit more informative
  5. Bunch of Minor Bug Fixes

    * Plugin now correctly assigns an ID to messaging if the server doesn't have a name
    * Fixed issue with some data not being loaded into Redis on startup
    * Fixed minor issue with deleting from the wrong (temporary) table if validation fails (sounds like a bigger issue than it is)
    * Fixed some possible memory leaks
    * Little code cleanup
    * Fixed issue where MySQL messaging would prematurely delete "old" data
    * Data is now properly added to SQLite (if used) when utilizing messaging sources like...
  6. Data Storage & API Overhaul

    * CHANGED THE API RETURN VALUES - Updated examples
    * Changed SQL and Redis structure. If you have issues, please clear out both
    * Player logins may be SLIGHTLY slower depending on SQL speed
    * UUID/IP combos now include timestamps of first and last seen. Returned data from the API reflects this
    * Changed a lot of the config structure so it's easier to use/read/modify
    * Caches are now more reliable
    * Decreased memory footprint dramatically on larger networks
    * Errors/Stack traces are no longer...
  7. Bug Fixes, Sanity Checks

    * Gave sqlLoadTime a more sane default in the config
    * Fixed connection leaks with Redis
    * (Hopefully) fixed stale caching for in-memory caches
    * API now returns a guava ImmutableSet (function return values are still Sets)
    * Fixed issue with in-memory caches not being invalidated at the correct time when Redis/Rabbit are used
    * Redis pool now uses a more sane max size
    * Moved Redis connection creation (from pool) to new utility class for readability and to avoid bugs
  8. Bug Fixes & Performance Improvements

    * Added more comments to config
    * Added "sqlLoadTime" (default value "10seconds") to config
    * Cleaned up reduandant code
    * Now using JedisPool for everything instead of a single Jedis instance
    * Added some more code comments so people can figure out what the hell is going on
    * MySQL (or SQLite), Redis, and internal server caches should now always remain in-sync
    * Player logins are now much faster if using Redis
    * Fixed an issue preventing new config values being loaded in properly when...
  9. New features & Minor annoyance fixes

    Some duplicated code in places, but it works. Might clean up later
    * Added RabbitMQ as an optional to config
    * Added Redis Pub/Sub as cross-network distribution
    * Added background fetching in cases of cached/no results
    * Redis now uses namespaces to clean up the main namespace
  10. Minor Bug Fixes

    * Updated default config to more sane values
    * Fixed an issue which may prevent some MySQL databases from properly filtering duplicate rows (if affected please delete tables)
    * Fixed an issue which prevented SQLite databases from being created