Changes between Version 5 and Version 7 of Ticket #2305


Ignore:
Timestamp:
Feb 24, 2014, 6:08:16 AM (10 years ago)
Author:
Josh
Comment:

I'm not really working on this anymore as I have not been able to fully understand what implementing this would require.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2305

    • Property Priority Should HaveMust Have
    • Property Owner Josh removed
  • Ticket #2305 – Description

    v5 v7  
    1 It would be best to include UDP Hole Punching / NAT Transversal in 0AD. Current status of an implementation can be tracked [https://github.com/JoshuaJB/0ad/issues/20 here].
     1==== Details ====
     2Right now in 0 A.D. we use a primitive UPnP system to implement NAT transversal but this system is unreliable. We'd like to see a better method using UDP Hole Punching instead. The solution would most likely involve interacting with the lobby server to get transversal information but it could also involve using something like [http://en.wikipedia.org/wiki/STUN STUN].
     3
     4==== Expected Result ====
     5Enabling 0 A.D. clients to connect to a host behind any type of NAT.
     6
     7==== Required Prerequisites ====
     8Fluency in C++ and understanding of NAT transversal. JavaScript knowledge would also be recommended. (Ability to learn/familiarity with erlang would also be required when dealing with the lobby server)
     9
     10==== Helpful Links ====
     11[https://github.com/JoshuaJB/0ad/tree/lobby Incomplete/failed try at implementation]