Commit Graph

266 Commits

Author SHA1 Message Date
Marquee d1bdfc9e2e Use Google Guava InetAddresses.forString() method to make sure we don't hit network. 2015-02-05 22:11:22 -05:00
vemacs a80c3b51e1 Add a test class 2015-02-04 08:02:30 -07:00
vemacs b684064c92 Get last element 2015-02-04 07:55:45 -07:00
Tux ba825c1880 Convert RedisBungee to okhttp. 2015-01-25 00:18:51 -05:00
Tux b375b5402d Fix some FindBugs issues. 2015-01-25 00:04:34 -05:00
Tux f201cdc4e8 Make NameFetcher less hazardous to ones health. 2015-01-25 00:02:30 -05:00
vemacs 20ef1ee284 Use new-new method with a better ratelimit 2015-01-09 07:45:45 -07:00
vemacs 6511e2154f Revert "Revert to old method as the new method has changed"
This reverts commit 16ce4eb696.
2015-01-09 07:44:03 -07:00
Tux 16ce4eb696 Revert to old method as the new method has changed 2015-01-07 20:28:28 -05:00
Tux 5c9664c344 Use proper exception handling in UUIDTranslator. 2014-12-29 11:40:34 -05:00
Tux 5a0509ac48 Allow RedisBungee to give the console an IOException instead of a unhelpful exception + NPE combo. 2014-12-27 18:30:26 -05:00
vemacs 5010670d95 Remove cache, actually fix NameFetcher 2014-12-27 16:26:21 -07:00
vemacs e13a8de1d7 Possibly fix namefetcher 2014-12-27 14:00:09 -07:00
Tux 62eacc5816 Expose previous server. Closes #11, #12 2014-12-07 16:15:39 -05:00
Tux 47fc9792b0 Set default maximum Redis connections to 8. 2014-11-26 17:30:25 -05:00
Tux e630116ff8 Better handling of improperly-fetched Jedis resources. 2014-11-26 17:26:51 -05:00
vemacs cb61d90d6c Unregister listener, revert getCount() changes 2014-11-26 10:00:05 -07:00
vemacs e483b9abeb There seems to be a bug in the BungeeCord scheduler, cancelling all tasks for a plugin doesn't cancel all tasks for a plugin. 2014-11-26 09:28:50 -07:00
vemacs 7df764c418 Don't spam exceptions when pinged after disable 2014-11-26 09:15:53 -07:00
Tux d438186682 Do not allow unsubscribing from RedisBungee internal channels and properly poison the PubSub handler this time. 2014-11-02 14:16:41 -05:00
Tux 8ac70e801f Use ImmutableCollection.asList() and document this fact. 2014-11-01 12:54:23 -04:00
Tux aa772ddf1b Reformat source code. 2014-09-21 13:56:46 -04:00
Tux e0ee2ada21 Migrate from the consumer model to ExecutorService. The consumer was not flexible and was less reliable. 2014-09-21 13:55:14 -04:00
Tux 0dda93bfc8 don't use redis SYNC command 2014-09-20 00:08:36 -04:00
Tux bafe894298 Removed pipelining and other fixes. 2014-09-11 16:38:40 -04:00
Tux 75939ef661 Detect inconsistency of players who are online but not registered in Redis. 2014-09-11 16:19:50 -04:00
Tux 9d392a32e5 Introduce new network events and add @ToString in PubSubMessageEvent for easier debugging. 2014-08-31 13:16:51 -04:00
Tux b38ff5d1b4 Add /pproxy command to request the proxy where a player is connected. 2014-08-20 21:31:02 -04:00
Tux 6fadd9e4c6 Fix priority of ProxyPingEvent. Closes #8 2014-08-18 15:35:29 -04:00
Tux 5102c39ee6 Removed player count caching and fixed typo (ported from the efficient-server-listing branch). 2014-08-18 15:33:51 -04:00
Tux ad67e1c60c Removed efficient per-server list fetching. It had too many issues. It will be readded when it can be fixed. 2014-08-14 20:21:56 -04:00
Tux f685661462 Enhanced server listing API (now more efficient) and fixed count issues. 2014-08-10 17:58:45 -04:00
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 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 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 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 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 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 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 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 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 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 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