Clients connect to the master server and associate their external ip address to their online data.
- A Client clicks the join game button
- The system hunts down available potential game from a persistent cache
- If it finds no match the master returns info to the client to become a host. Server also saves this new game info into a persistent data cache
- The client then does a “open mapname?listen” to become the host server
- another client will click join game
- master hunts down an available game from the cache
- Finds an available game
- Sends the host the joining clients external ip to the host(only the ip, no port)
- host does a sloppy Call URL to the “externalip:7777”( I couldn’t use open because that closes the current listen state)
- master sends client the host external ip
- joining client player will then do a “open hostip”
When both players on different LANs this works. However, upon the same LAN this fails.
I removed the 7777 reference from url punch through call( step 9 ), but that didn’t work either