ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.49k stars 1.07k forks source link

Ashes of Creation #8212

Open Gaaarz opened 1 week ago

Gaaarz commented 1 week ago

Compatibility Report

System Information

I confirm:

First log IntrepidInstaller for installing the launcher: steam-10817083144570667008.log

Second log is adding the installed IntrepidStudiosLauncher.exe as non-steam game and run it: steam-16931539526508085248.log

Symptoms

When attempting to install the Intrepid Installer (which sets up the game launcher), selecting the C++ 2015-2022 Runtimes, Webview2 Installer, and EAC Installer results in an installation error. Specifically, the Webview2 Installer fails with the error code 0x80000003, preventing successful installation of the Webview2 component. Although the launcher can still be installed after dismissing this error, when launching the installed Intrepid Studios Launcher, it starts with a black screen and does not proceed further.

Reproduction

Begin the installation process for the Intrepid Installer. When prompted, select the following components to install:

C++ 2015-2022 Runtimes
Webview2 Installer
EAC Installer

Observe that an error message appears for the Webview2 Installer indicating installation failure with error code 0x80000003. Click "Close" to dismiss the error. Proceed to install the launcher despite the error. After installation, add the launcher executable to Steam from the following path:

/home/user/.local/share/Steam/steamapps/compatdata/2518548431/pfx/drive_c/Program Files/Intrepid Studios/IntrepidStudiosLauncher.exe

Launch the Intrepid Studios Launcher through Steam. Notice that the launcher opens but only displays a black screen.

Additional Information

For additional insights and potential fixes, refer to this thread: Linux Tips, Tweaks, and Troubleshooting Thread. Users have shared various solutions related to the Webview2 component and game updates.

The main issue arises when Webview2 is required and the game is updated; the launcher fails to start AOCClient.exe normally, and no logs are generated, making troubleshooting difficult.

funkychicken-ashes commented 1 week ago

I can confirm that the installation works on Bottles from flathub, with the dll override of urlmon.dll and the installation of the webview2 dependency. Webview2 authenticates the user to the Launcher, and when the launcher starts the game it does not invoke the EAC window.

