Alternativer Serverbrowser (Game-Share.de)

  • 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.

    Zitat

    Probier 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.

    Zitat

    Falls 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.

    Zitat

    Scheint 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?

  • Hey Deltaforce,


    schön von dir zu hören. Vorweg: Ja, ich habe mich wohl geirrt. Battlefront 2 benötigt eine aktive Internetverbindung und möchte auch bei einem Direct-Connect zu den Masterservern von Gamespy Kontakt aufnehmen - warum ist mir allerdings nicht so ganz klar. Ich habe diesbezüglich auch schon mit den Command Line Parametern herumexperimentiert, hat nur leider nichts geholfen. Da gingen heute mal so knapp 3 Stunden ins Land...


    Ich werde dich mal wieder etwas quoten, auch wenn es leider vieel Text sein wird :)



    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 [...] Dazu müsste man die Art und Weise der Kommunikation mit dem Masterserver kennen um sie zu ersetzen (fachmännisch das "Protokol"?) [..]
    Richtig?


    Ja, das ist die beste Idee. Man gaukelt dem Spiel einfach den Masterserver von Gamespy vor sodass das Spiel denkt es gäbe diese Server noch. Da gibt es nur ein Problem: Die Verbindung ist verschlüsselt (nicht per https) und soweit ich weiß mit XOR. Nun bin ich in Sachen Verschlüsselung und Netzwerk auch nicht sonderbar gut bewandert, sodass ich Mühe habe, einen Lösungsvorschlag von folgender Seite umzusetzen: http://aluigi.altervista.org/papers.htm


    Der Kerl hat so einiges Richtung Gamespy gemacht. Unter anderem scheint er auch die Verschlüsselung komplett "geknackt" zu haben.



    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?


    Theoretisch schon, praktisch sind diese Domains aber schon 1-2 Stunden nach dem frei werden sofort von irgendwelchen Robotern registriert und werden dann mit mehreren 1.000€ gehandelt. Man müsste also 1. wissen wann die Domains frei werden (ob nun sofort gekündigt oder noch Restlaufzeit) und 2. einen Provider finden, der einem die Domain dann auch wirklich sichert. Aber das wäre die Beste Idee, denn dann kann man einfach sämtliche Hostnames umleiten - ein großes Problem wäre schon einmal gelöst. Ich würde die Domain saugerne kaufen ;)



    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?


    Jap, es gibt ein Drittprogramm auf Basis des Codes von dem Luigi (link etwas weiter oben) welches sich um den Login bei BF2 kümmert. Es dürften nur einige Anpassungen nötig sein um das gleiche auf für Battlefront umzusetzen - jedoch hat es da keinen praktischen Grund, da man in Battlefront auch ohne Login auf die Server kommt. Ein Gamespy-Account ist also bei SWBF2 nicht pflicht, hingegen aber bei BF2. Das löst leider auch nicht das Problem mit dem Direct Connect bei SWBF2 - schon getestet...



    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?


    Zuerst dachte ich auch es geht ohne - habe ja schon endlose LAN-Partys veranstaltet und da natürlich auch teilweise SWBF2 gezockt. Jedoch muss wohl überall eine Internetverbindung vorhanden gewesen sein. Schade drum... wie oben bereits geschrieben habe ich das Phänomen bereits getestet und festgestellt dass man sich nicht verbinden kann. Es ist wie verhext...


    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 [...]


    Wireshark hat eine mächtige Filter-Funktion, mit dessen Hilfe du ziemlich schnell die gewünschten Frames bekommst. Battlefront 2 kommuniziert übrigens über den Port 3658 mit Gameservern, Port 29900, 28910 und 29901 sind Gamespy-Ports. Wenn du danach filterst findest du schon einmal ziemlich brauchbare Informationen. Kleiner Tipp: Alles auf dem Rechner stoppen, was irgendwie am Netzwerk nagt. Dann findet man in dem Gewusel auch leichter Pakete, die man sonst vl. übersieht...


    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.


    Man sollte sich auf alle Fälle einmal kurzschließen. Klar. Wieso auch nicht? Besser man kommt insgesamt auf einen Nenner anstatt man 20 Projekte hat. DU bist ja bei Gametoast ziemlich aktiv. Ich habe mich da neulich auch schon registriert aber bisher noch keinen Beitrag gepostet. Ich wollte erst einmal abwarten, was sich bei mir mit meiner Idee noch so alles ergibt.



    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.


    Vielleicht sollten wir das mal als eines der nächsten Schritte einfach tun. Aufmerksamkeit auf das Projekt locken und Leute suchen die helfen möchten.



    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?


    Gerne per privater Nachricht. Besitze im Übrigen auch Skype...


    -------------
    Build 05
    -------------


    Anbei übrigens schon einmal der Build 05 - derzeit laufen Tests für die Integration von Arma2 bzw. DayZMod - der Support dafür läuft ja auch aus...
    https://dl.dropboxusercontent.…esharebrowser_build_5.zip


    Wobei ich übrigens dringend Hilfe bräuchte:


    Eine gute Idee wäre es einfach den LAN-Browser des Spieles zu missbrauchen - da wird eine Broadcast-Nachricht ins Netzwerk gesendet und jeder Gameserver des entsprechenden Spieles antwortet darauf - man könnte dann einfach selber Nachrichten an das Spiel schicken und so auch Ingame eine Serverliste anzeigen lassen. Einziges Problem: Die Kommunikation ist verschlüsselt. Ich brauche jemanden der sie mir entschlüsselt und dann sagt, wie ich sie für mein Programm richtig verschlüsselt bekomme. Vielleicht kann ja jemand von euch etwas in Erfahrung bringen :)

  • Vorweg: Ja, ich habe mich wohl geirrt. Battlefront 2 benötigt eine aktive Internetverbindung und möchte auch bei einem Direct-Connect zu den Masterservern von Gamespy Kontakt aufnehmen - warum ist mir allerdings nicht so ganz klar. Ich habe diesbezüglich auch schon mit den Command Line Parametern herumexperimentiert, hat nur leider nichts geholfen. Da gingen heute mal so knapp 3 Stunden ins Land...

    Ich habe auch mal ein wenig herumexperimentiert und mir ist durch Zufall aufgefallen, dass der Client offenbar die Serverinformationen trotz des DirectConnects von den GS-Servern bezieht. Ich hatte nämlich den Server gestartet bevor ich auf dem Server-Rechner eine Firewall-Regel aktiviert habe, die ausgehenden GameSpy-Verkehr unterbindet. Dann hatte ich den Server neugestartet um das Server-PW zu entfernen. Als ich mich per DirectConnect einloggen wollte kam trotzdem eine PW-Abfrage - offenbar, weil beim DirectConnect die GS-Server bzgl. der Serverinformationen abgefragt werden, u.a. das Server-PW. Da GameSpy die veralteten Informationen von davor hatte, als der Server mit einem PW gestartet wurde, wurde auch ein PW verlangt - auch beim DirectConnect.
    Werde mir das nochmal genauer anschauen mit WireShark, was genau alles passiert, wenn ich mich per DirectConnect einlogge. Auf der anderen Seite ist das unnötig, da es so oder so nicht funktioniert, sobald GameSpy tschüss sagt.



    Die Arbeit von diesem Luigi ist wirklich erstaunlich! Kann man nicht einfach den "enctypex_decoder" über alles was von GameSpy kommt und an GameSpy geht drüber laufen lassen um sich genauer anzugucken, wie die Kommunikation aussieht?



    Übrigens beim nochmaligen Durchlesen der Diskussion auf Gametoast ist mir aufgefallen, dass Zerted auch von der Möglichkeit eines verbesserten DirectConnects sprach. Werde ihn was das angeht nochmal fragen - wenn so etwas möglich wäre, wäre das ja wohl das Optimum.



    PS: Was mir klar geworden ist... Wenn die GameSpy-Server wegfallen, wird keine CD-Key-Authentifizierung mehr möglich sein. Das ist gut insofern, als dass endlich die Leute, die nie online zocken konnten, weil ihr Code aus unersichtlichem Grund gesperrt war (mitunter direkt beim ersten mal Spielen nach dem Auspacken des Spiels), dies nun wieder können. Es öffnet aber auch jedem, der sich zu schade ist 10 € zu zahlen, Tür und Tor. Denn theoretisch würde die gesamte Online-Community mit nur einem einzigen Code auskommen, wenn es keine entsprechenden Abfragen mehr gibt... nicht sicher, was ich davon halten soll.
    Auf der anderen Seite muss erstmal einiges unternommen werden, damit es überhaupt noch eine Online-Community gibt.

  • Hallo DeltaForce,


    schade dann wird man wohl oder übel irgendwie das Gamespy Protokoll "knacken" müssen um es zu nutzen. Aber da fehlt mir leider etwas die Erfahrung... Battlefield 2 hingegen kann ich derzeit schon voll und ganz unterstützen (inklusive Statistiken, wenn auch diese noch nicht funktionieren...) - aber das Loginsystem und der Direct-Connect steht und scheinen auch im LAN ohne WAN zu funktionieren. Wobei EA die Spiele ja sowieso übernehmen möchte ;)


    Bezüglich Battlefront2 könnte man doch einfach die Funktion "injecten" welche sich um den Direct-Connect kümmert? Aber das übersteigt meine Fähigkeiten... genauso wie der Kram mit der Entschlüsselung des Gamespy Protokolls bezüglich Masterserver-Liste. Wobei dass ja die beste Möglichkeit wäre - man kann dann direkt den Ingame-Browser weiter benutzen.


    Gruß



    P.S. Build #6 gibt es ab sofort zum Download: http://game-share.de/gamemaster


    Edit #1


    Vielleicht doch ein Hoffnungsschimmer: Habe den Openspy-Core kompiliert bekommen - muss nur noch wissen wie ich SWBF2 dazu bringe das anzusprechen und wie ich selber Server hinzufüge :) https://github.com/sean3z/Openspy-Core/

  • schade dann wird man wohl oder übel irgendwie das Gamespy Protokoll "knacken" müssen um es zu nutzen. Aber da fehlt mir leider etwas die Erfahrung...
    ... genauso wie der Kram mit der Entschlüsselung des Gamespy Protokolls bezüglich Masterserver-Liste. Wobei dass ja die beste Möglichkeit wäre - man kann dann direkt den Ingame-Browser weiter benutzen.

    Das Knacken müsste der der "enctypex_decoder" von Luigi Auriemma hinbekommen? Auf der Website ist auch ein VB.NET-Port verlinkt, den hab ich mal runtergeladen und ausprobiert - und es funktionierte. Ich habe von den GameSpy-Servern eine Serverliste bekommen, entschlüsselt und in lesbarer Form. Zumindest halbwegs. Und soweit ich weiß kann das Teil auch wieder verschlüsseln.


    Bezüglich Battlefront2 könnte man doch einfach die Funktion "injecten" welche sich um den Direct-Connect kümmert? Aber das übersteigt meine Fähigkeiten

    Auf Gametoast meinte jemand, Hex-Editing wäre möglich... keine Ahnung, wie sowas gehen soll. Aber die werden es vielleicht wissen.


    Vielleicht doch ein Hoffnungsschimmer: Habe den Openspy-Core kompiliert bekommen - muss nur noch wissen wie ich SWBF2 dazu bringe das anzusprechen und wie ich selber Server hinzufüge :) https://github.com/sean3z/Openspy-Core/

    Der Quellcode von Openspy ist relativ aufschlussreich, hat jedoch keinerlei Kompatibilität mit Battlefront 2 - ich versuche mich mal die nächsten Tage da durchzuarbeiten, meine Kenntnisse in C++ sind aber nicht die besten :)

    Habe ihn mir auch mal runtergeladen, steckt wirklich einiges drinnen, was hilfreich sein kann. Ich verstehe aber noch lange nicht, was das alles kann - inwiefern ist es nicht mit SWBF2 kompatibel?

  • Ich denke es wird eine alternative von ea geben, da bf 2142,1942, 2 usw. noch verkauft werden via origin.
    Viele werden es sich auch nachträglich nochmal gekauft haben. Man wird bestimmt nicht lange warten müssen.

  • Hallo,


    kurzes Update: wir werden ab dem Wochenende wohl Battlefront 2 unterstützen können. Ich bekomme Besuch von einem guten Freund (und angehenden Informatiker) und werde dann wohl das Gamespy-Masterserver-Protokoll für SWBF2 ableiten können. Dann geht auch der Ingame-Browser und ein Extra-Programm ist gar nicht mehr vonnöten. Die Screenshots werde ich trotzdem verwenden da ich auf der Website die Server auch auflisten lassen möchte.


    Gruß

  • Moin,


    wollte eig. noch Rückmeldung geben. Ist derzeit nur vertagt, da der gute Mann leider an diesem Wochenende keine Zeit hatte. Ich werde aber drängen dass wir noch spätestens Ende diesen Monats eine Lösung dafür haben. Ist mir selber ja auch relativ wichtig :)


    Ansonsten steht von der Infrastruktur her alles - es fehlt nur noch die "ultimative" Lösung. Gibt es derzeit aus anderen Quellen mehr Erfolge zu vermelden?


    Gruß

  • Hatte in der Shoutbox was von GameRanger gelesen, dass es dort weiter laufen wird. Hatte mich aber noch nicht näher mit befasst. Wollte erst noch abwarten, was sich hier so entwickelt, bevor wir da eine News bringen.


    Weiß zwar nicht genau wie es läuft, aber vermutlich würde jemand, der über GameRanger (oder andere Alternativen) spielt nicht mit jemanden, der eure Lösung nutzt, zusammen spielen können oder? Deshalb wär es wohl nicht verkehrt, wenn man der Community gezielt eine Variante vorstellt und versucht diese zu etablieren. Da müsste man dann halt nur schauen, welche Lösung am besten ist. Wenn ich da grad völligen Mist rede, einfach korrigieren ^^

  • Hatte in der Shoutbox was von GameRanger gelesen, dass es dort weiter laufen wird. Hatte mich aber noch nicht näher mit befasst. Wollte erst noch abwarten, was sich hier so entwickelt, bevor wir da eine News bringen.^


    Hallo ReeN,


    Game-Ranger kann doch nur p2p - will also heißen kleiner Gruppen die dann zusammen spielen können. Ich möchte den bisherigen Server-Client Betrieb aufrecht erhalten. Am besten sogar ohne dass man etwas merkt. Bisher gibt es da noch einige Probleme die ich ohne fremde Hilfe wohl nicht lösen kann, aber der sich gerade im Studium befindliche Freund (studiert Informatik) ist derzeit ziemlich busy. Muss mal schauen ob ich den zu fassen bekomme.


    Versprechen kann ich dir derzeit leider nichts - und derzeit geht auch nur Battlefield 2 komplett ohne Gamespy - Battlefront 2 verweigert sich derzeit leider noch.


    Gruß

  • Ok, hatte mich mit GameRanger wie gesagt noch nicht näher befasst. Dachte die hätten ähnliches gemacht. Wenn nicht, ist GameRanger eher als Notlösung zu sehen. Ich drück ich mal die Daumen, dass ihr das noch schafft. Wäre für die Community jedenfalls ein echter Segen. Immerhin könnte das Spiel so noch überleben, bis Battlefront 3 erscheint. Und definitiv schonmal ein großes Lob für den Versuch ;)


    Weiß zwar nicht wie hilfreich ich da wäre, aber falls ihr noch nen weiteren Informatik Studenten brauchen solltet, dann einfach melden. Ist nur ein Angebot.

  • Hey ReeN,


    gerne kannst du mal im Teamspeak vorbei schauen wenn du der Informatik-Student bist ;) - ich benötige allerdings Hilfe im Netzwerkbereich mit dem Protokoll von Gamespy. Sollte wohl nichts wirklich schwieriges sein, jedoch fehlt mir da die Erfahrung...


    Das wäre die letzte Schwachstelle -> ich muss den Masterserver nachbilden.


    Gruß
    Kalle

  • Game-Ranger kann doch nur p2p - will also heißen kleiner Gruppen die dann zusammen spielen können. Ich möchte den bisherigen Server-Client Betrieb aufrecht erhalten.


    In gewisser Weise kann GameRanger ein komplettes Replacement sein - es muss nicht nur für kleine Gruppen in privatem Rahmen genutzt werden, sondern kann auch als Serverliste eingesetzt werden. Was zugegeben in Strategiespielen gut funktioniert, nicht unbedingt bei Shootern, weil es hier ja dedizierte Server gibt. Technisch ist es aber möglich, dedizierte Server über GameRanger zur Verfügung zu stellen, auch wenn es dafür nicht unbedingt gemacht ist. Tunngle wäre technisch ähnlich und für dedizierte Server weit besser gerüstet.
    Nichtsdestotrotz sind beide nicht optimal, eine komplette Ersetzung der Masterserver wäre natürlich das Optimum, da man dann die Ingame-Serverliste auch verwenden kann und nicht abhängig ist von 3rd party software (beide proprietär...) und ebenfalls nicht von wankelhaften Technologien wie VPN (zumindest im Gaming-Bereich traue ich VPN nicht viel zu).


    Deshalb wär es wohl nicht verkehrt, wenn man der Community gezielt eine Variante vorstellt und versucht diese zu etablieren. Da müsste man dann halt nur schauen, welche Lösung am besten ist.


    Ich denke, wir finden alle, dass das Gamemaster-Projekt, an dem Kalle arbeitet, am besten geeignet ist? Das Problem das ich sehe ist, dass es nicht rechtzeitig fertig werden könnte - auch wenn ich natürlich nicht wirklich in der Position bin, das zu beurteilen. Aus meiner Sicht ist die Nachbildung der Masterserver aber nicht unbedingt ein kleines letztes Stück, sondern mindestens die halbe Miete. Aber wie gesagt, falsche Position das wirklich zu beurteilen. Ich bin nur nicht ganz so optimistisch :)
    Dennoch bin ich der Meinung, dass man die Community so schnell wie möglich informieren muss (man klingt das wichtigtuerisch, sry :D), sowohl über den Umstand der baldigen Abschaltung selbst, falls es noch nicht jeder weiß, als auch über Alternativen natürlich. Was denke ich am besten wäre, wenn alle Leute auf Tunngle und/oder GameRanger umschalten und sobald das Projekt Gamemaster für SWBF2 reibungslos funktioniert, man die Leute über Tunngle oder GameRanger informiert (Tunngle hat recht gute Chat-Möglichkeiten, mit denen man versuchen kann möglichst viele Spieler zu erreichen), dass es eine bessere und dauerhafte Lösung gibt. Sozusagen erstmal runter vom sinkenen Schiff auf irgendwelche Rettungsboote und im Wasser treibende Planken, bevor man versucht alle an Land zu holen.
    Nur wie bekommt man die Leute dazu, das zu tun? Wie informiert man möglichst viele über die Umstände?

  • Hallo,
    Ich bin gerade auf diesen Thread gestoßen und dachte, ich kann vielleicht auch einen kleinen Beitrag leisten.
    In letzter Zeit habe ich mich vor dem Hintergrund der bevorstehenden Serverabschaltung etwas mit der Emulation eines Gamespy-Masterservers auseinandergesetzt und einen kleinen Prototypen geschrieben.


    Die Anwendung kann mittlerweile die Serverlist-Anfragen der SWBF2-Clients verarbeiten und eine entsprechende Liste zurückliefern.
    Die Gameserver können sich per UDP-Heartbeat am Server anmelden und werden entsprechend in die Liste aufgenommen.
    Was noch nicht ganz funktioniert ist die Authentifizierung der Gameserver (diese müssen auf Anfrage des Masterservers eigentlich eine bestimmte Zeichenkette, welche aus einer zuvor vom Masterserver übetragenen Challenge berechnet wird, senden), diese senden trotzdem ihre Heartbeats, der Masterserver verifiziert diese nur nicht ordnungsgemäß. Außerdem werden im Moment nur Server unterstützt, die nicht genatted sind.


    Das Ganze ist, wie gesagt, noch ein Prototyp und ist noch nicht fertig, ich habe mich auch noch nicht auf Jagt nach Bugs begeben. Wenn jemand Interesse am Quelltext etc. hat, würde ich den natürlich rausrücken. Geschrieben ist die Anwendung in Visual Basic .NET. "Normales C" kann ich leider nicht wirklich.


    Verwendet wurde der "vb.net-Port" von Luigi Auriemma's "enctype-X" zum Verschlüsseln der Serverlisten.
    (http://aluigi.altervista.org/papers.htm, eine wie ich finde sehr hilfreiche Seite bezüglich der Gamespy-Protokolle).


    So siehts bisher aus:
    http://janelo.net/htlnk/gsms/gsms1.png
    http://janelo.net/htlnk/gsms/gsms2.png


    Gruß,
    Jan


    Edit: Sourcecode bleibt aus Sicherheitsgründen bis auf weiteres Closed Source

  • Hey cool! Das sieht doch echt gut aus.


    Was noch nicht ganz funktioniert ist die Authentifizierung der Gameserver (diese müssen auf Anfrage des Masterservers eigentlich eine bestimmte Zeichenkette, welche aus einer zuvor vom Masterserver übetragenen Challenge berechnet wird, senden), diese senden trotzdem ihre Heartbeats, der Masterserver verifiziert diese nur nicht ordnungsgemäß.


    Meinst du die Authentifizierung des CD-Keys eines Users? Wie hier beschrieben: http://aluigi.altervista.org/papers/gskey-auth.txt ?
    Wenn ja, könnte man diese nicht einfach weglassen? Zumindest hätte sie in meinen Augen wirklich niederste Priorität, oder sehe ich das falsch?


    Den Quellcode würde ich sehr gerne sehen :) Ich habe auch nicht viel Ahnung von C, programmiere aber manchmal in VB.NET, entsprechend gerne würde ich mir das ganze mal genauer ansehen wollen. Wenn du nichts dagegen hast? ;)