2
0
mirror of https://github.com/proxiodev/RedisBungee.git synced 2024-11-23 04:28:01 +00:00
Commit Graph

311 Commits

Author SHA1 Message Date
Tux
1c3c1f3ef2 Drastic bandwidth usage reduction. 2016-01-10 12:47:49 -05:00
Tux
3b2d157943 Remove async ping event, too many plugins break with it. 2015-12-30 02:15:39 -05:00
Tux
e13b990d6d getPlayersOnServer() check should be case-insensitive. 2015-12-25 06:21:25 -05:00
Tux
020341590f Make sure we don't spuriously empty caches. 2015-12-14 17:37:13 -05:00
Tux
7ee37ae4cb Don't create an entirely new ServerPing object. 2015-12-06 23:14:53 -05:00
Tux
1ee67a0587 SwiftMOTD isn't compatible with RedisBungee. 2015-12-06 23:12:48 -05:00
Tux
18117d5dc4 Use correct function 2015-12-06 16:39:03 -05:00
Tux
12ad0c792b One more attempt to fix player count. Now it's calculated with Lua. 2015-12-06 16:31:21 -05:00
Tux
565de9b4c0 Attempt to fix PubSub disconnection issues. 2015-12-06 12:12:55 -05:00
Tux
919c2f53c3 Don't cache player count anymore 2015-12-06 02:58:37 -05:00
Tux
150fbf5600 Fix player counts sometimes showing invalid numbers 2015-12-06 02:44:21 -05:00
Tux
8a83a525a8 Bump to 0.3.9-SNAPSHOT 2015-11-28 02:32:59 -05:00
Tux
97c78f4c35 Releasing 0.3.8. 2015-11-28 02:32:32 -05:00
Tux
57dc386a17 Re-enable JMX 2015-11-15 12:23:59 -05:00
Tux
51c769fd79 Slightly optimized cleanUpPlayer() 2015-11-15 12:21:28 -05:00
Tux
6ed8a0df93 fix order 2015-11-15 11:53:30 -05:00
Tux
b811a574fd Cache player count once again 2015-11-15 11:48:42 -05:00
Tux
e00d476233 Base heartbeats off Redis's TIME command.
People seem highly unwilling to actually synchronize their clocks for some reason, so I'll have to let them off the hook. Why am I doing this?
2015-11-15 11:01:54 -05:00
Tux
3102034e6b Force Redis >= 2.6 2015-11-09 14:31:36 -05:00
Tux
d691180011 Tweaks 2015-10-25 21:00:18 -04:00
Tux
0a0f73c152 bump to 0.3.8, fix a silly bug. 2015-10-21 15:55:09 -04:00
Tux
2e9f99faff 0.3.7 2015-10-18 19:52:52 -04:00
Tux
a2efb59186 Clean up lagged proxies. Fixes #23 2015-10-18 19:52:52 -04:00
Tux
87ab0e72fd Relicensing under the Eclipse Public License. 2015-10-18 19:52:46 -04:00
Tux
cd3f5f1b7e Better firing of network events when we need to resync. 2015-10-03 23:45:34 -04:00
Tux
4e09efe801 Resolve more synchronization issues.
Notably, getLastOnline() is more in sync, putting a probable end to #23!
2015-10-03 23:36:37 -04:00
Tux
e285b3f2aa Better resyncing of missing players on the proxy. 2015-09-27 11:49:03 -04:00
Tux
d1bfb9e162 If we find an async ping event-hostile plugin (currently only ServerListPlus), run the ping handling handler synchronously.
This is meant as a move to attempt to introduce a better mechanism for handling async events in a more sane way.
2015-08-25 20:12:55 -04:00
Tux
121040ad90 Introduce /rdebug command to expose some pool statistics. 2015-08-02 19:57:48 -04:00
Tux
431ff013e1 ServerConnectedEvent task doesn't really benefit from pipelining. Possible fix for #23? 2015-08-01 18:00:29 -04:00
Tux
f0164c3c8c Replace Collections2.transform with forced Collection iteration. 2015-07-01 21:06:13 -04:00
Tux
ef14547959 Work on 0.3.7-SNAPSHOT. 2015-06-29 09:56:03 -04:00
Tux
b95400e810 Fix logging in
Looks like player "online" entries need to have stricter validation. I'll probably implement this with Lua.
2015-06-28 07:08:39 -04:00
Tux
a986481b0d Never modify the response if using a forced host and ping_passthrough. 2015-06-25 12:09:21 -04:00
Tux
8f1aff3a11 Simplify getLocalPlayersAsUuidStrings() as it was too redundant. 2015-06-24 07:04:01 -04:00
Tux
21710fcd8e Perform some code tweaks and fix some spelling. 2015-06-24 06:06:34 -04:00
Tux
b5328c758b Use a better example server ID. 2015-06-24 05:58:10 -04:00
Tux
682d180505 Fix the licensing. 2015-06-24 05:54:43 -04:00
Tux
2c22bc4439 Simplify PubSub code. 2015-06-24 05:54:19 -04:00
Tux
32f0dffd85 Reformatting and corrected several comments and messages. 2015-06-24 05:51:40 -04:00
Tux
95a2a33781 Added basic expiry to cache and tests. 2015-06-23 23:17:50 -04:00
Tux
982644d31c Add /plist command and plural player count. 2015-06-22 06:06:02 -04:00
Tux
8c05655330 Always kick the new player in online mode.
Allowing the new player on is more seamless, but does not synchronize well, so I've forced a kick instead, which is a cleaner solution at the expense of minor inconvenience.
2015-06-22 04:54:15 -04:00
Tux
ff602bc5e6 Player/internal tweaks:
- Switch to BungeeCord task scheduler, since it's fixed.
- Moved player checks and such to LoginEvent. The login network event is still published from PostLoginEvent.
- Fix a typo. Whee.
2015-06-22 04:35:45 -04:00
Tux
2cbe1997a0 Change thread pool from fixed size of 16 threads to a cached one.
RedisBungee's operations aren't particularly long-lived so this makes more sense. Eventually, this will simply wrap around the BungeeCord scheduler, since most of its pressing issues are resolved.
2015-06-22 04:02:19 -04:00
Tux
4834b7826f Use more efficient HMSET when possible. 2015-06-22 04:00:25 -04:00
Tux
b21c02eca0 If an expired UUID/name entry is found, also expunge the other entry. 2015-06-22 03:47:21 -04:00
Tux
85bb0cc14a Move IOUtil to the util package (which is a better location). 2015-06-22 03:39:26 -04:00
Tux
787a189867 Localize ipairs. Might help out a tiny bit. 2015-06-22 00:27:18 -04:00
Tux
d54238023d Squeezed the last bits I possibly can out of the Lua implementation.
Performance enhancements beyond what I've done are welcome.
2015-06-22 00:13:58 -04:00
Tux
a6ab874791 One last tweak! 2015-06-21 23:23:28 -04:00
Tux
6244f5b65e Clarify that Redis does allow tables to be sent back, but not associative ones. 2015-06-21 22:44:14 -04:00
Tux
59cb27d342 Add a warning to run RedisBungeeClean if the UUID cache exceeds 750,000 entries.
While a large UUID cache will not harm RedisBungee functionality, it can be problematic in some setups, so err on the side of caution.
2015-06-21 22:13:49 -04:00
Tux
90612fa98a Extra Lua optimizations (minimize table lookups). 2015-06-21 20:44:44 -04:00
Tux
8d3681dc1f Make some Lua calls local to increase performance. 2015-06-21 20:27:27 -04:00
Tux
1c598868a9 whoops 2015-06-21 20:03:11 -04:00
Tux
d7b3568eec Slightly simplified the Lua code. 2015-06-21 20:02:12 -04:00
Tux
85eea7746e Plugin messaging API tweaks:
- Behavior on unknown commands made more consistent (don't send any messages).
- ServerPlayers message requires a type of PLAYERS/COUNT.
2015-06-21 18:11:27 -04:00
Tux
8e6447c8e0 Reintroduce pipelining support. 2015-06-21 18:09:46 -04:00
Tux
8b5eacec40 Introduce a set of performance tweaks.
The most notable changes are a refactor of DataManager to make the caching system easier to tweak, and the ability to use Lua scripts that run on the Redis server to optimize certain batch operations (currently, only getServersToPlayers() uses this).

This also paves the way for me to deprecate old versions of Redis. Anything older than 2.6 is ancient, and even 2.6 is ancient, so it ends up being a net overall benefit.
2015-06-21 17:32:28 -04:00
Tux
27bf52f13d Relicense under the Unlicense. 2015-06-09 19:37:01 -04:00
Tux
712698c76c Changed all previous uses of return(Broken)Resource to try-with-resources 2015-06-06 17:30:45 -04:00
Tux
d68b2713c4 Seamlessly support offline-mode more effectively by always skipping Mojang lookups. 2015-06-06 17:23:51 -04:00
Tux
665d73af0c more try-with-resources. 2015-06-06 16:39:10 -04:00
Tux
86efdeaf8e Make ServerPlayers messages looking for counts be less expensive to run by skipping the UUID lookup. 2015-05-17 14:54:35 -04:00
Tux
66996a295c Use try-with-resources in checking. 2015-05-17 14:46:44 -04:00
Tux
d111052ead Bump Jedis version (with some caveats). 2015-05-16 21:38:20 -04:00
Tux
c46041f802 Revert "[BREAKING] Use nanoTime() for heartbeat checks"
This reverts commit 7c76b245d4.

Conflicts:
	src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
2015-04-30 19:58:03 -04:00
Tux
1c12aec718 Revert "Correct omission"
This reverts commit 195857a531.

Conflicts:
	src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
2015-04-30 19:57:39 -04:00
Tux
807e71e566 Allow specifying ServerPlayers PLAYERS to get players and default to just count. 2015-04-22 18:34:23 -04:00
Tux
a372720e50 Add batch server<->player mapping and current proxy plugin messages. 2015-04-22 18:30:04 -04:00
Tux
e82a3ac5dd Remove the canonical glist setting as server owners should override /glist with a plugin if they don't like RedisBungee's version. 2015-04-18 10:14:49 -04:00
Tux
10466a9464 Add exempted IP addresses (closes #19) and refactored configuration. 2015-04-18 10:13:02 -04:00
Tux
195857a531 Correct omission 2015-04-17 16:35:04 -04:00
Tux
7c76b245d4 [BREAKING] Use nanoTime() for heartbeat checks
This improves Windows and timezone-related support by using a time reference that is more-or-less fixed. You will need to update your network if you update.
2015-04-17 16:34:18 -04:00
PunKeel
c6c73cf731 Fix okhttp AccessControlException 2015-03-28 21:46:08 +01:00
vemacs
f391793e45 Merge branch 'master' of https://github.com/thechunknetwork/redisbungee 2015-02-10 08:04:06 -07:00
vemacs
06c3935c39 add test for UUIDFetcher 2015-02-10 08:04:03 -07:00
Marquee
c4dc10f3c7 Bump to 0.3.6 2015-02-05 22:12:35 -05:00
Marquee
d1bdfc9e2e Use Google Guava InetAddresses.forString() method to make sure we don't hit network. 2015-02-05 22:11:22 -05:00
Marquee
e0f50f3c5d Add license header 2015-02-04 20:11:19 -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
1542ce9af8 Synchronize default configuration with the wiki. 2014-11-26 17:28:48 -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