Here is the log from the Launcher: ``` _024-11-05 12:16:15.2905|INFO|App.App|ProductName: Intrepid Studios Launcher 2024-11-05 12:16:15.3129|INFO|App.App|Version: 0.3.257-9818 2024-11-05 12:16:15.3134|INFO|App.App|AssemblyName: IntrepidStudiosLauncher 2024-11-05 12:16:15.3134|INFO|App.App|WorkingDir: C:\Program Files\Intrepid Studios\Launcher 2024-11-05 12:16:16.4810|INFO|AutoUpdate.UpdateCheck|Updater finished with NO_UPDATES 2024-11-05 12:16:16.5010|INFO|Configuration.LoadConfig|Using default config as no config file was found 2024-11-05 12:16:16.5990|INFO|Configuration.LoadConfig|Using default config as no config file was found 2024-11-05 12:16:16.6951|INFO|App.OnStartup|OnStartup called. 2024-11-05 12:16:16.6953|INFO|App.TerminateXdeltaProcesses|Terminating existing xdelta3 applications. 2024-11-05 12:16:16.6979|INFO|App.OnStartup|Starting UI 2024-11-05 12:16:16.9931|INFO|MainWindow.MainWindow|Loading MainWindow 2024-11-05 12:16:17.3483|INFO|Configuration.LoadFromFile|Configuration loaded successfully from: C:\users\steamuser\AppData\Local\Intrepid Studios\Launcher\LauncherSettings.json 2024-11-05 12:16:17.3790|INFO|Configuration.LoadConfig|Using default config as no config file was found 2024-11-05 12:16:17.4579|INFO|LoginPage.LoginPage|Loading LoginPage 2024-11-05 12:16:17.4579|INFO|App.OnStartup|Startup Args: username: password= environment= 2024-11-05 12:16:17.4688|INFO|LoginPage.ComboBoxEnvironments_SelectionChanged|Environment Selected: Alpha Two 2024-11-05 12:16:21.7716|INFO|LoginViewModel.SubmitImpl|Begin 2024-11-05 12:16:21.7767|INFO|UserService.Login|Logging in with auth type: auth0 2024-11-05 12:16:21.7906|INFO|IcsServerConnection.Connect|Connecting to Auth0 2024-11-05 12:16:21.8026|INFO|AuthClientConfig.AuthClientConfig|url="https://api-prod-global.ashesofcreation.com", clientId="intrepid-launcher-0.3.257.9818-DESKTOP" 2024-11-05 12:16:33.8066|INFO|IcsServerConnection.unaryAuthBeginReplySink|Authentication successful 2024-11-05 12:16:33.8463|INFO|Configuration.LoadConfig|Using default config as no config file was found **2024-11-05 12:16:33.9375|ERROR|LoginViewModel.Crypt|Auto log in failed. Exception: Unknown error (0xc1000002)** 2024-11-05 12:16:33.9986|INFO|Configuration.LoadConfig|Using default config as no config file was found 2024-11-05 12:16:33.9986|INFO|PatchPage.PatchPage|Loading PatchPage 2024-11-05 12:16:34.0166|DEBUG|AutomationManager|Observed state changed from None to Patch 2024-11-05 12:16:34.0166|INFO|PatchingViewModel.OnNavigatedTo|Navigating to Patching Page. 2024-11-05 12:16:34.0166|INFO|ConfigBase.ConfigBase|address='127.0.0.1', port=0 2024-11-05 12:16:34.0166|INFO|ServerBase.Initialize|Begin 2024-11-05 12:16:34.0175|INFO|ServerBase.Initialize|End 2024-11-05 12:16:34.0175|INFO|ServerBase.ThreadStart|Begin 2024-11-05 12:16:34.0175|INFO|ServerBase.ThreadStart|Thread started 2024-11-05 12:16:34.0191|INFO|ServerBase.Run|Begin 2024-11-05 12:16:34.0207|INFO|ServerBase.Run|Listening, Address='127.0.0.1', Port=44070 2024-11-05 12:16:34.0235|INFO|LauncherClientConfig.LauncherClientConfig|url="https://api-prod-global.ashesofcreation.com", clientId="intrepid-launcher-0.3.257.9818-DESKTOP" 2024-11-05 12:16:34.0238|INFO|LauncherClient.LauncherClient|Begin 2024-11-05 12:16:34.0386|INFO|LoginViewModel.SubmitImpl|End 2024-11-05 12:16:35.1715|INFO|PatchingViewModel.StartPatching|Checking if game is up to date. 2024-11-05 12:16:35.1729|DEBUG|PatcherAPI.IsUpToDate|Begin 2024-11-05 12:16:35.1729|INFO|Patcher.Constructor|Initializing Patcher 2024-11-05 12:16:35.2259|INFO|Patcher.InitializePatchActions|Initializing patch actions 2024-11-05 12:16:35.2270|INFO|Patcher.InitializePatchActions|Initialized patch actions: add, delete, xdelta3, bsdiff 2024-11-05 12:16:35.2270|INFO|Patcher.Constructor|Patcher initialized successfully 2024-11-05 12:16:35.2281|INFO|Patcher.IsGameUpdated|Checking if the game is updated 2024-11-05 12:16:35.2281|INFO|Patcher.GetGameVersionFromCache|Retrieving game version from cache 2024-11-05 12:16:35.2286|INFO|Patcher.GetGameVersionFromCache|Game version cache found. Deserializing 2024-11-05 12:16:35.2404|INFO|Patcher.IsGameUpdated|Current GameVersion ID: FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:16:35.2407|INFO|Patcher.UpdateProgressStep|Updating progress step to: FetchingManifest 2024-11-05 12:16:35.2443|INFO|Patcher.IsGameUpdated|Fetching patch manifest 2024-11-05 12:16:35.2450|INFO|Patcher.GetPatchToActiveVersion|Obtaining patch for branch AocAwsProd and GameVersion FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:16:35.4215|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:35.4308|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:35.6530|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:35.6536|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:35.9125|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:35.9125|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:36.0394|INFO|Patcher.GetPatchToActiveVersion|Patch received: FD724C3ACBBC2DB06A692E732B215317 to FD724C3ACBBC2DB06A692E732B215317 2024-11-05 12:16:36.0404|INFO|Patcher.UpdateProgressStep|Updating progress step to: FetchingManifest 2024-11-05 12:16:36.0416|INFO|Patcher.IsGameUpdated|Patch manifest fetched 2024-11-05 12:16:36.0416|INFO|Patcher.IsGameUpdated|Target GameVersion ID: FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:16:36.0425|INFO|Patcher.IsGameUpdated|Is game updated: True 2024-11-05 12:16:36.0425|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:36.0425|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:36.0434|DEBUG|PatcherAPI.IsUpToDate|End 2024-11-05 12:16:36.0434|DEBUG|AutomationManager|Observed state changed from Patch to Patched 2024-11-05 12:16:36.0434|INFO|PatchingViewModel.StartPatching|Already up to date. 2024-11-05 12:16:40.0931|DEBUG|PatcherAPI.IsUpToDate|Begin 2024-11-05 12:16:40.0933|INFO|Patcher.Constructor|Initializing Patcher 2024-11-05 12:16:40.1011|INFO|Patcher.InitializePatchActions|Initializing patch actions 2024-11-05 12:16:40.1016|INFO|Patcher.InitializePatchActions|Initialized patch actions: add, delete, xdelta3, bsdiff 2024-11-05 12:16:40.1016|INFO|Patcher.Constructor|Patcher initialized successfully 2024-11-05 12:16:40.1016|INFO|Patcher.IsGameUpdated|Checking if the game is updated 2024-11-05 12:16:40.1016|INFO|Patcher.GetGameVersionFromCache|Retrieving game version from cache 2024-11-05 12:16:40.1027|INFO|Patcher.GetGameVersionFromCache|Game version cache found. Deserializing 2024-11-05 12:16:40.1027|INFO|Patcher.IsGameUpdated|Current GameVersion ID: FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:16:40.1043|INFO|Patcher.UpdateProgressStep|Updating progress step to: FetchingManifest 2024-11-05 12:16:40.1043|INFO|Patcher.IsGameUpdated|Fetching patch manifest 2024-11-05 12:16:40.1043|INFO|Patcher.GetPatchToActiveVersion|Obtaining patch for branch AocAwsProd and GameVersion FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:16:40.1067|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:40.1067|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:40.3629|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:40.3629|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:40.6158|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:40.6158|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:40.8811|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:40.8813|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:40.9267|INFO|Patcher.GetPatchToActiveVersion|Patch received: FD724C3ACBBC2DB06A692E732B215317 to FD724C3ACBBC2DB06A692E732B215317 2024-11-05 12:16:40.9267|INFO|Patcher.UpdateProgressStep|Updating progress step to: FetchingManifest 2024-11-05 12:16:40.9267|INFO|Patcher.IsGameUpdated|Patch manifest fetched 2024-11-05 12:16:40.9267|INFO|Patcher.IsGameUpdated|Target GameVersion ID: FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:16:40.9267|INFO|Patcher.IsGameUpdated|Is game updated: True 2024-11-05 12:16:40.9267|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:16:40.9267|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:16:40.9267|DEBUG|PatcherAPI.IsUpToDate|End 2024-11-05 12:16:40.9291|INFO|PatchingViewModel.CheckIfFileIsExecutable|Checking if file is executable: C:\Program Files\Intrepid Studios\AshesOfCreation\PROD\AOCClient.exe 2024-11-05 12:16:40.9294|INFO|PatchingViewModel.CheckIfFileIsExecutable|File signature for C:\Program Files\Intrepid Studios\AshesOfCreation\PROD\AOCClient.exe: MZ (Executable: True) 2024-11-05 12:16:40.9336|DEBUG|App.IsAdministrator|Identity Name: DESKTOP-34IA8DP\steamuser 2024-11-05 12:16:40.9336|DEBUG|App.IsAdministrator|Is Admin: True 2024-11-05 12:16:40.9355|DEBUG|AutomationManager|Observed state changed from Patched to RunningClient 2024-11-05 12:35:45.9863|DEBUG|PatcherAPI.IsUpToDate|Begin 2024-11-05 12:35:45.9866|INFO|Patcher.Constructor|Initializing Patcher 2024-11-05 12:35:45.9899|INFO|Patcher.InitializePatchActions|Initializing patch actions 2024-11-05 12:35:45.9899|INFO|Patcher.InitializePatchActions|Initialized patch actions: add, delete, xdelta3, bsdiff 2024-11-05 12:35:45.9899|INFO|Patcher.Constructor|Patcher initialized successfully 2024-11-05 12:35:45.9899|INFO|Patcher.IsGameUpdated|Checking if the game is updated 2024-11-05 12:35:45.9899|INFO|Patcher.GetGameVersionFromCache|Retrieving game version from cache 2024-11-05 12:35:45.9918|INFO|Patcher.GetGameVersionFromCache|Game version cache found. Deserializing 2024-11-05 12:35:45.9918|INFO|Patcher.IsGameUpdated|Current GameVersion ID: FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:35:45.9936|INFO|Patcher.UpdateProgressStep|Updating progress step to: FetchingManifest 2024-11-05 12:35:45.9936|INFO|Patcher.IsGameUpdated|Fetching patch manifest 2024-11-05 12:35:45.9936|INFO|Patcher.GetPatchToActiveVersion|Obtaining patch for branch AocAwsProd and GameVersion FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:35:46.0195|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:35:46.0195|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:35:46.2573|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:35:46.2575|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:35:46.5582|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:35:46.5582|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:35:46.8009|INFO|Patcher.GetPatchToActiveVersion|Patch received: FD724C3ACBBC2DB06A692E732B215317 to FD724C3ACBBC2DB06A692E732B215317 2024-11-05 12:35:46.8009|INFO|Patcher.UpdateProgressStep|Updating progress step to: FetchingManifest 2024-11-05 12:35:46.8014|INFO|Patcher.IsGameUpdated|Patch manifest fetched 2024-11-05 12:35:46.8014|INFO|Patcher.IsGameUpdated|Target GameVersion ID: FD724C3ACBBC2DB06A692E732B215317_AocAwsProd 2024-11-05 12:35:46.8014|INFO|Patcher.IsGameUpdated|Is game updated: True 2024-11-05 12:35:46.8014|INFO|Patcher.HasPendingTasksAsync|Checking if there are pending tasks: 2024-11-05 12:35:46.8014|INFO|Patcher.CheckDriveSpace|Checking if downloaded space (0) is sufficient for cached space needed (-1) 2024-11-05 12:35:46.8014|DEBUG|PatcherAPI.IsUpToDate|End 2024-11-05 12:35:46.8076|INFO|PatchingViewModel.CheckIfFileIsExecutable|Checking if file is executable: C:\Program Files\Intrepid Studios\AshesOfCreation\PROD\AOCClient.exe 2024-11-05 12:35:46.8076|INFO|PatchingViewModel.CheckIfFileIsExecutable|File signature for C:\Program Files\Intrepid Studios\AshesOfCreation\PROD\AOCClient.exe: MZ (Executable: True) 2024-11-05 12:35:46.8107|DEBUG|App.IsAdministrator|Identity Name: DESKTOP\steamuser 2024-11-05 12:35:46.8107|DEBUG|App.IsAdministrator|Is Admin: True_ ```

