Commit Graph

454 Commits

Author SHA1 Message Date
md_5
679bf2fca9 Synchronize on pending packet queue, add forge/no forge constructor argument to login packet, and don't send channel registers twice 2013-05-03 20:29:36 +10:00
md_5
7436621481 Refactor encryption to be two step like vanilla. Thanks @LexManos for pointing this out. 2013-05-03 19:35:00 +10:00
md_5
6236cff658 Refactor encrypt util class in preparation for forge support. 2013-05-03 19:10:54 +10:00
md_5
6b504d9160 Use faster collections for the various tab lists. 2013-05-03 18:20:10 +10:00
md_5
d1124ca70b Cleanup imports 2013-05-03 14:39:25 +10:00
md_5
779582d441 Use multimap in scheduler 2013-05-03 14:33:04 +10:00
Zach Bruggeman
30b2e5008b Add ResourceBundle localization 2013-05-03 14:22:12 +10:00
md_5
140830efe0 Close #300 - cleaner disconnects when server is full 2013-05-03 14:16:48 +10:00
md_5
5f8e76c61c Revert "ConcurrentHashMap is junk - lets stick to standard unless issues arise."
This reverts commit 5d1a2c59a7 and closes #304
2013-05-03 14:15:23 +10:00
md_5
b7511abfda Update to 1.5.2, closes #302 2013-05-02 07:32:45 +10:00
md_5
09d04c34cb Increase thread pool timeout to try and reduce churn 2013-04-30 11:32:29 +10:00
md_5
3682e8ba3a Catch throwable not exception for enabling plugins 2013-04-28 17:45:25 +10:00
md_5
50f8bd2eb0 Finish encapsulating all userconnection fields 2013-04-28 11:36:36 +10:00
md_5
ff32764f9a Encapsulate ping fields 2013-04-28 11:19:19 +10:00
md_5
a1f928b210 Don't expose the channel 2013-04-28 10:45:20 +10:00
md_5
5bf616dc4d Forgot that mutex 2013-04-28 10:41:03 +10:00
md_5
0d7759f50b Eeek, name should be constant! 2013-04-28 10:39:41 +10:00
md_5
824bdc5491 Refactor permissions to be lock free, and clean up duplicate references 2013-04-28 10:37:18 +10:00
md_5
ebff48ff86 Remove remnants of forge in initial handler 2013-04-28 10:27:13 +10:00
md_5
6efba44e5a Cleanup userconnection constructor 2013-04-28 10:26:26 +10:00
md_5
9f8ad518e8 Don't use trove sets 2013-04-28 10:21:15 +10:00
md_5
ca5db43f70 Don't spew error about long usernames, just disconnect 2013-04-28 10:07:23 +10:00
md_5
49a22f188f Alert when we cannot bind 2013-04-28 09:42:38 +10:00
md_5
ce7c095243 Make ReusableChannelPromise less hacky 2013-04-28 08:53:14 +10:00
md_5
cbb08ec58b Duh, of course connect isn't called, because we are already connected! 2013-04-27 22:52:02 +10:00
md_5
349949d154 @normanmaurer, @trustin in relation to netty/1317 can we consider this a motion to allow channel.write(Object,null), I think it is a very good idea and cannot see it breaking any existing functionality at all. 2013-04-27 22:24:57 +10:00
md_5
92e7faa346 Stab at closing #285, /send current issues 2013-04-27 18:34:43 +10:00
md_5
6b21fdaaea Refactor packet writes into their own channel handler class. 2013-04-27 18:29:12 +10:00
md_5
fa9dd7e27f Synchronize yaml save to close #286, crash on end 2013-04-27 18:17:40 +10:00
md_5
f44cf6c8e9 Move some bootstrapping to the connected method, #267 2013-04-27 12:27:40 +10:00
md_5
6bf9df31f5 Fix async/login event 2013-04-27 12:25:03 +10:00
md_5
c08764990d Bigger logs, with rotation! 2013-04-26 20:23:16 +10:00
md_5
a82e6f3eea Use new servers 2013-04-26 17:48:32 +10:00
md_5
26cee397e6 Only alow config reloads to ADD servers. 2013-04-26 17:31:44 +10:00
md_5
dc6835c21b Add reason when default server is not defined 2013-04-26 17:23:04 +10:00
md_5
be30c8b89a Rename tab list classes 2013-04-26 17:20:03 +10:00
md_5
70e10c382e Properly interface ServerInfo class. 2013-04-26 17:13:00 +10:00
md_5
93ea108acb Complete issue #190 - unthread the login event for maximum efficiency. 2013-04-26 17:00:09 +10:00
md_5
a63739277b Remove depreceated register methods. 2013-04-26 16:49:37 +10:00
md-5
112d543c2a bump date 2013-04-26 11:50:20 +10:00
md_5
e540626a28 Rewrite only arrows and rods. Closes #270 2013-04-20 09:46:23 +10:00
md_5
a38b3ce9f2 Try removing connections via string key and direct map access. Closes issue #267 2013-04-14 18:51:33 +10:00
md_5
c615b2362f Revert "Case shouldn't really matter for groups and permissions"
This reverts commit a67d4a1697.
2013-04-14 11:57:50 +10:00
md_5
5620c4679d Fix issue #262 and put all scoreboard bugs to bed 2013-04-14 09:33:36 +10:00
md_5
a9ad4889f7 Revert "Bungee join / part messages"
This reverts commit 7108bd4deb.
2013-04-13 18:28:11 +10:00
md_5
7108bd4deb Bungee join / part messages 2013-04-13 18:17:08 +10:00
md_5
ac1119bef8 Move pending connects check 2013-04-13 11:51:34 +10:00
md_5
dac259933b Add pending connects for bad plugin message based connects 2013-04-13 09:49:08 +10:00
md_5
a57ae83d62 Return from method when we can't connect 2013-04-13 09:46:21 +10:00
md_5
a00c91c03a Fix users showing as disconnected on global ping list 2013-04-13 09:37:56 +10:00
md_5
a67d4a1697 Case shouldn't really matter for groups and permissions 2013-04-12 19:41:20 +10:00
md_5
b87fff2614 Fix users being disconnected without the event q_q 2013-04-12 12:43:17 +10:00
md_5
0c144c38db Fix issue #251 - hidden servers in list command 2013-04-12 12:40:36 +10:00
md_5
5592f81e97 Proper equals on servers 2013-04-12 08:22:17 +10:00
md_5
5d1a2c59a7 ConcurrentHashMap is junk - lets stick to standard unless issues arise. 2013-04-11 20:32:49 +10:00
md_5
88c99f071e Reduce ram usage by ~65kb / player. See #229 2013-04-11 20:30:07 +10:00
md_5
19c3c23b86 Reformat all code 2013-04-11 20:26:55 +10:00
Björn Teichmann
5dfe83cf6d add fallback_server so we can still have a different default server on first join 2013-04-11 20:23:30 +10:00
Robin Lambertz
8cac038a07 Fix LoginEvent not being called.
If the server is in offline mode, the LoginEvent should be called.
2013-04-10 14:47:57 +02:00
Robin Lambertz
f935f93d98 Fix two small typos. 2013-04-09 01:18:00 +01:00
Robin Lambertz
e5c457df04 Add new Team instances to the list of teams. 2013-04-09 02:10:41 +02:00
weaondara
6e9cdb2e20 send message to player if target is current server 2013-04-04 18:44:46 +03:00
weaondara
d900a5eae7 setDisplayName bug fix
first remove
then change and add again
2013-04-02 12:18:43 +03:00
weaondara
68712ab854 check the player's server before really connecting
otherwise the player will be kicked with the message "Logged in from another location" if the target server is the current server
2013-04-02 02:13:29 +03:00
weaondara
88a52bc4e9 set displayName in function setDisplayName 2013-03-31 16:25:53 +03:00
weaondara
d684f5de69 added permission in constructor 2013-03-31 12:36:21 +03:00
md_5
5de8ac89e5 Remove any scores before updating - see #238 2013-03-29 08:08:13 +11:00
md_5
8707995503 Nullcheck getServer on failed reconnect handler to account for failings on first connect 2013-03-28 22:24:56 +11:00
md_5
caea1e3fa5 Set server as obsolete when kicked. 2013-03-28 19:53:04 +11:00
md_5
acbf6d3137 Add current server check to failed listener too 2013-03-26 18:12:28 +11:00
md_5
3a3fb27d9a Fixx issue #228 and #188 - CSV classes and ALL target for player list 2013-03-26 17:53:36 +11:00
md-5
e506957d38 Fix current server check - #216 2013-03-26 11:50:36 +11:00
md_5
8003dc50c4 Fix #227 - don't colour first name on list 2013-03-25 19:25:06 +11:00
md_5
cf4846baa9 Add issue #221 - permission check event 2013-03-24 16:29:45 +11:00
md_5
6881597692 Fix issue #156 - actually register packet for reading 2013-03-24 11:53:07 +11:00
md_5
0ffb557557 Try my artistic vision on the list command. 2013-03-24 11:44:30 +11:00
md_5
5f7ecf9d3b Fix issue #213 - servers crashing clients. 2013-03-24 11:39:14 +11:00
md_5
e07f1e603a Lowercase forced server checks - #223 2013-03-24 11:02:24 +11:00
md_5
430b5ff392 Bump expirary date back to 26/4/2013 2013-03-24 09:00:32 +11:00
md_5
81fe547a7c Server admins see stack trace and die. See #225 2013-03-24 08:41:25 +11:00
md_5
04fb1df3e1 Don't null out scores after objectives. 2013-03-23 20:58:21 +11:00
md_5
73aaf58009 Try and make the client not crash when switching teams. @lazertester 2013-03-23 20:49:47 +11:00
md_5
c97f113497 Add team packet. 2013-03-23 20:32:37 +11:00
md_5
14fcb90395 Fire server kick for logins too 2013-03-23 19:38:00 +11:00
md_5
39009d8c96 Check players have a server before sending 2013-03-23 13:45:22 +11:00
md_5
13f394b9a7 Send the players real IP for use in Spigot servers. 2013-03-23 11:24:37 +11:00
md_5
ffddcf939f Rewrite cancel method as it is posing some issues 2013-03-21 20:16:41 +11:00
md_5
3d8143c36e Use Bungee thread pool for additional logging 2013-03-21 16:28:30 +11:00
md_5
5e31b158e9 Work around JDK stupidity with regards to thread count 2013-03-21 16:25:05 +11:00
md_5
a59e0f0b6b Async close http client as it appears bugged 2013-03-21 13:54:40 +11:00
md_5
517655f54e How did that debug stay there? 2013-03-21 13:45:56 +11:00
md_5
55ec76beee Allow users to connect 2013-03-21 13:37:38 +11:00
md_5
a564d4c7f1 Fix issue #219 - make the scheduler work 2013-03-21 13:35:35 +11:00
md_5
6813b82b84 Fix issue #216 and #219 by moving current server check to the connect method. 2013-03-20 20:25:42 +11:00
md_5
27d454524f Use asynchttpclient instead 2013-03-20 19:10:59 +11:00
md_5
8827feacfb Implement high performance HTTP api for plugins with jetty. 2013-03-20 18:52:26 +11:00
md_5
692610cd7e Add asynchronous event API from issue #200 2013-03-19 20:09:15 +11:00
md_5
1edd27963f Add issue #215 - scheduler API 2013-03-19 19:45:34 +11:00
md_5
5a15d5387c Use as many threads as the system can handle. 2013-03-19 16:07:39 +11:00
md_5
3fed94fbf2 Stop trying to be Forge for now. 2013-03-19 12:07:59 +11:00
md_5
1dd661f619 Use a byte array in the ping handler for simplicity 2013-03-19 12:07:13 +11:00
md_5
e364cff44e Fix loading config. 2013-03-19 12:00:57 +11:00
md_5
dfa47f740d Add feature #208 - Bungee texture packs. 2013-03-19 11:54:13 +11:00
md_5
87fcef0658 Implement PR #212 - sendMessages() for CommandSenders 2013-03-19 11:43:37 +11:00
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
5365e5fb92 Bump the other pom versions to 1.5 too. 2013-03-15 21:21:58 +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
ac426f0c3f Use global netty version variable. 2013-03-14 20:35:58 +11:00
md_5
0f30024040 Now that we don't deploy the proxy we don't need the shaded identifier 2013-03-14 20:28:24 +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
09bb7a93d2 Update MySQL version 2013-03-14 19:50:17 +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
83e3786414 Include full libraries, especially since we don't have BouncyCastle or BukkitDev now. 2013-02-28 17:03:05 +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