Yurgon Posted May 18 Posted May 18 (edited) Szenario: eine vorhandene DCS-Installation auf einen anderen PC umziehen. Problem: auf dem neuen PC bekommen alle USB-Geräte neue IDs. DCS erkennt die Geräte anhand dieser ID, und die gesamte Tasten- und Achsenkonfiguration geht verloren, weil DCS die alte Config nicht findet bzw. ignoriert Zielgruppe: DCS-Spieler mit mehr als nur einer handvoll Configdateien und guten Windows-Kenntnissen Vorbedingungen: DCS ist auf dem neuen PC installiert alle DCS-Module sind auf dem neuen PC installiert Gespeicherte Spiele\DCS wurde auf den neuen PC kopiert DE: C:\Benutzer\{Windows Benutzername}\Gespeicherte Spiele\DCS EN: C:\Users\{Windows Benutzername}\Saved Games\DCS diese Beschreibung bezieht sich auf Windows 11 und DCS 2.9 1. Schritt: ein Backup von Gespeicherte Spiele\DCS anlegen! 2. Schritt: einen Satz neue Config-Dateien anlegen DCS starten Optionen (Zahnrad-Icon) öffnen Controls auswählen irgendein installiertes Modul raussuchen in diesem Modul für jedes USB-Gerät irgendeine neue, beliebige Einstellung zuweisen (Tastenzuweisung oder Achsenzuweisung) den ganzen Controls-Dialog mit "OK" schließen DCS beenden 3. Schritt: alte und neue Configdateien finden im Windows Explorer zur Config für genau dieses Modul navigieren (siehe oben in Schritt 2) C:\Benutzer\{Windows Benutzername}\Gespeicherte Spiele\DCS\Config\Input\{Modulname}\joystick anhand des Änderungsdatums rausfinden, welches die alte und welches die neue Configdatei ist hier im Beispiel ist es für meinen Joystick... Alt: R-T-50CM2 Warthog {FA9336D0-... Neu: R-T-50CM2 Warthog {4FFFAB10-... relevant ist der Teil von der öffnenden geschwiffenen Klammer { bis zur schließenden } 4. Schritt: PowerShell zum Umbenennen verwenden Windows Powershell öffnen Windows-Icon in Taskleiste anklicken powershell eintippen "Windows PowerShell" anklicken in der PowerShell zu Gespeicherte Spiele navigieren: cd 'C:\Users\{Windows Benutzername}\Saved Games\' für jede Joystick-Datei: den folgenden Befehl vorbereiten (noch nicht mit der Eingabetaste abschicken!) Get-ChildItem .\*\Config\Input\*\joystick\*.diff.lua | Rename-Item -NewName { $_.Name -replace 'Alte USB-ID', 'Neue USB-ID' } jetzt zunächst die neue Joystick-Datei im Explorer löschen (sonst wird gleich das Umbenennen in diesem Ordner scheitern) in der PowerShell die vorbereitete Zeile mit der Eingabetaste abschicken im Explorer prüfen: wurde die alte Datei korrekt umbenannt? die Änderung sollte sofort sichtbar sein das ganze für jede Joystick-Datei wiederholen So sieht das in meinem konkreten Beispiel aus: 5. Schritt: in DCS prüfen, dass wieder alles funktioniert Ich denke das schafft ihr selbst __________ Erläuterungen: ich habe mehrere DCS-Installationen. Deshalb habe ich sehr absichtlich in der PowerShell nach Gespeicherte Spiele navigiert und die Suche mit Get-ChildItem auf alle passenden Verzeichnisse angepasst. Diese Struktur sollte sich wirklich nur in DCS finden und es sollte sonst nichts kaputtgehen. So kann ich die Dateinamenersetzung in allen DCS-Installationen auf einmal vornehmen und muss nicht durch Gespeicherte Spiele\DCS und Gespeicherte Spiele\DCS.openbeta einzeln durchpflügen. Durch das Umbenennen der USB-ID im Dateinamen spare ich mir den Umgang mit Leerzeichen und Sonderzeichen in Get-ChildItem und in Rename-Item: die Ersetzung auf Dateinamenebene ersetzt nur den Teil mit der USB-ID, der Rest der Dateinamen (also z.B. "R-T-50CM2" oder auch die Dateiendung ".diff.lua") wird nicht angerührt. Ich habe das jetzt in erster Linie aufgeschrieben, weil sich beim PC-Umbau mein Windows zerlegt hat und ich den Kram wenige Wochen nach dem letzten PC-Umbau schon wieder machen musste. Das hier ist also primär ein Nachschlagewerk für mich selbst. Wenn ihr Fragen, Tipps oder Verbesserungen habt oder irgendwas genauer ausgeführt werden soll, sagt Bescheid. Edited May 18 by Yurgon Formatierung und Typos 8 2
Nachtfalke Posted May 19 Posted May 19 Vielen Dank für diese wirklich klasse Ausführungen , du hilfts mir sehr damit 1
Recommended Posts