ich habe aktuell fast alle Spieldateien auf dem Server mit Ubuntu 16.04 LTS. Windows 10 auf dem PC und auf dem HTPC. Das ganze dürfte aber auch mit einem schnelleren NAS funktionieren. Warum das alles? Weil ich auf die Dateien mit meinem PC und meinem HTPC zugreife - allerdings nicht zeitgleich. Von daher installiere ich in der Reihenfolge erstmal auf die Netzlaufwerke und schaue, ob es läuft. Wenn nicht, installiere ich es auf die VHDX (dazu später mehr). Wenn das auch nicht klappt, wird es lokal installiert.
Disclaimer: Das ist jetzt alles viel Text, aber ich schreibe das jetzt aktuell mal nieder, damit ich alle Dinge einmal auf einem Punkt habe. Und bevor ich meine kleine Datenbank pflege, welches Spiel auf welchem Installationsort läuft, die nur mir hilft, kann ich das ja auch direkt öffentlich machen.
Beim Server habe ich Netzlaufwerke, also eine schlichte SMB-Freigabe, verbunden, die automatisch beim Start des PCs eingebunden werden. Es funktioniert bei
- Steam
- Uplay
- GOG.
Das mit den Netzlaufwerken klappt aktuell zumindest bei Origin gar nicht, da die Installation schlicht abbricht. Der "alte" Trick mit dem Registrierungseintrag "EnableLinkedConnections" funktioniert leider nicht (mehr). Sofern jemand das Problem gelöst hat, gerne her damit.
Für Spiele, die also Probleme mit der Installation auf dem Netzlaufwerk haben, ist die zweite Stufe eine einghängte VHDX-Datei, also eine virtuelle Festplatte. Diese 4 virtuellen Festplatten hänge ich dann nach dem Start manuell ein und hänge sie vor dem Herunterfahren manuell aus, da ich teilweise sowohl PC als auch HTPC an habe und das eben nicht automatisch machen kann/will. Funktioniert über ein folgendes Skript zum Einhängen:
vhdx.bat
Code: Alles auswählen
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
diskpart /s "C:\Skripte\gog.txt"
diskpart /s "C:\Skripte\origin.txt"
diskpart /s "C:\Skripte\steam.txt"
diskpart /s "C:\Skripte\uplay.txt"
vhdx2.bat
Code: Alles auswählen
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
diskpart /s "C:\Skripte\gog2.txt"
diskpart /s "C:\Skripte\origin2.txt"
diskpart /s "C:\Skripte\steam2.txt"
diskpart /s "C:\Skripte\uplay2.txt"
gog.txt
Code: Alles auswählen
select vdisk file="\\HOME\Sonstiges\gog.vhdx"
attach vdisk
Code: Alles auswählen
select vdisk file="\\HOME\Sonstiges\gog.vhdx"
detach vdisk
Das ganze funktioniert, wie gesagt, mit 95% der Steambibliothek (http://steamcommunity.com/id/shakj/games/?tab=all), die auf dem Netzlaufwerk installiert ist. Ich bekomme das aber natürlich nur mit, wenn ich den Kram schonmal gestartet habe... Die Ausnahmen sind also bisher:
- Broforce (muss wg. Lags bei Granaten lokal installiert werden)
- DOOM (Ladezeiten!)
- FORCED (muss wg. Lags lokal installiert werden)
- Hero Siege (muss wg. Lags lokal installiert werden)
- Lara Croft and the Guardian of Light (muss wg. Lags lokal installiert werden)
- Dark Souls (muss auf der VHDX, also der virtuellen Festplatte, installiert werden, da es sonst nicht startet)
- DayZ (muss auf der VHDX, also der virtuellen Festplatte, installiert werden, da es sonst nicht startet)
Bei Uplay startete bisher alles vom Netzlaufwerk. Ausnahmen sind:
- Ghost Recon Wildlands (muss auf der VHDX, also der virtuellen Festplatte, installiert werden, da es sonst nicht startet)
- Rainbow Six Siege (muss auf der VHDX, also der virtuellen Festplatte, installiert werden, da es sonst nicht startet)
Origin ist der traurige Teil. Hier startet bzw. installiert sich nach meiner Erkenntnisen einfach mal gar nichts vom Netzlaufwerk - dafür aber alles von bzw. auf der virtuellen Festplatte. Bei BF1 langen die Ladezeiten auch gut für die Pause zwischen 2 Matches. Bei BF4 sollte man es aus Gründen der Ladezeit doch eher lokal installieren.
Bei Origin kann man den Installationspfad vor einer Installation umstellen und die Installation dann starten. Eine Änderung des Pfads nachher verändert den Installationspfade der vergangenen Installationen nicht - sie bleiben also erhalten.
Die virtuellen Festplatten, also die VHDX-Dateien kann man zu Beginn auf ein Maximum von z.B. 1000GB erstellen. Da sie dynamisch erweitert werden, starten die Dinger dennoch bei wenigen MB. Man kann Spiele also installieren und der Platzbedarf wird entsprechend erweitert. Allerdings wird über die Zeit der Platz nicht wieder ohne weiteren freigebeben. Sollte man also wissen, dass die aktuellen Installationen wesentlich weniger Speicher brauchen, als die VHDX mittlerweile an Größe zugewonnen hat, dann kann mit den Hyper-V-Tools in Windows 10 die VHDX-Datei, die nicht eingehängt wurde, komprimieren. Das schafft wieder Platz, die die Größe der VHDX sich wieder der tatsächlich benötigten Größe der Installationen auf dieser virtuellen Festplatte zumindest annährt.