• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
MultiBoxing EverQuest on Linux with MQ2

Guide MultiBoxing EverQuest on Linux with MQ2

Software Requirements
Linux baby!
Server Type
  1. Live
  2. Emu
  3. TLP
  4. Test Server
NOTICE: This guide is a bit deprecated. Please see this post in the discussion regarding how to use the latest wine and dxvk.

I have been running EverQuest under wine on Gentoo Linux for close to 20 years now, I don't do Windows! Here is the method I have used that works pretty well for the most part.

1. Install PlayOnLinux from your distro's repository. This is a very handy tool for managing wine versions on your system, as well as easily installing software in separate bottles.

2. Make sure your system supports 32 bit software, ie. its running with multilib support! EverQuest and MQ2 need to be run in a 32bit bottle.

3. Download the EQ installer

4. In PlayOnLinux poke around in the menus until you find the "Manage Wine Versions" tool. In there work your way through it so you get the 32 bit version of "wine-staging-4.21" installed. This is the last version of wine that works somewhat flawlessly with EQ, anything newer has mouse and keyboard bugs when running multiple instances of the game. Has to be the "staging" version!

5. Once that is in your 32 bit installed wine versions list go back to the main PoL window and click the option to Install a Program

6. A new window appears, at the bottom there is text that says "Install a Non-Listed Program" click it.

7. It will take you through a wizard to setup the wine bottle and install the game. Click Next

8. Choose "Install a program in a new virtual drive", next

9. Name it: EverQuest

10. Click "Choose another version of Wine" and "Configure Wine" then next

11. Pick 4.21-staging from the list and next

12. 32 bits windows installation, next

13. The prefix will be created and the winecfg tool will pop up. Hit enter to install any libraries like Mono or Gecko.

14. In the winecfg tool click the "Graphics" tab and check the "Emulate Virtual Desktop" box and set the fields to your screen resolution

15. Click OK

16. Now you will have a window with a "Browse" button staring you in the face. This is where you go point to the EverQuest installer program. But hold up! We need to do some CLI work first!

16a. Install 'winetricks' via your distro's package manager or just download it. A quick google will get you what you need.
16b. Open up a terminal and set the WINEPREFIX variable
- export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest" (the path to your EverQuest bottle)
- type 'winetricks wmi d3dx9_43 corefonts'
- go through all the prompts, you may be asked to reboot the windows box after wmi is installed, just click restart. It doesn't do anything as this is LINUX!
16c. Once everything is installed go back and Browse to your EQ installer using the PoL popup and hit Next. The game installer should appear and install the Launcher App.
16d. Note: You may be asked to install DirectX9 during the install process, just click next through the DX9 installer and accept any error at the end.

17. PoL will most likely launch the EQ Launcher at the end of the install as well as pop up another box to setup your shortcut for the PoL game launcher menu. Just find the Launchpad.exe entry click it and hit done, then when it pops up again hit the option to not create another shortcut.

18. Let the laucher download the game... hurry up and wait!

19. The game is now ready to play on its own through PoL. Have Fun! Launch it through the menu whenever you wish.


Oh wait you wanted to learn how to multibox on Linux AND run MQ2???

Well once you have confirmed that the game is properly installed and runs you can move on to the next stage. You only need to use one game installation for this, however you do need to setup multiple wine bottles for each game instance.

The quick and dirty way:

1. Open up a terminal

2. cd ~/.PlayOnLinux/wineprefix

3. cp -a EverQuest EverQuest_Bot1

4. cd EverQuest_Bot1/drive_c/users/Public

