mirror of
https://github.com/Corfirean/coa-server-manager.git
synced 2026-11-11 20:01:01 +00:00
client::launch started Ascension.exe directly, which cannot work on Linux, and client::is_running found nothing (it reads the Windows process list). wine.rs is the Linux counterpart, and both hand over to it on a Linux host. It runs the command of the project's own launcher script: umu-run with a Proton build (GAMEID=0, PROTONPATH, WINEPREFIX, started from the client folder), else plain Wine, with WINEDLLOVERRIDES=divxtac=d (DivxTac.dll deadlocks the world loading screen under wine-mono). The newest GE-Proton found for Steam is used, or umu's own choice; COA_PROTONPATH, COA_WINEPREFIX and client-launch.json override the detection; the prefix defaults to ~/Games/umu/coa-client. The game runs in its own process group, so closing the Manager does not close it, and prints to client.log. Whether it runs is read from /proc, where the command line holds the Windows form of the client path. A clear message says what to install when neither umu nor Wine is found. Tests: detection (newest build, no build, Wine only, nothing, overrides), the command, the /proc match, and a real spawn with a stand-in umu-run that records its environment. Not run: the real client.