Alles anzeigenDas [Serverliste im Spiel mit Daten von außen füttern] habe ich bereits auch ausprobiert. Es gäbe wohl einige Möglichkeiten, unter anderem einfach die Daten "injizieren", jedoch fehlen mir dafür die nötigen Kenntnisse. Ich wollte am Anfang die Masterserver von Gamespy nachbilden und dann die Ingame-Liste direkt füttern - wenn du Ideen hast, wie ich das Protokoll am besten umsetzen kann, immer her damit. Jedoch fehlt mir die Erfahrung einer Netzwerk-Injektion.
[...]
Da ich die Serverliste komplett ersetze sollte es also nicht das Problem sein, ohne Gamespy zu zocken.
[...]
Im Prinzip will ich den Masterserver erstetzen. Da ich nun aber nicht bei jedem Hosting-Provider klingeln kann um umständlich per DNS die ehemaligen Hostnamen von Gamespy auf meine IP umleiten zu lassen begnüge ich mich damit eine Datenbank mit Servern manuell zu füllen - sprich jeder Serveradministrator muss seinen Server einmal händisch hinzufügen. [...]
Über eine HTTP-Schnittstelle hole ich die Daten im JSON-Array ab und lese sie in meinem Programm ein. Letztendlich entsteht dann diese nette kleine Liste und man kann sich mit den entsprechenden Servern verbinden.
[...]
1. Versuchen das LAN-UDP-Protokoll zu decrypten - damit man ein Programm abrichten kann, welches auf dieses LAN-Protokoll antwortet und als Absender die jeweiligen Server-IPs angibt
2. Versuchen das Masterserver-Protokoll zu decrypten und darüber dann die Kommunikation abhalten.
Je nach dem wäre dann der LAN-Browser oder Internet-Browser nutzbar
Ich kenne mich in Netzwerk-Programmierung leider nicht so gut aus, deswegen verzeih mir bitte eventuell laienhafte Fragen (wenn ich dich damit zu sehr aufhalten sollte, sag bescheid - ich versuche noch einzuschätzen wie viel ich hier tatsächlich mit meinem "Können" beisteuern kann - ich werde auch nicht beleidigt sein ;)).
Die beste Idee wäre also, wenn ich dich richtig verstanden habe, den Masterserver zu ersetzen, indem man sozusagen lokal die Verbindungen zum Masterserver abfängt und mit entsprechenden Daten füttert, die aus der manuellen Serverliste, in die die Gamehoster sich manuell eintragen (und die natürlich regelmäßig abgefragt wird), kommen. Dazu müsste man die Art und Weise der Kommunikation mit dem Masterserver kennen um sie zu ersetzen (fachmännisch das "Protokol"?). Oder man findet heraus, wie SWBF2 andere Server über LAN findet, und speist SWBF2 somit über die LAN-Funktion mit den Serververbindungen. SWBF2 selbst verbindet sich, nachdem man im Spiel in der Serverliste einen der Serevr ausgewählt hat, nur noch stur mit der IP und dem Port - ob diese nun tatsächlich im LAN liegt oder in Wirklichkeit auf einen Gameserver zeigt ist dabei egal.
Richtig?
Dann eine Frage, die mir gerade kommt: Wenn GameSpy abgeschaltet wird, wären dann nicht die GameSpy-Domains frei und könnte man sich die nicht reservieren? Glu scheißt ja ganz offenbar auf alles, was mit GameSpy zu tun hat - warum sollten die weiterhin die Domains bezahlen? Wenn man sich die kaufen könnte und auf deinen Server zeigen könnte - dann könnte man ja sogar mit einem Schlag den kompletten GameSpy-Dienst ersetzen - nicht nur für die, die sich diese Software installieren, so dass die Masterserver-Abfragen nur lokal ersetzt werden.
Was mich jetzt wundert - für Battlefield 2 hast du offenbar schon was Fertiges und Teil der Lösung ist offenbar, lokal alle GameSpy-Zugriffe auf deinen Server umzulenken (deshalb die HOSTS-Einträge). Hast du dafür nicht bereits das GameSpy-Protokol "entschlüsselt"? Wie bildest du sonst die GameSpy-Server nach?
Ich bin zuversichtlich dass der Direct Connect funktioniert. Er hängt in keinster Weise von Gamespy ab. Es ist nicht einmal ein Gamespy-Account nötig um Online spielen zu können. Will also heißen: Es wird höchstens der CD-Key beim Server auf Gültigkeit überprüft - dennoch sollte das die Spieler nicht davon abhalten spielen zu können. Immerhin geht der Direct-Connect von mir auch im LAN ohne Internetverbindung.
[...]
Es scheint auch bei SWBF2 Probleme mit dem Direct-Connect zu geben.
Als erstes sagst du, du könntest sich im LAN ohne Probleme ber Direct-Connect verbinden, dann meist du aber es gäbe Probleme. Habe ich es nur falsch verstanden, oder hattest du dich zu erst geirrt und es gibt tatsächlich Probleme?
Ich werde gleich mal selbst ein par Tests im LAN durchführen oder morgen, wenn ich die Möglichkeit habe zwei unterschiedliche Internetverbindungen zu benützen, das ganze übers Internet. Mit Firewall-Regeln dürfte man dabei ja die GameSpy-Server recht zuverlässig aussperren können.
ZitatProbier mal Wireshark - damit bekommst du definitiv alles ausgelesen.
Konnte aber bisher nichts auffälliges entdecken, was eine Benutzung von
SWBF2 ohne Gamespy unmöglich macht.
Auf Wireshark bin ich dann auch selbst gestoßen und hab versucht mich damit etwas zu recht zu finden. Unpraktisch bei Wireshark ist, - oder habe ich eine solche Funktion übersehen? - dass man nicht nur Traffic von einem bestimmten Prozess anzeigen kann. Deswegen ist da ein Haufen Pakete, die eindeutig etwas mit SWBF2 zu tun haben, aber auch ein guter Teil von Paketen, die gut auch von anderen Prozessen stammen können und deren Inhalt für mich keinen Sinn ergibt. Ich müsste vllt. alle IP-Adressen mit WhoIs abklappern...
Ich kenne mich mit Netzwerk-Zeugs auch wie gesagt zu wenig aus, um da effektiv was rausfinden zu können.
ZitatFalls du jemanden kennst, der relativ gut unter Windows programmieren
kann (bin regulär von Hobby Web-Developer und habe als Linux-Freak wenig
für Windows über) kann dieser auch gerne die Programmierung eines
Serverbrowsers übernehmen. Ich gebe mir aber soviel Mühe ich kann.
Ich selbst habe etwas Erfahrung mit Programmierung unter Windows, ich habe bereits einige brauchbare Programme mit VB.NET geschrieben. Aber da ich was Netzwerkprogrammierung angeht nicht viel mehr kann, als mit einem FTP-Server zu kommunizieren und ganz grundlegend das Socket-System von .NET anwenden kann, werde ich keine große Hilfe sein in Sachen, die mit Netzwerk zu tun haben (außer du sagst mir was ich tun soll ;)). Jemand anderen kenne ich nicht. Ich habe aber gestern, als ich mich hier angemeldet habe, etwas umgesehen im Forum und [Dark]_Matthias' Thread für seinen Server Manager entdeckt. Was mich auf die Idee bringt, ihn explizit zu fragen - er studiert ja offenbar Informatik, er kann bestimmt etwas zum Projekt beisteuern. Weiterhin wäre es ne Idee sich mit den Leuten auf Gametoast kurzzuschließen, namentlich unter anderem vielleicht [RDH]Zerted. Und könnte man nicht mal versuchen den Programmierer des SWBF2SM zu kontaktieren, Kevin Lockitt? Der wird einen Haufen Ahnung haben was SWBF2 und Online-Multiplayer angeht.
ZitatScheint als könntest du relativ gut englisch? Können wir uns mal aufm
TS3 von mir treffen und mal einen Text für die englische Vorstellung
meines Projektes vorbereiten?
Mein Englisch ist ausreichend um sich schriftlich mit anderen zu unterhalten (auch wenn es definitv länger dauert etwas zu schreiben als auf Deutsch). Ich fand aber dein Englisch auf der Seite die du für das Gamemaster-Projekt (btw, cooler Name) eingerichtet hast, auch nicht schlecht.
Aber ich kann dir gerne behilflich sein bei der Verfassung des Textes der Projekt-Vorstellung auf Gametoast. Habe aber kein TeamSpeak... Vielleicht wird es mal höchste Zeit, mir TS3 zu holen
Wenn ich Zeit habe, melde ich mich nochmal. Direkt per PN oder hier öffentlich?