Commit graph

762 commits

Author SHA1 Message Date
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
Romain Beaumont
3a246d1204 Merge pull request #318 from deathcap/patch-1
Remove unused chai dependency
2016-01-18 09:17:09 +01:00
deathcap
60c24a68b7 Remove unused chai dependency 2016-01-17 23:20:03 -08:00
Romain Beaumont
3ba152eba3 add snapshot version in readme 2016-01-13 22:56:13 +01:00
Romain Beaumont
48527cb6ee requires node >=4 2016-01-13 20:38:29 +01:00
Romain Beaumont
bd7b1a5c9b Merge pull request #315 from deathcap/circle-node
Test on newer version of Node
2016-01-13 20:36:47 +01:00
Romain Beaumont
81d85fe596 Merge pull request #314 from deathcap/update-browser
Update browser.js, sync with index.js excluding createClient/createServer
2016-01-13 20:17:28 +01:00
deathcap
f5e521e9cd Update browser.js, sync with index.js excluding createClient/createServer 2016-01-13 11:07:08 -08:00
deathcap
89a975e200 Test on node v4 2016-01-12 22:16:51 -08:00