Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: AnnoZone Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Tyrangiel

Frisch Angeheuert

  • »Tyrangiel« ist der Autor dieses Themas

Beiträge: 6

Registrierungsdatum: 23. Juli 2014

  • Nachricht senden

1

Mittwoch, 23. Juli 2014, 11:32

Anno 1602 - altbekanntes Multiplayer Problem

Hallo,

mir ist bei meiner Suche durch etliche Foren aufgefallen, dass dieses hier noch recht aktiv zu sein scheint, weswegen ich mich hier angemeldet habe.

Ich weiß, dass es bereits eine Menge Themen mit diesem Problem gibt, aber bisher hab ich bei keinem eine Lösung gefunden.

Zum Problem: Ein paar Kumpels und ich wollen mal wieder eine Runde Anno 1602 zusammen spielen. Leider ist es egal wer den Host macht, wir können das Spiel bzw. die Gruppe nicht finden. Da ich die meiste "Erfahrung" von uns vieren mit den Netzwerkeinstellungen etc. habe wurde ich dazu verdonnert eine Lösung zu finden und bin am Rande der Verzweiflung :kopfnuss:

Kurz zum Netzwerkaufbau: 2 von uns, darunter meine Wenigkeit, sind im selben Haus am selben Router, zwischen uns gibt es als einzige Ausnahme keine Probleme mit der Verbindung, er kann mein Spiel finden und auch drauf joinen. Die anderen 2 hängen an jeweils eigenen Routern im Internet. Standardmäßig haben wir es zuerst mit Hamachi versucht, da andere Spiele da Problemlos funktionierten (so zB Minecraft), was jedoch bisher leider nicht klappen wollte. Meine nächste Idee war es dann dass alle über die Externe IP connecten sollen, die Ports 2300-2400 und 47624 habe ich bereits in meinem Router entsprechend freigeschaltet, was aber auch keine Lösung brachte. (habe erst heute rausgefunden dass mein Router, ein TP-Link, über eine andere Einstellung die Ports auch weiterleitet an meinen Rechner, was wir heute nochmal testen werden).

Bisher brachte nichts von den anderen Lösungsansätzen Erfolg. Vor einiger Zeit habe ich es mal hinbekommen für 2 Spieler über Hamachi, aber wie weiß ich heute leider absolut nichtmehr (habe aber etwas mit der Schnittstellenmetrik im Gedächtnis, könnte aber auch für ein anderes Spiel gewesen sein).

3 von uns nutzen Windows 7, einer Win8, wir haben alle die Königsedition, also sollte es Versionstechnisch keine Probleme geben.

Mir gehen langsam die Ideen aus und ich klammer mich jetzt an die Hoffnung, dass es mit der direkten Weiterleitung der Ports noch klappt, werde mich dazu nochmal hier melden. Sry für den ewig langen Text, wollte aber schonmal einige nicht ganz unwichtige Infos mit rein bringen.

Wenn ihr noch Ideen habt, oder noch Infos braucht, lasst es mich wissen. Ich danke schonmal im Voraus.

Mfg
Tyrangiel

Edit: Wir haben es hinbekommen, zumindest mit einem Spieler der nich am selben Netz hängt wie ich. Die Portweiterleitung brachte leider nicht die gewünschte Lösung, jedoch konnten wir mithilfe von ipxwrapper den Punkt IPX in Anno hinzufügen und darüber in Verbindung mit Hamachi ging es dann. :jaaaaa:

Edit2: Neues Problem, wir können jetzt zwar alle connecten, jedoch sobald der letzte connected ist, kann der Host zwar das Spiel wählen, jedoch sieht nur der letzte der gejoint is den Bitte Warten Bildschirm, die anderen 2 bleiben in der Lobby, und sobald das Spiel startet stürzt es bei allen ab. Jemand ne Idee woran das liegt? :keineahnung:
  Der immense Usus exterritorialer Vokabeln in der germanistischen Linguistik ist mit dezidiertem Fanatismus auf das maximale Minimum zu reduzieren!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tyrangiel« (23. Juli 2014, 20:36)


Kateker

