Commit Graph

295 Commits

Author SHA1 Message Date
Tux 5a6d2b15bb Merge branch 'master' into data-caching 2014-08-10 06:49:33 -04:00
Tux c75be36531 Remove spirous call. 2014-08-10 06:49:20 -04:00
Tux 297d4a8a7f Use an unbounded cache via ConcurrentHashMap. 2014-08-10 06:34:05 -04:00
Tux e15b4d23f3 Added missing null check. 2014-08-10 06:27:50 -04:00
Tux 6df0a481e7 Better server caching. 2014-08-09 23:57:57 -04:00
Tux d3b2f3f10b Removed debug message. 2014-08-09 23:18:23 -04:00
Tux b37566b47f BLEEDING: New data caching mechanism for RedisBungee, which will enable greater performance as soon as it has been fleshed out. 2014-08-09 23:16:47 -04:00
Tux befd4d0d26 Store user's proxy in their hash and rename the server: keys to proxy: to make their purpose more clear. 2014-08-09 15:32:12 -04:00
Tux 62cdf7af1b Indentation. 2014-08-09 15:26:52 -04:00
Tux ee778953e8 Don't use Date, instead use Calendar. I still want to sneak in LocalDate somehow... 2014-07-30 18:03:07 -04:00
Tux 13b62f7269 Do not cache username<->UUID mappings indefinitely.
Instead, we will cache them for three days, and we will recalculate them from fresh values taken while they were online or we ask Mojang for the information.
2014-07-30 13:46:39 -04:00
mc-core.com a8a75723fb Added an api method to send messages to a custom PubSub channel. This makes the register channel feature a lot more useful. 2014-07-25 19:00:53 -04:00
Tux 7a710c1ae0 Port RedisBungee to threadGroup branch of BungeeCord 2014-07-09 22:54:12 -04:00
Tux 1769463df1 Make the command sender public again 2014-07-02 19:30:28 -04:00
md_5 f9180dfb8d Make use of Bungee scheduler for threaded operations. 2014-07-02 16:38:04 +10:00
Tux 718b020bf2 Better checking 2014-06-26 03:34:16 -04:00
Tux 32219a3fff Need to bump this too 2014-06-24 00:44:33 -04:00
Tux 688246b8fe Tweaks, more pipelining. 2014-06-17 15:47:52 -04:00
Tux 511202044c Preserve the old sample 2014-06-13 23:36:20 -04:00
Tux 460414b3e6 Use Redis pipelining for more efficiency on high-load setups. Also updated Jedis dependency. 2014-06-11 07:24:09 -04:00
Tux c6a6a9d9d0 Fix a typo. 2014-06-06 17:38:41 -04:00
Tux eca670c43d Notify if a server is behind every 30 seconds. This is a /very/ common issue. 2014-06-06 17:38:03 -04:00
Tux 16ca96562f Remove the player-list-in-ping feature.
This feature is something that would ideally be separate from RedisBungee. With the removal of this feature, this is something I will be creating and unveiling when 0.3.2 is released.
2014-06-05 00:19:25 -04:00
Tux 484d0bc46b Fix inconsistency here 2014-06-04 13:15:25 -04:00
Tux 14c2f95a94 Allow default RedisBungee commands to not be registered 2014-06-04 12:59:21 -04:00
Tux 527f76ac6b Ran inspections on code. Fixed compile errors. 2014-05-30 23:57:42 -04:00
Tux 8bf80450ca Forgot to get the writeLock() 2014-05-30 23:29:51 -04:00
Tux a908e313d4 Enhance the UUIDTranslator and add an option to increase performance. 2014-05-30 23:22:31 -04:00
Tux 92971fce96 Properly scope exceptions 2014-05-28 18:29:44 -04:00
Tux bb71dd674f Correctly mark the UUID/name methods as NonNull 2014-05-28 02:06:17 -04:00
Tux dea8073b11 Fix multiple players online on one proxy. 2014-05-25 18:16:14 -04:00
Tux dd4a33d9d4 Fix canonical-glist: false usage of /glist 2014-05-24 23:16:23 -04:00
Tux 0136699b40 Support Mojangian UUIDs 2014-05-23 10:53:38 -04:00
Tux 730b77f227 Allow UUIDs to be used in commands 2014-05-23 10:50:05 -04:00
Tux 25e93d06ee Bump version to 0.3.2 for next development cycle 2014-05-23 00:31:16 -04:00
Tux ca81f2f61b Actually send messages. Too obvious of an oversight. 2014-05-23 00:22:13 -04:00
Tux 61b83e5889 Clean up code, automatic crash detection, fix some bugs 2014-05-22 23:37:26 -04:00
Tux 638643dab7 Fix typo 2014-05-22 23:20:53 -04:00
Tux 9cf7fdb3c4 Add omitted returnBrokenResource 2014-05-22 17:49:00 -04:00
Tux 07e2621ab2 Just to be sure, initialize the API first thing. 2014-05-20 20:32:43 -04:00
Tux 1d99367956 Revert vemacs for the 3rd time.
@vemacs, do not change this, or I will not only revoke your access to the repo, I will also skin you alive. Using "API" methods in this context is just fine and just because it doesn't suit your fancy doesn't mean you can just change it. I am the BDFL, obey me.
2014-05-20 20:30:31 -04:00
vemacs 2cdc844b75 Some code consistency 2014-05-20 17:00:15 -06:00
Tux f9fbbb388a move serverId to its own field, prepare for next release (0.3.1-SNAPSHOT) 2014-05-20 16:55:50 -06:00
Tux 235b42021b Add in some more API documentation along with a slight optimization for a common use case 2014-05-16 20:41:59 -04:00
Tux ace0979201 Lowercase name -> UUID association 2014-04-26 22:28:17 -04:00
Tux e316e84c2b Fix error when no other servers were present 2014-04-26 20:09:53 -04:00
Tux 0a2b43e7dc Make UUIDResolver properly deal with usernames 2014-04-26 19:43:40 -04:00
Tux d84f42952c Optimize getPlayers() 2014-04-26 19:43:09 -04:00
Tux c5d35a2a1c Better persistence of translated data 2014-04-23 18:05:42 -04:00
Tux 4aeb762c17 Fix UUIDTranslator bug, add UUID null checking, make plugin messaging asynchronous 2014-04-20 10:50:45 -04:00
Tux c82adc61b0 Delete playerCounts hash entry beforehand 2014-04-20 10:16:42 -04:00
Tux 86d9b40a78 Fix a JDK8 build error 2014-04-20 01:13:22 -04:00
Tux 1362739b27 RedisBungee 0.3 base code. A lot has changed. There is more to come. 2014-04-20 01:12:28 -04:00
Tux d3a6170e78 Refactoring 2014-04-19 16:08:49 -04:00
Tux 1ab1d6fd91 Revert to 0.2.6 for now. 2014-04-19 15:55:14 -04:00
Tux cce0368f4c Cache server-ids 2014-04-19 15:54:30 -04:00
Tux 72eb4c6a67 Add primitive heartbeat system 2014-04-19 15:52:15 -04:00
Tux 2ddd35c438 Bumping version to 0.3, a major breaking update in the works. 2014-04-15 22:14:00 -04:00
Tux 03bb9eb679 Remove it as well 2014-04-03 23:32:10 -04:00
Tux c6ca9d1c78 Actually add server to server set. 2014-04-03 23:27:58 -04:00
Tux 98b2c4733a Fix compile error 2014-04-03 23:24:27 -04:00
Tux df5f5ef2c9 Lay linked-servers into the morgue. 2014-04-03 23:03:27 -04:00
Tux e1c5533b9d Fix softdepends 2014-04-02 01:16:54 -04:00
Tux 673223a31f Add softdepends support, so we can override cmd_find/cmd_list automagically. 2014-04-01 11:44:49 -04:00
Tux db0ea751e9 Do not poison the pubsub handler, in order to prevent shutdown hangs. 2014-03-31 23:02:26 -04:00
Tux d65a316427 Revert unintentional change to UUID-based storage. This will be handled soon. 2014-03-31 11:21:48 -04:00
Tux 611ee89fb4 Add new PubSub handling along with associated API methods. 2014-03-31 11:19:33 -04:00
Tux 6924673c16 Improve concurrency of PubSub handler 2014-03-31 10:23:10 -04:00
Tux 8b1ea2f7df Major changes.
* Some events are now handled asynchronously.
 * There is now support for a connection limit.
 * Fixed build under JDK8.
 * Player count is now cached again. Hopefully this means an increase in performance.
