Commit Graph

335 Commits

Author SHA1 Message Date
md_5
49f2f5f28b Fix issue #211 - ServerInfo.ping 2013-03-19 11:40:56 +11:00
md_5
a12debf6d0 Revert "Add info on registered channels to /bungee to enable users to help identify cause of random timeouts & resource leaks"
This reverts commit b3c34815b0.
2013-03-18 17:36:57 +11:00
md_5
b3c34815b0 Add info on registered channels to /bungee to enable users to help identify cause of random timeouts & resource leaks 2013-03-17 09:03:20 +11:00
md_5
b16da7d048 Be sure to null serverSentScoreboard each connect. 2013-03-16 22:35:13 +11:00
md_5
e681c8906d Add server kick event 2013-03-16 21:32:11 +11:00
md_5
ce40391717 Untested attempt at sending users to default server when their server goes down. 2013-03-16 21:17:41 +11:00
md_5
2e51ec4fba *add else statement to prevent duplicate exception logging 2013-03-16 21:09:16 +11:00
md_5
54098c8989 Attempt to track, and remove scoreboards at reconnect 2013-03-16 21:06:28 +11:00
md_5
156ea30c32 Add scoreboard packets + API classes. Still unimplemented. 2013-03-16 20:48:51 +11:00
md_5
6bb089074e Clear scoreboards on reconnect. 2013-03-16 20:13:01 +11:00
md_5
70c73211a0 Fix remapping of entities (fishing floats) 2013-03-16 13:07:51 +11:00
md_5
c059345802 Add send command, closes issue #197 2013-03-16 12:14:15 +11:00
md_5
f5b4e1242d Add #205 more methods in Plugin for getting resources / data folders. 2013-03-16 11:53:25 +11:00
md_5
8ea5205fef Reuse single packet instance to save overhead 2013-03-15 21:03:45 +11:00
md_5
05d76c3f67 Pretty up login fail message. Fixes #201 2013-03-15 21:01:35 +11:00
md_5
d6e29b3f29 Fix issue #203 - errors in Util.exception when no trace present. 2013-03-15 20:38:40 +11:00
md_5
bd479ba083 Remove outdated $() logger getter. 2013-03-14 21:33:22 +11:00
md_5
704fe11b05 Make forced hosts take higher priority than force default. Closes #184 2013-03-14 21:18:59 +11:00
md_5
4811e7be4f Implement PostLoginEvent, closes #191 2013-03-14 21:11:16 +11:00
md_5
5bfab582df Fix #156 - Bukkit trying to get client settings. 2013-03-14 20:22:26 +11:00
md_5
ec1de0f636 Add global slot limit. Fixes feature request #40 2013-03-14 20:14:01 +11:00
md_5
8935e77118 Use the Netty byte array encoder now that it is fixed. 2013-03-14 19:49:31 +11:00
md_5
b71d253de2 Clean up cipher codec for maximum speed and minimal memory copy. 2013-03-14 19:39:03 +11:00
md_5
d54f2462a8 Less error for IOExceptions, more debug for exceptions in the exception handler. 2013-03-14 19:22:54 +11:00
md_5
c1ff4ffb89 Update to 1.5 & don't deploy proxy to maven, only APIs 2013-03-14 17:50:33 +11:00
md_5
58f1ab208b Reenable encryption + online mode. 2013-03-14 17:46:57 +11:00
md_5
d5f25b07e5 *remove wrapper class 2013-03-14 17:25:24 +11:00
md_5
30b381853c Change packet handling from ByteBufs to byte arrays to work around netty bug. Connection now appears to be stable - just need to add an optimized encryption algorithm back. 2013-03-14 17:24:32 +11:00
md_5
b0820208e6 @normanm @trustin This hack appears to fix all my issues with writing ByteBufs directly to channels. new @lazertester.party(). Others, please note this still isn't even a beta quality build. Due to memory laziness this build will only accept one connection. 2013-03-13 20:11:41 +11:00
md_5
bc0a076e4b Don't sync, its an optimization - right? 2013-03-13 18:08:43 +11:00
md_5
1763dd3078 Remove unneeded channel option. Still trying to fix all these disconnect errors though. 2013-03-13 18:07:07 +11:00
md_5
373ec187fb Fix /server command to only show server name 2013-03-12 18:07:25 +11:00
md_5
ac2c96c2ea This test WITHOUT encryption reveals something is majorly wrong with our packet decoding causing random and frequent disconnects. 2013-03-12 17:53:18 +11:00
md_5
5688099605 Also make sure we get the restricted value per server 2013-03-12 17:14:50 +11:00
md_5
4805087e38 Case insensitive sort 2013-03-12 17:11:06 +11:00
md_5
e2f134ec08 Actually alphabetize players - thanks @Grooohm for the good spot! 2013-03-12 16:56:09 +11:00
md_5
92c1450909 Fix issue #129 - make chat event fire for commands, and add isCommand method. 2013-03-12 15:15:25 +11:00
md_5
fea3642550 Add #183 - restricted servers 2013-03-12 12:13:23 +11:00
md_5
f02d17c979 Fix issue #55 - show alerts in console 2013-03-12 12:03:21 +11:00
md_5
3dac86a94c Add getConsole() to the API 2013-03-12 12:01:47 +11:00
md_5
758e196479 Rewrite list command for per server breakdown, and alphabetizing. 2013-03-12 11:58:04 +11:00
md_5
5dd3384b31 Add GetServer channel, see #145 2013-03-12 11:43:37 +11:00
md_5
59efec128d Add ProxiedPlayer.chat, see #146 2013-03-12 11:38:11 +11:00
md_5
3b90737273 Update CipherCodec to try and fix issues. 2013-03-12 11:21:39 +11:00
md_5
f9f664f9b6 Try using out.writerIndex instead of readerIndex 2013-03-11 20:27:19 +11:00
md_5
9edcda7ace Downgrade NIO to 1.4.7 2013-03-11 18:28:10 +11:00
md_5
cd1420d9cd Fix entity rewrites on falling blocks. 2013-03-11 14:31:51 +11:00
md_5
a3e1493ce1 Merge NIO into master. I would not recommend this on a production server at all. Its 1.5 anyway. 2013-03-11 13:30:29 +11:00
md_5
9fb814003b Handle kicks when trying to login to server. Now we have to be about done. 2013-03-11 10:15:14 +11:00
md_5
76319371f7 Small code / api cleanup. Need to fix kicking in general, especially in ServerConnector before release. 2013-03-11 10:06:14 +11:00
md_5
2e33ab1460 Remove outdated javadoc 2013-03-11 09:52:53 +11:00
md_5
cfd10f5714 Handle when user gets kicked midway through login to other server 2013-03-11 09:47:42 +11:00
md_5
6ae5feee60 Error handling when cannot connect to server. 2013-03-11 09:39:37 +11:00
md_5
0b7b87d9c3 Wait 100ms before closing socket to give server time to process. 2013-03-11 09:30:49 +11:00
md_5
fa5804ec86 OMG WTF BBQ IT WORKS. LETS IRON OUT BUGS AND GET OUR RELEASE TARGET, ONLY 12 HOURS LEFT. 2013-03-11 09:18:39 +11:00
md_5
6e18403cd9 Ensure all resources are closed all the time. 2013-03-11 09:11:36 +11:00
md_5
f67ad024f5 Make builds expire. 2013-03-10 20:01:30 +11:00
md_5
a0989a8932 Update for 1.5. This build only supports 1.5, not any other versions. 2013-03-10 12:41:13 +11:00
md_5
3be83cb5a4 Disconnect when exception caught 2013-03-09 17:59:44 +11:00
md_5
0ce02251d4 Start work on a little spit and polish, with cleaner exceptions. 2013-03-09 16:47:13 +11:00
md_5
b4d104d258 *actually compile (wire up the broadcast method) 2013-03-09 14:31:39 +11:00
md_5
0c69814db7 Make sendMessage work again 2013-03-09 14:29:54 +11:00
md_5
f0766ebcfb Bridge packets both ways. 2013-03-09 14:27:24 +11:00
md_5
f0a19e0f45 Small cleanup of packet classes 2013-03-09 14:23:40 +11:00
md_5
6525502836 We can login now. Kindof. *wipes sweat off brow. 2013-03-09 14:19:12 +11:00
md_5
504f703fbb This is so tiring 2013-03-09 12:35:32 +11:00
md_5
4fb85721a9 Nearly ready to get a working connection, however few hacks due to own shortcomings and netty shortcomings. 2013-03-09 12:08:26 +11:00
md_5
e12bc1d92e Closer to connecting, trying to figure out this encryption bug also present in first connect on Spigot 2013-03-09 10:47:12 +11:00
md_5
bcaafc206f Advancing further in the login process. 2013-03-09 10:10:36 +11:00
md_5
8a96555cc7 We can now get pings! 2013-03-09 09:54:19 +11:00
md_5
45c848a4fd Cleanup channel initialization - now its time to get this show working. 2013-03-09 09:45:10 +11:00
md_5
9e0ae0a70d Thread login auth properly. 2013-03-08 18:26:59 +11:00
md_5
9ad9003974 Tigthen access + javadocs on a few netty related classes. 2013-03-08 18:07:21 +11:00
md_5
e18fe49cf9 Whats this? It compiles. Doesn't mean it near works though. 2013-03-08 17:52:17 +11:00
md_5
c3d702a5b3 Switch main packet interface to bytebuf 2013-03-08 17:35:01 +11:00
md_5
cdf26f7950 Nearing a compilale state, gonna have to redo the bootstrap. 2013-03-08 17:24:09 +11:00
md_5
644deee3c6 Redo parts of login and connection sequences 2013-03-07 21:33:49 +11:00
md_5
b6e76f4054 Cleanup permissions and disconnect sequences 2013-03-07 21:04:03 +11:00
md_5
0f9cc76633 Update Server interface to remove depreceated methods 2013-03-07 20:52:19 +11:00
md_5
0afc52c130 Upstream and downstream bridges are now uber sexy 2013-03-07 20:47:39 +11:00
md_5
0077af58d0 Start work on netty overhaul 2013-03-07 20:05:41 +11:00
md_5
87e78bae7e Fix #177 - greload and listeners 2013-03-06 12:04:25 +11:00
md_5
5c1d7e1c5b Allow setting tab list size per listener see #173 2013-03-04 22:52:53 +11:00
md_5
efcf4c6a59 'fix' #171 & #147 2013-03-04 21:35:52 +11:00
md_5
317f286789 Handle removed servers in reconnect 2013-03-02 19:26:19 +11:00
md_5
385699380f Use standard log format, may relate to #213 2013-03-02 13:42:10 +11:00
md_5
6afff00da9 Restart listeners on reload (reloads MOTD too). See issue #157 2013-02-26 11:40:58 +11:00
md_5
002f32a879 Fix deep config saving. 2013-02-23 14:55:49 +11:00
md_5
0cf657592d Take correct substring 2013-02-23 11:23:49 +11:00
md_5
cb0c010029 Fix #136 2013-02-23 09:49:55 +11:00
md_5
3cff9eff24 Fine, kick as usual 2013-02-21 18:18:46 +11:00
md_5
92a212c8c8 Cleaner exceptions. 2013-02-21 18:17:44 +11:00
md_5
f1f10521e2 Use native Java ciphers for encryption / decryption - now that we have our buffer issues sorted this should be a small speed boost. 2013-02-21 17:13:04 +11:00
md_5
0f8f8cb289 Only sleep on client read - prevent insane lag 2013-02-21 17:06:38 +11:00
md_5
59a7e6f9c4 Make disabling plugins the last thing we do. 2013-02-21 17:05:31 +11:00
md_5
0c5d76b860 Workaround for kicks 2013-02-19 20:12:33 +11:00
md_5
297c8e2c8b Use correct disconnect sequence at all times, fixes #119 and events not firing at stop 2013-02-18 19:24:40 +11:00
md_5
c44dc7931a Fix kicks - that was easy 2013-02-18 18:35:33 +11:00
md_5
ce9766aae4 Default sleep time of 1 2013-02-16 18:18:31 +11:00
md_5
0b10f83916 Cut CPU load to sane amounts in the same way that Minecraft does. 2013-02-16 12:41:26 +11:00
md_5
feb64312ca Fire events + plugin channels in server login 2013-02-16 10:21:35 +11:00
md_5
190e5109cf Silence EOF error on login - see #127 2013-02-16 09:35:54 +11:00
md_5
05a6b566b2 Rewrite login process in preparation for both forge and netty. 2013-02-16 09:34:31 +11:00
md_5
51e2570ddd Clean up formatting of initial handler a little. 2013-02-16 09:01:56 +11:00
md_5
6ad40aba66 Remove debug + kick properly 2013-02-16 09:01:12 +11:00
md-5
f27f8e9ae7 Use kick exception to disconnect on login. 2013-02-16 08:53:20 +11:00
md_5
7974ccc0bf No more errors in the server console, but a certain mod is still breaking the rules. 2013-02-14 19:50:57 +11:00
md_5
9b1f1d9a50 Forge support is now working - however an unidentified mod is breaking it due to the use of packet 80. All I can tell is this mod is present in FTB lite. 2013-02-14 19:41:16 +11:00
md_5
bef2818537 Fix forge support - #111 2013-02-14 18:30:48 +11:00
md_5
0451c35bf8 Finish up Forge support - yay. 50% chance this works. Fixes issue #111 2013-02-14 17:27:35 +11:00
Austin Smith
a8c60180d7 Don't instantiate a ReconnectHandler if a plugin has provided one on load 2013-02-14 06:25:23 +11:00
md_5
379376f0fa Add player disconnect event, thanks @lazertester 2013-02-13 18:49:08 +11:00
md_5
d2a919fc06 Rework packet reading a little in more preparation for Forge. 2013-02-12 12:05:06 +11:00
md_5
d17c457040 Add experimental offline mode support - closes issue #121 2013-02-12 11:48:38 +11:00
md_5
0d5099bee5 Call login event 2013-02-11 17:26:52 +11:00
md_5
2b1d2cba04 All I actually needed was: nextServer = null; 2013-02-10 21:40:06 +11:00
md_5
25d2902240 Quick fix for /server, will do a better job later 2013-02-10 21:36:37 +11:00
md_5
9c5e02e20a Add groundwork for custom protocols such as forge in a really cool manner - has not been tested, so may be a regression on prior build. 2013-02-10 21:26:49 +11:00
md_5
9f4fc4dfac Forge and Spoutcraft are so annoying they accidentally got locked out again. 2013-02-10 21:24:44 +11:00
md_5
da9c41ae66 Fix reloading. 2013-02-10 21:08:41 +11:00
md_5
c5e15697a4 Fix server ping method. 2013-02-10 20:18:08 +11:00
md_5
154722eacc Add perm debug command 2013-02-10 17:41:34 +11:00
md_5
9e2eda672d Cache the client status packet. 2013-02-09 19:01:18 +11:00
md_5
b946e376c7 Fill out all handlers for packets just in case they are needed. 2013-02-09 18:06:15 +11:00
md_5
23582a635b Reformat to new code style, lots of spaces for easy reading. 2013-02-09 17:57:09 +11:00
md_5
69d618c648 Use custom packet out stream to ease transition to a netty channel when it is required 2013-02-09 17:48:42 +11:00
md_5
1df6fdf973 Fix ProxiedPlayer.connect from plugins. 2013-02-09 14:19:21 +11:00
md_5
1bc4316e0a Add messages to state checks 2013-02-08 16:23:49 +11:00
md_5
48447addba Hasten login process a tad, maybe a 100ms saved for the user 2013-02-08 16:21:08 +11:00
md_5
f1f68ab85b Ask and 70.93 seconds later you shall receive - cross server message channel. 2013-02-07 17:23:49 +11:00
md_5
7e39cb8da6 Remove useless disconnect channel. 2013-02-07 16:55:32 +11:00
md_5
a2ebb92d56 Scumbags Forge and Spout. 2013-02-03 20:53:58 +11:00
md_5
fbacafb752 No excuses this time. 2013-02-02 10:24:54 +11:00
md_5
c65a3ec55e Use a stateful login system for the initial handler. 2013-02-02 10:17:37 +11:00
md_5
36f5f33db0 Forward even when no players are online. 2013-02-02 09:11:26 +11:00
md_5
4055139dcd Don't create new sections for each player. 2013-02-01 21:47:14 +11:00
md_5
00e0e3c1a3 Use more ram to reduce CPU. 2013-02-01 21:34:13 +11:00
md_5
7538ff46ed Remove bulk reading, because for an unexplainable reason it can cause garbled data. (reverse-merged from commit ed667e2b72) 2013-02-01 21:14:40 +11:00
md_5
ecf5b4dc30 Automatically queue packets to send when a player connects, and change the API regarding this. Please don't use the Server methods anymore, instead use ServerInfo.
CC: @TheDgtl
2013-01-31 20:53:22 +11:00
md_5
0721e3cc75 Sweet trick to avoid locking in global tab list, basically reimplement HashSet based on a ConcurrentHashMap. 2013-01-31 17:55:46 +11:00
md_5
e5bb5e5168 Use same initial ping as Minecraft - 1000 2013-01-31 17:46:15 +11:00
md_5
f9c4251417 Send forwaded data along the Bungee channel. 2013-01-28 09:19:06 +11:00
md_5
ed667e2b72 Allow bulk reading for what again should be a substantial reduction in CPU cycles, mostly due to the previous commit which didn't actually reduce CPU because of this not being present. 2013-01-27 19:33:11 +11:00
md_5
0985794eab Add GetServers channel. 2013-01-27 10:05:22 +11:00
md_5
8f090b6692 Add player list and player count channels. 2013-01-27 09:51:45 +11:00
md_5
b61758ca8e Actually don't need name for IP packet 2013-01-26 16:56:33 +11:00
md_5
bed67a90ef Dont let Bungee channels reach the user 2013-01-26 16:55:55 +11:00
md_5
f7d1c168fc Implement a way to get the users real IP. 2013-01-26 16:53:33 +11:00
md_5
45a62a111e Rework entity map to do both directions. 2013-01-26 09:22:26 +11:00
md_5
769e2e2148 And users before.... 2013-01-25 13:34:02 +11:00
md_5
931fcf416f Update everyones player list when a new player joins (GLOBAL tab list) 2013-01-25 13:29:22 +11:00
md_5
d6c3420ea1 *bungeecord permission for alert 2013-01-25 10:20:44 +11:00
md_5
1600d3509c * glist not list 2013-01-25 09:45:12 +11:00
md_5
2e04640638 Add getters for game / protocol version. 2013-01-24 14:55:21 +11:00
md_5
7fec907ab8 Use the set ping event 2013-01-24 14:51:10 +11:00
md_5
8797a29761 Add getServerInfo(name) and rework plugin channel system for stupud Bukkit limitations. 2013-01-24 14:13:27 +11:00
md_5
8f32374cda Dont remove from server if not connected to one. 2013-01-24 14:03:00 +11:00
md_5
ec35482102 Properly colour MOTDs 2013-01-24 11:34:30 +11:00
md_5
8021f58451 Implement server ping method. 2013-01-23 16:50:25 +11:00
md_5
355d4988f3 Fix alerts being cut off at start 2013-01-22 19:34:31 +11:00
md_5
6333f3bbb6 Actually format. 2013-01-22 16:25:05 +11:00
md_5
7e41a6cd70 Enable plugins like they were meant to 2013-01-22 16:00:13 +11:00
md_5
def2269b6e Merge API into master. This marks the dawn of a new Bungee era, but must be regarded as UNSTABLE. 2013-01-22 13:33:36 +11:00
md_5
cae71552cd Fix permissions and stuff, we are go for master! 2013-01-22 13:21:04 +11:00
md_5
a22f57c1f5 Add default permissions 2013-01-22 12:29:46 +11:00
md_5
ade3fe4311 Just need to add default permissions and we are ready for release. 2013-01-22 10:39:21 +11:00
md_5
4b9b2cbb96 Add plugin channel support for plugins. 2013-01-22 10:20:33 +11:00
md_5
39506f3fa6 Add crucial getter for server info 2013-01-21 17:49:34 +11:00
md_5
57576912c1 Add forced servers back. 2013-01-21 14:04:46 +11:00
md_5
c281f008c3 Ok, I guess tomorrow is testing day. 2013-01-20 15:09:13 +11:00
md_5
9ce148681d Add server connected event 2013-01-20 15:02:45 +11:00
md_5
77d5398124 Add yaml reconnect handler. 2013-01-19 17:02:49 +11:00
md_5
355afba6da Fix config, up next, reconnect handler. 2013-01-19 14:05:33 +11:00
md_5
bf1e7f09a9 Well, it compiles, time to start fixing stuff. 2013-01-19 13:33:04 +11:00
md_5
cf42a10ba4 Pretty close to compiling for the first time in ages. It wont be anywhere near working though. 2013-01-19 10:49:11 +11:00
md_5
8bff34b8b6 Add the start of a config loader. 2013-01-19 10:13:55 +11:00
md_5
4ba6993039 Clean commands a bit. 2013-01-18 11:39:15 +11:00
md_5
8e3f750c7c Make the tab list implementations pruddy. 2013-01-18 11:33:44 +11:00
md_5
df37612494 Add permissions 2013-01-18 11:11:52 +11:00
md_5
32ef5212f8 This is hard >.> 2013-01-18 10:46:55 +11:00
md_5
55867dbdc3 More work 2013-01-17 12:37:02 +11:00
md_5
592a504e77 Start work on making it compile again. 2013-01-17 11:59:59 +11:00
md_5
098ca5920e Start a hugely messy implementation of the API 2013-01-16 11:16:21 +11:00
md_5
b4105f8081 Finish up command API, with permissions and aliases! 2013-01-12 12:03:59 +11:00
md_5
a7f7a49fc3 Refactor into maven modules. 2013-01-10 17:41:37 +11:00