Client refers to the client performing a port lookup. Server refers to the World Host server.
- Client asks Server to begin port lookup with a randomly generated UUID.
- Client sends Server UUID over UDP signaling channel (retransmitted every 3 ticks).
- If Server doesn't receive the UUID within 10 seconds, it drops the request.
- Server sends Client identified IP and outer port.
Client A refers to the client hosting the world. Client B refers to the connecting client. Server refers to the World Host server.
- Client B performs Port Lookup to receive an open outer port.
- Client B asks Server for Client A to open a port for a specified purpose. A unique UUID, the IP, and the outer port are included.
- Server passes the request to Client A.
- Client A verifies the request comes from a valid party.
- If verification is successful, Client A performs Port Lookup and sends an empty packet to Client B's port until Port Lookup finishes.
- Client A asks Server to send Client B its IP and port.