Supreme Commander

Der Tummelplatz für alle PC-Spieler!

Moderatoren: Moderatoren, Redakteure

GoGetGo
Beiträge: 144
Registriert: 29.12.2006 18:18
Persönliche Nachricht:

Beitrag von GoGetGo »

Hast du denn 'nen Rechner mit XP Serv.P.2 druff!?
klingt so...
Und wenn du 1 drauf hast, dann kannst auch eben 2 drüberbügeln, schadet nicht.


War heute auch in 'nem Laden und hab mir das nochmal so im Regal stehend angeschaut...und wenn ich ehrlich bin, hatte ich gehofft dass ich irgendwo einen coolen Papp-Aufsteller abgrasen kann :D
Schnitzl
Beiträge: 45
Registriert: 03.07.2004 13:52
Persönliche Nachricht:

Beitrag von Schnitzl »

Nein ich hab nur Windows 2000. Sorry falls das undeutlich war.

Also kein SupremeCommander-Kauf von mir.
Vor allem da das Problem lächerlich ist und es imho kein Problem für die Entwickler wäre das auch für Win2000 verfügbar zu machen :evil:

MfG
crawler1
Beiträge: 39
Registriert: 28.12.2006 12:53
Persönliche Nachricht:

Beitrag von crawler1 »

Schade, da entgeht dir was Shcnitzel. ich habs mir geauft und bereue nix :)

Supreme Commander erfült eigentlich alle erwartungen von mir!
ein Glück ist meine hardware ausreichend :)
johndoe-freename-105282
Beiträge: 123
Registriert: 21.12.2006 14:09
Persönliche Nachricht:

Beitrag von johndoe-freename-105282 »

Schnitzl hat geschrieben:Nein ich hab nur Windows 2000. Sorry falls das undeutlich war.

Also kein SupremeCommander-Kauf von mir.
Vor allem da das Problem lächerlich ist und es imho kein Problem für die Entwickler wäre das auch für Win2000 verfügbar zu machen :evil:

MfG
steig doch um auf xp ;)
oder bleibst du mit absicht bei 2000?
GoGetGo
Beiträge: 144
Registriert: 29.12.2006 18:18
Persönliche Nachricht:

Beitrag von GoGetGo »

Hab mich grad auch gefragt warum du bei 2000 bleibst?
sicher, ist recht stabil, aber xp steht dem in nix nach...
und der angenehme nebeneffekt: sc läuft dann bei dir ;)
johndoe-freename-106127
Beiträge: 592
Registriert: 12.01.2007 16:19
Persönliche Nachricht:

Beitrag von johndoe-freename-106127 »

und an der performance dürfts ja nicht liegen wenn du spiele spielen willst...
johndoe-freename-107624
Beiträge: 6
Registriert: 20.02.2007 12:07
Persönliche Nachricht:

Beitrag von johndoe-freename-107624 »

Schnitzl hat geschrieben:Also kein SupremeCommander-Kauf von mir.
Hey, nichts überstürzen! hab mich extra angemeldet um dich und alle anderen Win2k Nutzer (falls es hier überhaupt noch welche gibt) darüber zu informieren, dass SC - und zwar nicht nur die Demo - durchaus auf Windows 2000 läuft!

Die erste Fehlermeldung (Einsprungspunkt "getaddrinfo" nicht in ws2_32.dll gefunden) wird dadurch verursacht, dass SC eine WinSocket-Funktion aufruft, die erst in XP zu dieser dll hinzugefügt wurde. Dem kann leicht durch kopieren der dll von einem vorhanden WinXP-System in den bin-Ordner der Supreme Commander Installation abgeholfen werden.
Desweiteren verlangt SC noch ein Modul namens "faultrep.dll", hier kann genauso verfahren werden.

Das wirkliche Problem ist die eigentlich für Vista entwickelte DirectX Komponente XACT Audio (XACT steht für Cross-Platform (X) (A)udio (C)reation (T)ool). Diese wurde um den Übergang zu Vista zu vereinfachen auch zur aktuellsten DirectX9 runtime hinzugefügt - allerdings nur für Windows XP.
Will man eine aktuelle DirectX9 Version unter Win2k installieren verschweigt einem die Setup-Routine einfach, dass sie XACT (und eine andere neue Schnittstelle namens XInput, die wird von SC aber nicht gebraucht) schlicht mal ausgelassen hat.