2014-03-30 00:31:35 -04:00
Tux 4edfabfe98 Detect "imposter" Bungees (two Bungees with the same server-id). 2014-03-02 14:28:18 -05:00
Tux 49ea863da2 It seems this fixes timeout issues 2014-02-21 18:49:26 -05:00
Tux 27b8b09bf3 Deal with connection failures more gracefully. 2014-02-21 17:02:02 -05:00
Tux 9381701bf6 bumping version to 0.2.6 2014-02-15 02:10:49 -05:00
Tux 9425358631 Fix up Javadoc 2014-02-12 01:26:56 -05:00
Tux cb7963dbc5 Modify POM, support new BungeeCord builds. 2014-02-11 17:42:52 -05:00
Tux 2f40480a50 javadocs 2014-01-28 17:33:53 -05:00
Tux 5a28cd9ede More robust error checking. 2014-01-25 19:06:33 -05:00
Tux b604434091 Add aliases. Meant to be temporary until I can find a good workaround the cmd-list module in newer Bungee builds. 2014-01-24 15:40:45 -05:00
Tux 522a046192 Fix build and use getProxy() 2014-01-22 15:32:49 -05:00
Alphart b18906ff9d Register channel for plugin message system
The plugin message system can't work if the listened channel isn't registered.
2014-01-22 17:24:45 +01:00
Tux 93744f937e oh god vemacs 2014-01-20 18:42:56 -05:00
vemacs af88046eb3 Check the remote player set 2014-01-20 08:34:40 -07:00
vemacs cfd1c20ad7 DAE read Effective Java 2014-01-20 08:16:30 -07:00
Tux d6afec5f47 Add server-id fetch and /serverid command 2014-01-16 21:31:57 -05:00
Tux b470b7a3df gosh 2014-01-16 21:28:25 -05:00
vemacs 085286fbec Merge branch 'master' of https://github.com/minecrafter/RedisBungee 2014-01-16 17:50:01 -07:00
vemacs acde2310c2 Add sendtoall command 2014-01-16 17:49:57 -07:00
Tux 300b826567 Add experimental plugin message API 2014-01-09 16:15:15 -05:00
Tux bcdbf9ba54 * Make the functions vemacs added to be only exposed in RedisBungeeAPI.
* Breaking API change: Last online times are now in milliseconds.
 * Error checking. Because why not?
