- Registriert
- 2 Juli 2001
- Beiträge
- 9.509
- Punkte Reaktionen
- 3
HOWTO: Diablo 2 unter Linux (advanced)
Howto: Diablo 2 unter Linux
Update: Seit patch 1.12 wurde der Kopierschutz in Diablo2 entfernt, wodurch eine ganze Reihe von Problemen verschwinden. Ich habe dies zum Anlass genommen, dieses Howto gründlich zu überarbeiten, an neuere Wine-Versionen anzupassen und die nun irrelevanten Informationen rauszuwerfen.
Wer noch mit älteren Patches spielen möchte sei auf das backup der alten Version verwiesen.
Einleitung
Windows eignet sich zum zocken, Linux zum arbeiten. Immer zwischendurch neu booten war mir zu nervig, was mich schliesslich dazu bewogen hat meine Spiele unter Linux zum laufen zu bringen.
Es gibt diverse Programme um ein komplettes Windows unter Linux laufen zu lassen (vmware, virtualbox & co), die haben aber alle einige nachteile:
a) massig overhead, insbesondere vom Speicherverbrauch, da ein komplettes Betriebssystem geladen werden muss.
b) meist weder hardwarebeschleunigte Grafik noch Sound.
c) man braucht eine Windows-Lizenz.
Das mag eine Lösung für sehr alte Spiele sein, aber nicht für Diablo 2.
Besser ist Wine. Wine leitet einfach Windows-Funktionen auf bereits vorhandene Linux-Funktionen um, es entfällt der Overhead um zwei Betriebssysteme zu starten. Wine ist seit längerem weit genug entwickelt um Diablo 2 laufen zu lassen.
Dieses Howto liegt schon ewig auf meiner Platte, währenddessen hat schon jemand anders ein eigenes Howto gepostet. Das ist einfacher, kürzer, mit Bildern (in Farbe, und buunt!), und damit eher für Linux-Einsteiger geeignet. Mein Howto geht mehr ins Detail und gibt einige zusätzliche Tipps, ist aber lang und teilweise technisch
Inhalt
Voraussetzungen
Wine vs. WineX/Cedega vs. CrossoverOffice
Wine ist die ursprüngliche Version und die einzige kostenlose.
Mittlerweile gibt es keinen Grund mehr, für Diablo 2 etwas anderes als das normale Wine zu benutzen, idealerweise Wine 1.0 (oder eines der späteren stable releases, sobald verfügbar)
In der Entwicklerversion Wine 1.1.10 wurden einige Sound-Probleme behoben. Wer mit stotterndem Sound zu kämpfen hat kann ein update ausprobieren.
Einrichtung von Wine
Die Installation von Wine macht ihr am besten über das Paketmanagement eurer Distribution, der installiert benötigte Abhängigkeiten gleich mit.
Sollte das nicht gehen, oder sind die Pakete eurer Distribution zu alt, so helfen die offiziellen Binärpakete.
Wenn ihr schon länger Linux nutzt und Wine nur zum Spielen benutzen wollt, so empfehle ich einen zweiten Benutzer mit weniger Rechten einzurichten und Wine nur unter diesem laufen zu lassen. Wenn ihr nicht wisst, wie man das macht, dann lasst euch nicht verwirren und spart euch den Kram mit dem Zweitbenutzer
Danach müsst ihr die Default-Konfiguration und ein Verzeichnis für euer Windows-C:-Laufwerk anlegen. Einmal kurz wine starten (oder wineprefixcreate) reicht, um eine leere konfiguration anzulegen.
Ansonsten hilft die Wine-Dokumentation.
In neueren Wine-Versionen gibt's den Befehl winecfg um die Konfiguration einzustellen. Wählt dort euer Sound-system (Audio-Tab) und legt fest wo C: sein soll sowie wo euer CD-Rom ist (Drives-Tab). Wollt ihr mehr als 3 Maustasten benutzen so müsst ihr als emuliertes Betriebssystem Windows 2000 oder neuer angeben (cedega hat win98 als Voreinstellung). Den Rest solltet ihr erstmal in Ruhe lassen (oder die doku lesen bevor ihr rumspielt *g*).
Ich gehe davon aus dass euer user-verzeichnis /home/wine/ heisst und euer Windows-C:-Laufwerk sich unter /home/wine/wine_c_drive/ befindet. (Das ist nicht der Standardort, aber meins ist dort.. ein c_drive ausserhalb des .wine-Ordners ist nicht verkehrt)
Installation von Diablo 2
Keine Ahnung. Ich hatte noch eine funktionsfähige und gepatchte Diablo2-Installation auf der Windows-Partition, und hab die einfach rüberkopiert, funktioniert. Eventuell müssen die permissions angepasst werden, chmod u+x *.exe, chmod u+x *.dll
Eine Installation sollte gehen, Probleme kann es allerdings beim CD-Wechsel geben - zumindest, wenn ihr die CD per Hand mounted habt:
Wenn ihr die CD unmounten wollt um sie zu wechseln darf sie nicht mehr benutzt werden, insbesondere darf keine konsole mehr die CD als aktuelles verzeichnis haben. Etwas wie: cd /mnt/cdrom; wine ./Setup.exe wird fehlschlagen. Aus einem anderen Verzeichnis heraus (z.B. home) wine /mnt/cdrom/Setup.exe (oder wine D:\\Setup.exe, wenn das cdrom korrekt als wine-laufwerk eingerichtet ist), dann geht's.
Wollt ihr später mehrere D2-Clients laufen lassen, so könnt ihr es gleich in einen passendenderen Ort installieren, z.B. C:\Diablo2_A\
Kopiert jetzt noch die d2xmusic.mpq von eurer LoD-CD (oder für classic-only-installationen die d2music.mpq von der play-cd) in euer Spielverzeichnis, das entlastet die CD. Alternativ könnt ihr auch meine leeren mpqs installieren und auf Videos und/oder Musik verzichten.
Je nachdem wohin ihr es installiert habt lässt sich Diablo 2 dann mit folgendem Befehl starten:
wine "C:\\Program Files\\Diablo2\\Game.exe" -w
zum Testen sei das -w für Fenstermodus erstmal empfohlen, um den D2VidTest kümmern wir uns später. Die Backslashes \\ müssen tatsächlich immer doppelt geschrieben werden, da ein einzelner backslash unter linux eine escape-sequence einleitet. (Wer's versteht hat Glück, wer nicht muss mir einfach glauben und doppelt schreiben )
der aktuelle Patch
Ihr solltet euch direkt als erstes ins battle.net einklinken um den neuesten Patch zu laden. Die Installation geht dann automatisch und sollte einwandfrei funktionieren.
Wenn das nicht klappt (z.B. weil der Kopierschutz zickt, oder ihr keine Internetanbindung habt), dann ladet euch den patch z.B. aus unserer filebase und installiert ihn per Hand: das zip-archiv in's wine_c_drive entpacken, dann per
wine patchname.exe
starten.
Glide-Wrapper
Dieser Teil ist optional, aber empfohlen, egal ob ihr Fullscreen oder Windowed spielen wollt.
Die DirectX -> openGL-Umsetzung von Wine ist natürlich nicht auf Diablo2 optimiert, der glide-wrapper von Kaligula schon, und ist daher vorzuziehen.
Die 1.4'er-Betas waren bei mir beim Test nicht sonderlich stabil, aber das ist auch schon etliche wine-Versionen her. Ich benutze noch die 1.3c, die auch recht gut läuft. Soll euch aber nicht davon abhalten, die 1.4er-Versionen zu testen.
Readme lesen, dll ins Spieleverzeichnis kopieren (nicht ins windows-verzeichnis!), evtl. alles nochmal chmod +x setzen, Wrapper-Konfigurationsprogramm per wine starten und einrichten.
Benutzt ihr einen 32-Bit-Desktop (tun eigentlich fast alle), so setzt unbedingt auch "32-Bit-Rendern"!
D2VidTst
wine "C:\\Program Files\\Diablo2\\D2VidTst.exe"
wenn der wrapper installiert ist, wählt glide, und fasst den vid-test nie wieder an. Ansonsten dürft ihr rumprobieren welcher der verfügbaren Video-Modi euren Anforderungen an Geschwindigkeit und Optik entspricht.
Fenster-Modus
Natürlich optional, hier aber ein paar Informationen, da es unter Linux einige Probleme, aber auch einige Tricks gibt
Es gibt generell 3 Möglichkeiten Diablo 2 ins Fenster zu verbannen:
Diablo 2 im bnet
Solltet ihr irgendeine Art von Firewall haben die Verbindungen ins bnet blockt, erstmal freischalten. Diablo2 muss euren DNS-Server per UDP kontaktieren können, sowie (für den europe-realm) alle IPs unter 213.248.106.0/24 per TCP.
PlugY
Zu PlugY ist nicht viel zu sagen, ausser: es funktioniert, aber nur, wenn die manuelle Installationsmethode gewählt wurde. Die Readme-Datei von PlugY hilft hier weiter.
mehrere Diablo2-Installationen
Ich liebe symlinks. Ihr auch? Man muss nur wenige Dateien doppelt installiert haben um D2 mehrfach nutzen zu können. Hauptsächlich die mpq's mit den CD-Keys, die Cache- und Log-Dateien.
Sollen die Diablo2-Clients unterschiedliche Versionen haben (z.B. eine 1.11-Installation, eine 1.09-Installation und einmal Classic 1.06 oder so, selbiges gilt für installierte Mods bzw. PlugY), dann wird's ein bisserl umständlicher. Insbesondere können dann nur die mpqs mit Ausnahme der d2_patch.mpq gemeinsam verwendet werden.
Zuerst werden die anderen diablo2-clients installiert. Wenn ihr sie noch auf ner Windows-Partition habt, alles prima. Ansonsten verschiebt ihr euer .wine-verzeichnis sowie das c_drive kurz woanders hin und fangt von vorne an. Die erste Installation bitte aufheben, von den weiteren braucht ihr nur jeweils die d2sfx.mpq (classic-key) und bei LoD-installationen die d2char.mpq (lod-key), den Rest könnt ihr nach der Installation direkt wieder löschen. Einfach von der CD kopieren reicht natürlich nicht, die CD-Keys werden erst bei der Installation in die mpqs geschrieben. Im Falle von unterschiedlichen D2-Versionen solltet ihr auch die jeweils benutzte Wine-Konfiguration (~/.wine) aufheben.
Jetzt verteilt ihr jeweils zwei zusammengehörige mpqs in je ein Verzeichnis, alle anderen *.mpq, sowie sämtliche *.exe, *.dll und evtl. die .ini vom glide-wrapper in einen gemeinsamen Lagerplatz. z.B.
/home/wine/wine_c_drive/Diablo2_A/ <- d2sfx.mpq & d2char.mpq
/home/wine/wine_c_drive/Diablo2_B/ <- zwei andere d2sfx.mpq & d2char.mpq
/home/wine/wine_c_drive/Diablo2_common/ <- restlichen mpqs, *.exe, *.dll, *.ini
Macht euch ne Text-Datei welche mpq mit welchem key wo ist, erspart später Ärger.
Wenn ihr dabei den Ordner mit eurem ersten Diablo2 verschiebt, dann sollte der Pfad für die Savegames in der Registry angepasst werden. (wine regedit -> HKEY_CURRENT_USER/Software/Blizzard Entertainment/Diablo II/, Keys: InstallPath, Save Path).
Sitzen mehrere user an eurem linux-rechner die alle eine eigene diablo2-installation wollen ist's evtl. logischer die gemeinsamen dateien an einen global zugänglichen ort zu verschieben, z.B. /usr/local/games/diablo2/ oder /opt/diablo2/ oder wo auch immer eure Ordnung es hin verschlägt. In dem Fall bitte selber mitdenken.
Die gemeinsamen Dateien können ausnahmslos schreibgeschützt werden (Änderungen an den glide-wrapper-Einstellungen gehen dann natürlich nicht mehr)
jetzt noch symlinks anlegen: cd /home/wine/wine_c_drive/Diablo2_A/ ; ln -s ../Diablo2_common/* ./, wiederholen für B, evtl. C und D. Fast fertig.
Gleichzeitig starten lassen sich diese Installationen nicht, Diablo2 verhindert das. Es ist möglich die d2gfx.dll zu modifizieren um die Beschränkung zu umgehen, aber davon möchte ich abraten. Sauberer wird es wenn man einfach jedes Diablo2 in einer komplett getrennten Umgebung startet, quasi jedes auf seinem eigenen (simulierten) Windows-Rechner - Wine macht's möglich.
Dazu erstellen wir ein paar neue Konfigurationsverzeichnisse, z.B. /home/wine/.wine_diablo2_A/, /home/wine/.wine_diablo2_B/, ... wir kopieren jeweils den Inhalt von /home/wine/.wine/ dort hinein - ausgenommen das c_drive, falls es dort noch drin ist. (Im Falle von unterschiedlichen D2-Versionen muss natürlich jede eine Kopie der entsprechenden eigenen Konfiguration enthalten). Kopiert werden müssen die drei .reg-dateien sowie der dosdevices-Ordner.
Überprüft anschliessend ob der pfad zum c_drive noch funktioniert, im Zweifelsfall korrigieren. Geht wie üblich per winecfg, einfach mit dem neuen Konfigurationsverzeichnis aufrufen:
WINEPREFIX=/home/wine/.wine_diablo2_A/ winecfg
und im "Drives"-Tab die Pfade anpassen.
beim Starten von D2 muss das Konfigurationsverzeichnis ebenfalls mit angegeben werden, z.B.
WINEPREFIX=/home/wine/.wine_diablo2_A/ wine "C:\\Diablo2_A\\Game.exe"
Bedenkt, dass mehr als 4 Installationen selten sinnvoll sind - pro IP werden nur 4 Verbindungen ins battle.net zugelassen, und wer nur lokal mit sich selber mulen will braucht nichtmal eine zweite installation, ein zweites unabhängiges WINEPREFIX sollte reichen.
Schlussworte
Den Dank ans Wine-Team spar ich mir mal, die lesen hier eh nicht mit..
Die meisten Informationen hier sind selber erarbeitet oder aus der Wine-Dokumentation entnommen, einige wenige Dinge ergoogled.
Bitte dieses HOWTO nicht ungefragt kopieren oder drin rumeditieren ( @mods ), schickt mir ne PM wenn was ist.
Howto: Diablo 2 unter Linux
Update: Seit patch 1.12 wurde der Kopierschutz in Diablo2 entfernt, wodurch eine ganze Reihe von Problemen verschwinden. Ich habe dies zum Anlass genommen, dieses Howto gründlich zu überarbeiten, an neuere Wine-Versionen anzupassen und die nun irrelevanten Informationen rauszuwerfen.
Wer noch mit älteren Patches spielen möchte sei auf das backup der alten Version verwiesen.
Einleitung
Windows eignet sich zum zocken, Linux zum arbeiten. Immer zwischendurch neu booten war mir zu nervig, was mich schliesslich dazu bewogen hat meine Spiele unter Linux zum laufen zu bringen.
Es gibt diverse Programme um ein komplettes Windows unter Linux laufen zu lassen (vmware, virtualbox & co), die haben aber alle einige nachteile:
a) massig overhead, insbesondere vom Speicherverbrauch, da ein komplettes Betriebssystem geladen werden muss.
b) meist weder hardwarebeschleunigte Grafik noch Sound.
c) man braucht eine Windows-Lizenz.
Das mag eine Lösung für sehr alte Spiele sein, aber nicht für Diablo 2.
Besser ist Wine. Wine leitet einfach Windows-Funktionen auf bereits vorhandene Linux-Funktionen um, es entfällt der Overhead um zwei Betriebssysteme zu starten. Wine ist seit längerem weit genug entwickelt um Diablo 2 laufen zu lassen.
Dieses Howto liegt schon ewig auf meiner Platte, währenddessen hat schon jemand anders ein eigenes Howto gepostet. Das ist einfacher, kürzer, mit Bildern (in Farbe, und buunt!), und damit eher für Linux-Einsteiger geeignet. Mein Howto geht mehr ins Detail und gibt einige zusätzliche Tipps, ist aber lang und teilweise technisch
Inhalt
- Voraussetzungen
- Wine vs. WineX/Cedega vs. CrossoverOffice
- Einrichtung von Wine
- Installation von Diablo 2
- der aktuelle Patch
- Glide-Wrapper
- D2VidTst
- Fenster-Modus
- Diablo 2 im bnet
- PlugY
- mehrere Diablo2-Installationen
Voraussetzungen
- Linux Ne halbwegs aktuelle Distribution ist nie verkehrt. Ich benutze Gentoo, jede andere distrib tut's aber auch. Mit Wine unter MacOS / FreeBSD oder anderen habe ich keine Erfahrung, einige Teile dieses Howtos sollten aber dennoch zutreffen.
- einen Rechner der D2 unter Windows locker packt. Unter Linux wird es zwangsweise etwas langsamer laufen als unter Windows, ist ja nicht drauf optimiert, und einen gewissen overhead hat auch Wine noch.
- 3D-Beschleunigte Grafiktreiber, insbesondere Hardware-beschleunigtes openGL. Eine Nvidia-Grafikkarte mit den proprietären Treibern macht sich gut bei mir, die proprietären ATI-Treiber hinken hinterher, funktionieren aber auch. Die OpenSource-Treiber sind geschwindigkeitsmässig hintenan, getestet habe ich die aber nicht.
- Irgendein Soundsystem, Wine ist da recht flexibel. Alsa ist wohl am besten getestet, PulseAudio hat unter wine noch kleinere Problemchen.
Wer sich mit software-mixing, oss, arts, esd oder ähnlichem rumärgern will kann das natürlich versuchen, ich kann und will aber bei daraus resultierenden Sound-Problemen nicht helfen - Bisserl Ahnung von Linux, ich fang nicht bei 0 an - ne console solltet ihr bedienen können. Auch die Wine-Dokumentation könnte man gelesen oder zumindest griffbereit haben.
Wine vs. WineX/Cedega vs. CrossoverOffice
Wine ist die ursprüngliche Version und die einzige kostenlose.
Mittlerweile gibt es keinen Grund mehr, für Diablo 2 etwas anderes als das normale Wine zu benutzen, idealerweise Wine 1.0 (oder eines der späteren stable releases, sobald verfügbar)
In der Entwicklerversion Wine 1.1.10 wurden einige Sound-Probleme behoben. Wer mit stotterndem Sound zu kämpfen hat kann ein update ausprobieren.
Einrichtung von Wine
Die Installation von Wine macht ihr am besten über das Paketmanagement eurer Distribution, der installiert benötigte Abhängigkeiten gleich mit.
Sollte das nicht gehen, oder sind die Pakete eurer Distribution zu alt, so helfen die offiziellen Binärpakete.
Wenn ihr schon länger Linux nutzt und Wine nur zum Spielen benutzen wollt, so empfehle ich einen zweiten Benutzer mit weniger Rechten einzurichten und Wine nur unter diesem laufen zu lassen. Wenn ihr nicht wisst, wie man das macht, dann lasst euch nicht verwirren und spart euch den Kram mit dem Zweitbenutzer
Danach müsst ihr die Default-Konfiguration und ein Verzeichnis für euer Windows-C:-Laufwerk anlegen. Einmal kurz wine starten (oder wineprefixcreate) reicht, um eine leere konfiguration anzulegen.
Ansonsten hilft die Wine-Dokumentation.
In neueren Wine-Versionen gibt's den Befehl winecfg um die Konfiguration einzustellen. Wählt dort euer Sound-system (Audio-Tab) und legt fest wo C: sein soll sowie wo euer CD-Rom ist (Drives-Tab). Wollt ihr mehr als 3 Maustasten benutzen so müsst ihr als emuliertes Betriebssystem Windows 2000 oder neuer angeben (cedega hat win98 als Voreinstellung). Den Rest solltet ihr erstmal in Ruhe lassen (oder die doku lesen bevor ihr rumspielt *g*).
Ich gehe davon aus dass euer user-verzeichnis /home/wine/ heisst und euer Windows-C:-Laufwerk sich unter /home/wine/wine_c_drive/ befindet. (Das ist nicht der Standardort, aber meins ist dort.. ein c_drive ausserhalb des .wine-Ordners ist nicht verkehrt)
Installation von Diablo 2
Keine Ahnung. Ich hatte noch eine funktionsfähige und gepatchte Diablo2-Installation auf der Windows-Partition, und hab die einfach rüberkopiert, funktioniert. Eventuell müssen die permissions angepasst werden, chmod u+x *.exe, chmod u+x *.dll
Eine Installation sollte gehen, Probleme kann es allerdings beim CD-Wechsel geben - zumindest, wenn ihr die CD per Hand mounted habt:
Wenn ihr die CD unmounten wollt um sie zu wechseln darf sie nicht mehr benutzt werden, insbesondere darf keine konsole mehr die CD als aktuelles verzeichnis haben. Etwas wie: cd /mnt/cdrom; wine ./Setup.exe wird fehlschlagen. Aus einem anderen Verzeichnis heraus (z.B. home) wine /mnt/cdrom/Setup.exe (oder wine D:\\Setup.exe, wenn das cdrom korrekt als wine-laufwerk eingerichtet ist), dann geht's.
Wollt ihr später mehrere D2-Clients laufen lassen, so könnt ihr es gleich in einen passendenderen Ort installieren, z.B. C:\Diablo2_A\
Kopiert jetzt noch die d2xmusic.mpq von eurer LoD-CD (oder für classic-only-installationen die d2music.mpq von der play-cd) in euer Spielverzeichnis, das entlastet die CD. Alternativ könnt ihr auch meine leeren mpqs installieren und auf Videos und/oder Musik verzichten.
Je nachdem wohin ihr es installiert habt lässt sich Diablo 2 dann mit folgendem Befehl starten:
wine "C:\\Program Files\\Diablo2\\Game.exe" -w
zum Testen sei das -w für Fenstermodus erstmal empfohlen, um den D2VidTest kümmern wir uns später. Die Backslashes \\ müssen tatsächlich immer doppelt geschrieben werden, da ein einzelner backslash unter linux eine escape-sequence einleitet. (Wer's versteht hat Glück, wer nicht muss mir einfach glauben und doppelt schreiben )
der aktuelle Patch
Ihr solltet euch direkt als erstes ins battle.net einklinken um den neuesten Patch zu laden. Die Installation geht dann automatisch und sollte einwandfrei funktionieren.
Wenn das nicht klappt (z.B. weil der Kopierschutz zickt, oder ihr keine Internetanbindung habt), dann ladet euch den patch z.B. aus unserer filebase und installiert ihn per Hand: das zip-archiv in's wine_c_drive entpacken, dann per
wine patchname.exe
starten.
Glide-Wrapper
Dieser Teil ist optional, aber empfohlen, egal ob ihr Fullscreen oder Windowed spielen wollt.
Die DirectX -> openGL-Umsetzung von Wine ist natürlich nicht auf Diablo2 optimiert, der glide-wrapper von Kaligula schon, und ist daher vorzuziehen.
Die 1.4'er-Betas waren bei mir beim Test nicht sonderlich stabil, aber das ist auch schon etliche wine-Versionen her. Ich benutze noch die 1.3c, die auch recht gut läuft. Soll euch aber nicht davon abhalten, die 1.4er-Versionen zu testen.
Readme lesen, dll ins Spieleverzeichnis kopieren (nicht ins windows-verzeichnis!), evtl. alles nochmal chmod +x setzen, Wrapper-Konfigurationsprogramm per wine starten und einrichten.
Benutzt ihr einen 32-Bit-Desktop (tun eigentlich fast alle), so setzt unbedingt auch "32-Bit-Rendern"!
D2VidTst
wine "C:\\Program Files\\Diablo2\\D2VidTst.exe"
wenn der wrapper installiert ist, wählt glide, und fasst den vid-test nie wieder an. Ansonsten dürft ihr rumprobieren welcher der verfügbaren Video-Modi euren Anforderungen an Geschwindigkeit und Optik entspricht.
Fenster-Modus
Natürlich optional, hier aber ein paar Informationen, da es unter Linux einige Probleme, aber auch einige Tricks gibt
Es gibt generell 3 Möglichkeiten Diablo 2 ins Fenster zu verbannen:
- Game.exe -w, der normale Fenstermodus von Diablo 2, funktioniert mittlerweile auch unter wine einwandfrei.
Ein Nachteil ist natürlich dass dann nichtmehr über den wrapper, sondern über die Direct2D-Emulation gerendert wird, was sowohl die Grafik-Qualität als auch die Grafik-Geschwindigkeit verschlechtert - der Wrapper schafft bei mir knapp 10 mal soviele fps. Minimierte Fenster brauchen allerdings kaum resourcen, wer mehrere D2-Clients gleichzeitig laufen lässt möchte also wahrscheinlich einige in diesem Modus starten. - Window-Mode des Glide-wrapper, siehe Doku des Wrappers. Problem an der Sache: Wenn man das Inventar oder andere Fenster öffnet bewegt d2 den Mauszeiger ein Stück, und zwar relativ zur Bildschirmecke - ohne zu wissen dass das Fenster eigentlich ganz woanders ist. Das tritt auch unter Windows auf und macht diesen Fenstermodus nur sehr eingeschränkt nutzbar, genaugenommen würde ich damit nur spielen wenn ich mein Fenster genau in der linken oberen Ecke halten will.
- Window-Mode von Wine, aka Desktop-Mode. Die Anwendung glaubt sie würde im Vollbild-modus laufen, Wine verbannt sie aber in ein Fenster. Lässt sich über winecfg (Graphics-Tab) permanent einstellen, oder nach Bedarf über die Kommandozeile, falls man gelegentlich auch Fullscreen spielen möchte:
wine explorer /desktop=default,800x600 "C:\\Program Files\\Diablo2\\Game.exe"
Vorteile: rendert per wrapper schnell über opengl, ist trotzdem im Fenster, das Fenster minimiert sich nichtmal wenn man danebenklickt
Nachteil: Das Fenster lässt sich aus Diablo2-Sicht auch nie minimieren, Diablo2 rendert also permanent, und erzeugt damit permanente CPU- und Grafik-Last. Wer mehrere D2-Clients gleichzeitig laufen lassen will wird eventuell Performance-Probleme kriegen.
Diablo 2 im bnet
Solltet ihr irgendeine Art von Firewall haben die Verbindungen ins bnet blockt, erstmal freischalten. Diablo2 muss euren DNS-Server per UDP kontaktieren können, sowie (für den europe-realm) alle IPs unter 213.248.106.0/24 per TCP.
PlugY
Zu PlugY ist nicht viel zu sagen, ausser: es funktioniert, aber nur, wenn die manuelle Installationsmethode gewählt wurde. Die Readme-Datei von PlugY hilft hier weiter.
mehrere Diablo2-Installationen
Ich liebe symlinks. Ihr auch? Man muss nur wenige Dateien doppelt installiert haben um D2 mehrfach nutzen zu können. Hauptsächlich die mpq's mit den CD-Keys, die Cache- und Log-Dateien.
Sollen die Diablo2-Clients unterschiedliche Versionen haben (z.B. eine 1.11-Installation, eine 1.09-Installation und einmal Classic 1.06 oder so, selbiges gilt für installierte Mods bzw. PlugY), dann wird's ein bisserl umständlicher. Insbesondere können dann nur die mpqs mit Ausnahme der d2_patch.mpq gemeinsam verwendet werden.
Zuerst werden die anderen diablo2-clients installiert. Wenn ihr sie noch auf ner Windows-Partition habt, alles prima. Ansonsten verschiebt ihr euer .wine-verzeichnis sowie das c_drive kurz woanders hin und fangt von vorne an. Die erste Installation bitte aufheben, von den weiteren braucht ihr nur jeweils die d2sfx.mpq (classic-key) und bei LoD-installationen die d2char.mpq (lod-key), den Rest könnt ihr nach der Installation direkt wieder löschen. Einfach von der CD kopieren reicht natürlich nicht, die CD-Keys werden erst bei der Installation in die mpqs geschrieben. Im Falle von unterschiedlichen D2-Versionen solltet ihr auch die jeweils benutzte Wine-Konfiguration (~/.wine) aufheben.
Jetzt verteilt ihr jeweils zwei zusammengehörige mpqs in je ein Verzeichnis, alle anderen *.mpq, sowie sämtliche *.exe, *.dll und evtl. die .ini vom glide-wrapper in einen gemeinsamen Lagerplatz. z.B.
/home/wine/wine_c_drive/Diablo2_A/ <- d2sfx.mpq & d2char.mpq
/home/wine/wine_c_drive/Diablo2_B/ <- zwei andere d2sfx.mpq & d2char.mpq
/home/wine/wine_c_drive/Diablo2_common/ <- restlichen mpqs, *.exe, *.dll, *.ini
Macht euch ne Text-Datei welche mpq mit welchem key wo ist, erspart später Ärger.
Wenn ihr dabei den Ordner mit eurem ersten Diablo2 verschiebt, dann sollte der Pfad für die Savegames in der Registry angepasst werden. (wine regedit -> HKEY_CURRENT_USER/Software/Blizzard Entertainment/Diablo II/, Keys: InstallPath, Save Path).
Sitzen mehrere user an eurem linux-rechner die alle eine eigene diablo2-installation wollen ist's evtl. logischer die gemeinsamen dateien an einen global zugänglichen ort zu verschieben, z.B. /usr/local/games/diablo2/ oder /opt/diablo2/ oder wo auch immer eure Ordnung es hin verschlägt. In dem Fall bitte selber mitdenken.
Die gemeinsamen Dateien können ausnahmslos schreibgeschützt werden (Änderungen an den glide-wrapper-Einstellungen gehen dann natürlich nicht mehr)
jetzt noch symlinks anlegen: cd /home/wine/wine_c_drive/Diablo2_A/ ; ln -s ../Diablo2_common/* ./, wiederholen für B, evtl. C und D. Fast fertig.
Gleichzeitig starten lassen sich diese Installationen nicht, Diablo2 verhindert das. Es ist möglich die d2gfx.dll zu modifizieren um die Beschränkung zu umgehen, aber davon möchte ich abraten. Sauberer wird es wenn man einfach jedes Diablo2 in einer komplett getrennten Umgebung startet, quasi jedes auf seinem eigenen (simulierten) Windows-Rechner - Wine macht's möglich.
Dazu erstellen wir ein paar neue Konfigurationsverzeichnisse, z.B. /home/wine/.wine_diablo2_A/, /home/wine/.wine_diablo2_B/, ... wir kopieren jeweils den Inhalt von /home/wine/.wine/ dort hinein - ausgenommen das c_drive, falls es dort noch drin ist. (Im Falle von unterschiedlichen D2-Versionen muss natürlich jede eine Kopie der entsprechenden eigenen Konfiguration enthalten). Kopiert werden müssen die drei .reg-dateien sowie der dosdevices-Ordner.
Überprüft anschliessend ob der pfad zum c_drive noch funktioniert, im Zweifelsfall korrigieren. Geht wie üblich per winecfg, einfach mit dem neuen Konfigurationsverzeichnis aufrufen:
WINEPREFIX=/home/wine/.wine_diablo2_A/ winecfg
und im "Drives"-Tab die Pfade anpassen.
beim Starten von D2 muss das Konfigurationsverzeichnis ebenfalls mit angegeben werden, z.B.
WINEPREFIX=/home/wine/.wine_diablo2_A/ wine "C:\\Diablo2_A\\Game.exe"
Bedenkt, dass mehr als 4 Installationen selten sinnvoll sind - pro IP werden nur 4 Verbindungen ins battle.net zugelassen, und wer nur lokal mit sich selber mulen will braucht nichtmal eine zweite installation, ein zweites unabhängiges WINEPREFIX sollte reichen.
Schlussworte
Den Dank ans Wine-Team spar ich mir mal, die lesen hier eh nicht mit..
Die meisten Informationen hier sind selber erarbeitet oder aus der Wine-Dokumentation entnommen, einige wenige Dinge ergoogled.
Bitte dieses HOWTO nicht ungefragt kopieren oder drin rumeditieren ( @mods ), schickt mir ne PM wenn was ist.