EVERQUEST PROJECT99
Everquest Project 99 works on GNU/Linux quite well but there are a few things to take note of that will seemingly be a gamebreaker until resolved.
PROJECT 99 SETUP ON GNU/LINUX
MEDIA
Firstly, you will need EQ Titanium installation media. There are ISOs out there, I am not allowed to share them. The easy way to make the install work quick is to take the cd's and copy the contents of the first CD-ROM, and the data file (no need for the autorun stuff off the others) off each subsequent CD-ROM into one installation directory.
If you have ISO's of the CD-ROMS, mount them as loopback devices (GNOME3 has a fuse module in most distributions to make this easier). Then follow the advice above.
WINE PREFIX
Next we need a wine prefix. Make one however you deem appropriate. You will want Windows 10 and d9vk installed. As of the time of writing this, d9vk was finally merged into dxvk.
WINEPREFIX="~/Games/wine/p99" wineboot
WINEPREFIX="~/Games/wine/p99" winetricks win10 dxvk
INSTALLATION
Install the game as you would any other game. But after installation, do not run the game yet
WINEPREFIX="~/Games/wine/p99" wine ~/Installers/EQ-Titanium/Install.exe
P99 DATA INSTALLATION
You will need to copy over the P99 data files. The forum has a link to the latest P99 data files. Grab the zip file and extract it over your installation, which should be "WINEPREFIX/drive_c/Program Files (x86)/Sony/EverQuest/"
There will be a few files that are not copied correctly. You think they were. But they were not. Here is my source for that debacle. Basically, Windows is NOT case sensitive, and GNU/Linux is. The files got copied, but the old ones still reside.
cd "WINEPREFIX/drive_c/Program Files (x86)/Sony/EverQuest/"
rm Resources/loadscreen.JPG
rm DSETUP.dll
SERVERLIST FIX
EverQuest uses UDP in a strange way to deal with the serverlists. In most cases it doesnt work correctly and just shows an empty list. Fix is easy, albeit requires some compilation
cd "WINEPREFIX/drive_c/Program Files (x86)/Sony/EverQuest/"
git clone https://github.com/Zaela/p99-login-middlemand.git
make
./bin/p99-login-middlemand
That will build it. Prior to each time you run EQ, you will need to execute the last line (assuming you are in the middlemand directory.
To get middlemand to work, we need to fix a particular file. Rather than edit something that perhaps one day will work, we can move it and create a new file with out modifications:
cd "WINEPREFIX/drive_c/Program Files (x86)/Sony/EverQuest/"
mv eqhost.txt eqhost.txt.p99
echo [LoginServer] > eqhost.txt
echo Host=localhost:5998 >> eqhost.txt
ACCOUNT CREATION
You will need to create an account for the forums here. Once the email confirmation is done, revisit that link and it will have you create a loginserver account. That loginserver account is what you need to use to play the game.
RUNNING P99
OK, if you are in the same boat as me you will need to run the middlemand tool and then you can fire up EQ in the following way (I prefer using Lutris as all the following can be easily plugged into the game profile):
cd /path/to/p99
WINEPREFIX=/path/to/prefix/ wine eqgame.exe patchme
Of course you could script it out. I haven't bothered yet, but something along the lines of the following should work (maybe a minor modification here or there ...):
#!/bin/bash
cd "WINEPREFIX/drive_c/Program Files (x86)/Sony/EverQuest/"
./bin/p99-login-middlemand &
WINEPREFIX="~/Games/wine/p99" wine eqgame.exe patchme
killall p99-login-middlemand