Descentforum.DE Forum Index Descentforum.DE
Search | FAQ | Memberlist | Usergroups | Newsfeed Newsfeed  Register
Profile | Log in to check your private messages | Log in 
Chat | D3-Tactics | Downloads | Map | Links | Serverlist | Teamspeak 

Linux-Lösung für Checksummenproblem
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Descentforum.DE Forum Index -> Tech - Support - Forum
View previous topic :: View next topic  
Author Message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 05.03.2006, 19:03    Post subject: Linux-Lösung für Checksummenproblem Reply with quote

Mit Warpmaster hab ich mal ein wenig über das Checksummenproblem diskutiert, wie man das leidige Thema für die Linux-Spieler lösen könnte. Dabei kam eine Idee auf: Ein im Hintergrund laufender Packetsniffer fängt das Anmeldepaket ab und ersetzt die fehlerhafte Checksumme des Windowsservers durch die korrekte Checksumme, so wie ihn ein Linuxserver abgeben würde. Dem Linuxclient wird so eine korrekte Checksumme vorgespielt, und der sollte anstandslos das Spiel betreten, denn die Leveldaten sind ja identisch.
Die Ersetzung geschieht dann dabei anhand einer Tabelle zwischen Windows- und Linux-Checksumme, so daß bei tatsächlich falscher Levelversion die Checksumme ihren Sinn behält und den Zugang zum Server verwehrt.

Ich hätte schon Lust dazu, das Ding mal anzugehen, allein fehlt es mir am Loki-Linux-Client. Im Onlineshop kostet der 20 Euro, wie ich finde ein wenig viel für etwas, was man eigentlich nicht braucht.

Die Frage ist also: Spielt jemand eher selten mit der Loki-Version und würde sie mir in der Zwischenzeit mal leihweise zur Verfügung stellen ? Für Porto würd ich natürlich aufkommen.

Edit: INSTALLATIONSANLEITUNG: http://www.descentforum.de/forum/viewtopic.php?p=40592#40592

***** Sticky gemacht. -Floyd *****


Last edited by Munk on 25.03.2006, 21:21; edited 1 time in total
Last edited by Floyd on 25.03.2006, 21:15; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Do_Checkor
Administrator


Joined: 19 Nov 2000
Posts: 7768
Location: Oldenburg (Oldb.)

PostPosted: 06.03.2006, 00:16    Post subject: Reply with quote

Hatte Skorp nicht sowas schon mal angefangen und schon lauffähige Ergebnisse?

Stere zockt das mit Loki (aber bisher Aufgrund diverser Probleme wie Checksum-Bug und 1500ms-Ping-Bug wenig Enthusiasmus)...


Last edited by Do_Checkor on 06.03.2006, 00:19; edited 1 time in total
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 06.03.2006, 10:41    Post subject: Reply with quote

Ob Skorp was macht, weiß ich nicht. Wegen notorischer Unerreichbarkeit habe ich da auch keine Geduld, 2 Monate auf keine Antwort zu warten.
Der 1500ms-Pingbug tritt zumindest im LAN nicht auf. Da stört die Checksumme immens.
Back to top
View user's profile Send private message Send e-mail
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 07.03.2006, 01:14    Post subject: Reply with quote

Phase 1 ist geschafft: die Lokalisierung der Checksumme innerhalb der UDP-Pakete.

Phase 2: Die Manipulation dieses UDP-Pakets im laufenden Betrieb. Wer da Ideen hat, immer her damit :)
Back to top
View user's profile Send private message Send e-mail
Zorc
Forum-Nutzer


Joined: 05 Jul 2001
Posts: 961
Location: Ratzeburg

PostPosted: 07.03.2006, 02:45    Post subject: Reply with quote

hab diesen thread grade erst entdeckt. brauchst du die loki-version noch? ich will dir morgen sowieso deinen flasher zurückschicken, dann könnte ich meine loki-version gleich mit eintüten, ich brauch die im moment nicht.
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 07.03.2006, 11:05    Post subject: Reply with quote

Oh sorry. Ne Lokiversion hab ich bereits.
Back to top
View user's profile Send private message Send e-mail
VEX-Eagle
Falschparker


Joined: 04 Feb 2003
Posts: 807
Location: Stelle (Hamburg)

PostPosted: 07.03.2006, 15:50    Post subject: Reply with quote

kann man schon gesendete udp-pakete noch manipulieren?
ich würde ein programm schreiben, dass zwischen client und server hängt, die pakete empfängt, manipuliert und weiterversendet
nur müsste man dann ALLE pakete empfangen und weiterleiten
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 07.03.2006, 18:25    Post subject: Reply with quote

Phase 2: erledigt. Proof of Concept ist geglückt. Mittels netfilter, iptables und perl hats dann geklappt.

Phase 3: Interface zum Laden der Ersetzungstabelle ins Programm. Am besten als Datei zum Upgraden. Mal schaun wie's am geschicktesten geht.

