• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Diablo 2 mehrfach starten unter Linux

AlexanderDerGroße

Active member
Registriert
30 Juni 2003
Beiträge
520
Punkte Reaktionen
0
Hallo,

ich spiele momentan Diablo 2 unter Linux (Ubuntu 10.x mit Wine 1.3.15). Ich habe vor mehrere Patches zu spielen (1.06b, 1.07, 1.08, 1.09d, 1.13d) und will diese auch mehrfach starten können. Unter Windows kann man ja anscheinend mit einer modifizierten d2gfx.dll die selbe Installation mehrfach starten. Unter Linux scheint das bei mir (zumindest mit 1.06b) nicht zu funktionieren. Momentan habe ich für jede Version und jede zusätzliche Instanz die ich starten will eine Kopie des wine-Ordners angelegt und die Instanz dann mit

Code:
export WINEPREFIX=$HOME/.wined2a
wine "~/.wined2a/drive_c/Program Files/Diablo II/Diablo II.exe" -w

gestartet. Da ich aber aber im Extremfall 5 Patches habe und jeweils 8 Instanzen gleichzeitig laufen haben will, müsste ich 40 Kopien des Ordners haben... Außerdem hätte ich das Problem, dass ich nicht von jeder Instanz auf die selben Chars zugreifen kann oder die Spielstände immer synchron halten muss.

Deshalb wollte ich wissen, ob schon mal jemand gehört hat, wie das mit der modifizierten d2gfx.dll unter Linux funktioniert.
 
Benutz doch einfach softlinks (man ln) um platz zu sparen.
Zusätzlich schreibst du dir ein kleines shellscript, welches dir die Versionen der Spielstände abgleicht.
 
ich frag mich eher wie dein rechner das packt, bei mir streikt der fast bei 8 instanzen 06^^

1.07+ hingegen läuft flüssiger, aber du benutzt ja wine, was wie ein emulator is oder nich?
 
Ja d2gfx.dll funktioniert problemlos. Jeder Patch hat aber seine eigene d2gfx.dll Version. Lad die 1.06b d2gfx.dll irgendwo hoch und ich guck sie mir mal an bzw. patche sie.
Falls du dich selber mit x86 Assembler auskennst: nachsehen wo FindWindow aufgerufen wird und danach den Jump manipulieren.

wegen der Spielstände: da kannst du ein Symlink setzen, kein Shellscript notwendig.

Mehr als 8 D2 Instanzen: alles eine Frage der CPU Cores und der Menge an RAM. Wobei WINE Instanzen das Problem haben das alle D2 Instanzen dann ggf im "Vordergrund" sind und einen vollen Core wollen anstatt im Hintergrund wo die Auslastung zurückgeht. Aber Linux hat für solche Fälle Dinge wie cgroups.
 
Benutz doch einfach softlinks (man ln) um platz zu sparen.
Zusätzlich schreibst du dir ein kleines shellscript, welches dir die Versionen der Spielstände abgleicht.

Das scheint ganz gut zu funktionieren: ich verschiebe das D2-Verzeichnis irgendwohin, kopiere das leere wine-Verzeichnis mehrfach und füge jeweils einen symbolischen Link auf das D2-Verzeichnis ein. Das erspart auch das Script zur Synchronisation der Spielstände.

ich frag mich eher wie dein rechner das packt, bei mir streikt der fast bei 8 instanzen 06^^

1.07+ hingegen läuft flüssiger, aber du benutzt ja wine, was wie ein emulator is oder nich?

Ausprobiert habe ich das mit 8 bisher auch nicht...

edit: Lustigerweise wird mir dabei 100%-ige Auslastung von allen 4 Kernen angezeigt, obwohl, alles sehr flüssig läuft (und 1070/2884 MB RAM sind in Benutzung).

Ja d2gfx.dll funktioniert problemlos. Jeder Patch hat aber seine eigene d2gfx.dll Version. Lad die 1.06b d2gfx.dll irgendwo hoch und ich guck sie mir mal an bzw. patche sie.
Falls du dich selber mit x86 Assembler auskennst: nachsehen wo FindWindow aufgerufen wird und danach den Jump manipulieren.

Hier gibt's ja schon eine modifizierte dll für 1.06b, für 1.07-1.09 soll angeblich die 1.09er funktionieren. Welchen Disassembler kannst du mir denn empfehlen?

Und bei dir funktioniert das mit der d2gfx.dll? Bei aktuellen Patches habe ich es noch nicht ausprobiert, aber unter 1.06b und 1.07 funktioniert das bei mir nicht. Es gibt keine Fehlermeldung beim Aufruf von "wine Diablo\ II.exe", aber eine zweite Instanz startet einfach nicht. :irre:
 
Zuletzt bearbeitet:
Hier gibt's ja schon eine modifizierte dll für 1.06b, für 1.07-1.09 soll angeblich die 1.09er funktionieren. Welchen Disassembler kannst du mir denn empfehlen?

Und bei dir funktioniert das mit der d2gfx.dll? Bei aktuellen Patches habe ich es noch nicht ausprobiert, aber unter 1.06b und 1.07 funktioniert das bei mir nicht. Es gibt keine Fehlermeldung beim Aufruf von "wine Diablo\ II.exe", aber eine zweite Instanz startet einfach nicht. :irre:

Es gibt nur einen Disassembler IDA Support: Evaluation Version
Bei der Fehlerbeschreibung würde ich aber eher einen Debugger empfehlen.
 
für 1.07+ könntest du D2SE benutzen um mehrfach starten zu können ohne verschiedene Ordner für jede Version haben zu müssen, und Ich glaube es ist auch wine kompatibel.

The D2SE Modmanager MAIN LINKLIST [english/german]

Danke, aber da muss man für meinen Geschmack viel zu viel klicken. :D Ich bin schon bereit für verschiedene Versionen verschiedene Installationen in Kauf zu nehmen.

Es gibt nur einen Disassembler IDA Support: Evaluation Version
Bei der Fehlerbeschreibung würde ich aber eher einen Debugger empfehlen.

Ich finde es äußerst schwer Programme zu debuggen für die ich keinen Quellcode habe. Also das mit das mit der modifizierten d2gfx funktioniert bei mir definitiv nicht und ich weiß nicht woran das liegt. Ich habe jetzt allerdings meine Lösung gefunden mit den symbolischen Links. ;)
 
Zurück
Oben