Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Ihr wolltet ein Hardwareforum. Und wir so: "Neeee, braucht es nicht". Und ihr so: "Dooooooch". Und wir so: "Ach, komm!". Und ihr so: "Hier sind 12 Threads! Und jetzt?". Und wir so: "Ist ja gut..."
Forumsregeln
Datenschutzerklärung: https://www.gamespodcast.de/datenschutzerklaerung/
Impressum: https://www.gamespodcast.de/impressum/

Forenregeln und zukünftige Weltverfassung
ART 1: Behandle andere Nutzer mit Respekt.
ART 2: Do NOT piss off the Podcasters

Lies bitte weitere Hinweise hier: viewtopic.php?f=4&t=2789
Antworten
Benutzeravatar
Shakj
Beiträge: 43
Registriert: 7. Dez 2016, 15:53

Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von Shakj »

Hej,

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.
Bei fast allen Spielen ist die Geschwindigkeit vom Gigabit-Netzwerk und der 4TB WD Green ausreichend - vor allem modernen Vertretern. Ausnahmen gibt es allerdings. "Indie-Spiele", die schlicht schlecht für den Fall programmiert wurden etwa. Broforce, Forced, Hero Siege, Lara Croft & the Guardian of Light - oder andere Spiele wie DOOM (2016), weil die Ladezeiten sonst wirklich nicht akzeptabel sind. Ansonsten lief auch ein Witcher 3 mit ausreichend angenehmen Ladezeiten.

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"
Und folgendes Skript zum Aushängen:

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"
Die angesprochenen Textdateien sehen so aus (GOG exemplarisch):

gog.txt

Code: Alles auswählen

select vdisk file="\\HOME\Sonstiges\gog.vhdx"
attach vdisk
gog2.txt

Code: Alles auswählen

select vdisk file="\\HOME\Sonstiges\gog.vhdx"
detach vdisk
"HOME" und "Sonstiges" eben durch den Servernamen bzw. den Ordner bzw. die Freigabe ersetzen.

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... :D 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 GOG startete bisher noch alles vom Netzlaufwerk.

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)
Bei Uplay 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.

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.
JayTheKay
Beiträge: 433
Registriert: 26. Feb 2016, 21:17

Re: Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von JayTheKay »

Bin jetzt mal neugierig, weil deine Beschreibung ja schon wie sehr viel Aufwand wirkt: Warum installierst du nicht alles lokal? Mir fällt gerade kein Grund ein, warum man seine Spiele nicht auf einer lokalen Festplatte installieren würde. Also was ist der Hintergrund dieses Setups?
Benutzeravatar
Shakj
Beiträge: 43
Registriert: 7. Dez 2016, 15:53

Re: Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von Shakj »

Aus Notwehr, da 16Mbit-Anschluss damals, der auch noch monatelang wackelig war. Spontan in etwas reinsehen ging net. 2 Installationen müssten auch 2x geupdated werden. Und gefühlt war immer das nicht installiert, was ich gerne mal starten wollte. Oder es war was auf dem falschen System installiert, was ich grad nicht nutzen wollte. Alles in allem, habe ich ständig einen startenden Komplettdownload vor mir gehabt. Also alles installiert, was rund 4 TB sind. Und da ich auch wegen der Lautstärke keine HDD im PC oder gar HTPC habe möchte, eben so.

Wie gesagt. Lasse das einfach hier, falls jemand aus welchen Gründen auch immer ähnliches vor haben sollte. Mehr steckt da nicht hinter.
Raptor 2101
Beiträge: 1227
Registriert: 22. Mai 2016, 19:50

Re: Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von Raptor 2101 »

@Shakj hast du mal versucht auf deinem NAS einen iSCSI Target zu hosten und dieses via Windows als iSCSI device einzubinden? Hat den Vorteil, das aus OS Sicht die Platte als "lokal" erkannt wird und die Programme den unterschied nicht mehr erkennen dürften. iSCSI ist ab Win7 standardmäßig an board...


Ich selbst hatte das mal so betrieben, bin aber wieder davon abgekommen. Da 10 Gbit NetzwerkHardware einfach noch unbezahlbar ist, bin ich wieder auf ein DAS gewechselt...
Benutzeravatar
Shakj
Beiträge: 43
Registriert: 7. Dez 2016, 15:53

Re: Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von Shakj »

Noch nicht gesehen oder getestet, da es mit der eingehängten vhdx ja lief und auch lokal eingehängt wird. Google ich die Tage Mal nach, ob es nen Unterschied bei den Problemkandidaten macht bzw. teste es aus. Danke für den Hinweis also!

Performance war bzw. ist, vor allem bei modernen Spielen, bisher noch nicht das Problem, dass das Gigabit-Netzwerk an die Grenzen meiner Nerven kommen würde.
Raptor 2101
Beiträge: 1227
Registriert: 22. Mai 2016, 19:50

Re: Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von Raptor 2101 »

Shakj hat geschrieben:Performance war bzw. ist, vor allem bei modernen Spielen, bisher noch nicht das Problem, dass das Gigabit-Netzwerk an die Grenzen meiner Nerven kommen würde.

Bis jetzt nicht ... :D Bei mir hat es sich im Lightroom oder bei Spielen wie Stellaris bemerkbar gemacht. Mit dem Gigabit schaffst du halt im Idealfall 128 MB/s (realistisch eher 120...) Da brauchst du für 32 GB Daten halt 4:30. Ich hab meine Daten auf ein via USB3.0 angeschlossenes Storage gepackt. Die 400MB/s Read/Write machen sich bemerkbar :D
Benutzeravatar
Shakj
Beiträge: 43
Registriert: 7. Dez 2016, 15:53

Re: Spieldateien auf Server/NAS (mit Zugriff von PC oder HTPC)

Beitrag von Shakj »

Raptor 2101 hat geschrieben:Bis jetzt nicht ...
Jop. Gibt Ausnahmen. Allerdings funktionieren die meisten Titel ja so. Sobald das ungemütlich wird, ich sehe dich an, Doom (und alles mit Mods. Cities Skyline, Skyrim, etc.), wandert es ja auf die lokale SSD. ;)
Antworten