2014-01-02 00:14:58 -05:00
vemacs efb707cd94 add sendProxyCommand methods 2014-01-01 17:05:55 -07:00
vemacs d6137e118e Bump version to 0.2.5 2013-12-28 14:20:27 -07:00
vemacs 62efee23aa Add getPlayersOnServer method 2013-12-27 13:40:58 -07:00
Tux 5fc82400a9 Analysis performed by IntelliJ IDEA prior to new release on SpigotMC.org 2013-12-24 00:15:06 -05:00
Tux f7a530025a Bumped version to 0.2.4 2013-12-23 23:47:40 -05:00
Tux f240742489 Minor refactor and fixes. 2013-12-23 23:42:56 -05:00
Tux fb3d67f43c Use bungeecord-config instead of snakeyaml 2013-12-23 23:12:54 -05:00
Tux e5bfb52c0a Clean player list the slow and safe way. 2013-12-18 12:10:32 -05:00
Tux 5b0c4c2219 config file tweak 2013-12-16 19:24:29 -05:00
Tux fd5120580d fix command formatting 2013-12-15 13:33:04 -05:00
Tux 17ba11a284 Readd the clone detection. 2013-12-15 12:07:42 -05:00
Tux adf61b7b8d fuck the clone detection, it doesn't work very well 2013-12-15 11:43:53 -05:00
Tux 1bf6d98d54 le sigh 2013-12-15 11:41:08 -05:00
Tux fa93d67e1b Change detection method for duplicate players online. 2013-12-15 11:30:08 -05:00
Tux 6e179f96cf Pre-construct 2 of the more common chat messages. 2013-12-14 09:34:42 -05:00
Tux ae696eccff Add support for the new BungeeCord chat component API. 2013-12-14 09:28:51 -05:00
Tux 83c18c212b Looks like /glist is now broken. Back to basics! 2013-12-14 00:31:57 -05:00
Tux cacea73f2e * Don't shade in commons-lang anymore, replaced with SimpleDateFormat instead.
* Add IP address logging support.
 * Add /ip command with permission node redisbungee.command.ip.
 * Mark some stuff as final so that the JVM can optimize things a little more.
