Here are the steps I took. Feel free to modify these steps to suit your needs:
Install Lutris
You can follow this guide: https://lutris.net/downloads I personally installed it via Flathub
In order to install Lutris via Flathub, you need to install Flathub, which you can get here: https://flathub.org/ then Once you have Flathub setup you can install Lutris through it
flatpak install flathub net.lutris.Lutris
Installing the game onto Lutris
Run lutris and add a windows game, choosing DAoCSetup.exe as the installer.
You may skip this step if you have already setup the DAOC within Lutris
https://darkageofcamelot.com/sites/daoc/files/downloads/DAoCSetup.exe
Chose your proton version for the game [Optional]
Go to runner options for game and change wine version. You may need to install wine versions via your package manager.
Updating DAOC
Once it installs, you'll run into an issue where it defaults to the uninstaller. Go to the game's configuration and update the Executable to ~/Games/phoenix-daoc/drive_c/Program Files (x86)/Electronic Arts/Dark Age of Camelot/camelot.exe. Then start the game and go through the update process.
You may skip this step if you already have a clean game install.
Installing Phoenix launcher
For the following instructions, I'm going to assume phoenix-daoc is the ID you picked. You're free to name yours something else, just remember to replace phoenix-daoc in the instructions.
Download the launcher and place it within the installation.
cd ~
wget "https://patcher.playphoenix.online/Phoenix.exe" --directory-prefix="Games/phoenix-daoc/drive_c/Program Files (x86)/Electronic Arts/Dark Age of Camelot"
Changing the default executable to Phoenix's [Optional]
Go to the game's configuration and update the Executable to ~/Games/phoenix-daoc/drive_c/Program Files (x86)/Electronic Arts/Dark Age of Camelot/Phoenix.exe
Go to runner options for game and change wine version. You may need to install wine versions via your package manager. You may also want to do a test run to see if it updates and bring you to the webpage.
Registering a handler for the phxlauncher mime type
Phoenix uses a web page to log you into the game. Lutris does not support this, but we can manually add support for it.
You can generate the initial script first if you want, but you must edit it to allow for commands to be passed through it:
flatpak run net.lutris.Lutris lutris:rungame/phoenix-daoc --output-script ~/Games/phoenix-daoc/run.sh
You can edit the script by running this command:
nano ~/Games/phoenix-daoc/run.sh
The script should look something like this: You just need to edit the last line by adding "$1"
#!/bin/bash
# Environment variables
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1="1"
export __GL_SHADER_DISK_CACHE="1"
export __GL_SHADER_DISK_CACHE_PATH="~/Games/phoenix-daoc"
export DRI_PRIME="1"
export LD_LIBRARY_PATH="/app/lib:/app/lib64:/usr/lib/x86_64-linux-gnu:/app/lib/i386-linux-gnu:/app/lib:/app/lib32:/usr/lib/x86_64-linux-gnu/GL/nvidia-535-54-03/lib:/app/lib/i386-linux-gnu/GL/nvidia-535-54-03/lib:/usr/lib/x86_64-linux-gnu/GL/default/lib:/app/lib/i386-linux-gnu/GL/default/lib:/app/lib/ffmpeg/.:/app/lib32/ffmpeg/.:/usr/lib/x86_64-linux-gnu/openh264/extra:/lib:/lib64:/usr/lib:/usr/lib64:/lib/i386-linux-gnu:/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:~/.var/app/net.lutris.Lutris/data/lutris/runtime/Ubuntu-18.04-i686:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/i386/lib/i386-linux-gnu:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/i386/lib:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/i386/usr/lib:~/.var/app/net.lutris.Lutris/data/lutris/runtime/Ubuntu-18.04-x86_64:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/amd64/lib:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:~/.var/app/net.lutris.Lutris/data/lutris/runtime/steam/amd64/usr/lib"
export WINEDEBUG="-all"
export DXVK_LOG_LEVEL="none"
export WINEARCH="win64"
export WINE="/app/bin/wine"
export WINE_MONO_CACHE_DIR="~/.var/app/net.lutris.Lutris/data/lutris/runners/wine/system/mono"
export WINE_GECKO_CACHE_DIR="~/.var/app/net.lutris.Lutris/data/lutris/runners/wine/system/gecko"
export WINEPREFIX="~/Games/phoenix-daoc"
export WINEESYNC="1"
export WINEFSYNC="1"
export WINE_FULLSCREEN_FSR="1"
export DXVK_NVAPIHACK="0"
export DXVK_ENABLE_NVAPI="1"
export PROTON_BATTLEYE_RUNTIME="~/.var/app/net.lutris.Lutris/data/lutris/runtime/battleye_runtime"
export PROTON_EAC_RUNTIME="~/.var/app/net.lutris.Lutris/data/lutris/runtime/eac_runtime"
export WINEDLLOVERRIDES="d3d10core,d3d11,d3d12,d3d12core,d3d9,d3dcompiler_33,d3dcompiler_34,d3dcompiler_35,d3dcompiler_36,d3dcompiler_37,d3dcompiler_38,d3dcompiler_39,d3dcompiler_40,d3dcompiler_41,d3dcompiler_42,d3dcompiler_43,d3dcompiler_46,d3dcompiler_47,d3dx10,d3dx10_33,d3dx10_34,d3dx10_35,d3dx10_36,d3dx10_37,d3dx10_38,d3dx10_39,d3dx10_40,d3dx10_41,d3dx10_42,d3dx10_43,d3dx11_42,d3dx11_43,d3dx9_24,d3dx9_25,d3dx9_26,d3dx9_27,d3dx9_28,d3dx9_29,d3dx9_30,d3dx9_31,d3dx9_32,d3dx9_33,d3dx9_34,d3dx9_35,d3dx9_36,d3dx9_37,d3dx9_38,d3dx9_39,d3dx9_40,d3dx9_41,d3dx9_42,d3dx9_43,dxgi,nvapi,nvapi64,nvml=n;winemenubuilder="
export WINE_LARGE_ADDRESS_AWARE="1"
export TERM="xterm"
# Working Directory
cd ~/'Games/phoenix-daoc/drive_c/Program Files (x86)/Electronic Arts/Dark Age of Camelot'
# Command
gamemoderun /app/bin/wine ~/'Games/phoenix-daoc/drive_c/Program Files (x86)/Electronic Arts/Dark Age of Camelot/Phoenix.exe' "$1"
Register the script
You will need to create a file in ~/.local/share/applications/Phoenix-DAOC.desktop
[Desktop Entry]
Type=Application
Name=Phoenix-DAOC
Exec=env LUTRIS_SKIP_INIT=1 flatpak run net.lutris.Lutris --exec "Games/phoenix-daoc/run.sh %u"
Categories=Game
MimeType=x-scheme-handler/phxlauncher;
And run this command to add the mime handler
xdg-mime default ~/.local/share/applications/Phoenix-DAOC.desktop x-scheme-handler/phxlauncher
You can also run the following command to refresh the whole database, not just your Phoenix entry. (You can probably skip this step)
update-desktop-database ~/.local/share/applications/
Double check the entry was added properly
Double check that the following line exist in ~/.local/share/applications/mimeapps.list
x-scheme-handler/phxlauncher=Phoenix_DAoC.desktop
If not, add it yourself.
Starting the game
Go to the website and click play
https://playphoenix.online/play
Restart your browser
You may need to restart your web browser to load the changes.
Updating configurations
Every time you want to update the configuration options, you'll want to generate the script again, and add the "$" at the end. You do not need to update the mime handler twice.
In some case you may have to chose "phoenix-DAOC" as the application to launch with.
Hope this helps someone 😃