I just got the game working on linux, and I'd like share how I did it

Started 18 Jul 2023
by Sara
in Tavern

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 😃

Tue 18 Jul 2023 6:47 AM by Beckett

Great. Thank you. Note that the game/phoenix will also work within wine without the use of lutris, I am currently using wineHQ files, however I have not done any performance comparisons. But the more ways that work the better.

Tue 18 Jul 2023 6:57 AM by Sara

Yes, of course. It's just a bit more complicated for an end user to setup.

Sun 23 Jul 2023 8:28 AM by Shanen

Hi,

I installed DAoC, then created an account here and launched Phoenix.exe. Everything went good so far, but when I click on "Play" on Firefox I get the following message on the browser:

"The address wasn’t understood

An error occurred during a connection to accounts.playphoenix.online.

You might need to install other software to open this address."

I would rather use Wine without Lutris, so Beckett, please tell me how to fix that 😃

PS: I'm on Ubuntu 22.04 amd64 with wine 6.0.3.

Mon 24 Jul 2023 8:23 AM by Beckett

Have you created the desktop entry script, similar to what is at the end of Sara's post, customised for your setup, and run the xdg-mime command for it?

Tue 25 Jul 2023 7:22 PM by Shanen

Hi Beckett,

Yes, I created the script, chmod +x'ed it and also created the Phoenix_DAoC.desktop file. When I double click the desktop file Phoenix.exe is executed.

But I still have the problem of Firefox not recognizing the address. I think the problem comes from the xdg-mime command somehow not being taken into account, no idea why. Please see the following terminal log:

shanen@HP-Notebook:~$ xdg-mime default ~/.local/share/applications/Phoenix_DAoC.desktop phxlauncher
shanen@HP-Notebook:~$ xdg-mime query default phxlauncher
xdg-mime: mimetype 'phxlauncher' is not in the form 'minor/major'
Try 'xdg-mime --help' for more information.
shanen@HP-Notebook:~$

The funny thing is that the line phxlauncher=/home/shanen/.local/share/applications/Phoenix_DAoC.desktop is well present in /home/shanen/.config/mimeapps.list

Tue 25 Jul 2023 8:24 PM by Shanen

I'm in! I just had to edit ~/.local/share/applications/mimeapps.list and add x-scheme-handler/phxlauncher=Phoenix_DAoC.desktop

Thanks!

Mon 4 Dec 2023 1:26 PM by Sara

Just looked over everything. Seems the command did not allow you to add the mime entry properly. I have updated the guide to include your alternative, as well as fix issues with sub-mime type that would cause the entry to not register properly. The new desktop entry now includes x-scheme-handler as the sub-type, and the new command should now register it as a x-scheme-handler. Thanks for helping out everyone! 😃

Mon 4 Dec 2023 2:25 PM by Sara

Also noticed a few errors with home paths, hopefully I found them all and fixed. The example script should hopefully now work properly for those who just copy and paste rather then editing the last line. Also fixed some typos :3

Return to Tavern or the latest topics