Da - wie wir alle wissen - Win2000 und WinXP im Prinzip die gleichen Bestriebssysteme sind, läuft XACT natürlich auch unter Windows 2000. Die ganze Sache ist mal wieder reine Microsoft-Schikane :evil:

Die seit einiger Zeit im Internet kursierende Lösung, einfach die dll "X3DAudio1_1.dll" in den bin-Ordner zu setzen (zu beziehen ebenfalls von einem vorhandenen XP System oder aus dem INet), bewirkt zwar, dass Supreme Commander startet, jedoch hat man dann keinen Sound. Das ist auch logisch, weil der gesammte Rest der Komponente fehlt und nicht richtig registriert wurde.

Um das Problem zu lösen muss man die entsprechenden Module manuell installieren. Dazu braucht man eine aktuelle (midestens Oktober 2006) DirectX Distribution. Hier eine Schritt-für-Schritt Anleitung:

(1) Wenn nicht schon passiert, das orginale Archiv (z.B. "directx_oct2006_redist.exe") in einen leeren Ordner entpachen (mit WinZip/WinRAR/WinACE ...).

(2) Zur besseren Übersicht erstellt man in diesem Ordner einen neuen Unterordner und kopiert alle *.cab-Archive, die etwas mit XACT zu tun haben dort rein. (Natürlich nur die mit x86 im Namen, es sei denn Win2k unterstützt neuerdings 64bit :biggrin:)

(3) Als nächstes entpackt man die *.cab-Archive beginnend vom Ältesten in dieses Verzeichnis, und bestätigt alle Überschreiben-Meldungen.

Ein Blick in die *.inf-Files zeigt nun, was getan werden muss: "x3daudio1_0.dll" und "x3daudio1_1.dll" sowie alle "xactengine2_?.dll"-Dateien werden ins system32 Verzeichnis der Windows 2000 Installation kopiert (normalerweise C:\WNNT\system32). Anschließend werden die "xactengine2_?.dll"-Module registriert, offensichtlich handelt es sich bei denen um COM-dlls.
ACHTUNG: Diesen Schritt noch NICHT ausführen, vorher müssen die Dateien noch etwas bearbeitet werden.

(5) Um den Grund für diesen Schritt zu erklären, muss ich etwas ausholen. Alle in C, C++ und C# programmierten Spiele und Treiber (und das sind fast alle) brauchen die CRT (C-RunTime) genannten C-Laufzeitbibliotheken. Im Falle von Microsofts C-Compiler (der ebenfalls mit Abstand am häufigsten genutzt wird) heißt die wichtigste MSVCRT.dll. Das sich natürlich auch Programmiersprachen weiterentwickeln, müssen die Laufzeitbibliotheken aktuell gehalten werden. Bei Microsoft tut man dies indem neue CRTs einfach eine Nummer hinter den Namen bekommen und dann neben den Alten im System liegen.
Bei der Entwicklung von XACT hat man jedoch darauf geachtet, dieses System der Abwärtskompatiblität möglichst AUSZUHEBELN und hat die Module nur mit MSVCRT.dll verlinkt, was beim Einsatz in XP und Vista kein Problem darstellt, da diese Datei dann mit der neusten Version MSVCR80.dll identisch ist.
Genau hier liegt der Hund begraben: wir müssen die Referenzen in den "xactengine2_?" dlls ("x3daudio1_?.dll"s haben keine solche Referenzen) auf eine MSVCR80.dll umleiten. Hierfür verwendet man im Idealfall einen Hex-Editor, aber Notepad ode ein anderer Text-Editor könnte u.U. auch funktionieren, doch dafür keine Garantie meinerseits! Wir öffnen also alle "xactengine2_?" dlls in einem geeigneten Editor und suchen nach der Zeichenfolge "msvcrt.dll". Das 'r' ändern wir in ein 'x' und speichern ab. Aus Gründen, die wirklich zu Umfangreich wären als dass ich sie hier noch erklären könnte, können wir die Referenz nicht einfach in "msvcr80.dll" ändern - nur so viel: die Anzahl der Buchstaben muss gleich bleiben. Damit die neue Referenz also nicht ins Leere zeigt, müssen wir noch die in system32 vorhandene "MSVCR80.dll" kopieren und in "msvcrx.dll" umbenennen (Groß- und Kleinschreibung ist übrigens egal). Das Kopieren und Umbenennen kann der Einfachheit halber zusammen mit Schritt 6 erfolgen.

