Multiplayer ohne Port Freigabe?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Multiplayer ohne Port Freigabe?

      Hi

      Ich hab letztens mal im Netz nach ähnlichem wie "Multiplayer ohne Port freigabe" gesucht. Da hab ich dann etwas gefunden, dass sich Firewall Hole Punching hieß. Ich weis aber nicht genau wie man das anstellen könnte. So wie ich das verstanden habe, wird das bei einer Vorgehensweise so gemacht, dass man die Daten in Daten konvertiert, die durch Port 80 (Http) geschickt werden, die dann von der Firewall nicht erkannt werden. Ich glaub aber es gibt noch andere vorgehensweisen. Kennt sich da jemand aus, wie man evtl. das konvertiert oder gibts da andere Lösungen?
      Ich weis, dass es die Möglichkeit gibt, sich gegenseitig anzufunken, damit dann die Firewall sich öffnet. Das hat auch funktioniert, jedoch nur im Lokalem Netzwerk.
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
    • Was du suchst ist UDP hole punching.
      Kurz gesagt, es gibt einen Server mit dem sich alle Clients verbinden. Wenn die Verbindung zwischen Server und Client hergestellt wird, wird auf der Seite des Clients temporär ein Port geöffnet, um den Traffic durchzulassen. Dieses Verhalten wird ausgenutzt, um eine P2P Verbindung aufzubauen. Dazu muss die Verbindung mit dem Server allerdings aktiv gehalten werden, damit auch das Port offen bleibt.
      Der Server speichert dann zu jedem Client die Adressdaten (IP und Port), die man einfach aus den UDP Packets auslesen kann.
      Wenn jetzt jemand anderes kommt und sich mit dir verbinden will, dann lässt er sich vom Server deine IP und Port geben, die er dann im Header seiner UDP Packets einträgt. Da die Verbindung ja offen gehalten wird, kann er dann direkt mit dem Client kommunizieren, ohne dass vorher alles über einen Server geht. Voilà.
      Für genauere Informationen, wie das ganze im Detail funktioniert, gibts zu dem Thema genug Lektüre, man muss nur googlen.
      Die Implementierung dürfte allerdings wesentlich anspruchsvoller sein, falls du das also vor hast: viel Spaß