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
4aac85c09a
Show disconnect reason in examples
2016-01-22 00:32:36 -08:00
Romain Beaumont
43d56de2f6
fix cli options doc proxy example, fix #313
2016-01-07 01:55:28 +01:00
Romain Beaumont
b2b53c9343
a few small changes to make the code better
2015-11-30 22:19:56 +01:00
Romain Beaumont
57d9c05941
use require-self to be able to use require('minecraft-protocol') in examples
2015-11-30 13:23:38 +01:00
Romain Beaumont
787f8d3423
fix gamemode3 in proxy : fix #146
...
* correctly generate the same uuidv3 than the vanilla server does in offline mode : fix #282
* remove "one player online mode" in the proxy : it doesn't make sense to identify all players as the user/passwd given in the cli. Now both servers in offline mode.
2015-11-08 23:34:15 +01:00
Romain Beaumont
23b077b76f
fix compression in proxy, fix #292
2015-11-08 23:34:15 +01:00
Romain Beaumont
f45c6dff49
use protodef:
...
* move general datatypes to protodef along with their tests
* move states to states.js file
* use one protodef serializer by state and direction instead of one big serializer for everything (same thing for the deserializer)
* define a packet as a protodef type using a switch and a container, and adding each minecraft packet as a type (packet_ + name)
* use mapper type from protodef to convert id to name in packet definition
* use general string type : pstring
* divide by 10 the number of iteration in the benchmark to get back to a reasonable test execution time
2015-11-08 23:29:51 +01:00
Romain Beaumont
0da2b14607
change dependency from buffertools to buffer-equal in proxy
2015-10-13 17:15:49 +02:00
Romain Beaumont
30fd138ae9
use bufferEqual instead of buffertools
...
native modules are annoying
2015-10-13 17:11:51 +02:00
Romain Beaumont
3f50a6f19a
add an optional argument to the proxy example to specify the version
2015-09-30 00:17:44 +02:00
Romain Beaumont
7871ac446a
fix proxy relatively to the unexposing of createPacketBuffer
...
also fix a small bug in serializer.js
2015-09-30 00:03:42 +02:00
Robin Lambertz
a337e5ae3e
Merge pull request #249 from rom1504/fix_client_chat
...
clean up and fix client_chat
2015-09-23 20:25:03 +02:00
Robin Lambertz
84b32fd4d3
Merge pull request #250 from rom1504/fix_server
...
fix server example
2015-09-23 19:43:30 +02:00
Robin Lambertz
c2749505e8
Merge pull request #251 from rom1504/fix_client_echo
...
fix client_echo example
2015-09-23 19:43:19 +02:00
roblabla
cf1503f9de
Fix proxy.js
2015-09-23 15:22:02 +02:00
Romain Beaumont
272a28701c
fix client_echo example
2015-09-20 22:19:39 +02:00
Romain Beaumont
0d5b122423
fix server example
2015-09-20 22:10:20 +02:00
Romain Beaumont
a3cd6c49ad
clean up and fix client_chat
2015-09-20 22:00:43 +02:00
Romain Beaumont
0ce00f2cc7
put keepAlive: false in proxy.js : fix connecting to a proxy with some lag (ie not with both proxy and vanilla client in localhost)
2015-08-08 17:29:54 +02:00
Romain Beaumont
145c6b4840
add a little info in the proxy example
2015-08-06 00:04:53 +02:00
Romain Beaumont
5743cd8b64
Revert "Add some debug information (useful to update to an updated protocol)"
...
This reverts commit d2435c8dcd
.
2015-08-05 23:30:04 +02:00