(6) Die so veränderten dlls und natürlich auch x3daudio1_0.dll und x3daudio1_1.dll kopieren wir jetzt ins system32-Verzeichnis der Win2000 Installation und erstellen uns wenn noch nicht passiert unsere msvcrx.dll.

(7) Abschließent müssen noch die COM-Server in den "xactengine2_?.dll"s registriert werden. Dafür öffnen wir die Kommandokonsole, wechseln darin ins system32-Verzeichnis (z.B. "cd C:\WINNT\System32" ohne "" eingeben) und führen für jede "xactengine2_?.dll" den Befehl "regsvr32.exe xactengine2_?.dll" (wieder ohne "") aus. Das ? ist durch die jeweilige Nummer zu ersetzen.

Und schon haben wir ein 1a funktionierenden Supreme Commander :RR:

Hoffe, das hilft dir weiter. Wenn ich nicht so faul wäre, würde ich mal ein Script oder sowas schreiben, aber eigentlich ist die Methode ja nicht sooo umständlich.

Ich hoffe du hast die Demo noch nicht runtergehauen, oder noch schlimmer, Windows XP installiert 8)

Also viel Glück beim Ausprobieren!
crawler1
Beiträge: 39
Registriert: 28.12.2006 12:53
Persönliche Nachricht:

Beitrag von crawler1 »

Ich bin zwar ein XP user, aber sehr nice, dass du dir die Mühe gemacht hast. THUMBS UP!
johndoe-freename-107624
Beiträge: 6
Registriert: 20.02.2007 12:07
Persönliche Nachricht:

Beitrag von johndoe-freename-107624 »

Danke. Übrigens hat sich jemand vom Futuremark Forum bereit erklärt, die veränderten dlls sowie eine batch-Datei zur einfachen Installation zu hosten. Wie's aussieht konnte ich mich doch noch durchringen ^^

Hier der Link:
http://digg.com/gaming_news/Supreme_Com ... 2000_users

Das zweite Archiv (SCwin2k.zip) enthält übrigens die beiden dlls "ws2_32.dll" und "faultrep.dll".
Schnitzl
Beiträge: 45
Registriert: 03.07.2004 13:52
Persönliche Nachricht:

Beitrag von Schnitzl »

anonymous-user hat geschrieben:Danke. Übrigens hat sich jemand vom Futuremark Forum bereit erklärt, die veränderten dlls sowie eine batch-Datei zur einfachen Installation zu hosten. Wie's aussieht konnte ich mich doch noch durchringen ^^

Hier der Link:
http://digg.com/gaming_news/Supreme_Com ... 2000_users

Das zweite Archiv (SCwin2k.zip) enthält übrigens die beiden dlls "ws2_32.dll" und "faultrep.dll".
Genial! :D
Es startet jetzt, nur wenn ich ne Skirmish-Mission auswähle komme ich zurück auf den Desktop und hab nen Sound-Loop :cry:

Die dll´s aus dem 2. Archiv kommen in das Bin-Verzeichnis, oder?

Jedenfalls soweit mal vielen Dank für deine Hilfe! Vielleicht fällt dir ja zu dem Problem noch was ein? :wink:

MfG
johndoe-freename-107624
Beiträge: 6
Registriert: 20.02.2007 12:07
Persönliche Nachricht:

Beitrag von johndoe-freename-107624 »

Also: Die Dateien "ws2_32.dll" und "faultrep.dll" kommen ins \\bin Verzeichnis. Die andere Datei "X3DAudio1_1.dll" aus SCWin2k.zip wird nicht gebraucht. Es ist möglich, dass der Crash damit zusammenhängt. Stattdessen wird eine dll mit dem selben Namen aus dem Archiv xact4win2k.rar beim ausführen der bat-Datei automatisch ins system32-Verzeichnis kopiert. Diese ist auch nur 15kb groß und definitiv die orginale Version von DirectX. Keine Ahnung, was mit der anderen angestellt wurde.
Wenn sich also im \\bin Verzeichnis zusätzlich zu den Dateien die dort sowieso schon sind nur "ws2_32.dll" und "faultrep.dll" befinden, und der Rest (msvcrx.dll, x3daudio1_0.dll, x3daudio1_1.dll, xactengine2_0.dll bis xactengine2_4.dll) in System32 (Registrierung nicht vergessen wenn du das manuell machen willst!), sollte eigentlich alles klappen. Zumindest funzt's bei mir und in mindestens 3 weiteren bestätigten Fällen einwandfrei.

