Commit graph

929 commits

Author SHA1 Message Date
deathcap
58fd1eab35 Lookup version using minecraft-data postNettyVersionsByProtocolVersion 2016-02-01 21:02:42 -08:00
deathcap
c2913daae0 Update to minecraft-data ^0.19.1 2016-02-01 09:48:12 -08:00
Romain Beaumont
e9d959e219 Merge pull request #320 from deathcap/clientstream
Add 'stream' option to client, generic stream alternative to TCP/IP host/port options
2016-02-01 10:25:48 +01:00
Romain Beaumont
c23db885fa let's not compute the size of the varInt 2 times 2016-02-01 10:18:01 +01:00
Romain Beaumont
172e31c58d Merge pull request #316 from deathcap/frame1
Send framed packets in one push()
2016-02-01 10:15:19 +01:00
Romain Beaumont
bf029d3698 Merge pull request #334 from deathcap/legacyping
Server response to legacy ping (fe and fe01) packets
2016-02-01 10:07:40 +01:00
deathcap
070a046eea Try to clone minecraft-data to workaround https://github.com/PrismarineJS/node-minecraft-data/issues/16 2016-01-31 21:49:41 -08:00
deathcap
aa3ae32975 Try using git commit hash to node-minecraft-data 2016-01-31 20:50:57 -08:00
deathcap
4b3f8b5b09 Update minecraft-data to use GitHub dependency on PrismarineJS/node-minecraft-data 2016-01-31 20:43:07 -08:00
deathcap
84c4c26503 Update to minecraft-data ^0.19.0 2016-01-31 20:11:15 -08:00
deathcap
cf2688d8f8 Send framed packets in one push() 2016-01-31 18:25:14 -08:00
deathcap
39b7199ec6 Add 'stream' option to client/tcp_dns, alternative to host,port for TCP 2016-01-31 15:33:06 -08:00
deathcap
834170689e Remove createClientStream 2016-01-31 15:27:38 -08:00
deathcap
dccb9cef58 Merge branch 'master' into clientstream 2016-01-31 15:26:26 -08:00
deathcap
ddcca012ef Pre-Netty protocol versions are not supported yet 2016-01-31 12:48:39 -08:00
deathcap
88e8374ad4 Update documentation for version:false option 2016-01-31 12:44:06 -08:00
deathcap
2e2a213076 Update client connect() for options move compatibility 2016-01-31 12:28:25 -08:00
deathcap
f17de6410b Use new object for ping() to avoid potential cross-contamination 2016-01-31 12:26:03 -08:00
deathcap
d0f64e9c65 Set state property instead of setSerializer() to ensure serializers are properly piped 2016-01-31 12:20:51 -08:00
deathcap
70f1883a0c Set tagHost in src/client/forgeHandshake.js 2016-01-31 11:17:35 -08:00
deathcap
9a68fd6c34 Support options.version==false in createClient() to auto-detect version 2016-01-30 22:53:38 -08:00
deathcap
163e2157fc Remove useless statement 2016-01-30 22:49:57 -08:00
deathcap
af62189e19 Rename src/createClientAuto.js -> src/client/autoVersion.js 2016-01-30 22:34:26 -08:00
deathcap
ea3b306988 Move options to client object
This allows client plugins to change the options on the client object,
and have it reflected in other plugins. Previously, had to rely on the
options being the same object, and hold a reference to it. Now it is
always accessible as `client.options`.
2016-01-30 22:31:10 -08:00
deathcap
89198c62ff Use minecraft-data for protocol version -> minecraft version 2016-01-30 22:27:36 -08:00
deathcap
66e6f4dd0b Update to use compatible sync API (createClient) 2016-01-30 22:16:36 -08:00
deathcap
00bf6acea9 Fix unintentional var client declaration 2016-01-30 22:09:25 -08:00
deathcap
4a677a25ba Use endian-toggle for UTF-16BE encoding (not in nodejs, see https://github.com/nodejs/node-v0.x-archive/issues/1684) 2016-01-30 21:40:03 -08:00
deathcap
6eb95766cb Add legacy ping type 1 support (includes versions) 2016-01-30 16:07:56 -08:00
deathcap
dda0cb2e77 Refactor ping replying into sendPingResponse() 2016-01-30 16:00:12 -08:00
deathcap
af542c29f2 Add server support for legacy ping type 0 (0xfe) 2016-01-30 15:56:48 -08:00
deathcap
9b824b5b88 Legacy ping is only allowed when in HANDSHAKING state (otherwise, varint packet length 254) 2016-01-30 15:28:40 -08:00
deathcap
4840ffe7b1 Splitter prepends length header to legacy ping for deserializer support 2016-01-30 15:20:53 -08:00
deathcap
c24718f64c Recognize legacy ping in splitter. GH-332 2016-01-30 14:45:41 -08:00
deathcap
9ec6d876ba Add wait_connect option, to require 'connect_allowed' event before src/client/setProtocol proceeds
Intended to allow clients to configure the client object before any data
is sent, specifically, before src/client/setProtocol sends the
set_protocol packet.
2016-01-28 09:49:37 -08:00
deathcap
a53a2977f2 Add dynamic cross-protocol support 2016-01-27 23:28:27 -08:00
deathcap
069a79ba3e Update client/forgeHandshake.js to be installable as module 2016-01-27 20:42:15 -08:00
deathcap
0ab5b6150d Rename src/fml.js -> src/client/forgeHandshake.js 2016-01-27 20:34:48 -08:00
deathcap
fd9caddb67 Merge branch 'master' into forge (client modularization)
Merging https://github.com/PrismarineJS/node-minecraft-protocol/pull/333
2016-01-27 20:27:53 -08:00
Romain Beaumont
a6a673a8c8 Merge pull request #333 from deathcap/m2client
Modularization attempt of createClient()
2016-01-27 22:46:26 +01:00
deathcap
c3d86d7674 Add client.connect(port, host) for backwards-compatibility
Would like to remove this method because it is hardcoded to dependent on
TCP/IP, but the serverTest uses it. Load tcp_dns as needed.
2016-01-26 01:15:59 -08:00
deathcap
bf5ce9e569 Pass haveCredentials/accessToken between client/caseCorrect and client/encrypt 2016-01-26 00:55:44 -08:00
deathcap
2f60088fdf Fix missing tcp_dns host option 2016-01-26 00:47:21 -08:00
deathcap
cf5f8c1c4c Pass options to all src/client/*, for consistency 2016-01-26 00:01:09 -08:00
deathcap
fe327c85e1 Move net.socket() and dns.resolveSrv() into client/net_tcp
This has been the trickest to refactor/remodularize, since it used to
modify the Client prototype to augument connect(host, port). This added
a dependence on TCP/IP host/port socketpairs, refactor to add a
'connect' option instead, called with the client instance. Update ping
accordingly, but it has to call connect itself since it does not include
client/caseCorrect, which normally calls connect. Still may be able to
improve further and untangle these interdependencies cleanlier.
2016-01-25 23:57:10 -08:00
deathcap
de36de8496 Break client/caseCorrect dependence on TCP/IP host/port; generalize options.connect(client) 2016-01-25 23:47:23 -08:00
deathcap
9c2112802a Fix ursa imports 2016-01-25 23:40:35 -08:00
deathcap
34534b2aa6 Move onLogin set state=PLAY to client/play 2016-01-25 23:36:36 -08:00
deathcap
b37dcc4d08 Move onConnect/set_protocol to client/setProtocol 2016-01-25 23:33:58 -08:00
deathcap
821227d73e Move making a request to get case-correct username before connecting to client/caseCorrect 2016-01-25 23:28:14 -08:00