Ich bin zwar selbst nicht davon betroffen, kenne aber jemanden der das gleiche Problem mit DS-Lite von Unitymedia hat.
Bis vor einigen Wochen ließ sich der NAT-Router relativ einfach überwinden: Man musste nur eine TCP-Verbindung mit einem externen Host aufbauen oder ein UDP-Paket schicken, wobei man als Absender-Port den Port verwendete, unter dem man erreichbar sein will. Z. B. reichte es aus an google.de mit Absender-Port 11113 ein UDP-Paket zu schicken, um für ca. 2 Minuten alle an die externe IP an Port 11113 gerichteten Pakete zu empfangen. Das ließ sich per Engine-Patch oder externem Programm realisieren.
Seit kurzem ist aber der externe Port nicht mehr vorhersehbar. Allerdings ist die Adresse nach wie vor egal: Wenn die Engine z. B. ein Paket an clonk.de:11115 schickt, werden für 2 Minuten alle Pakete an den Port den der NAT-Router als Absender für clonk.de:11115 benutzt hat an die Engine weitergeleitet.
Genau das macht der Puncher, der übrigens immer noch in der Engine, aber nicht mehr auf clonk.de aktiv ist. Wenn der Puncher-Server noch laufen würde, bekäme die Engine von ihm den externen Port mitgeteilt unter dem sie erreichbar ist und würde ihn auf dem Masterserver eintragen. Hier gibt es nun zwei Probleme: Das erste ist, dass der NAT-Router nach 2 Minuten das Mapping entfernt wenn keine Pakete geschickt werden. Joint also niemand innerhalb von 2 Minuten, dann funktioniert die Weiterleitung nicht mehr. Clonk müsste also alle 2 Minuten ein neues Paket an den Puncher schicken. Das zweite Problem ist, dass Clonk alle Portnummern >= 32768 falsch vom Masterserver ausliest:
http://forum.openclonk.org/topic_show.pl?tid=3230Angenommen der NAT-Router benutzt nach außen Port 54321, dann wird das zwar korrekt auf dem Masterserver eingetragen. Beim Auslesen sehen die Engines aber Port 32767. So lange der Port unter 32768 bliebe müsste es aber funktionieren.
IPv6-Unterstützung zu implementieren würde auch nicht viel bringen, da wie Luchs schon sagte, immer noch viele Spieler kein IPv6 haben.
Ob man mit DS-Lite hosten kann hängt also von diesen Punkten ab:
1) Der NAT-Router muss mitspielen (indem er sich z. B. so verhält wie der oben erwähnte von Unitymedia)
2) Irgendjemand muss wieder den Puncher hosten
3) In der Engine muss der 32768-Bug behoben und alle 2 Minuten das Mapping erneuert werden
Punkt 1 müsstest du testen, für 2 wird sich sicher jemand bereit erklären. Und zu 3: Der Bug (und viele andere) ist schon seit geraumer Zeit behoben, nur muss der Code halt noch aufgeräumt werden und ich weiß leider nicht, wann wir endlich mal dazu kommen.