Sollte es trotzdem nicht gehen: bei ähnlichen Problemen soll schon folgende Variante geholfen haben:

1.) SCWin2k.zip nach \\Supreme Commander\\bin entpacken

2.) anschließend xact4win2k.rar ebenfalls nach \\Supreme Commander\\bin entpacken, dabei alle schon vorhanden Dateien (sollte nur X3DAudio1_1.dll @24kb sein) überschreiben.

3.) xactinst.bat ausführen

Ich hab allerdings auch schon von XP usern gehört, bei denen der Start eines Skirmish/LAN Spiels ebenfalls mit einem Crash zum Desktop quittiert wurde :roll:

Auf jeden Fall solltest du dein Win2k auf den neusten Stand bringen wenn's das noch net ist, denn alle Systeme auf denen ich das schon ausprobiert hab hatten SP4 und Update-Rollup vom 13.09.2005 sowie neuste Treiber etc. Außerdem sollte der Rest des Oct2006 Updates von DirectX9.0c installiert sein, denn mit früheren DirextX9.0c Versionen könnte XACT Probleme machen.

Ich hoffe das hilft dir weiter :mrgreen:
johndoe-freename-105282
Beiträge: 123
Registriert: 21.12.2006 14:09
Persönliche Nachricht:

Beitrag von johndoe-freename-105282 »

ich sage nur: wooohoooooo!!!!!!!!!
ich hab schon lange nicht mehr so ein geiles game gezockt! wahnsinn.
Benutzeravatar
gracjanski
Beiträge: 2020
Registriert: 27.08.2004 23:54
User ist gesperrt.
Persönliche Nachricht:

Beitrag von gracjanski »

ich weiss auch nicht, was die Leute gegen die Story haben. Mir gefällt die Hintergrundgeschichte und die Präsentation der Story erinnert mich an Starcraft...v.a. die Besprechung.
aktuell am spielen: Baldurs Gate 2,
Noch vor mir: Arcanum ?, Astebreed ?, Civilization V, Company of Heroes, Crysis, Dark Souls, Day of the Tentacle, Dead Space 1 2 ?, Europa Universalis 4, Final Fantasy 7, Gone Home ?, Gothic 2, GTR 2, Half-Life/ Black Mesa, Homeworld, Heroes of Might & Magic 3, Ikaruga, Medal of Honor - Pacific Assault, Mafia 1, Neverwinter Nights 2, Oblivion, Path of Exile, Rayman Legends, Skyrim, South Park ?, System Shock 2, Total War - Shogun 2
Schnitzl
Beiträge: 45
Registriert: 03.07.2004 13:52
Persönliche Nachricht:

Beitrag von Schnitzl »

anonymous-user hat geschrieben: Ich hab allerdings auch schon von XP usern gehört, bei denen der Start eines Skirmish/LAN Spiels ebenfalls mit einem Crash zum Desktop quittiert wurde :roll:

Ich hoffe das hilft dir weiter :mrgreen:
Nochmals 1000Dank, es stimmt, Skirmish macht "hallo Desktop" aber normales Spiel funktioniert :lol:

Supergenial, deine Hilfe! :Daumenrechts:

P.S.: es gibt übrigens im Dezember-DX9 noch eine xactengine2_5.dll :wink:
johndoe-freename-107624
Beiträge: 6
Registriert: 20.02.2007 12:07
Persönliche Nachricht:

Beitrag von johndoe-freename-107624 »

Schnitzl hat geschrieben:Nochmals 1000Dank, es stimmt, Skirmish macht "hallo Desktop" aber normales Spiel funktioniert :lol:
Tja da bist du wohl einer der Unglücklichen mit deren Systemkonfiguration SC irgendwie net klarkommt. Der erste Patch kam ja gestern raus, vielleicht bringt der ja was :Kratz:
Schnitzl hat geschrieben:P.S.: es gibt übrigens im Dezember-DX9 noch eine xactengine2_5.dll :wink:
Mit der kann natürlich genauso verfahren werden wie mit den anderen. Als Grundlage hatte ich das DX9 von der GameStar 03/2007 genommen, keine Ahnung warum die das neuere noch nicht dabei hatten. Da SC bei der Installation aber sowieso nur das Oktober-Update installiert hab ich es mir gespart, erst noch das allerneuste runterzuladen (jaja es gibt tatsächlich noch Leute deren Wohnort in einer DSL-freien Zone liegt :evil:)
Antworten