Notice the error in the log trying to use LoginViewModel.Crypt. I have had a look into this and it appears that the window will attempt to load up a dotnet 4.72 window. Trying to Execute the AOCClient directly within steam issues a "Directx 12 not installed" error message

Gaaarz commented 3 days ago

Solution for Running Ashes of Creation on Linux with Proton

Here’s a method to get Ashes of Creation running on Linux using Proton:

Steps:

Install and Update the Game:

Install the game and run the launcher to allow it to update.

Add AOCClient.exe to Steam:

Add AOCClient.exe to Steam via Games > Add a Non-Steam Game.

Find the LauncherTetherPort:

Open a terminal and run the following command to find the current port:

netstat -ulpn | grep wineserver

The port number (e.g., 55882) will appear next to wineserver.

Set Launch Options in Steam:

Right-click on the AOCClient.exe shortcut in Steam, choose Properties, and add the following launch options:

LauncherTetherPort=55882 -NOSPLASH

Replace 55882 with the port number you found in step 3. Keep in mind that the port number will change every time the launcher is restarted.

Proton Version:

Proton Experimental was used for testing compatibility, though other versions may work as well.

Results:

After these steps, the game was able to launch. Even though the servers were down, the message "No available Realms. Code:23" appeared, indicating a successful connection to the launcher.

Note:

The LauncherTetherPort changes with every restart of the launcher, so you will need to update the launch options with the new port each time.

icedown commented 2 days ago

A command line in steam can be used to auto find the udp port if it is the only wine running with a open udp port. Here is what I used. eval $(%command% LauncherTetherPort=$(netstat -ulpn | grep wineserv | awk '{split($4, a , ":"); print a[2]}' ) -NOSPLASH)