Commit Graph

275 Commits

Author SHA1 Message Date
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
md_5
efdedbd4e8 Trove should not be a core depend. 2014-09-12 18:24:14 +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
2cec5f344a Update versions to 1.8... oops 2014-09-01 16:56:03 +10: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
0952e53d11 Update to 1.7 poms. 2013-10-23 17:33:21 +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
a7a32509c7 find * -type f -print0 | xargs -0 sed -i 's/1.6.2/1.6.4/g' 2013-09-20 19:51:57 +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
b3e8feb4cb Update POMs to 1.6.2 2013-07-18 20:13:07 +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
f579b31bca Add framework for HTTP api 2013-07-04 10:29:37 +10:00
md_5
cac35116c3 Import cleanup 2013-07-04 10:03:41 +10:00
md_5
85e82a2e34 Update POMs to 1.6.1 2013-07-02 20:59:04 +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
md_5
388d2620db Fix forge support with new protocol - closes #407 2013-06-01 12:55:02 +10:00
md_5
3ba52cb98b Might need a better way to do this...... oh well, add all the netbeans code style files 2013-06-01 11:12:03 +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
125d3f07f7 Fix up failing test 2013-05-30 18:15:10 +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
f93b647df3 Move protocol version declaration 2013-05-25 17:03:00 +10:00
md_5
156ea30c32 Add scoreboard packets + API classes. Still unimplemented. 2013-03-16 20:48:51 +11:00
md_5
34f4bae923 Fix score add definition 2013-03-16 20:37:36 +11:00
md_5
5365e5fb92 Bump the other pom versions to 1.5 too. 2013-03-15 21:21:58 +11:00
md_5
ac426f0c3f Use global netty version variable. 2013-03-14 20:35:58 +11:00
md_5
9483c0228b Make protocol only depend on netty-buffer 2013-03-14 19:50:44 +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
9edcda7ace Downgrade NIO to 1.4.7 2013-03-11 18:28:10 +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
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
6525502836 We can login now. Kindof. *wipes sweat off brow. 2013-03-09 14:19:12 +11:00
md_5
bcaafc206f Advancing further in the login process. 2013-03-09 10:10:36 +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
0077af58d0 Start work on netty overhaul 2013-03-07 20:05:41 +11:00
md_5
a46720a1ee Fix Spoutcraft support. @Zidane @Dockter, please be aware that you were misinformed / incorrect in your statements and Netty in Spigot has nothing to do with the issues experienced by users with Spoutcraft. 2013-02-22 20:11:30 +11:00
md_5
bef2818537 Fix forge support - #111 2013-02-14 18:30:48 +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
ce6656afc0 Reformat API + Protocol 2013-02-09 19:13:40 +11:00
md_5
8840dade68 Finish merge of protocol subproject 2013-02-09 19:08:56 +11:00
md_5
d5bf71b4b7 Merge Mendax into protocol/ for easy development. 2013-02-09 19:03:45 +11:00