Commit graph

33 commits

Author SHA1 Message Date
roblabla
8a81039e88 Fix infinite loop 2015-02-05 18:25:59 +00:00
roblabla
f29f501ea7 Packets are async. Stalls at crypto.randomBytes 2015-02-05 18:02:34 +00:00
Will Franzen
426a01249c Start on parsing compressed packets 2015-01-02 11:50:54 -06:00
roblabla
d657371b6b Fix compression. Implement position. Add some debugging utilities. 2015-01-01 22:20:47 +00:00
Will Franzen
00241c4044 Fix crash when trying to write to socket 2014-12-31 12:26:59 -06:00
Will Franzen
675d358dec Finish adding compression to pipeline (see note)
It's 3 AM and I know theres a pretty big chance none of this code makes sense.
Everything needs to be tested, as well as I need to figure out if encryption
comes after compression or not.
2014-12-30 02:55:04 -06:00
Will Franzen
cfa30d9e1d Add packets to protocol and threshold to client 2014-12-30 02:08:21 -06:00
roblabla
baaac91055 Set no delay on stream if it's TCP. Fixes #38 2014-10-29 00:30:33 +01:00
deathcap
cda8847b44 Emit a 'raw' event for all raw buffers (in addition to per-packet-type) 2014-04-29 19:58:23 -07:00
roblabla
c1a5b8294b woops, add back the 'packet' event 2014-04-11 02:08:17 +02:00
roblabla
0a4b365242 Add opportunistic parsing. 2014-04-11 01:48:06 +02:00
deathcap
0cd3ed13d9 Add packet names 2014-01-13 21:56:56 -08:00
roblabla
875d10ed0b Protocol 1.7 support, Yggdrasil login support, new Client State API 2014-01-06 00:57:18 +01:00
darthfett
9b274df54a Cleanup: terminate all statements with semicolons, remove unnecessary semicolons, remove unused variables, add hasOwnProperty checks in 'for x in y' loops. 2013-11-19 16:55:30 -07:00
Xabier de Zuazo
664c7e380a print sent and received packet contents in debug mode 2013-04-15 06:40:09 +02:00
Matt Stith
88255413ce Only look for SRV records if necessary
Vanilla client implementation only looks for SRV records when the server port isn't specified, so let's mirror that behavior.
2013-04-15 00:09:04 -03:00
Matt Stith
d0664f37b4 Connect to a server's SRV record if they specify one 2013-04-13 17:23:31 -03:00
Xabier de Zuazo
936ba5832d added debug output for read/written packet ids 2013-04-06 05:04:47 +02:00
Xabier de Zuazo
b699d5506a added debug() method for NODE_DEBUG=mc-proto 2013-04-06 05:02:36 +02:00
Andrew Kelley
93068b935d don't ever remove the 'error' handler from the socket.
fixes crashing with an unhandled error
2013-02-03 22:13:15 -05:00
Andrew Kelley
1a434b9743 client emits more predictable 'end' event 2013-02-03 15:36:55 -05:00
Andrew Kelley
bb76dc8b0a Revert "Removed socket delays to reduce latency"
This reverts commit 6442e8d6b0.

Reverting until we can figure out why this is causing test failures.
2013-02-03 15:36:17 -05:00
Matt Bell
6442e8d6b0 Removed socket delays to reduce latency 2013-02-01 17:33:03 -08:00
Robin Lambertz
fdc01db825 Pass the original error around, and emit an error event on the client 2013-01-29 17:39:33 +00:00
Robin Lambertz
d6b3a91751 client.end should have a string argument, not an Error object. 2013-01-29 11:05:10 +00:00
Robin Lambertz
997071ef41 Changed if(typeof var === undefined) to if(var). Made errors error objects. 2013-01-29 08:53:23 +00:00
Robin Lambertz
eaa895120a Original skeleton changes. 2013-01-29 00:44:00 +00:00
Andrew Kelley
10cb3e0100 test all packets 2013-01-07 23:36:14 -05:00
Andrew Kelley
2e75851fd6 test passing: clients can log in and chat 2013-01-04 22:47:54 -05:00
Andrew Kelley
5e0ae2713a Client also emits 'packet' events for every packet 2013-01-04 21:57:17 -05:00
Andrew Kelley
38194ee9b4 add test, ping, and 2 API changes
* passing test: responds to ping requests
 * `mc.ping` - ping a server for info
 * `createServer`: `options.timeout` -> `options.checkTimeoutInterval`
 * `Client` emits `connect` event
2013-01-04 21:33:19 -05:00
Andrew Kelley
1661ef3b4b API updates
* test passing: kicks clients that do not log in
 * index exports `Client` and `Server`
 * `createServer`: `options.keepAliveInterval` -> `options.kickTimeout`
 * `Client` event `end` includes `reason` argument
   - `LoginTimeout`
   - `KeepAliveTimeout`
   - `ServerShutdown`
 * `createClient`: Set `options.keepAlive` to `false` to disable sending
   keep alive packets
 * `Client`: `options.isServer` defaults to `false`.
2013-01-04 20:55:53 -05:00
Andrew Kelley
3a8bfaf8e3 refactor + createServer support 2013-01-04 01:45:57 -05:00