Commit Graph

658 Commits

Author SHA1 Message Date
md_5
38a8469ab4 Cap command completion to one argument 2013-09-15 15:14:47 +10:00
md_5
9538dcf4d4 Properly tab complete 2013-09-15 14:04:51 +10:00
md_5
33f654ce6f *unused imports 2013-09-15 07:44:13 +10:00
md_5
c108e4e1ce Server command completion 2013-09-15 07:43:50 +10:00
md_5
e998faeec1 Add tab completion for find command. Also change api a bit. 2013-09-15 07:37:20 +10:00
md_5
d67acd7bc9 Add functionality to replicate #336 2013-09-15 07:29:22 +10:00
md_5
702f434db1 Add API to support #468 - force setting of reconnect server 2013-09-15 07:12:58 +10:00
md_5
1dca12cffb Use boolean not binary and 2013-09-15 06:48:06 +10:00
md_5
29c897c9cf Add Tab Completion loosely based on @TheUnnamedDude's work. 2013-09-15 06:46:10 +10:00
md_5
042f47cbb9 Wrapped buffers are not thread safe. 2013-09-10 21:33:44 +10:00
md_5
422e97f495 Don't let pingbuf be released 2013-09-10 21:26:59 +10:00
md_5
08789d8f9f Write down a supported message type (ByteBuf) when using the ping handler. 2013-09-10 20:56:40 +10:00
md_5
af58db8a67 Simpler, unit tested throttle to close #613 2013-09-10 12:02:29 +10:00
md_5
49cffebd9b Dynamic build dates - see #526 2013-09-10 11:37:48 +10:00
md_5
ffdb917f2c Use translation - closes #578 2013-09-09 14:58:56 +10:00
md_5
7384e797fc Bump date 2013-09-08 11:49:27 +10:00
md_5
ccdf2a89d8 Close #518 - use csv method for perms command 2013-09-07 12:22:43 +10:00
md_5
89edb00c05 Properly cancel tasks! 2013-09-05 19:52:41 +10:00
Ammar Askar
c352e854ee Catch exceptions when disabling plugins 2013-08-25 10:27:25 +10:00
md_5
d8c92cd311 Add ConnectOther channel for moving other players from a plugin 2013-08-25 10:23:17 +10:00
md_5
99f361ca77 Instead of storing packets about to be passed on as a byte array, store them as a Netty buffer, which is likely to be pooled, direct and manually memory managed leading to increased performance and less GC strain. In order to ensure no resources are leaked, we free them at the end of each handle cycle if they have not been passed to a channel for writing. In initial profiles this now causes encryption to be one of the most intensive parts of BungeeCord, however in depth profiling snapshots may provide further routes for optimization. 2013-08-20 19:29:43 +10:00
md_5
738ed99d54 Code format. 2013-08-20 19:28:09 +10:00
md_5
ad0da59267 Really need to automatically do this. Add a few weeks to expire time 2013-08-20 18:50:52 +10:00
md_5
1dcc8d6a4b Close #572 - kick event message 2013-08-20 11:18:51 +10:00
md_5
0840a77153 Dem dates :( 2013-08-15 07:44:33 +10:00
md_5
61a93a54a9 ammar2 missed a spot 2013-08-14 22:14:32 +10:00
md_5
da0281508e Oi! Get back inside of that if statement. NOW! 2013-08-13 18:53:16 +10:00
Ammar Askar
51e92de2dd Only save to reconnectHandler if we have a listener that isn't forcing to the default server 2013-08-13 18:50:19 +10:00
md_5
773ce089c1 Fix http client 2013-08-10 07:30:41 +10:00
md_5
b68b6a76c7 Recover from broken yaml 2013-08-09 17:23:16 +10:00
md_5
332033bb02 Disable resource leak detector for ~15% cpu reduction 2013-08-09 16:58:14 +10:00
md_5
172b8bc75b Update to Netty 4.0.6-Final 2013-08-09 16:56:09 +10:00
md_5
db5a147491 Revert changes to SeverConnectedEvent 2013-08-06 11:14:54 +10:00
md_5
f083e27649 More translations! 2013-08-05 17:29:47 +10:00
md_5
b64a7be19b Bump date to the 9th 2013-08-04 21:34:56 +10:00
md_5
c4d60a8fa9 Hold player for ServerSwitchEvent - see #539 2013-08-04 21:28:10 +10:00
md_5
f07cfe0cf7 Make the ServerConnectedEvent async to allow stalling it. Closes #538 by @BjoernAkAManf. 2013-08-04 20:58:17 +10:00
mrapple
ee8f33c196 Add State to ServerKickEvent 2013-08-04 18:57:13 +10:00
md_5
14ac2dd308 Allow setting whether to bind to the local address. 2013-08-04 18:56:48 +10:00
md_5
fb94612315 Fix throttle to 1) Work, 2) Not throttle outbound connections 2013-08-02 19:31:46 +10:00
md_5
4c96880580 Lets just silence java.util.NoSuchElementException: decrypt - PEOPLE DON'T UNDERSTAND ITS NOT AN ERROR. 2013-08-02 19:11:16 +10:00
md_5
4c4cdd51a1 Downgrade to Netty CR9 2013-08-02 07:32:42 +10:00
md_5
1f38152530 [URGENT] Add connection throttle. 2013-08-01 13:37:32 +10:00
md_5
911f08d52c Disable packet grouping in an attempt to increase reliability. 2013-07-31 20:18:54 +10:00
md_5
8f961c9d4e Put colours in default motd to try and force quoting in the dumped yaml 2013-07-27 12:12:12 +10:00
md_5
8a5d8a57f7 Don't infinite loop on tasks with no period 2013-07-24 17:38:46 +10:00
md_5
c54553d0f9 How kind of @lazertester to test the new scheduler! 2013-07-24 17:32:08 +10:00
md_5
600a1b4ff5 Update expire date 2013-07-24 17:02:37 +10:00
md_5
09e592295f Update to Netty 4.0.4-Final 2013-07-24 15:58:02 +10:00
md_5
d0d1562155 Hi, I'm Mojang and I make hundreds of millions of dollars a year. I still like to think I am an Indy company, so I randomly remove existing game features and don't provide replacements.
Removes Texture Pack setting
2013-07-18 20:10:45 +10:00
md_5
f510ab2a0b Update to netty 4 final, exciting! 2013-07-17 16:47:49 +10:00
md_5
fb1cab499d Always use eventloop since we cannot be sure about plugins, thanks @MonsieurApple for the report. 2013-07-12 09:29:53 +10:00
md_5
58ca63e2b1 Use a defensive copy for shorter lock time 2013-07-11 11:14:12 +10:00
md_5
499337c98e Optimized yaml reconnect locations! Ding dong sqlite is dead.. 2013-07-11 11:12:43 +10:00
md_5
526137be7b Remove our packet queuing as it may be contributing to high CPU usage and/or memory leaks. 2013-07-11 10:14:51 +10:00
md_5
47839cb11c writeStringUTF8WithoutLengthHeaderBecause @Dinnerbone StuffedUpTheMCBrandPacket 2013-07-10 23:42:50 +10:00
md_5
55a6cc56ef Recycle messagelist when channel goes inactive (reverted from commit daa58ffe58) 2013-07-10 23:41:37 +10:00
md_5
8c2bea5be2 Fix possible race condition with regards to abandoning servers 2013-07-10 13:02:25 +10:00
md_5
daa58ffe58 Recycle messagelist when channel goes inactive 2013-07-10 09:18:58 +10:00
md_5
0189ad9c17 Add disabled commands 2013-07-09 14:55:27 +10:00
md_5
0c56945ffd Implement upcoming Minecraft API to get the server brand - thanks @Grum for the hint. 2013-07-08 21:29:09 +10:00
md_5
0a36cbd5bc Fix compilation -> add silly catch block 2013-07-08 08:41:11 +10:00
md_5
61b4777177 Use more threads for IO to eliminate resource starvation possibly leading to high CPU usage. This brings the count back in line with what we had pre 1.6 / late 1.5 2013-07-08 08:35:12 +10:00
md_5
7d1904584b Back to Java cipher, they are both the same speed 2013-07-08 08:33:25 +10:00
md_5
475571986c Make sure packets are written before closing 2013-07-07 13:08:25 +10:00
md_5
55c2bcd634 Undo recent SQLite changes - might need to seek *another* DB engine - whats H2 like for concurrency? 2013-07-06 08:30:38 +10:00
md_5
db4abfe486 Expand streams a little bit 2013-07-05 19:17:25 +10:00
md_5
9424bdedca Implement basic MC stream 2013-07-05 19:06:46 +10:00
md_5
52b3c6b77c Dont need to force use of eventloop anymore 2013-07-05 09:32:20 +10:00
md_5
be29799f5a [Beta] Implement own HTTP client for online mode checks, instead of asynchttpclient 2013-07-05 09:29:28 +10:00
md_5
c0d581d41f Rework SQLite again to use thread local connections - closes #492 2013-07-05 08:23:29 +10:00
md_5
6b50c7c599 Move HTTP client stuffs into bungee-proxy 2013-07-04 21:59:38 +10:00
hyperring
b4101874cc Fixed forced_hosts MOTD
Noticed a tiny bug in creating a ServerPing response. The response was still using the old listener.getMotd() when it should be using the new motd variable (to take advantage of the new forced_hosts MOTD methods).
2013-07-04 21:39:33 +10:00
md_5
66de4c95ef Implement BouncyCastle as the cipher engine. 2013-07-04 21:13:10 +10:00
md_5
94cc2412e7 Flush pending messages when manipulating pipeline - fixes forge support 2013-07-04 11:11:57 +10:00
md_5
cac35116c3 Import cleanup 2013-07-04 10:03:41 +10:00
md_5
b741722e5d Close #489 - disable resource leak detector for performance reasons 2013-07-04 09:22:27 +10:00
md_5
3aef35ccbb Warn about non existant fallback 2013-07-02 19:43:48 +10:00
md_5
d1760dad93 Custom outdated messages, tick! 2013-07-02 19:26:21 +10:00
md_5
d3bada58d4 Close #469 - chat event setMessage 2013-07-02 10:45:37 +10:00
vemacs
fdc87e88f5 Supposedly fix walk speeds 2013-07-01 15:34:17 -04:00
md_5
12941ffe62 Close #471 - sync sqlite operations to guard against deadlocks 2013-07-01 21:25:39 +10:00
md_5
06e732d8c7 Close #474 - 1.5 ping to 1.6 bungee 2013-07-01 21:20:18 +10:00
md_5
5c4ea3c7a0 Solve long standing issue of creating too many TCP packets. This fix works very effectively. 2013-07-01 17:38:50 +10:00
md_5
632fa8bd94 Partially support forced_hosts MOTD without SRV records - gonna think how best to put this in the config, for now its server: motd:, might remove listener motd later on 2013-07-01 14:05:57 +10:00
md_5
8732904bfd Add stream helper to PacketFA 2013-07-01 13:45:36 +10:00
md_5
788b96dc0a knohacks - thanks @ammaraskar 2013-07-01 13:37:03 +10:00
md_5
1296783d9b Update to Minecraft 1.6.1 2013-07-01 13:19:18 +10:00
md_5
3e816f628b Update to Netty CR6 2013-06-27 16:22:06 +10:00
md_5
7bfc4bf819 Remove outbound boss for now 2013-06-27 10:16:23 +10:00
David Marby
f8d15f4c88 Fix bad packet ID with bows 2013-06-27 10:14:34 +10:00
md_5
a73b06eee3 Close #462 - shutdown gracefully 2013-06-26 20:48:13 +10:00
md_5
2069679140 Silence JLine errors 2013-06-25 11:29:47 +10:00
md_5
9a173968f1 Update to Netty CR3 but include workaround for (bug?) present in it. Feedback is welcome, #448 is related. 2013-06-23 10:40:27 +10:00
AgentK
13f1fa7443 Reject clients on other protocol versions. 2013-06-21 16:36:37 +10:00
md_5
0f7da279ef Close #450 - errors from our backport 2013-06-19 13:30:43 +10:00
md_5
a6ba661a32 Back to CR1 we go. Deal with the issues. 2013-06-19 07:36:40 +10:00
md_5
22133bc8d2 Close #445 - error when clients use forge 2013-06-18 21:10:16 +10:00
md_5
f9c9517958 Why can no one ever provide helpful information to attempt to diagnose a bug, it is ridiculous that you can expect my help when you don't even provide a version number.
I am seriously just tired of this and need a break.
2013-06-18 20:52:18 +10:00
md_5
7a79bd0816 Update to Netty CR5, boasts very nice performance and should hopefully fix many of the issues we have seen. 2013-06-18 17:14:34 +10:00
md_5
6a60376033 If #438 does not go away, then BungeeCord users are derps, since this class has no been reverted to the exact same state before the so called issue inducing commit 2013-06-17 19:10:38 +10:00
md_5
4ce0eee232 #438 please just go away. 2013-06-17 17:25:20 +10:00
md_5
72f3a79759 Do what we can about Jline not being installed 2013-06-17 17:05:02 +10:00
md_5
dbb6aebf58 #3 windows fix 2013-06-17 16:29:21 +10:00
md_5
8c4ddf458c Fix #1 for windows. 2013-06-17 16:13:27 +10:00
md_5
07fb6490f8 Close issue #440 - players remaining after logout 2013-06-17 14:19:16 +10:00
md_5
7fab3ba372 Try twice to init jline 2013-06-16 21:27:15 +10:00
md_5
92c3ef1989 Fix custom tab API to allow using as soon as constructed 2013-06-16 15:40:31 +10:00
md_5
fbf2d8969e Exception caught should rely on channel activity state, not OUR close flag 2013-06-16 11:30:03 +10:00
md_5
1881507712 Move scoreboard stuff to the sscore package in preparation for refactor 2013-06-16 09:10:25 +10:00
md_5
fd2a72477f Move tab list stuff to the 'tab' package 2013-06-16 09:08:48 +10:00
md_5
d4cbac1bdf Add tab list getter to api 2013-06-16 07:56:38 +10:00
md_5
fa0671ab2a Finish up TabApi impl. 2013-06-16 07:55:15 +10:00
md_5
cbec4e836a Harsher reload warning 2013-06-15 21:12:15 +10:00
md_5
3ce7982778 Clean up pipeline flow. 2013-06-15 21:08:49 +10:00
md_5
b55944e2fb Dont spam the console with too many exceptions 2013-06-14 07:31:58 +10:00
md_5
12cba14657 Tweak our channel promise to be a bit more hellpful on errors 2013-06-13 20:53:35 +10:00
md_5
78e67283cc Roblabla feels listeners should be at the top 2013-06-11 20:23:48 +10:00
md_5
f0f1e71c93 Implement super sexy console to close #315 2013-06-11 18:55:15 +10:00
md_5
3c1a5aabfd Add translation + fix spelling for mojang servers down 2013-06-11 10:29:19 +10:00
md_5
f0d4e8c24a I feel like the time for change is here 2013-06-10 14:55:57 +10:00
md_5
ba8bd7faf0 Try to cut off packet race conditions when moving servers. 2013-06-10 08:54:52 +10:00
md_5
787692070e Set a row limit to stop at, we should shrink this after a while. Meh api is good enough for me 2013-06-08 15:48:26 +10:00
md_5
523e991018 Doesnt allow ALL possible variations of a string, but its good enough for now 2013-06-08 15:34:30 +10:00
md_5
7733fbfb28 Make tab list work! 2013-06-08 14:43:03 +10:00
md_5
44ac36941f Use 1 based index 2013-06-08 14:10:15 +10:00
md_5
0235c4a01e Make sure to init the tab list 2013-06-08 14:08:48 +10:00
md_5
b4220e9229 Refactor all the tab APIs 2013-06-08 14:06:09 +10:00
md_5
9b9addfccd Add interfaces for custom TabAPI, just need to add the hooks now, and of course a pretty example. As always, not tested yet. 2013-06-08 13:51:23 +10:00
md_5
b75a2b5060 [Breaking] Close #423 by making tab list per listener. 2013-06-08 13:13:17 +10:00
md_5
b5aecd5dcc Stab at fixing forge and wecui support when combined. F**** I hate mods. 2013-06-08 12:35:50 +10:00
md_5
4d51d16512 Fix mods like wecui not working after switching servers.
#364
2013-06-08 09:45:45 +10:00
md_5
483fede234 Work around windows bugs 2013-06-06 18:13:56 +10:00
md_5
ce8f1b44b6 Musical versions 2013-06-05 20:30:34 +10:00
md_5
b1e3f6a75b And people think dependancy loading is easy. Close #381 2013-06-05 18:24:33 +10:00
DerFlash
33d315b719 Tone down PingHandler too 2013-06-04 07:42:13 +10:00
md_5
d11e130d61 Close #365 - prettier error when mc.net is down 2013-06-03 19:54:41 +10:00
md_5
45a93c8cfc Close #417: whois -> find 2013-06-03 19:49:35 +10:00
md_5
fd411edddb Tone down logging for surprisingly large reduction in CPU usage - Closes #401 2013-06-03 19:48:21 +10:00
md_5
340d82812a Reorder checks to prevent malformed packets throwing errors 2013-06-02 22:19:49 +10:00
md_5
eaf99cf4a6 Yo dawg. Lets start populating the seen row 2013-06-02 17:11:44 +10:00
md_5
4baae5a230 Add space to whois 2013-06-02 14:39:51 +10:00
md_5
aa1a871967 Actually use our threadLocal. Do'h 2013-06-02 14:33:47 +10:00
md_5
18f5ed3102 Close #410 - forge crashes 2013-06-02 10:30:44 +10:00
md_5
d1dd7379b1 Use cleaner equals check and actually set member field 2013-06-02 10:23:21 +10:00
md_5
0b0d09427d Proper case sensitivity + dont reverse lookup forced hosts 2013-06-02 09:23:05 +10:00
md_5
4f2b98188e Don't allow stupid users to connect bungee to themselves 2013-06-01 17:55:51 +10:00
md_5
d5eb37c7a6 Add debug to tryFailure 2013-06-01 17:46:11 +10:00
md_5
2a421cdd8d Close #306 use SQLite for reconnect locations 2013-06-01 17:29:14 +10:00
md_5
757f8f0cb9 Fix comparisons of objects in case insensitive hashmap 2013-06-01 16:07:17 +10:00
md_5
e652214071 Close issue #406 - tab list 2013-06-01 11:10:56 +10:00
md-5
11b90b91b7 Update ServerConnection.java 2013-05-31 20:45:00 +10:00
md-5
aa3989db19 damn web editor 2013-05-31 19:26:15 +11:00
md-5
76c914db14 Update InitialHandler.java 2013-05-31 18:22:19 +10:00
md_5
639e5f3c1d Add 'unsafe' api for things like packet sending that may be implementation specific or break at any time 2013-05-31 17:02:45 +10:00
md_5
9c35cad824 Will do final tests tomorrow, but all seems to work. Yay for efficiency and options for plugin developers! 2013-05-30 19:36:43 +10:00
md_5
d82b29e15a Finish up protocol API - we now compile again. Extensive testing is required, but that is for another day. 2013-05-30 19:11:05 +10:00
md_5
9b0c827c37 Now just to implement the necessary constructors and constants 2013-05-30 18:29:59 +10:00
md_5
2f45f0d578 Rework protocol system 2013-05-30 18:09:46 +10:00
md_5
ad4c143ce4 Finish and create passing unit tests for the integrity of all packet classes. 2013-05-30 17:34:56 +10:00
md_5
835e4e332c Start work on more efficient, publically accessable packet API 2013-05-30 16:38:53 +10:00
md_5
0578f94522 Rework shutdown sequence to close #391 2013-05-30 16:23:02 +10:00
md_5
0cd4c9030c Close #396 - broken API spec for "ALL" server 2013-05-29 12:03:41 +10:00
md_5
0d666168f0 Close #398 by printing debug so we can identify the issue if it arises again 2013-05-29 12:02:06 +10:00
md_5
cfb823f077 Close #395 - work around trove quirks 2013-05-29 12:00:57 +10:00
md_5
36a5e89ff9 I told you so 2013-05-27 19:28:50 +10:00
md_5
bb4e8e29a5 Update Netty version and remove our workaround - if this breaks, @mibby keeps the pieces. 2013-05-27 18:22:59 +10:00
md_5
8e34e038d6 Remove chat event firing when we get a message from server to client, as Mojang has decided to completely break this in the next major Minecraft release. 2013-05-26 21:24:32 +10:00
md_5
d1950389cc Just leave field as map... 2013-05-26 12:26:26 +10:00
md_5
9d841bb91a Store config in a case insensitive map 2013-05-26 12:25:46 +10:00
md_5
12fec2fcdd Add some not null checks to API methods 2013-05-25 17:26:54 +10:00
md_5
8b6b134662 Maybe one day we will want to set this null - it can start null, so it can become null 2013-05-25 17:24:37 +10:00
md_5
538beb33a6 Remove now redundant field from InitialHandler 2013-05-25 17:22:43 +10:00
md_5
97338cbfad Its impossible unless you have a creative server and no mobs and no nothing, but we must allow 0 as an entity ID 2013-05-25 17:18:03 +10:00
md_5
3e28decef2 Remove getServer from the api - long depreceated 2013-05-25 17:09:29 +10:00
md_5
f93b647df3 Move protocol version declaration 2013-05-25 17:03:00 +10:00
md_5
775ffdc998 Optimize online count and broadcast methods 2013-05-25 17:01:39 +10:00
md_5
80c22027de Slightly more optimized getChannels 2013-05-25 16:52:41 +10:00
md_5
122987dd83 No space for lost connection translation 2013-05-25 16:50:39 +10:00
md_5
ac4bab2425 More case insensitive tests and read write lock for connections 2013-05-25 16:50:04 +10:00
md_5
a51ffb1f4c Use our own promise to work around @netty pipeline issues 2013-05-25 11:55:54 +10:00
md_5
77e0dcc7f8 Dont throw exceptions on missing translations 2013-05-25 11:54:17 +10:00
md_5
7eac22d362 Make perms case insensitive - need to write unit test still 2013-05-24 14:44:40 +10:00
md_5
185dc97ca6 *chatcolor import 2013-05-24 14:41:15 +10:00
md_5
e0d19cf305 Show current server in server command 2013-05-24 14:37:40 +10:00
md_5
0e9002091b Add whois command 2013-05-24 14:35:27 +10:00
md_5
9fdcded97f Close #376 - case insensitive servers and maps 2013-05-24 14:31:31 +10:00
md_5
32fdc83841 Close #383 - swallow exceptions once and for all 2013-05-24 14:16:43 +10:00
md_5
1bf126d4f8 Close #384 - reset locations.yml on error 2013-05-24 14:12:50 +10:00
md_5
56533c6259 Close issue #374 - take a lock when checking channel state / writing 2013-05-23 13:49:58 +10:00
md-5
4cb46c6e5c Merge pull request #372 from roblabla/patch-2
Add global PlayerCount if target is "ALL"
2013-05-22 05:01:48 -07:00
md_5
29f22f9be9 Just swallow the error because thats what we did before. 2013-05-22 18:27:53 +10:00
md_5
98860ffd02 SLightly more atomic locations.yml saving to guard against ctrl+c'ing users 2013-05-22 17:07:46 +10:00
md_5
2c225a05e7 Add atomic close tracking. Closes #370. 2013-05-22 09:24:55 +10:00
Robin Lambertz
c1dfd0fb7b Add global PlayerCount if target is "ALL"
This allows bukkit servers to get the global bungeecord player count.
2013-05-21 22:14:00 +02:00
md_5
9be44d51a6 Update to netty CR3 2013-05-21 11:30:05 +10:00
md_5
2a2c2717d5 Connect via bound address - closes #337.
Blame JacobiCarter if this breaks
2013-05-19 18:14:59 +10:00
md_5
3f994a1c4c Downgrade to @netty CR1 2013-05-19 18:02:01 +10:00
md_5
9a0da50e6c Fix formatting 2013-05-16 16:49:14 +10:00
md_5
67fdc830c2 Protected access please 2013-05-16 16:47:21 +10:00