Nethernet support for joining worlds#533
Nethernet support for joining worlds#533LucienHH wants to merge 61 commits intoPrismarineJS:masterfrom
Conversation
|
Thanks for working on this, please advise when it's ready for review |
|
Most the work is done apart from some bits but would probably be good to start moving parts of this out of here into other areas. Mainly moving the contents of ./nethernet, I'd think it'd make sense to have this in a prismarine-nethernet repo maybe? Same with the Xbox Session API, I think we could get away with putting this in pauth unless you think we should separate an Xbox API to another repo? |
|
|
||
| client.conLog?.(`Connecting to ${client.options.host}:${client.options.port} ${ad.motd} (${ad.levelName}), version ${ad.version} ${client.options.version !== ad.version ? ` (as ${client.options.version})` : ''}`) | ||
| } else if (client.options.transport === 'nethernet') { | ||
| client.conLog?.(`Connecting to ${client.options.networkId} ${ad.motd} (${ad.levelName})`) |
There was a problem hiding this comment.
How do we know what version to connect as here if the user does not specify/can't get via ping?
There was a problem hiding this comment.
If the user doesn't specify it defaults to the current version and the version isn't included in the Nethernet ping response
There was a problem hiding this comment.
OK, what is advertisement.version then? We may have to figure out the version after connecting to the server then like nmp can do. It should be sent in login/network_settings packet otherwise. The current code should also be matching version by protocol version num over strings but that should be fixed outside this PR
There was a problem hiding this comment.
Not entirely sure but I assume it's the version of NetherNet protocol being used as it's just a uint8. From my testing it's always been set to 3 over multiple version updates.
extremeheat
left a comment
There was a problem hiding this comment.
node-fetch can be removed in favor of native fetch now that it's also removed from prismarine-auth
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Majority work for Nethernet support. Supports listening and joining over LAN, signalling via the franchise WebSocket and creating/joining an Xbox session.
To do
Closes #473