deathcap
283b75d694
Forge client example pings server to get forgeMods list
...
Avoids the need to hardcode the mod list in the client, in order to
successfully connect to arbitrary Forge servers (with various mods).
2016-01-23 20:01:07 -08:00
deathcap
0b45b439bc
Use symbolic values for writeAck() phase
2016-01-23 19:29:27 -08:00
deathcap
6c33ec2856
Refactor FML|HS to use state machine
...
Instead of responding based on the packet type received, maintain a
local state and ensure the correct packets are received. Should help
avoid unexpected states/behavior. See:
https://github.com/ORelio/Minecraft-Console-Client/pull/100/files#diff-65b97c02a9736311374109e22d30ca9cR297
2016-01-23 19:26:50 -08:00
deathcap
8fd30f6af9
Move to fmlHandshakeStep()
2016-01-23 19:03:54 -08:00
deathcap
0b2550e206
Add forgeMods option, set to array of Forge modifications installed on client
2016-01-23 18:17:18 -08:00
deathcap
1349fdfc73
Update examples to log when connection is lost
...
Normally, the client will send a kick packet if the client is
disconnected from the server, but if the connection is lost due to
network or lower-level protocol issues, the 'end' event will be emitted.
Log this event in the examples so it is clear why the scripts exit.
2016-01-23 18:08:18 -08:00
deathcap
46a134c5e9
Fix sending Handshake|Ack phase
2016-01-23 17:44:20 -08:00
deathcap
c680c0d12a
Fix RegistryData hasMore field definition and usage
2016-01-23 17:05:33 -08:00
deathcap
265fcd9d4c
ModList field uses 'modid' to match ServerPingList packet JSON
2016-01-23 17:04:02 -08:00
deathcap
6a6bdff5c8
fmlProtocolVersion client/server no longer collide
2016-01-23 17:03:13 -08:00
deathcap
b9bc0e1cb8
Switch on packet type through an anonymous container
2016-01-23 17:02:07 -08:00
deathcap
74c5b74950
Use a mapper for symbolic subpacket names vs discriminator byte values
2016-01-23 16:29:15 -08:00
deathcap
80cc68e480
Add a mapper for FML|HS discrminator bytes
2016-01-23 16:16:31 -08:00
deathcap
30b347cb99
FML|HS client sends HandshakeAck COMPLETE in response to server
2016-01-23 15:42:03 -08:00
deathcap
e80471753b
Complete the HandshakeAck exchange
2016-01-23 15:41:07 -08:00
deathcap
06f8a5fe28
Send client HandshakeAck with WAITINGSERVERDATA
2016-01-23 15:31:33 -08:00
deathcap
790ba538d9
Show FML|HS ModList from server
2016-01-23 15:19:28 -08:00
deathcap
735b7f6d65
Hardcode a mod list for now
2016-01-23 15:14:02 -08:00
deathcap
1f68b30d87
Add missing string type in FML|HS serializer
...
Fixes Error: SizeOf error for mods.2.0.name : missing data type: string
2016-01-23 15:12:40 -08:00
deathcap
459da049c1
FML|HS ModList packet array
2016-01-23 14:45:52 -08:00
deathcap
cb9e6db991
FML|HS: ModList: send empty client modlist
2016-01-23 14:31:03 -08:00
deathcap
2787adbad3
Register client plugin channels on FML|HS ServerHello
...
This may not be strictly necessary, in either case Forge server with
-Dfml.debugNetworkHandshake=true logs:
[14:26:03] [Netty Server IO #3/INFO] [FML]: Client protocol version 2
2016-01-23 14:26:11 -08:00
deathcap
e9159a432b
Send ClientHello response to ServerHello
2016-01-23 14:23:32 -08:00
deathcap
8af797a04c
FML|HS: encode ClientHello
2016-01-23 14:16:07 -08:00
deathcap
9bb788bb7a
FML|HS: ServerHello: overrideDimension only sent if fmlProtocolVersion>=2
2016-01-23 14:12:50 -08:00
deathcap
8f1704bc7a
FML|HS: ServerHello: decode overrideDimension
2016-01-23 14:08:20 -08:00
deathcap
09b4dc8358
Decode fmlProtocolVersion in ServerHello
2016-01-23 14:00:59 -08:00
deathcap
8018de5c29
Parse FML|HS discriminator byte using protodef
2016-01-23 13:49:48 -08:00
deathcap
1d8332e2e8
Log registered plugin channels
2016-01-23 13:40:59 -08:00
deathcap
bf04af23f9
client_forge example: enable forge
2016-01-23 13:04:50 -08:00
deathcap
a6604511c7
Create client_forge example copied from client_echo
2016-01-23 13:04:50 -08:00
deathcap
6e50863eaa
Append \0\FML\0 to hostname in set_protocol packet if Forge enabled
...
http://wiki.vg/User:Pokechu22/Forge#Connection_to_a_forge_server
2016-01-23 13:04:50 -08:00
Romain Beaumont
609c4466f7
Merge pull request #325 from deathcap/debug-read
...
Add debug logging for received packet data
2016-01-23 22:04:01 +01:00
deathcap
162a8abb34
Add debug logging for received packet data
2016-01-23 12:10:26 -08:00
Romain Beaumont
fbbfd40bc6
Merge pull request #324 from rom1504/one_uuid
...
use uuid-1345 instead of 3 uuid packages, fix #297
2016-01-22 12:46:44 +01:00
Romain Beaumont
eefb113b4c
use uuid-1345 instead of 3 uuid packages, fix #297
2016-01-22 12:42:04 +01:00
Romain Beaumont
5b8a507d5a
Merge pull request #305 from rom1504/update_to_babel6
...
update to babel6
2016-01-22 11:21:01 +01:00
Romain Beaumont
447eff80dd
Merge pull request #323 from deathcap/disconnect-reason
...
Show disconnect reason in examples
2016-01-22 11:12:32 +01:00
deathcap
4aac85c09a
Show disconnect reason in examples
2016-01-22 00:32:36 -08:00
Romain Beaumont
3f161622f9
update to babel6 and remove some dependencies
2016-01-20 00:50:04 +01:00
Romain Beaumont
16a5c0fc0d
Merge pull request #321 from deathcap/remove-es7
...
Remove experimental ES7 features, use only standard ES6
2016-01-20 00:14:17 +01:00
deathcap
76fca99ac4
Disable ES7 experimental stage 0 features in favor of ES6 standard
2016-01-18 18:17:53 -08:00
deathcap
91a404333e
Remove non-ES6 class field declarations (ES7 stage 1 proposal)
...
ES6 does not have support for class field declarations, although it is
an experimental ES7 proposal:
https://github.com/jeffmo/es-class-fields-and-static-properties
For ES6, move the field/property declarations to the constructors.
2016-01-18 18:17:12 -08:00
deathcap
dd1d647d0e
Remove stream option, since callers can simply use client.setSocket()
2016-01-18 13:39:22 -08:00
deathcap
9a781ca662
Refactor createClient to use createClientStream
2016-01-18 13:13:20 -08:00
deathcap
b33dd88ac2
Make stream option optional, caller can setSocket() later
2016-01-18 13:02:39 -08:00
deathcap
73d69e66d7
Add noPacketFramer option to createClientStream()
2016-01-18 01:42:35 -08:00
deathcap
6125fb7303
createClientStream() takes a stream
2016-01-18 01:42:29 -08:00
deathcap
2483e6fba0
Copy createClientStream.js from createClient.js
2016-01-18 00:29:24 -08:00
Romain Beaumont
3a246d1204
Merge pull request #318 from deathcap/patch-1
...
Remove unused chai dependency
2016-01-18 09:17:09 +01:00