Phase 4: Sammeln der Checksummen sowohl von Linux- als auch von Windows-Servern. Das wird das größte Problem sein.
Back to top
View user's profile Send private message Send e-mail
zico
Rebirther


Joined: 23 Nov 2005
Posts: 452
Location: Ebersbach

PostPosted: 08.03.2006, 06:52    Post subject: Reply with quote

Heisst das, du lässt die Pakete anhand einer Tabelle/Datenbank umrechnen?
Hm im Nootfall ne sehr gute Idee, aber haben die unterschiedlichen Checksummen keine Parallelen?
Vllt wärs so möglich mittelns einer Funktion umzurechnen.
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 08.03.2006, 10:14    Post subject: Reply with quote

Für eine Systematik - die natürlich vorhanden ist - hab ich noch nicht genug Checksummen verglichen.
In Ascent unterscheidet sie sich von der Loki- und Windows-Version um 1. Das wird bei anderen Leveln wohl nicht sehr viel anders sein.
Allerdings: Einige Level haben ja auch die gleiche Checksumme, sie ist ja nicht immer verkehrt.

Ein zufälliges Herumprobieren der Checksumme, d.h. der Filter setzt sie mal um 1 höher, mal um 1 niedriger, mal läßt er sie, möchte ich dem Benutzer nicht zumuten - höchstens als Fallback für unbekannte Level.
Back to top
View user's profile Send private message Send e-mail
zico
Rebirther


Joined: 23 Nov 2005
Posts: 452
Location: Ebersbach

PostPosted: 08.03.2006, 22:59    Post subject: Reply with quote

Falls du es irgendwie schaffst nen provisorischen Wrapper zu basteln (bash, perl or so), stelle ich mir gern als Tester zur Verfügung. Ich test natürlich auch gern mit Offsets usw. Vllt finden wir auch was neues über PING problem raus
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 09.03.2006, 19:36    Post subject: Reply with quote

Grr. So wie es ausschaut hängt die Levelchecksumme auch noch davon ab, welches Schiff man im Piloten asugewählt hat. Macht die Sache wohl nicht einfacher. Muss man jetzt nicht nur für jeden Level, sondern auch für jedes Schiff die Checksummen speichern ? .... wer sich das wieder ausgedacht hat.
Vermutlich, um nicht mit nem falschen Schiff den Level betreten zu können.
Back to top
View user's profile Send private message Send e-mail
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 14.03.2006, 20:43    Post subject: Reply with quote

Phase 3: erledigt.

Phase 4 könnte etwas dauern. Werd mich wohl auf 100 Level beschränken. Ein Programm zum Erweitern der Datenbank wird aber beiliegen.

Phase 5: Kompilieren des ganzesn Zeugs für einfache Installation. Readme schreiben etc.
Back to top
View user's profile Send private message Send e-mail
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 17.03.2006, 21:45    Post subject: Reply with quote

Ok, das Programm ist fast fertig.
Ich versuch das Dingen noch in ein RPM zu verwandeln, um eine einfachere Installationsroutine zu haben.
Kann noch ein paar Tage dauern. Bisher sind auch noch nicht alle (derzeit etwa 250 von geplanten 750) Level drin.

Wem es trotzdem unterm Hintern brennt, kann es sich unter
http://munk.vex-server.de/d3fix/d3fix.tar (veraltet)
herunterladen.

Knappe Installationsanweisung wie folgt:
- Installiert iptables falls es fehlt.
- besorgt für euch die Kernelmodule iptable_mangle und ip_queue. Seht zu daß sie ohne Fehler laden, und tragt sie in /etc/modules ein
- entpackt das obige TAR-Archiv ins ROOT-Verzeichnis "/". Dadurch werden alle Files direkt an die richtige Stelle gelegt.
- Seht zu, daß /usr/local/sbin in euer PATH-Variablen drin ist
- startet das Programm als root mit "d3fixd" oder mit "/usr/local/sbin/d3fixd" .


Last edited by Munk on 25.03.2006, 21:18; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
zico
Rebirther


Joined: 23 Nov 2005
Posts: 452
Location: Ebersbach

PostPosted: 18.03.2006, 08:57    Post subject: Reply with quote

Ich werd das Script an diesem Wochenende noch ausführlich testen. Die eltzten Tage gabs ein wenig Stress, da DXX in ein CVS gezwängt werden musste. Aber ich denke heute wirds mal ein paar glücklichere Momente geben. Smilie
Back to top
View user's profile Send private message
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 21.03.2006, 15:42    Post subject: Reply with quote

Ok, hier ist nun das Final.

