forked from FAForever/fa
-
Notifications
You must be signed in to change notification settings - Fork 0
Build a star topology game protocol
Sheeo edited this page Oct 6, 2014
·
1 revision
build a star topology game protocol.
- reduce reliance on existing faf proxy
- this stands to eliminate certain forms of desync
- reduce server bandwidth.
- possible reconnect/resume support after tcp disconnect?
- a localhost proxy that simulates the framing data of /n/ other players over udp to localhost. demuxes tcp streams into udp data recieved from 2 below from server into the engine's udp recieve port
- should remove it's own inbound commands, or verify the ones sent are the ones received.
- on the server side, a zero-copy muxer that receives tcp streams without udp framing data normally sent over udp, but everything else that matters. unclear how similar this is to replay data.
- sends the entire tick over tcp to the player's localhost proxy above, including the player's own commands. if all players receive the same stream (unclear if this is exactly what a replay looks like at this time...) the transmission of one outbound network buffer to n sockets is pretty cheap and scalable.
- optional deflate on stream
- should be single-process, single thread C or java select IO handling numerous concurrent matches and handling the replay-server role of FAF defined elsewhere
- FAF client support
- toggle use in FAF
- define or register server mux before launch and include in lobby pre-game meta
- encapsulate lobby protocol also? adding and removing players before match?