Schatzjäger

Beiträge: 1 189

Registrierungsdatum: 26. Oktober 2006

  • Nachricht senden

2

Donnerstag, 24. Juli 2014, 00:43

Das hier habt ihr schon alles durch?

Ich kann sonst auch nur berichten, dass es schon mal gut mit Win XP geklappt hat, aber Probleme gab wenn ich/wir es mit win7 versucht haben.

So, habe heute es heute morgen probiert:
Heimnetzwerk. keine Ip, kein Name eingetragen
Win XP als server (ohne firewall), win 7 (mit firewall) kann dem Spiel beitreten.
Win 7 als server (mit firewall), win xp (ohne firewall) kann dem Spiel nicht beitreten.
Win7 als Server(firewall ausgeschaltet für Heimnetzwerk), win xp (ohne firewall) kann beitreten.

so weit warst du vermutlich auch.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Kateker« (24. Juli 2014, 10:10)


Tyrangiel

Frisch Angeheuert

  • »Tyrangiel« ist der Autor dieses Themas

Beiträge: 6

Registrierungsdatum: 23. Juli 2014

  • Nachricht senden

3

Donnerstag, 24. Juli 2014, 13:51

Hallo Kateker,

Ja, das haben wir schon probiert.

Wir haben es ja bereits geschafft über IPXWrapper zu connecten. Mit zwei Spielern funktioniert alles wunderbar, aber sobald ein dritter Spieler joint scheint das Spiel zu desynchronisieren. Im Beispiel von gestern war es zB so, dass alle zwar dem Server beitreten konnten, jedoch nur der letzte, der gejoint ist dann das "Bitte Warten" Bild hat, die anderen 2 jedoch nur die Lobby sehen. Der Host kann dann das Spiel wählen, jedoch stürzt Anno direkt nach der Flaggenwahl bei allen ab. Ob das jetzt mit dem IPX Protokoll zusammenhängt, dass es evtl. bei mehr als zwei Spielern die Verbindungen nicht mehr verarbeiten und synchronisieren kann, weiß ich nicht. Über TCP/IP ging es jedenfalls nach wie vor nicht, egal ob per Hamachi oder über die externe IP.

Mfg
Tyrangiel

Edit: Ich hatte es vor nem Jahr oder länger mal mit 3 Spielern hinbekommen, aber wie ich das gemacht habe weiß ich dummerweise nicht mehr. Damals hatte ich auch noch einen anderen Rechner (Ebenfalls mit Win7), wobei ich bezweifel dass es damit zusammenhängt.
  Der immense Usus exterritorialer Vokabeln in der germanistischen Linguistik ist mit dezidiertem Fanatismus auf das maximale Minimum zu reduzieren!

Kateker

Schatzjäger

Beiträge: 1 189

Registrierungsdatum: 26. Oktober 2006

  • Nachricht senden

4

Donnerstag, 24. Juli 2014, 15:52

Wir sollten mal versuchen in den nächsten Tagen / Wochen dem auf den Grund zu gehen. Nur .. wann haben wir beide Zeit?
Bekommst dann mal kurzfristig eine PN von mir... 8)

AyCe

Ausguck

Beiträge: 82

Registrierungsdatum: 6. September 2011

  • Nachricht senden

5

Freitag, 25. Juli 2014, 16:05

Anno 1602 basiert auf Peer-to-Peer-Netcode. Das bedeutet dass jeder Client jedem anderen seine Netzwerknachrichten schickt. In modernen Spielen wie zB Minecraft hat man einen Server, an welchen alles geschickt wird und der dann allen anderen den neuen Spielstatus mitteilt. Nicht so bei Anno.

