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
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
8645f097a5
begin workon 0.3.5
2014-10-06 22:58:10 -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
c47a1678e1
Prepare development on 0.3.4
2014-08-20 21:35:50 -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
e3f84c7536
Changed configuration (also a commit to trigger jenkins)
2014-08-11 04:25:46 -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
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