Commit Graph

173 Commits

Author SHA1 Message Date
Nathan Poirier
8574688be7 Fix compatibility of Title packet for 1.10 and lower (#1997) 2016-11-16 09:22:09 +11:00
md_5
9a4150cd47 Fix read/write mismatch 2016-11-15 08:15:32 +11:00
md_5
72002ed3bd Fix PlayerListHeaderFooter 2016-11-15 08:00:13 +11:00
Shane
95a269df7a Fix handling of Title packet for 1.11 and maintain backwards compat with 1.10 and earlier 2016-11-15 07:59:27 +11:00
md_5
9ecdde2292 Add support for Minecraft 1.11
Improve QueryHandler session handling as suggested by IchBinJoe
2016-11-15 02:40:46 +11:00
md_5
5c809c2499 #1945: Relay MC|Brand messages 2016-08-26 16:11:38 +10:00
md_5
504d3c0529 #1939: Fix server brand; prevent bungee-bungee connections. 2016-08-20 11:43:48 +10:00
md_5
e4cf010bda Update to Minecraft 1.10 2016-06-09 11:44:06 +10:00
md_5
ec48077dbe #1867: Just fake 1.7 login protocol for now 2016-05-15 22:05:31 +10:00
Zartec
d14b96d55e Added separate exception for packet overflows to limit log output.
Attacking a server with a hacked client causes the log to print a huge amount of stacktraces. This will limit the log output to the error message.
2016-05-15 14:52:41 +10:00
md_5
41621193ec #1862: Support 1.7 pings 2016-05-15 14:52:01 +10:00
Thinkofname
a12ac37cc3 Support Minecraft 1.9.4 and tidy up packet handling 2016-05-10 21:51:39 +10:00
md_5
80b3135a93 Fix formatting 2016-04-24 22:31:04 +10:00
Thinkofname
7179dd4c0d Default readArray to capping to readableBytes instead of Short.MAX_VALUE 2016-03-30 23:31:17 +01:00
Thinkofname
1dda27e19b Revert limits mistakenly added to EncryptionRequest 2016-03-30 23:30:26 +01:00
Thinkofname
d1a1e87ab5 Support Minecraft 1.9.2 2016-03-30 16:57:54 +01:00
md_5
6b4e285186 1.9.1 support 2016-03-30 15:59:51 +01:00
Thinkofname
891ad8711d String arrays are only send by servers/Bungeecord. No need to limit their size 2016-03-29 19:41:16 +01:00
Thinkofname
540e924bfb Add limits to byte arrays and string lists 2016-03-28 21:08:00 +01:00
Youri Kersten
a7664a5559 Remove any tracked bossbars when a client switches servers. 2016-03-03 18:57:48 +11:00
md_5
05de455a9c Update to Minecraft 1.9 2016-03-01 09:31:12 +11:00
Thinkofdeath
12a7b7afc3 Add support for 15w33c and multiple fallback servers 2016-03-01 09:31:12 +11:00
Thinkofdeath
dfaa687f71 Remove 1.7.x Support 2016-03-01 09:31:12 +11:00
md_5
9c4380a201 System.err already has priority prefix. 2016-02-05 12:53:07 +11:00
md_5
8490d611bf [#1717] Perform a copy if Netty isn't using a direct address for any reason. 2016-02-05 12:50:42 +11:00
md_5
841c81cdc4 [#1714] Make a copy of the main Minecraft buffer as EntityMap.rewriteVarInt may require more bytes than available. 2016-01-24 19:45:02 +11:00
md_5
052131c1fa Reduce amount of memcpy within proxy pipeline. 2016-01-24 11:22:39 +11:00
Thinkofdeath
6343416c0c Update the PluginMessage packet to respect the protocol limit changes in 1.8 2015-07-16 23:07:30 +01:00
md_5
ddfd76ebda Make MinecraftDecoder a MessageToMessageDecoder 2015-05-18 20:16:12 +10:00
Thinkofdeath
d76c8d4f33 Ensure the copy is freed if an exception occurs during parsing packets 2015-04-12 01:47:10 +01:00
Thinkofdeath
988490ba87 1.8 isn't a snapshot anymore 2015-02-25 22:27:50 +00:00
md_5
61cee2d27c Fix formatting in a bunch of files. 2015-02-14 18:36:58 +11:00
md_5
0d569ac0d1 Refactor native code and implement our own JNI wrapper around zlib.
The previous native cipher code has been refactored so that it may be loaded and used slightly more generically, allowing more native components to be easily added as time goes on.
I have also written a new native code compression module, which wraps around zlib in the same manner that Inflater / Deflater does, however it operates directly on the memory addresses of it's input / output buffers which means that we can save one, or maybe even two copies. To support this, the VarInt decoder has been adjusted to always use a native buffer.
2015-02-07 14:06:41 +11:00
portalBlock
e68ed48fc3 Use the cached constructor when instantiating a packet. 2015-01-22 18:25:45 +11:00
md_5
1711223b02 Use string lists in preference to string arrays. 2014-12-22 19:59:14 +11:00
Minecrell
772c8d7f2b Improve legacy client ping support. 2014-11-15 10:18:40 +00:00
Daniel Naylor
cfad2c65d4 Implement Support for MinecraftForge / FML 1.7.10
Additional implementation help provided by @jk-5 and @bloodmc.
2014-09-27 19:38:28 +10:00
Minecrell
4e353e9277 Add Title API. 2014-09-07 09:30:57 +01:00
Minecrell
d6b7157c1c Add player list header / footer API. 2014-09-07 09:26:52 +01:00
Thinkofdeath
73d7e0cf99 Bump protocol to 1.8 2014-09-02 09:44:07 +01:00
md_5
5282a8f45a Just use server specific tab lists for now. 2014-08-31 19:18:19 +10:00
md_5
f15eed338d Fix tab list 2014-08-31 19:01:24 +10:00
Thinkofdeath
26521cf2ff Add support for Minecraft 1.8.x
This commit allows BungeeCord to support Minecraft clients both of versions 1.7.x and of 1.8.x. There should be no breakages to any other support, however following their deprecation and uselessness within 1.8, the Tab list APIs have been removed.

Please report any issues to GitHub and be sure to mention client, server and BungeeCord versions.

When used with an appropriate server jar (such as multi protocol Spigot), this will allow clients of many versions to concurrently be connected to the same set of servers.
2014-08-31 09:03:12 +01:00
Jonas Konrad
afa37505c5 Fix javadocs for java 8 doclint 2014-06-28 09:05:50 +10:00
md_5
151344aaff Fix typo in unused readUnsignedByte method of MinecraftProtocol 2014-06-20 19:26:34 +10:00
Thinkofdeath
6475385f87 Use ProtocolConstants instead of raw protocol numbers 2014-04-16 14:57:09 +01:00
Thinkofdeath
6775b9230c Update Team packet's field names. unknown -> nameTagVisibility, unknown2 -> color 2014-04-16 14:46:48 +01:00
md_5
5a638f2290 Enable 14w11 support, changing servers is a bit iffy though due to EntityMap not being complete. 2014-04-16 11:01:41 +10:00
md_5
3715756be7 Update packets for MINECRAFT_14_11_a 2014-04-16 10:48:40 +10:00
md_5
1a1a51b38d Replace direction strings with concrete enums 2014-04-16 10:28:07 +10:00
md_5
bc2b4db419 Replace literal numbers with usages of the ProtocolConstants class. 2014-04-16 10:18:16 +10:00
md_5
dc2da29c16 Code format. 2014-04-13 14:15:41 +10:00
Thinkofdeath
1d3adc5317 1.7.6-pre1 Support 2014-04-04 21:42:10 +11:00
md_5
e87d25c321 Remove playerCount from team - closes #889 2014-02-21 20:18:39 +11:00
md_5
a272afd693 Some 32bit var ints need 5 bytes 2014-02-13 07:13:48 +11:00
md_5
87f3706736 Cap VarInt down to 4 bytes. Early Mojang implementations used 32 BYTES, then they changed it to 5 BYTES. I think they mean 4 BYTES = 32 BITS. 2014-02-12 19:51:43 +11:00
md_5
649f83dee2 Fix team packet for 1.7 servers 2014-01-28 13:28:06 +11:00
md_5
b2f517fa63 Implement dual protocol version support. 2014-01-27 11:26:27 +11:00
Thinkofdeath
2100da2a9f Don't remove the legacy decoder if a legacy packet is found
Removing the decoder causes the bytebuf to be passed on to the next handler to be parsed normal packet which causes an error with legacy handshakes.
2014-01-05 17:06:07 +00:00
TheUnnamedDude
8c367d86e7 Properly kick older clients 2014-01-05 11:25:42 +11:00
md_5
80caa2b669 Code format :( 2014-01-03 19:52:35 +11:00
md_5
63d49ac296 Add some failsafe length preconditions 2013-12-02 18:49:39 +11:00
md_5
5dc91e3a01 1.7.2 update 2013-10-26 08:30:42 +11:00
md_5
2101964330 1.7 pre release support 2013-10-23 06:30:16 +11:00
md_5
00854988fb Latest snapshot. Doesnt seem to be worky though 2013-10-19 17:42:45 +11:00
md_5
4f8085678c 1.6.4 ping support 2013-10-19 17:27:13 +11:00
md_5
3b9af0ab85 Fix 41b support 2013-10-16 17:29:49 +11:00
md_5
18db20fe42 41b update 2013-10-15 16:29:36 +11:00
md_5
69b209bcc6 Fix /server command. Now working! 2013-10-12 15:36:22 +11:00
md_5
26be0566f4 I love @Cobi 2013-10-12 15:29:39 +11:00
md_5
e0ebf1af21 All my work on 1.7 so far. Pinging doesnt work, but everything else is near functional. Gotta figure out wtf is happening. 2013-10-12 12:08:26 +11:00
md_5
b8c9330bd6 Sigh 2013-10-12 12:01:17 +11:00
md_5
1b41682e37 Checkpoint 2013-10-12 11:36:53 +11:00
md_5
dbdae87ec6 Basically done with login 2013-10-11 21:36:28 +11:00
md_5
7121c20338 Compiles yet again 2013-10-11 20:34:21 +11:00
md_5
d900417d95 It compiles 2013-10-11 20:00:54 +11:00
md_5
7be929bb08 Update protocol - major overhaul 2013-10-11 19:26:40 +11:00
md_5
4257b81d8c WIP 2013-10-11 18:40:21 +11:00
md_5
96acdb97fd Update to latest snapshot. 2013-10-11 16:16:02 +11:00
md_5
3fc7064997 Add missing setters for handshake. 2013-10-05 09:50:20 +10:00
zaiyers
dd06937a3b changes to tab completion
* PacketCBTabComplete: options for completion should be seperated by
NUL
 * PluginManager: append an empty argument to arguments if command ends
with a whitespace (this will match all suggestions)
 * PlayerCommand: suggest only matching players instead of all players
2013-09-29 09:37:39 +10:00
md_5
02324206e3 Clean up packets a tad 2013-09-28 17:03:33 +10:00
md_5
3e8c21a485 Add specific exception for bad packets. 2013-09-21 16:57:17 +10:00
md_5
703a393888 Procol -> Protocol. Fix typo, thanks @libraryaddict 2013-09-20 15:41:30 +10:00
md_5
3c961cd5d9 1.6.4 - MOJANG 2013-09-20 08:23:06 +10:00
md_5
12ee68a315 Update to 1.6.3 2013-09-19 17:41:01 +10:00
md_5
29c897c9cf Add Tab Completion loosely based on @TheUnnamedDude's work. 2013-09-15 06:46:10 +10:00
md_5
47839cb11c writeStringUTF8WithoutLengthHeaderBecause @Dinnerbone StuffedUpTheMCBrandPacket 2013-07-10 23:42:50 +10:00
md_5
9adcb05d45 Fix 1.6.2 support 2013-07-08 22:37:59 +10:00
md_5
10e81041b2 Update to 1.6.2 2013-07-08 21:29:09 +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
cac35116c3 Import cleanup 2013-07-04 10:03:41 +10:00
md_5
d3bada58d4 Close #469 - chat event setMessage 2013-07-02 10:45:37 +10:00
md_5
8732904bfd Add stream helper to PacketFA 2013-07-01 13:45:36 +10:00
md_5
1296783d9b Update to Minecraft 1.6.1 2013-07-01 13:19:18 +10:00
md_5
ac5e8dbaff Fix the bad packets! Naughty naughty packets! 2013-06-03 19:35:38 +10:00
md_5
d1dd7379b1 Use cleaner equals check and actually set member field 2013-06-02 10:23:21 +10:00
md_5
dce0f6b408 Missed some getters 2013-06-01 18:01:04 +10:00
md_5
c5307c4451 Dont use getters in team packet and add null check to team name 2013-06-01 18:00:17 +10:00