Installationsanweisungen:
- Je nach verwendeter Distribution das entsprechende Paket herunterladen:
Debian oder Ubuntu nehmen .deb , Suse oder RetHat: .rpm, ansonsten .tgz
- Einspielen der Pakete:
Für das .deb-Paket führe als Root-User aus: "dpkg -i d3fix_1.5-1_i386.deb"
Für das .rpm-Paket führe als Root-User aus: "rpm --nodeps -i d3fix-1.5-2.i386.rpm"
Für das .tgz-Paket fürhe als Root-User aus: "tar -C / -xvvzf d3fix-1.6.tgz"
- Laden der Kernelmodule:
Als Root-User ausführen: "modprobe ip_queue && modprobe iptable_mangle"
Wenn es zu keiner Fehlermeldung beim Laden kommt, an die Datei /etc/modules unten die beiden Zeilen anhängen:
Quote:

ip_queue
iptable_mangle

Zum Starten als Root-User ausführen: "d3fixd &"
Nun kann mit der Loki-Version von D3 normal gespielt werden.

Downloadlink:
http://munk.vex-server.de/d3fix/d3fix_1.6-1_i386.deb
http://munk.vex-server.de/d3fix/d3fix-1.6-2.i386.rpm
http://munk.vex-server.de/d3fix/d3fix-1.6.tgz

Und hier nur die Checksummendatei für spätere Updates der Leveldatenbank:
http://munk.vex-server.de/d3fix/checksums
(speichern nach /usr/local/share/d3fix/checksums)

Edit: URLs für v1.6 geändert


Last edited by Munk on 04.04.2006, 21:03; edited 5 times in total
Back to top
View user's profile Send private message Send e-mail
Munk
Forum-Nutzer


Joined: 30 Jun 2001
Posts: 2140
Location: Herzogenrath

PostPosted: 22.03.2006, 21:12    Post subject: Reply with quote

Wichtiges Update:

Ich glaube, dieser Patch hilft nun auch gegen den Ping Bug.
Verursacht wurde dieser durch eine massive Zahl von Paketen (etwa 30KByte/s - also am Bandbreitenlimit) an den Server - in denen aber überhaupt garnichts drinsteht.
(Deswegen hat es vermutlich auch im LAN geklappt, im Internet aber nicht)

Die neue Version filtert nun zusätzlich diese "Flood"-Pakete heraus. der Ping-Bug tritt (zumindest bei mir) seitdem nicht mehr auf.

Desweiteren kann mit dem Fix nun auch auf amerikanischen Servern gespielt werden.

http://munk.vex-server.de/d3fix/d3fix_1.5-1_i386.deb
http://munk.vex-server.de/d3fix/d3fix-1.5-2.i386.rpm
http://munk.vex-server.de/d3fix/d3fix-1.5.tgz

Edit:
zico hat noch nen Bug gefunden, der ist im obigen noch behoben.
Edit^2:
Vorerst nur Pyro-GL und Phoenix. An den anderen Schiffen arbeite ich noch.
Edit^3: URL auf v1.5 angepasst.


Last edited by Munk on 25.03.2006, 21:19; edited 3 times in total
Back to top
View user's profile Send private message Send e-mail
zico
Rebirther


Joined: 23 Nov 2005
Posts: 452
Location: Ebersbach

PostPosted: 23.03.2006, 00:56    Post subject: Reply with quote

Genial!
Im Moment mach ich ein paar Testläufe. Bis jetzt hab ich noch nie so lang auf einem server ausgehalten ohne zu fliegen! Jetzt bleib ich zudem noch unter 100ms PING. Morgen folgen weitere Testläufe.

Achja, anmerkung fürs nächste Release: kannst du die RPM Deps entfernen? SuSE kann sie zumindest nicht auflösen (Auch wenn vorhanden).

Meine fresse, ENDLICH D3 online!
Back to top
View user's profile Send private message
zico
Rebirther


Joined: 23 Nov 2005
Posts: 452
Location: Ebersbach

PostPosted: 23.03.2006, 17:13    Post subject: Reply with quote

Hier ein Beweisbild Smilie
Es läuft wirklich klasse



d3fixd.jpg
 Description:

Download
 Filename:  d3fixd.jpg
 Filesize:  234.6 KB
 Downloaded:  929 Time(s)

Back to top
View user's profile Send private message
VEX-Eagle
Falschparker


Joined: 04 Feb 2003
Posts: 807
Location: Stelle (Hamburg)

PostPosted: 23.03.2006, 20:56    Post subject: Reply with quote

das bild könntest du auch von nem lokalen spiel gemacht haben grinsen

zählt nicht Winken
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Descentforum.DE Forum Index -> Tech - Support - Forum All times are GMT + 2 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
PayPal


Descent is a trademark of Interplay Productions.
Descent, Descent II are © Parallax Software Corporation.
Descent III is © Outrage Entertainment.
Descentforum.DE and Descentforum.NET is © by Martin "Do_Checkor" Timmermann.
Powered by phpBB © 2001-2008 phpBB Group