umbrella_cop.
Anmeldungsdatum: 29. März 2012
Beiträge: 153
Wohnort: Aachen / Brand
|
Hallo zusammen ich habe eine Frage wegen der Multiplayer Version von 0 A.D. ... ich versuche schon zeit 3 Stunden da rein zu kommen.
ich habe meine IP, die meines Freundes. egal wer Hostet, der andere kommt nicht rein host:
name: halala join
name: hololo
IP: 84.1**.***.**3 wir dachten es könnte daran liegen das der Port 20.595 gesperrt seien könnte und haben es mit neorouter ausprobiert.
der kann uns auch nicht erreichen. "... 32976 is closed and the NeoRouter Server cannot be used at this time" was können wir machen das wir dieses vermalledeite Spiel zum laufen bekommen ohne irgendwelche Einstellungen an den Routern vor zu nehmen?
wenn ich das richtig mitbekommen habe ist nämlich der, der Spaßverderber, den 0 A.D. würde sich die Ports schon zuweisen. [nur so als Randnotiz... Hamachi läuft bei einem nicht, lässt sich nicht starten(win8)] es wäre echt nett wenn ihr mir helfen würdet... mit Freundlichen grüßen
EvD
|
Yves-0ad
Anmeldungsdatum: 1. September 2012
Beiträge: Zähle...
|
Wenn ihr mit eurem Client nicht direkt im Internet seid, sondern über einen router, müsst ihr zwingend mindestens auf dem Client des Hosts den UDP port 20595 auf dem Router konfigurieren. Die einzige andere Variante ist eine VPN-Lösung wie Hamachi.
So lange die Verbindung nicht über einen zentralen Server läuft, ist so ein Port Forwarding zwingend notwendig.
Das ist auch gar nicht so kompliziert wie es vielleicht zuerst kling. Was für einen Router hast du genau?
|
umbrella_cop.
(Themenstarter)
Anmeldungsdatum: 29. März 2012
Beiträge: 153
Wohnort: Aachen / Brand
|
der Router ...
om ...
ich wage es kaum zu sagen ^^
Apple Time Capsule X-D
naja, wenigstens kein Microsoft, wa X-D
was für eine Generation kann ich jetzt nicht sagen, aber ich kann sagen das ich persönlich nicht der Inhaber des Routers ergo des AirPort-Dienstprogramms bin ... geschweige denn eines Apple Rechners ^^
also werde ich schauen müssen das ich Hamachi zum laufen bekomme 😀 aber wenn du willst kannst du mir ja sagen was du über die Time Capsule weißt, vielleicht kann ich mal an ein Windows Rechner ran ^^ off topic: (es ist ok, wenn ihr das nicht beantwortet, wehre quasi die Sahnehaube)
warum ist jedes Onlinespiel in der Lage den PC an zu sprechen, 0 A.D. aber nicht?
nur weil es keinen externen Server hat?
ich kann mir da jetzt keinen triftigen Grund vorstellen
|
V_for_Vortex
Anmeldungsdatum: 1. Februar 2007
Beiträge: 12090
Wohnort: Berlin
|
umbrella cop. schrieb: off topic: (es ist ok, wenn ihr das nicht beantwortet, wehre quasi die Sahnehaube)
warum ist jedes Onlinespiel in der Lage den PC an zu sprechen, 0 A.D. aber nicht?
nur weil es keinen externen Server hat?
ich kann mir da jetzt keinen triftigen Grund vorstellen
Genau deswegen. Bei einem externen Server verbinden sich alle Clients von innen durch ihre jeweiligen Router, während bei einer Direktverbindung mindestens einer der PCs von außen durch den Router des anderen Spielers will, der dieses natürlich blockt, wenn man die betreffenden Ports nicht auf Durchzug schaltet. Hinkender Vergleich: Türsteher kontrollieren in der Regel kommende Leute, nicht gehende Leute. Und auch dort gibts oft eine Gästliste. 😉
|
Yves-0ad
Anmeldungsdatum: 1. September 2012
Beiträge: 17
|
Was V for Vortex sagt ist grundsätzlich richtig.
Genau gesagt hängt es damit zusammen, dass wir vom Internet Provider in der Regel nur eine IP-Adresse (diese 84.1**.***.**3) zugeteilt bekommen, unter der der Router öffentlich errreichbar ist. Unsere Geräte, die per LAN oder WLAN am Router hängen, sind über das Internet erst einmal nicht direkt ansprechbar und haben lokale Adressen (häufig 192.168.1.x).
Diese lokalen Adressen sind also nur innerhalb deines Netzwerks gültig und dein Freund kann die über das Internet nicht erreichen.
Wenn du dich auf einen Server im Internet verbindest, kommt NAT (Network Address Translation) zum Einsatz. Vereinfacht gesagt merkt sich der Router, von welcher IP aus dem lokalen Netz die Verbindung gestartet wurde und gibt die Antwort dann auch wieder an dieses Gerät zurück. Für den Server im Internet sieht es so aus, als würde er direkt mit dem Router kommunizieren.
Wenn jetzt beide Spieler keine öffentlich zugängliche IP-Adresse haben, muss zwingend auf einen von aussen (aus dem Internet) zugegriffen werden, was eben so nicht funktioniert. Wenn ein Online-Spiel einen Server im Internet hat, können beide Spieler sich auf diesen Server verbinden. Zu der Zeit hat der Router sich die Zuordnung der Verbindung in seiner NAT-Tabelle gemerkt. Der Server kann jetzt vereinfacht gesagt mit einigen Tricks die beiden Rechner dazu bringen, die bereits bestehende Verbindung zu verwenden. Aus diesem Grund funktionieren Online-Spiele mit einem zentralen Server häufig ohne Port-Forwarding. Das Port-Forwarding definiert, dass alle Verbindungen auf Port 20595 (in diesem Fall) auf der öffentlichen Adresse des Router (84.1**.***.**3) direkt an die interne Adresse 192.168.1.x (dein Computer) weitergeleitet werden. Wenn der Host das macht, ist das Port-Forwarding auf dem Rechner des anderen Spielers nicht mehr nötig, da dort die Zuordnung über NAT funktioniert. Für ein Port-Forwarding ist also unabhängig vom Router immer eine interne IP-Adresse und eine externe Port-Nummer nötig.
Falls im Menu noch eine interne Port-Nummer angegeben werden muss, ist es die gleiche. Falls die Auswahl zwischen UDP, TCP und beidem besteht, reicht UDP.
Wenn dein Freund das machen kann und er dann das Spiel hostet, geht es wie gesagt auch.
|
illCP
Anmeldungsdatum: 26. Oktober 2010
Beiträge: 134
|
Die saubere Lösung für sowas ist eher ein VPN - Port Forwarding direkt zum Dienst/Spiel ist aus Sicherheitsgründen nicht zu empfehlen. Für Spiele, die keine zentralen Server verwenden und eine direkte Verbindung benötigen, benutzen wir z.B. einen Raspberry Pi (http://www.raspberrypi.org) mit Raspbian und OpenVPN. Hier besteht die Möglichkeit, ein reines "Fake-Netz" anzulegen, d.h. ohne Möglichkeit, auf das dahinterliegende Netz zuzugreifen. So muss nur der VPN-Port (bei OpenVPN z.B. standardmäßig 1194) zum OpenVPN-Server geforwardet werden. Jeder Spieler (incl. derjenige, in dessen Netzwerk der OpenVPN-Server läuft) verbindet sich nun mit seinem Zertifikat und alle befinden sich zusammen in einem virtuellen lokalen Netzwerk, ohne dass weitere spezielle Ports für bestimmte Spiele geforwardet werden müssten. Das Ganze ist allerdings zugegebenermaßen nicht ganz trivial einzurichten. Als nettes Zusatfeature kann man auf dem RasPi auch gleich noch einen Mumble-Server installieren, so dass man sich während des Spiels per Headset unterhalten kann.
|
Yves-0ad
Anmeldungsdatum: 1. September 2012
Beiträge: 17
|
illCP schrieb: Die saubere Lösung für sowas ist eher ein VPN - Port Forwarding direkt zum Dienst/Spiel ist aus Sicherheitsgründen nicht zu empfehlen.
Naja, ich würde mich selber eher als vorsichtig bezeichnen, was Sicherheit angeht. Trotzdem sehe ich da kein ernstes Sicherheitsrisiko.
Ein Angreifer müsste: Deine aktuelle IP-Adresse herausfinden und wissen, dass du den UDP-Port 20595 offen hast und dass gerade 0 A.D. als Host läuft. Er müsste Stunden/Tage/Wochen aufwenden um einen Bug in 0 A.D. zu finden und ein Programm zu schreiben, das diesen Bug ausnutzt. Selbst dann hätte er noch keine Root-Rechte und könnte nur begrenzt Schaden anrichten.
Das ist natürlich alles denkbar aber nicht sehr wahrscheinlich. Etwas gefährlicher wird es, wenn die Multiplayer-Lobby von 0 A.D. veröffentlicht ist und sie tatsächlich von vielen Spielern genutzt wird. In dem Fall wäre die Anzahl potentieller Opfer grösser und somit der Aufwand "wirtschaftlicher".
|
illCP
Anmeldungsdatum: 26. Oktober 2010
Beiträge: 134
|
Grundsätzlich stimme ich dir zu: Das allgemeine Risiko in dieser speziellen Konstellation ist nicht sonderlich hoch, aber nichtsdestotrotz ist "direktes" Port Forwarding auf einzelne Dienste ohne VPN dazwischen sicherheitstechnisch nie empfehlenswert, wenn es nicht unbedingt nötig ist (z.B. bei öffentlichen Webservern etc.), das ist eine Frage des Prinzips und gehört einfach zu den Grundregeln der IT-Sicherheit. Mal ein wenig hypothetisch weiterdiskutiert: Yves-0ad schrieb: Deine aktuelle IP-Adresse herausfinden und wissen, dass du den UDP-Port 20595 offen hast und dass gerade 0 A.D. als Host läuft.
Du darfst nicht davon ausgehen, dass genau eine Person versucht, bei genau einer anderen einzubrechen. Stellst du einen Server mit einer "frischen" IP-Adresse öffentlich online (z.B. einen Webserver), dauert es maximal ein paar Stunden bis du in den Logs nachlesen kannst, dass etliche Botnet-Zombies schon einmal ihr Standard-Repertoire auf der Suche nach gängigen Schwachstellen auf den Server losgelassen haben. Portscans sind auch nichts exotisches, und ~4 Milliarden IPv4-Adressen sind in Anbetracht des Umfangs aktueller Botnets auch nicht allzu viele. Zum Thema "aktuelle" IP-Adresse: Das stimmt so nur für "normale" DSL-Anschlüsse z.B. der Telekom. Bei Unitymedia bekommst du für deinen Kabelanschluss beispielsweise "pseudo-feste" IPs, die sich so gut wie nie ändern. Yves-0ad schrieb: Er müsste Stunden/Tage/Wochen aufwenden um einen Bug in 0 A.D. zu finden und ein Programm zu schreiben, das diesen Bug ausnutzt.
Man muss immer davon ausgehen, dass bereits eine Lücke (sei es im Code des Programms selbst oder z.B. in irgendeiner Abhängigkeit oder einem verwendetem Modul des Betriebssystems) vorhanden ist, die früher oder später irgendjemand findet. Ähnlich wie zuvor: Dass Person A tatsächlich ewig damit verbringt, eine Schwachstelle in einem Spiel zu exploiten, nur um Person B eins auszuwischen ist äußerst unwahrscheinlich. Findet allerdings jemand eine "lohnenswerte" Lücke nebst Exploit, kann er es einfach in das Repertoire eines Botnets aufnehmen, das sich dann vollautomatisch darum kümmert. Selbstverständlich kann z.B. auch der OpenVPN-Server Sicherheitslücken aufweisen - da sowas aber speziell auf Sicherheit ausgelegt ist, würde ich dem eher trauen als z.B. einem Server in einem Spiel. PS: 0 A.D. kannte ich noch gar nicht - sieht nett aus, muss ich glatt mal ausprobieren. Gehörst du zum Entwicklerteam oder hast du "0ad" nur so in deinem Benutzernamen?
|
Yves-0ad
Anmeldungsdatum: 1. September 2012
Beiträge: 17
|
Wir driften etwas ab 😉 Mit dem Botnetz hast du natürlich recht, auch wenn es wohl eher auf ständig laufende Dienste wie einen Apache Server oder ähnliches ausgelegt sein dürfte. OpenVPN auf der anderen Seite ist zwar höchstwahrscheinlich sicherer als 0 A.D., aber auch deutlich weiter verbreitet.
Ich denke grundsätzlich sind wir uns einig. Meine Einschätzung bleibt, dass in dem Fall das Port-Forwarding kein ernstes Sicherheitsproblem ist. illCP schrieb: 0 A.D. kannte ich noch gar nicht - sieht nett aus, muss ich glatt mal ausprobieren. Gehörst du zum Entwicklerteam oder hast du "0ad" nur so in deinem Benutzernamen?
Ja, ich gehöre zum Entwicklerteam. Wegen dem bevorstehenden Release der Multiplayer Lobby habe ich übrigens vor, das Thema Sicherheit etwas genauer anzuschauen. Wenn du es nicht kennst waren wir wohl mit der PR für unsere Indiegogo Kampagne nicht so erfolgreich (endet in 15 Stunden 😉 ).
|
crazy-biscuit
Supporter
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
Oh, verdammt. Ich wollte mich beteiligen und habe es vertagt. Wird es weitere Kampagnen geben? 30k sind ein super Erfolg. In Anbetracht des Ziels einige Entwickler 40+ mit dem Projekt zu beschäftigen ist das jedoch nicht sonderlich viel Geld... Euer Projekt ist momentan der RTS-Stern am Linux-Himmel. So lange nicht ein Spiel in der Liga von SCII zu Linux kommt fällt mir kein Projekt ein das auch nur annähernd an euer Projekt herrankommt. Wenn diverse Bugs noch gefixt werden und die Performance verbessert, dann steht einem TOP-Crossplatform-RTS nichts mehr im Weg.
|
zzippy
Anmeldungsdatum: 4. August 2013
Beiträge: 642
|
Moin! Da ja sowieso etwas offtopic gepostet wird, und Yves-0ad gerade hier ist, eine Frage: Bei mir ist 0ad (egal auf welcher Hardware) nach längerer Spielzeit, so ab 100 Einheiten auf dem Feld, eigentlich unspielbar. Lag. Hab deswegen schonmal im Forum nachgefragt, es hiess: tja, wäre bekannt, dies sei dem Pathfinder geschuldet, ist eben so z. Zt.. Geht es Euch auch so, oder hab ich nur irgendwas übersehen? Ich hoffe dies, denn ich verstünde sonst nicht, warum fleissig neue features implementiert werden, aber Essentielles nicht gefixt wird. Gruß, zzippy
|
crazy-biscuit
Supporter
Anmeldungsdatum: 6. November 2010
Beiträge: 4847
|
@zzippy: Sagen wir es mal so: Das steht ganz oben auf der Agenda (so wie ich es verstanden habe)! Da aber dazu sehr viel code neu geschrieben werden muss und sehr viel manpower nötig ist um dies zu tun gab es z.B. erneutes fundraising. Kleinere Funktionen lassen sich gut implementieren. Auch Dinge die sich auf das Gameplay auswirken bzw. das Spiel abrunden müssen implementiert werden. Den Code hinsichtlich der Performance zu optimieren ist manchmal Teil der Optimierungsphase nach der eigentlichen Entwicklung der Alpha A, B, C ... auf dem Weg zur Beta Beta A, B, C ...
|
umbrella_cop.
(Themenstarter)
Anmeldungsdatum: 29. März 2012
Beiträge: 153
Wohnort: Aachen / Brand
|
jetzt halten wir mal die Pferde an. Das Thema hat bei weiten nichts mehr damit am Hut.
off topic hin oder her. 0A.D. ist ein solides Spiel welches von Entwicklern noch entwickelt werden muss, ergo sich noch in der Alpha befindet.
wehre es fertig, wehre es nicht in der Alpha, und wehre es nicht ein play4free Spiel, wehren die Bugs schon behoben, so Arbeiten die Entwickler Leiber an Sachen die "schnell" zu realisieren sind, ihnen Spaß macht und nicht die Umwälzung des Quellcodes bedarf.
wenn Ihr eine Diskussion über pro und kontra oder "was kann man noch verbessern" anfangen wollt, macht das bitte unter dem Passenden Thema. Wenn noch was zum Thema Multiplayer kommen sollte, würde ich mich freuen.
jegliche Informationen sind Hier willkommen. Auch wenn es jetzt bei mir läuft, könnte es eventuell noch nachfolgende betreffen, oder Interessieren 😀 umbrella cop.
|
zzippy
Anmeldungsdatum: 4. August 2013
Beiträge: 642
|
umbrella cop. schrieb: jetzt halten wir mal die Pferde an.
Np, sorry.
|
Yves-0ad
Anmeldungsdatum: 1. September 2012
Beiträge: 17
|
Es wäre noch interessant zu wissen, welche Lösung schlussendlich für dich funktioniert hat.
Sonstige Fragen zu 0 A.D. beantworte ich gerne in einem anderen Thread. ☺
|