Commit graph

46 commits

Author SHA1 Message Date
Robin Lambertz
d1490e928a Expose yggdrasil to API consumer
The Yggdrasil library should be exposed to API consumer.
2014-01-10 12:55:16 +01: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
cf6fae5302 bugfix: debug undefined in inde.js 2013-04-07 20:47:12 +02:00
Xabier de Zuazo
ab0237e5e6 "hash" varible moved inside joinServerRequest function 2013-04-07 12:04:29 +02:00
Xabier de Zuazo
bcef115c07 debug message printing when you are trying to connect to an online server without credentials 2013-04-07 12:02:31 +02:00
Xabier de Zuazo
a9afd32ad3 fixed C2 calculation bug (fixes #35) 2013-04-07 11:55:20 +02:00
Andrew Kelley
2d5fda6635 server: ability to change motd and maxPlayers. closes #36 2013-02-10 17:58:02 -05:00
Andrew Kelley
adc47b0f62 fix incorrect playerCount in ping. closes #41 2013-02-10 17:51:47 -05:00
Andrew Kelley
acccaeefeb fix case hole in onlineModeExceptions 2013-02-03 18:53:34 -05:00
Andrew Kelley
cd7f867d95 ability to exempt usernames from online mode or offline mode 2013-02-03 18:21:16 -05:00
Andrew Kelley
76339a4b84 server: online mode: don't log in client until username verification 2013-02-03 16:35:49 -05:00
Andrew Kelley
4313e7e98d batch is a devDependency only now 2013-01-30 23:39:25 -05:00
Andrew Kelley
df3f95e1ff don't require both email and username. closes #32
This change breaks backwards compatibility.

`createClient` no longer takes an `email` argument. Instead, the
`username` argument is used to authenticate and determine the
case correct username.

There is a special case if you leave out the `password` argument.
In this case, `username` is used to connect directly to the server,
and you may get kicked if the server is in online mode.
2013-01-30 19:56:43 -05:00
Robin Lambertz
0ade43b9a5 Change encryption-enabled option to encryption.
Stays consistent with the examples.
2013-01-29 18:28:25 +00:00
Andrew Kelley
035f69919d better error reporting. add test 2013-01-26 22:46:47 -05:00
Andrew Kelley
2434b49528 createServer: allow empty options 2013-01-26 22:13:24 -05:00
Robin Lambertz
374ec71447 Fixes a spelling in a function name 2013-01-27 02:46:52 +00:00
Robin Lambertz
4a7b1e48cd Fix a scope leak which caused tests to fail. Fixes #20 2013-01-27 02:44:02 +00:00
Robin Lambertz
ebc6af6a7e Added server encryption and online mode 2013-01-27 01:12:09 +00:00
Robin Lambertz
68b478ce35 Allow minecraft username instead of mojang email
For those accounts that didn't switch to mojang accounts. Fixes #18
2013-01-26 20:00:38 +00:00
Andrew Kelley
10cb3e0100 test all packets 2013-01-07 23:36:14 -05:00
Jonathan Perret
beb65d0e3d No need to get ursa outputs via base64, get buffers directly 2013-01-06 11:20:58 +01: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
b9bea65e50 expose constants; update README 2013-01-04 23:22:48 -05:00
Andrew Kelley
3e7501b215 update README 2013-01-04 23:16:48 -05:00
Andrew Kelley
2e75851fd6 test passing: clients can log in and chat 2013-01-04 22:47:54 -05:00
Andrew Kelley
68b29db639 passing test: server kicks clients that do not send keepalive packets 2013-01-04 21:56:19 -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
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
d331532d0d don't use buffer-more-ints. closes #11 2013-01-03 22:30:39 -05:00
Andrew Kelley
62e66be053 writePacket -> write 2013-01-03 21:42:50 -05:00
Andrew Kelley
f70110a646 remove unused variable 2013-01-03 21:15:48 -05:00
Andrew Kelley
cc3480ee91 better names for byteArray / bigByteArray 2013-01-03 21:02:44 -05:00
Andrew Kelley
fadb9e0c0a un-namespace packet events. remove generic packet event. 2013-01-03 20:59:58 -05:00
Andrew Kelley
0247fc9cb8 packets.json -> packets.js 2013-01-03 20:53:24 -05:00
Andrew Kelley
79695daa23 fix player position and look. closes #10 2013-01-02 21:57:31 -05:00
Andrew Kelley
646c7676c6 emit packets in their own channel as well 2013-01-02 05:25:53 -05:00
Andrew Kelley
4237787082 add an assert 2013-01-02 04:46:01 -05:00
Andrew Kelley
4b0780db66 all tests passing. closes #3 2013-01-02 03:30:33 -05:00
Andrew Kelley
bde45a3d33 test passing: connects successfully - offline mode 2013-01-02 02:19:47 -05:00
Andrew Kelley
c2beb41fef test passing: connects successfully - online mode 2013-01-02 01:12:42 -05:00
Andrew Kelley
c405ac21f8 refactor into nice npm module. closes #7 2013-01-01 23:39:31 -05:00
Renamed from lib/parser.js (Browse further)