Hilfe beim programmieren von Server Dateien


Cristyl

Grünschnabel
Mahlzeit zusammen und schon einmal danke an alle, die sich die Zeit nehmen hier mitzuwirken.

Ich bin in Sachen Programmierung nicht wirklich erfahren, sondern eher noch sehr unerfahren,
hätte trotz alledem einige Infos und eventuell auch ein bisschen Hilfe oder Tipps.

Ist es möglich zu einem Spiele Client, eigene Server Dateien zu erstellen?
Habe mich schon im Internet diesbezüglich etwas eingelesen, allerdings eher bloß solche Infos erhalten, dass es ziemlich Zeitaufwendig sei die kompletten Datenbanksätze"wiederherzustellen".

Es handelt sich dabei um ein Spiel, welches abgeschaltet wurde und dementsprechend nicht mehr spielbar ist.
Nach etwas suchen, habe ich Server-Dateien vom ersten Teil des Spiels gefunden (selber Dev), diese beinhalten die kompletten Datenbanken, Serverfiles usw.

Meine frage wäre nun, ist es irgendwie möglich, diese Serverfiles umzuschreiben, dass diese mit dem Client des darauffolgenden Spiels agieren?


- Sollte das erfragen zu diesem Thema unerwünscht sein, entschuldige ich mich schon einmal.
Außerdem hoffe ich, dass der Bereich stimmt, ansonsten bitte moven ^^

Hoffe, dass mir dazu irgendjemand paar Ratschläge mitteilen kann.

Gruß Cristyl
 

cwriter

Erfahrenes Mitglied
Ist es möglich zu einem Spiele Client, eigene Server Dateien zu erstellen?
Prinzipiell ja.


Habe mich schon im Internet diesbezüglich etwas eingelesen, allerdings eher bloß solche Infos erhalten, dass es ziemlich Zeitaufwendig sei die kompletten Datenbanksätze"wiederherzustellen".
Das ist es.

Was du tun willst, ist Reverse Engineering. Wie funktioniert der Datenaustausch zwischen Server und Client, wie gehen Server und Client mit den Daten um, ...?

Wenn eine alte Version desselben Herstellers verfügbar ist, kann es einfacher sein, muss aber nicht. Möglicherweise funktioniert die neue Version ähnlich oder sogar gleich.

Vorgehensweise: Server starten, Client auf den Server verbinden und Errors/Warnungen lesen. Falls du noch einen Server findest, kann Wireshark/tcpdump helfen, den Netzverkehr zu analysieren. I.d.R. lohnt es sich da, auch ein paar Analyseskripte in Python o.ä. zu schreiben.

Wie du siehst, ist das alles tatsächlich recht viel Arbeit (aber sicher ein schönes Projekt).

Viel Glück dabei!
Gruss
cwriter
 

Cristyl

Grünschnabel
Vielen Dank für deine schnelle Antwort @cwriter .

Einen Server wird das Spiel definitiv so nicht finden, da der Client mit einer direkten IP Adresse zum Server verbunden ist, welchen es allerdings nicht mehr gibt.
Es gibt zwar noch einen Client, dieser verbindet sich allerdings mit einem Server in den Philippinen.
Außerdem ist dieser Client nicht auf dem selben Stand wie der Europäische war.
Dennoch wäre die Datenbank Struktur ja die selbe bloß noch etwas "erweitert" vielleicht kann man darüber sogar noch mehr erreichen.
Ich hoffe bloß, dass ich via Hex Editor die IP Adresse des Client dann ändern kann.

Vorgehensweise: Server starten, Client auf den Server verbinden und Errors/Warnungen lesen.
Denkst du, dass der Server trotz alledem mit dem Client kommunizieren wird?

Habe mir Wireshark eben schon einmal angeguckt und das ganze mit dem anderen Client versucht,
gibt es auch eine Möglichkeit den Filter bloß die Aktivitäten des Clients und des Servers ausspucken zu lassen?
 

Technipion

Erfahrenes Mitglied
Hallo Cristyl,
vielleicht schreibst du uns einfach mal, wofür genau du einen Server reverse engineeren möchtest?

Womöglich gibt es da ja sogar schon (halb-)fertige Sachen zum Aufsetzen...

Gruß Technipion
 

Cristyl

Grünschnabel
Das ganze wäre für das Spiel S.K.I.L.L Special Force 2.
Glaube eigentlich nicht, dass da schon irgendwas angefangen wurde, aber ein versuch wäre es wert :)
Falls ihr weitere Informationen benötigen solltet, bloß bescheid geben.
 

ikosaeder

Teekannen-Agnostiker
Vielen Dank für deine schnelle Antwort @cwriter .
Einen Server wird das Spiel definitiv so nicht finden, da der Client mit einer direkten IP Adresse zum Server verbunden ist, welchen es allerdings nicht mehr gibt.
Ich hoffe bloß, dass ich via Hex Editor die IP Adresse des Client dann ändern kann.
Du kannst mit einem Proxy die Anfragen auf die IP umleiten, dann kannst du den Netzwerktraffic analysieren.
 

ikosaeder

Teekannen-Agnostiker
Das ist nichts für Anfänger aber vermutlich einfacher als das Reverse Engineering der Server-Client Kommunikation.
Ich kenne aber nur einen Proxy: Squid und habe auch nicht viel Erfahrung damit.
Aber squid ist sehr verbreitet darum gibt es jede Menge Resourcen im Netz.
Du solltest vielleicht erst einmal grundsätzlich lernen, wie Client-Server Kommunikation geht und vielleicht eine eigene kleine Anwendung schreiben, die Sockets öffnet und Daten austauscht. Dann die Kommunikation über Squid umleiten.