2013-12-13 16:32:55 -05:00
Tux 14aba0ffb3 Simplify /glist showall code. 2013-12-12 15:29:29 -05:00
Tux 3925c3a313 * Tweak our CommandSender.
* In lieu of running the plugin and causing confusion, give them an RuntimeException.
2013-12-06 21:42:03 -05:00
Tux 7c35aad456 Fix Jedis connection failure detection. 2013-12-06 21:27:28 -05:00
Tux 080dab084a Better guard against failed redis connection attempts. Also reformat code. 2013-12-04 16:54:51 -05:00
Tux 8c824cc397 Add better AUTH support. 2013-12-03 16:01:27 -05:00
Tux 0beae77548 Don't half-ass the clone detection. 2013-12-03 15:39:36 -05:00
Tux 89d9981db8 DURR HURR 2013-12-02 22:03:39 -05:00
Tux 70c3f5fcdc Better support Redis on ports other than 6379. Also improve the anti-clone. 2013-12-02 22:02:55 -05:00
Tux 7ff324c6d8 TIL you can clone yourself 2013-11-26 19:43:40 -05:00
Tux 983d7567da Make the PubSub Listener its own thread 2013-11-26 14:51:52 -05:00
Tux d57c825c76 Fix permission. 2013-11-16 13:58:15 -05:00
Tux d82f375506 Enough commits for today! 2013-11-15 22:09:04 -05:00
Tux f2f84fcc13 bleh 2013-11-15 22:05:49 -05:00
Tux c393f4c553 make async pls, also add back the server list ping player structure back as an option 2013-11-15 21:56:59 -05:00
Tux 22a4d0332d Comment the configuration. 2013-11-15 18:15:20 -05:00
Tux e69d101c05 More refactoring performed. 2013-11-15 17:55:57 -05:00
Tux e56f14dc56 Log commands invoked by Redis. 2013-11-15 17:09:03 -05:00
Tux 3c251170ca Make the RedisBungeeCommandServer local-only 2013-11-15 17:07:28 -05:00
Tux 5364eadbcf Cleanup 2013-11-15 17:06:17 -05:00
Tux 516ed35fed Update Jedis version, some refactoring, add PubSub support :D 2013-11-15 17:05:29 -05:00
Tux 72429b004a Dero 2013-11-13 20:25:09 -05:00
Tux 7aa9d8a7c4 Cleaned up some code, added javadoc building, and I can into performance! Also added a /lastseen command. 2013-11-13 19:28:53 -05:00
Tux 345ceac4b7 Rewrite the initial join server logic as a while loop, do actual bump to 0.2.3 and add /find support. 2013-11-08 18:19:01 -05:00
Tux baec62873c We don't need to send the sample at all, so omit it instead. 2013-11-06 21:44:00 -05:00
Tux c4ee103700 Fix for newest BungeeCord builds (after 4040d9f). Also fixes some minor stuff. 2013-11-01 22:08:48 -04:00
Tux 4359b251b9 Fix count updates... 2013-10-31 19:07:37 -04:00
Tux 73af35aeee Remove the update count task. It's not useful anymore since 1.7 requires a player list and it is easier simply to use that.
/glist still uses the counts.
2013-10-29 19:10:16 -04:00
Tux bb97d35076 Fixes to SLP. 2013-10-28 23:10:14 -04:00
Tux 23944f7313 Initial support for BungeeCord 1.7 server list ping changes. 2013-10-28 22:42:26 -04:00
Tux bce3f0ffb7 1 second is too short for some server logins. 1.75 is more realistic. 2013-10-20 00:56:45 -04:00
Tux 6b5e25f18c Use try-with-resources, attempt space optimizations. 2013-10-19 18:25:38 -04:00
Tux 8da933a585 Handle shutdown more gracefully. 2013-10-18 17:14:58 -04:00
Tux 49c8b83e52 Get a fresh resource each time instead. 2013-10-18 17:11:24 -04:00
Tux dd4f49b199 Return Jedis resource to the pool. 2013-10-15 11:18:04 -04:00
Tux 92fc64b713 Add WTFPL header 2013-10-14 23:42:23 -04:00
Tux 59dedd64f2 0.2 code.
- clean up code
- introduce a separate update task and some caching for player counts
- add canonical /glist support
- better error checking
2013-10-14 20:40:32 -04:00
Tux 2545e4e1c5 Add Javadoc. 2013-10-13 15:44:20 -04:00
Tux d0f5a24f38 first commit 2013-09-29 16:16:47 -04:00