5. rm -rf Daybreak\ Games\ Company (yes delete it, we don't need it in this bottle)

6. cd ~/.PlayOnLinux/wineprefix

7. cp -a EverQuest_Bot1 EverQuest_Bot2
7a. repeat process for every instance you need! ie. EverQuest_Bot3...

8. Now you have your 'bottles' to run each instance from, and since they are all copies of the original they should have wmi, corefonts, and d3dx9_43 already installed from winetricks. If not you can manually run the winetricks command again as defined above, make sure to set the proper prefix! You will know if you need to do this if things go foul when launching an instance from one of the prefixes.

8a.
- export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest_Bot1" (the path to your second EverQuest bottle)

- type 'winetricks wmi d3dx9_43 corefonts'

9. Now these other instances will not use the wine install provided by PoL at this point and will rely on the system version to run. So you better make sure you have wine staging 4.21 installed on your system. Gentoo uses the concept of "slots" for wine so I can have multiple versions installed at once on the system thorugh the package manager, and set the one I want as the system version. If your using a crappy binary distro like Ubuntu you may need to compile wine staging 4.21 from source and add it to your PATH. I'll leave this as an exercise for the reader since it will be distro specific.

On Gentoo, you see I have 2 versions, the latest available and the version that runs EQ (which is set to default)

eselect wine list
Available wine versions:
[1] wine-staging-4.21 *
[2] wine-staging-5.6

10. In order to run the game from one of the prefixes using the original installation just export the PREFIX you want to run out of and then cd into the original game path and run "eqgame.exe patchme"

11. You can use the handy PoL menu to update the game with the Launcher at any time to keep the single installation up to date with live. Then run each instance individually without the launcher.

We will script this all later!

Ok Now that you have a bunch of instances of the game ready to roll how does MQ2 fit in?

1. Go download the latest version of VeryVanilla for Live and extract the zip file to a temporary location, lets say ~/Downloads/RedGuides_VV/.

2. Open up a CLI

3. cd /home/thedank/.PlayOnLinux/wineprefix/EverQuest/drive_c/users/Public (original installation path)

4. mkdir MacroQuest2

5. rsync ~/Downloads/RedGuides_VV/ ~/.PlayOnLinux/wineprefix/EverQuest/drive_c/users/Public/MacroQuest2/
- Note: when you need to update VV just run this command again from the new download. It will just overwrite the files that need to be updated and preserve your custom .ini files and macros!

6. Congratz! You just installed MacroQuest2 in Linux! To launch it in an EverQuest wine instance use the following commands at the CLI after EQ instance is running:
- export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest (Bot1, Bot2, etc)
- cd ~/.PlayOnLinux/wineprefix/EverQuest/drive_c/users/Public/MacroQuest2/
- wine MacroQuest2.exe &

Thats it! If you have issues try running the winetricks command again to install wmi and corefonts. That typically fixes things.

Ok here is the crazy script that I use to automate launching all 6 instances of the game on 3 monitors at full screen 1080p, an instance of MQ2 in each wine desktop which includes the tray icon, as well as 2 instances of the Linux eqbcs server. The script places each instance of the game in the proper monitor. I use cntrl+alt+up/down arrows under Gnome to move between workspaces and run 3 instances per workspace. So each workspace has 3 full screen instances spread across 3 monitors, and I can seemlessly move my mouse between each game instance running in full screen. Works like a charm! It also sets the kernel CPU frequency scaling to "performance" mode, and populates the "Username" field with the proper account login name for each instance. Make sure to read the script and replace all paths as necessary as well as usernames. It will NOT work out of the box without some motification to file locations!

MQ2_EQBox.sh:
#!/bin/bash

# script to start 6 box session of everquest with MQ2 and put each session on its own monitor
# requires xdotool installed on system for moving windows around

# put cpu governor into performance mode
echo "Setting CPU to performance mode"
sudo cpupower frequency-set --governor performance
cpupower frequency-info | grep "decide which speed"

# start eqbcs servers
/usr/local/bin/eqbcs > eqbcs.log 2>&1 &
/usr/local/bin/eqbcs 2113 > eqbcs2.log 2>&1 &

# set path to installs
EQHOME="/home/thedank/.PlayOnLinux/wineprefix/EverQuest/drive_c/users/Public"

# (OPTIONAL) refresh MacroQuest.ini (fixes issue when game client crashes and ini file is borked)
cp /home/thedank/Downloads/MacroQuest2/MacroQuest.ini $EQHOME/MacroQuest2/

# (OPTIONAL) refresh KissAssist_*.ini files (fixes no camphere command bug if toons logged out before /endmac)
sed -i 's/11.005/0/g' $EQHOME/MacroQuest2/Macros/KissAssist_*.ini

# start first instance
export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:username1 >>/dev/null 2>&1 &
sleep 7
PID=`ps x | grep \desktop | awk '{print $1; exit}'`
WINID=`xdotool search --pid $PID --onlyvisible`
xdotool windowmove $WINID 1920 y
sleep 3
cd $EQHOME/MacroQuest2/
wine MacroQuest2.exe &
sleep 3

# start second instance
export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest_Bot1"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:username2 >>/dev/null 2>&1 &
sleep 7
PID=`ps x | grep \desktop | awk 'NR==2{print $1; exit}'`
WINID=`xdotool search --pid $PID --onlyvisible`
xdotool windowmove $WINID 3840 y
sleep 3
cd $EQHOME/MacroQuest2/
wine MacroQuest2.exe &
sleep 3

# start third instance
export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest_Bot2"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:username3 >>/dev/null 2>&1 &
sleep 10
cd $EQHOME/MacroQuest2/
wine MacroQuest2.exe &
sleep 3

# start fourth instance
export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest_Bot3"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:username4 >>/dev/null 2>&1 &
sleep 7
PID=`ps x | grep \desktop | awk 'NR==4{print $1; exit}'`
WINID=`xdotool search --pid $PID --onlyvisible`
xdotool windowmove $WINID 1920 y
sleep 3
cd $EQHOME/MacroQuest2/
wine MacroQuest2.exe &
#sleep 3

# start fifth instance
export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest_Bot4"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:username5 >>/dev/null 2>&1 &
sleep 7
PID=`ps x | grep \desktop | awk 'NR==5{print $1; exit}'`
WINID=`xdotool search --pid $PID --onlyvisible`
xdotool windowmove $WINID 3840 y
sleep 3
cd $EQHOME/MacroQuest2/
wine MacroQuest2.exe &
sleep 3

# start sixth instance
export WINEPREFIX="/home/thedank/.PlayOnLinux/wineprefix/EverQuest_Bot5"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:username6 >>/dev/null 2>&1 &
sleep 10
cd $EQHOME/MacroQuest2/
wine MacroQuest2.exe &

And the cleanup script because the MQ2 binaries seem to like to stick around after exiting the game and closing the tray icon. This also sets the kernel CPU frequency scaling back to 'ondemand'.

MQ2_Cleanup.sh:
#!/bin/bash

kill -9 `ps x | grep win | awk 'BEGIN { ORS=" " }; {print $1}'`
killall MacroQuest2.exe
killall eqbcs
sudo cpupower frequency-set -g ondemand

I hope this helps anyone trying to man|woman up and run the game on Linux! It is well worth the effort!


Notes on EQEmu version:

You can follow this guide to also run EQ on any EQEmu server including P99 You will just need to use the 2.22-staging version of wine for both the Titanium and RoF clients, anything newer will cause issues. (Note: MQ2 VV EQEmu version only works on the RoF2 client, there is no available MQ2 binary for P99 or the Titanium client).

WMI needs to be installed in the wine prefix in order to get the MQ2 tray icon to work correctly and not error out the program. However, if you follow the instructions above using winetricks at the terminal it will not work since it will use the system version of wine which is 64 bit, not the 2.22-staging 32-bit version which the prefix should have been built under. Here is how to install WMI in the 2.22-staging prefix.

1. Export the WINEPREFIX variable setting it to the directory for the RoF2 client


export WINEPREFIX=/home/thedank/.PlayOnLinux/wineprefix/EverQuest_RoF2


2. Temporarily change your PATH in the local terminal so that the 2.22-staging wine binary is found first over the system one


PATH=/home/thedank/.PlayOnLinux/wine/linux-x86/2.22-staging/bin:$PATH


3. Run winetricks and install wmi


winetricks wmi corefonts


4. Go through the wizard and it should be installed. Now you can proceed back to installing MQ2 in the prefix since the supporting wmi api should be there to allow the tray icon to run.
Author
thedank
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from thedank

Top