Technical explanation #6
Labels
No labels
bug
could not reproduce
duplicate
enhancement
forge
help wanted
invalid
log for fucks sake
question
relay-au
relay-de
relay-jp
relay-us
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: me/e4mc_minecraft#6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Yes, you do have the source available, but it would still help to have a technical explanation of how the mod works, to be aware of potential issues and dangers.
Here's a brief overview of the architecture:
e4mc_minecraft connects to wss://ingress.e4mc.link, which then is routed to the closest relay server.
the relay server assigns the host a domain.
when a player connects to an e4mc-managed domain, the relay server looks up the domain in the handshake packet and starts relaying the connection to the corresponding host via the initial websocket connection.
the relay server is intentionally oblivious of how the Minecraft protocol works other than the format of the handshake packet, and does not modify any packets to or from the host.
Thanks!