Euer Problem ist, dass ihr nicht alle im selben Netzwerk seid. Man kann zB auch nicht über Wireless und LAN gleichzeitig spielen. Geht nicht, da jeder Computer jeden anderen direkt sehen muss. Bei Routern kann man als Außenstehender höchstens den Computer sehen an den die Ports weitergeleitet sind. Hamachi (oder wie ich persönlich empfehlen würde Tunngle) könnten da Abhilfe schaffen. Wichtig ist dass das Spiel kapiert dass ihr mit euere Hamachi-IP und NICHT mit euerer LAN-IP in das Spiel gehen wollt. Am einfachsten spielt sich Anno 1602 deshalb im LAN. Übers Internet würde es mit Port-Weiterleitung vielleicht auch gehen, aber nur wenn jeder einen eigenen Router besitzt. Wie es mit IPX aussieht weiß ich nicht aber eigentlich sollte man das nicht mehr benötigen.

Ich würde euch empfehlen einen Raum in dem VPN-Programm eurer Wahl zu eröffnen und es damit zu probieren - ganz ohne irgendwelche Wrapper.
  1602 is so ANNOying...

Tyrangiel

Frisch Angeheuert

  • »Tyrangiel« ist der Autor dieses Themas

Beiträge: 6

Registrierungsdatum: 23. Juli 2014

  • Nachricht senden

6

Freitag, 25. Juli 2014, 17:39

Hallo AyCe,

auf welchen Code es basiert ist mir bewusst, dies sollte auch nur ein Beispiel sein, kein direkter Vergleich. Und ja, wir haben es bereits über Hamachi und dem TCP/IP Protokoll probiert, jedoch ohne Erfolg. Die Gruppe war nicht zu finden darüber. IPX ist tatsächlich ein sehr veraltetes Protokoll, jedoch konnte ich mit dem IPXWrapper einige alte Spiele wieder multiplayerfähig machen, welche das TCP/IP Protokoll nicht hatten (Beispiel wäre hierfür glaub ich Warcraft 2 und Starcraft, zumindest die alten Originale).

Der Aufbau der Hamachi Verbindung scheint selbst nicht das Problem zu sein. Entsprechende Freigaben sind erstellt und wir können uns auch im Netzwerk sehen. Wir sind auch schon einige Anleitungen zum einrichten des Hamachi Adapters durchgegangen.

Wenn es eine Möglichkeit gibt zu sehen mit welcher IP Anno denn überhaupt den Multiplayer startet, wären wir schon einen Schritt weiter. Auch wenn ich persönlich da nicht das Hauptproblem sehe, da eine Verbindung über das IPX Protokoll schonmal insoweit funktionierte, dass wir unsere Spiele finden und auch beitreten konnten. Jedoch scheint eben das nur bei 2 Spielern zu funktionieren. Ein dritter Spieler sorgt da für einen Desync.

Mir persönlich wäre das ganze über TCP auch lieber, jedoch wird dann wie gesagt die Gruppe nicht gefunden.

Mfg
Tyrangiel
  Der immense Usus exterritorialer Vokabeln in der germanistischen Linguistik ist mit dezidiertem Fanatismus auf das maximale Minimum zu reduzieren!

AyCe

Ausguck

Beiträge: 82

Registrierungsdatum: 6. September 2011

  • Nachricht senden

7

Samstag, 26. Juli 2014, 00:53

Man kann in den Adaptereinstellungen die Reihenfolge der Netzwerkadapter einstellen. Vielleicht hilft das. Bekanntermaßen ist es aber ziemliche Tüftelarbeit den zu bevorzugenden Adapter als primären zu setzen.
  1602 is so ANNOying...

Kateker

Schatzjäger

Beiträge: 1 189

Registrierungsdatum: 26. Oktober 2006

  • Nachricht senden

8

Samstag, 26. Juli 2014, 22:29

Erster Test heute:

Tyrangiel (win7) und ein weiterer Spieler (win7) konnten meinem auf Winxp gestartetem Server beitreten. Es dauerte eine Weile bis das Spiele gestartet wurde. Wir haben noch kein längeres Spiel geführt, kein Savegame erstellt oder wieder geladen.
Ein anderer Spieler (win8 ) konnte nicht beitreten.
Es wurde nur mit den "Hausmitteln " getestet, kein Hamachi, oder andere Hilfsmittel.
Ein Spiel nur mit win7 war nicht möglich.
Bei gelegenheit werden wir einen neuen Versuch starten. Wer auch immer konstruktiv beitragen kann ist willkommen.

