Currently we have the problem that "servers" need to be reachable from the internet. They have to open ports and all this.
The idea is to craete some kind of relay server which will solve this:
current state while playing MG:
Currently all clientes send their commands to the server. He collects them until next keyframe and distributes them as a command block to all clients. This command block is meant for the next keyframe to be executed. If this keyframe is reached on each client and the server itself the commands included in the command block are executed.
future relay server:
Clients and the server send their commands to the relay server. The relay server collects the commands and distributes them, the way it was done by the server before. So in future clients will connect to the relay server instead of the real server.
-------------------
some brainstorming/problems :
- external game publishing will show the relay server instead of the server
- what about the pause command? ( how will the relay server pause the game if he waits for slow clients? )
- how will the game setup work?