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
Andrew Kelley
b335f201a8
fix objectData writer
2013-02-03 14:32:14 -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
529355782e
Added errors in case of wrong MetaData or wrong Chunk Data
2013-01-29 01:05:33 +00:00
Robin Lambertz
5b67cec4e0
ups. Fixed a syntax error.
2013-01-29 00:48:01 +00:00
Robin Lambertz
eaa895120a
Original skeleton changes.
2013-01-29 00:44:00 +00:00
Andrew Kelley
79e61a4890
fix ping module to pass tests
2013-01-28 22:46:30 +00:00
Robin Lambertz
b5516a81b3
Fixes #20 for real this time...
2013-01-28 22:46:29 +00:00
Jan Buschtöns
e8e78e2942
Add latency measurement to lib/ping.js
2013-01-28 22:46:29 +00:00
Andrew Kelley
804397928c
y values when only 1 byte are always unsigned
2013-01-22 09:01:29 -05:00
Andrew Kelley
75c52bdf00
0x0e: face is an unsigned byte
2013-01-19 17:45:42 -05:00
Andrew Kelley
dbb0a4ccbe
add additional assertion
2013-01-12 05:17:17 -05:00
Andrew Kelley
5a85aa454f
fix incorrectly swapped stance and y on 0x0d
...
add test that would have caught the bug
2013-01-10 20:34:56 -05:00
Andrew Kelley
0aa52864df
simplify and fix entityMetadata parsing and serializing
2013-01-08 02:44:17 -05:00
Andrew Kelley
c03ac963d9
all writers finished and tested. closes #15
2013-01-08 01:53:30 -05:00
Andrew Kelley
817fb9b51e
add writers for most data types
2013-01-08 00:50:43 -05:00
Andrew Kelley
10cb3e0100
test all packets
2013-01-07 23:36:14 -05:00
Andrew Kelley
5df31e4d88
refactor data types
2013-01-07 22:20:40 -05:00
Andrew Kelley
8a6d4bc725
add ushort writer
2013-01-07 22:14:14 -05:00
Andrew Kelley
a50bf7926b
0x38: remove chunkColumnCount. Use meta.length
2013-01-05 23:02:47 -05:00
Andrew Kelley
08f71f11dc
add chunkCount to 0x38
...
changed some more things for more API consistency
* 0x33: compressedData -> compressedChunkData
* 0x38: meta.chunkX -> meta.x
* 0x38: meta.chunkZ -> meta.z
* 0x38: meta.primaryBitMap -> meta.bitMap
* 0x38: add chunkCount
2013-01-05 16:51:42 -05:00
Andrew Kelley
5f769caebc
minor API update
...
* move constants.STRING_MAX_LENGTH -> protocol.STRING_MAX_LENGTH
* expose protocol.version
* expose protocol.minecraftVersion
* expose protocol.sessionVerson
* expose protocol.parsePacket
* expose protocol.createPacketBuffer
2013-01-05 05:17:27 -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
150c89cc6d
passing test: pinging a real minecraft server
2013-01-04 21:42:31 -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
c9ed8a2792
server API update
...
* add passing test for "starts listening"
* server.socket -> server.socketServer
* add client.id which can be used as entity id
* add server.clients which is {clientId: client}
* update server examples
* server emits 'close' event, not 'end' event
* add server.close()
2013-01-04 20:22:19 -05:00
Andrew Kelley
8096a08afd
avoid dependency on iconv. makes it easier to use on windows. see #12
2013-01-04 19:04:06 -05:00
Andrew Kelley
3a8bfaf8e3
refactor + createServer support
2013-01-04 01:45:57 -05:00
Andrew Kelley
d38dad2d56
move packets to protocol, refactor
2013-01-03 23:14:19 -05:00
Andrew Kelley
c405ac21f8
refactor into nice npm module. closes #7
2013-01-01 23:39:31 -05:00
Andrew Kelley
1979ef3848
all clent to server packets have supported data type writers
2013-01-01 20:58:47 -05:00
Andrew Kelley
0d3d9d63a3
all packets parsed. closes #8
2013-01-01 20:29:03 -05:00
Andrew Kelley
7aeea8a320
more packets and parsers
2013-01-01 19:05:20 -05:00
Andrew Kelley
f1da7b152b
more packets supported
2013-01-01 16:42:13 -05:00
Andrew Kelley
7b92a88872
more packets parsed
2013-01-01 15:27:24 -05:00
Andrew Kelley
e42f89a6ac
fix slot parsing
2013-01-01 14:54:25 -05:00
Andrew Kelley
4523996067
more packets parsed
2013-01-01 07:01:14 -05:00
Andrew Kelley
3804c5cea6
refactor and fix map chunk bulk parsing
2013-01-01 06:12:48 -05:00
Andrew Kelley
c51cb26769
parser recognizes map chunk bulk
2013-01-01 05:48:18 -05:00
Andrew Kelley
d501a5a7eb
recognize Set Window Items packet
2013-01-01 05:10:24 -05:00
Andrew Kelley
33bf57b6c2
more recognized packets and data types
2013-01-01 05:02:24 -05:00
Andrew Kelley
fd43515c42
successfully log in to minecraft server
...
next step is to add more supported packets
2013-01-01 04:14:38 -05:00
Andrew Kelley
3bc30a97b5
AES encryption/decryption working.
...
now getting kicked for not verifying username
2013-01-01 01:49:38 -05:00
Andrew Kelley
321a97acb4
successfully getting the encryption key response
2012-12-31 23:53:36 -05:00
Andrew Kelley
043cbd5882
getting encryption request
2012-12-31 20:33:35 -05:00