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

REFERENCES