Tyrangiel

Frisch Angeheuert

  • »Tyrangiel« ist der Autor dieses Themas

Beiträge: 6

Registrierungsdatum: 23. Juli 2014

  • Nachricht senden

9

Sonntag, 27. Juli 2014, 12:13

Eine Kurze Korrektur des Tests, hatte ich beim Test vergessen zu erwähnen:

Der Spieler mit Win8 konnte beitreten, der andere mit Win7 nicht.

@AyCe
Auch dass haben wir bereits getestet, auch da leider bisher ohne Erfolg, zumindest über das TCP/IP Protokoll. Die Reihenfolge umzustellen ist ansich keine Hexerei, jedoch ob es dann unter Windows auch so akzeptiert und umgesetzt wird ist da wohl eher die Frage.

Mfg
Tyrangiel

Edit:

Habe heute einen erneuten Test gemacht, bin folgendermaßen vorgegangen:

Ich habe in der Eingabeaufforderung über den Befehl "netstat -ano" erstmal herausgesucht, welche Ports Anno denn tatsächlich nutzt, wenn ich ein Spiel hoste. Dabei ist mir aufgefallen, dass zum Teil ganz andere Ports als die oft genannten im UDP Bereich abgehört werden. Die Ports selbst ändern sich bei jedem Spielstart, scheinen aber eine feste Range zu haben. Ich habe also für einen dieser Ports eine Weiterleitung auf den Host Rechner gemacht (In meinem Fall war es der Port 52297 UDP und TCP, wobei UDP wahrscheinlich ausreichen wird). Dann konnte einer meiner Kumpels (Win8 ) sogar über die Externe IP auf meinen Rechner connecten und wir konnten ein Spiel auch ganz normal starten, keine Probleme.

Mein anderer Kumpel (Win7) konnte selbst mit deaktivierter Firewall etc. das Spiel bzw. die Gruppe nicht finden. Ich gehe davon aus, das irgendetwas an seinem Rechner bzw. sein Router eine Verbindung nach wie vor blockiert, jedoch habe ich keine Ahnung was genau dafür verantwortlich sein könnte. Ich werde dies heute nochmal genauer unter die Lupe nehmen und mich auf seinen Rechner schalten, evtl. finde ich da noch den Übeltäter.

Habt ihr eine Vermutung was hier eine ausgehende Verbindung blockieren könnte?
  Der immense Usus exterritorialer Vokabeln in der germanistischen Linguistik ist mit dezidiertem Fanatismus auf das maximale Minimum zu reduzieren!

AyCe

Ausguck

Beiträge: 82

Registrierungsdatum: 6. September 2011

  • Nachricht senden

10

Sonntag, 27. Juli 2014, 16:37

Ihr müsst natürlich die Ports in eurem Router geforwardet haben. Ich nehme an das hat dein Kumpel aber auch hingekriegt. Sicher dass die AUSgehenden Verbindungen das Problem sind? Ich hätte eher an die EINgehenden gedacht. Das ist auch der Grund warum übers Internet nur Spieler von verschiedenen Routern aus beitreten können (also genau euer Problem - 2 Spieler durch den selben Router geht nicht, da beide die selbe externe IP haben).

Ich denk mir die unterschiedlichen Ports hängen damit zusammen, dass für jeden ausgehenden Port ein eingehender Port benötigt wird. Da in der Regel beim Verbinden nur der Port der Gegenseite wichtig ist suchen sich die meisten Programme einen beliebigen freien lokalen Port (an den die Gegenseite ihre Netzwerkpakete schickt, wenn auf Verbindung gewartet wird isses natürlich umgekehrt). Vllt hast du da was verwechselt. Kann mir nicht vorstellen dass Anno jedesmal unterschiedliche Ports hat.

Braucht man nicht sowohl TCP als auch UDP Ports geforwarded?


Ich hoff dass ihr des irgendwie hinbekommt. So viele Leute geben (naja... zurecht :D ) nach einiger Zeit auf, dabei ist 1602 so ein schönes Multiplayerspiel.
  1602 is so ANNOying...

