Dieses wird nur in seltenen Fällen benötigt, wo eine Server Mod auf eine Bibliothek (DLL) xaudio.dll zugreifen möchte und diese in einer Installation wie z.B. https://github.com/mschnitzer/ark-survival-ascended-linux-container-image mit Docker/Proton nicht vorhanden ist. Weil üblicherweise ein Server auch kein Audio-Funktionen benötigt!
Problem
In einer solchen Situation stürzt der Server immer direkt nach dem Starten ab im crashcallstack.txt ist folgendes ersichlich (Auszug):
Fatal error! Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
CL: 668463 0x000000004201688b
xaudio2_9.dll!UnknownFunction []
Lösung
Lösung ist von Microsoft die xaudio2_9.dll zu holen und diese in den Ordner Win64 zu legen, wo auch der ArkAscendedServer.exe liegt.
Anleitung
Download
- Website NuGet Gallery aufrufen (https://www.nuget.org/packages/…)
- Download "Microsoft.XAudio2.Redist " Packet (auf der rechten Website unter "Download package"
- Datei als ZIP-Datei öffnen (ggf. einfach neue Dateiendung mit .zip anhängen)
- Jetzt die 64bit xaudio2_9redist.dll extrahieren (liegt üblicherweise unter: \build\native\release\bin\x64)
Installation auf Linux Server
- Mit dem Server sich verbinden, z.B. via WinSCP (https://winscp.net/)
- Jetzt den Ordner suchen wo die "ArkAscendedServer.exe" liegt, üblicherweise unter "ShooterGame/Binaries/Win64"
- Die DLL in diesen Ordner "Win64" kopieren und dort als "xaudio2_9.dll" umbennen
- Berechtigungen ggf. kontrollieren und anpassen damit Benutzer= r,w,x / Gruppe = r,w,x / Andere = r,x haben (octal = 0775).