Skip to content
faf5678 edited this page Oct 23, 2014 · 2 revisions
  1. the server probably has a bug: it can be observed all the time that NAT messages (/ASKREPLY and /PLAYERID) can be exchanged between peers, but the proxy is used. Also anybody who has a proper port forwarding in place without NAT Endpoint filtering should never be forced to use the proxy with anyone but it still happens.

  2. the proxy server should be written without QT bloat (because its an easy task to do).

  3. peers with which a P2P connection has been established can act as proxies. That requires that some form of latency measurement is implemented to find a suitable peer. It also requires that a connection between peers can be reestablished, because one peer might decide to turn of his PC during a game. Reestablishing a connection is a simple task to do when latency measurements are already available.

  4. the lobby should be able to talk to a TURN server, because those are provided anywhere on the planet by third parties. Although it might just be easier to find a fafer who owns a server in the phillipines and install the faf proxy there. Independent of whether TURN is used, to support more than one possible proxy, the lobby must have latency measurement code to select the best possible from a variety of proxies.

  5. STUN support is not required, because the current faf infrastructure already provides STUN-equivalent functionality.

  6. building a good proxy with iptables doesnt work, because rules are searched linearly. a normal process will be more efficient with btrees.

Clone this wiki locally