Tyrangiel

Frisch Angeheuert

  • »Tyrangiel« ist der Autor dieses Themas

Beiträge: 6

Registrierungsdatum: 23. Juli 2014

  • Nachricht senden

11

Sonntag, 27. Juli 2014, 18:37

Hallo AyCe,

ich vermute eher Anno hat im UDP Bereich eine gewisse Range an Ports, zusätzlich zu den Standardports (Also 2300-2400 etc.)

Wir haben es aber scheinbar doch endlich hinbekommen, zumindest konnte jetzt auch der letzte meiner Kumpels das Spiel finden und darauf connecten. Hier kam der Interessante Punkt warum er nichts finden konnte: Ich habe mich via Teamviewer auf seinen Rechner geschaltet und mal seine Einstellungen durchforstet. Und es war tatsächlich die nervige Windows Firewall, welche, trotz dass diese deaktiviert war, scheinbar dennoch jegliche Verbindung blockiert hat. Da drin stand nämlich dass jegliche Ports blockiert werden sollten welche vom Anno angefragt wurden, sowohl eingehend als auch ausgehend. Als ich das korrigiert habe und entsprechende Ausnahmen für Anno hinzugefügt habe, ging es dann.

Der letzte Test heute wird sein, alle 4 Spieler in eine Runde zu bekommen und ein Weilchen zu spielen. Werde hier selbstverständlich meine Erkenntnisse mitteilen und wenn alles analysiert ist evtl. noch ein kleines How To dazu schreiben, wenn gewünscht.

Meine Vermutung mit den ausgehenden Verbindungen kam daher, dass mein anderer Kumpel mein Spiel ja finden konnte, sicher war ich dabei allerdings nicht.

Braucht man nicht sowohl TCP als auch UDP Ports geforwarded?
Auch hierbei bin ich nicht ganz sicher, in der Liste vom netstat Befehl war der Port auf UDP, ich habe ihn aber mit TCP und UDP auf den Host Rechner weitergeleitet. Ich werde mal bei Gelegenheit testen, was passiert, wenn ich das nur noch auf UDP umstelle.

Mfg
Tyrangiel

Edit:

Gestern Abend erfolgte ein Test mit 3 Spielern, alle 3 mit Win7. Ich habe ein Spiel gehostet, die beiden anderen konnten diesem ohne Probleme beitreten, Eine Map gewählt, die Flaggenauswahl klappte auch, aber bei Spielstart kam ein neuer Desync auf: Bei mir bewegten sich alle Schiffe normal, doch bei den anderen beiden bewegte sich nur das jeweils eigene Schiff und das vom Host (also meins), dass des jeweils anderen Spielers bewegte sich nicht.

Um das ganze zu verdeutlichen:

Host: alle Schiffe bewegen sich.
Spieler1: das Schiff des Hosts sowie das eigene Schiff bewegt sich, das von Spieler2 nicht.
Spieler2: das Schiff des Hosts sowie das eigene Schiff bewegt sich, das von Spieler1 nicht.


Das Schiff der KI hat sich bei allen bewegt.


Als Spieler1 den Server aufgemacht hat, konnte ich beitreten, jedoch Spieler2 nicht, er konnte das Spiel nicht sehen.


Die Ursache des Problems liegt wahrscheinlich daran, dass Spieler2 und ich im selben Netzwerk sind, also am selben Router hängen, und da alle Daten auf meinen Rechner weitergeleitet werden, kommt es zu diesem Desync. Sofern meine Theorie richtig ist, sollte ein Spiel mit 3 Spielern, die an eigenen Routern hängen dann funktionieren. Dies wird heute nochmal getestet.


Die Frage ist jetzt, kann man dieses Problem mithilfe von Hamachi oder Tunngle etc. evtl. doch noch lösen, oder wird es dann immer noch dieselben Probleme geben?
  Der immense Usus exterritorialer Vokabeln in der germanistischen Linguistik ist mit dezidiertem Fanatismus auf das maximale Minimum zu reduzieren!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Tyrangiel« (28. Juli 2014, 10:03)