• 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? Change the look. To dismiss this notice, click the X --->

Question - Linux/VM EQ/MQ noob questions (1 Viewer)

Apr 1, 2023
I'm new to the community and am loving it. I have two rigs at home, my main gaming system (Ryzen 7, 64gb ram, midrange GPU running Windows), and my media/VM server (Ryzen 5, 32gb am, lower midrange GPU running Mint). I would like to be able to run EQ/MQ on my linux box (and after some fiddling, so far I have EQ running w/o MQ). However, I was wondering what exactly the story with VMs and Daybreak is. It would be super easy for me to deploy a midrange Windows VM, give it access to my GPU, and set things up the same as my main system, but I heard that VMs were a bannable offense? I've read a few threads on here about setting up a few wine containers to successfully multi-box using MQ, but most of the instructions seem to be before the 64 bit change to EQ. I'm probably just missing something (and please excuse me if this is the wrong place to post). but I was hoping to reach out, and cross my fingers, before I dug much deeper (or tried to just do it on my own).
Thanks for the awesome community.
A hardline stand against VMs seems strange with so many Linux & IOS users these days. I figured maybe it was only connected with Truebox servers. Definitely not worth a suspension though. Guess I'll just have to get better at using Wine. Thanks!
pretty sure people got 64bit client working on steamdeck
64bit client came out feb/2022 so anything later you find about wine is probably accurate

A hardline stand against VMs seems strange with so many Linux & IOS users these days. I figured maybe it was only connected with Truebox servers. Definitely not worth a suspension though. Guess I'll just have to get better at using Wine. Thanks!
That was the initial published stand on VM by DBG with regards to Truebox servers if I recall correctly. But VM is sort of the bane for all now. So, the wine route is your best bet being on Linux.
I thought it was in the EULA or TOS but I didn’t see it on a quick glance. I did find it here: https://www.everquest.com/news/agnarr-progression-server-faq-may-2017

Doing any of the following on ANY server may result in action being taken against your Daybreak Account:

  • Unattended Gameplay: Any method that lets a character take actions while you’re not at your keyboard.
  • Playing on virtual machines.
  • Any attempt to circumvent the /pickzone timer.
Well, I thought I was making some progress. Adapting the info in: https://www.redguides.com/community/resources/multiboxing-everquest-on-linux-with-mq2.1588/

# set path to installs

# (OPTIONAL) refresh MacroQuest.ini (fixes issue when game client crashes and ini file is borked)
cp /home/hsuser/Documents/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/hsuser/eq64/wineprefix"
cd $EQHOME/Daybreak\ Game\ Company/Installed\ Games/EverQuest/
wine eqgame.exe patchme /login:accountname >>/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 MacroQuest.exe &
sleep 3

I got the script updated, and MQ launches. I can see it running in my taskbar (unexpected) AND the MQ windows are visible at character select. It feels like I'm sooo close!

But then after I select Enter World, The loading screen comes up, audio starts (it feels SOOOO close) and :
Screenshot from 2023-05-02 17-30-23.png

I go the crash dump:

D 2023-05-02 17:17:24.229500 [MQ] Logging Initialized (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:200)
I 2023-05-02 17:17:24.229575 [MQ] Starting MacroQuest Loader. Built Sat Feb 25 00:06:48 2023 (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:1199)
I 2023-05-02 17:17:24.230213 [MQ] Initializing crashpad handler (C:\agent\_work\1\s\src\loader\Crashpad.cpp:98)
D 2023-05-02 17:17:24.230225 [MQ] Handler Path: C:\users\Public\MacroQuest2\crashpad_handler.exe (C:\agent\_work\1\s\src\loader\Crashpad.cpp:99)
I 2023-05-02 17:17:24.329909 [MQ] Crash report submission is: enabled (C:\agent\_work\1\s\src\loader\Crashpad.cpp:104)
I 2023-05-02 17:17:24.329999 [MQ] Crash report guid: 03b4cbb9-4871-43fb-875e-39d78317c5e9 (C:\agent\_work\1\s\src\loader\Crashpad.cpp:108)
I 2023-05-02 17:17:24.330008 [MQ] Using shared crash reporter for all MacroQuest instances (C:\agent\_work\1\s\src\loader\Crashpad.cpp:118)
I 2023-05-02 17:17:24.373243 [MQ] Starting NamedPipeServer thread for \\.\pipe\mqpipe (C:\agent\_work\1\s\src\common\NamedPipes.cpp:592)
I 2023-05-02 17:17:24.408555 [MQ] Process monitor using ToolHelp started (C:\agent\_work\1\s\src\loader\ProcessMonitor.cpp:431)
I 2023-05-02 17:17:24.408600 [MQ] MQ2Main Path: C:\users\Public\MacroQuest2\MQ2Main.dll (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:1158)
I 2023-05-02 17:17:24.425079 [MQ] Build: MacroQuest [Apr 14 2023 (Live)] (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:1178)
D 2023-05-02 17:17:24.426716 [MQ] Initializing injector (C:\agent\_work\1\s\src\loader\ProcessList.cpp:1182)
I 2023-05-02 17:17:24.445452 [MQ] Performing injections on any existing eqgame.exe processes (C:\agent\_work\1\s\src\loader\ProcessList.cpp:730)
D 2023-05-02 17:17:24.445789 [MQ] Injector thread started (C:\agent\_work\1\s\src\loader\ProcessList.cpp:1075)
I 2023-05-02 17:17:24.446927 [MQ] Requesting injection into process id 240 (C:\agent\_work\1\s\src\loader\ProcessList.cpp:714)
D 2023-05-02 17:17:24.446952 [MQ] Injecting MQ into eqgame.exe: pid=240 (C:\agent\_work\1\s\src\loader\ProcessList.cpp:939)
I 2023-05-02 17:17:24.454687 [MQ] Waiting for events... (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:1397)
D 2023-05-02 17:17:24.454955 [MQ] Message Box thread started: Application Compatibility Layer issues found:

Error accessing values in HKEY_LOCAL_MACHINE: -1
Error accessing values in HKEY_CURRENT_USER: -1 (C:\agent\_work\1\s\src\loader\Utility.cpp:75)
D 2023-05-02 17:17:24.469850 [MQ] eqgame.exe version: Apr 14 2023 12:51:45 pid=240 (C:\agent\_work\1\s\src\loader\ProcessList.cpp:997)
I 2023-05-02 17:17:24.554255 [MQ] Injection completed on process id 240 (C:\agent\_work\1\s\src\loader\ProcessList.cpp:1069)
D 2023-05-02 17:17:24.728174 [MQ] Created PipeConnection: connectionId=1 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:225)
D 2023-05-02 17:17:28.295593 [MQ] Message Box thread finished: Application Compatibility Layer issues found:

Error accessing values in HKEY_LOCAL_MACHINE: -1
Error accessing values in HKEY_CURRENT_USER: -1 (C:\agent\_work\1\s\src\loader\Utility.cpp:77)
E 2023-05-02 17:17:28.369078 [MQ] PipeConnection::HandleReadComplete: Unexpected error. connectionId=1 error=Failed to complete read operation: More data available. (C:\agent\_work\1\s\src\common\NamedPipes.cpp:350)
D 2023-05-02 17:17:28.369273 [MQ] Closing connection. connectionId=1 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:906)
D 2023-05-02 17:17:28.369285 [MQ] Destroyed PipeConnection: connectionId=1 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:232)
D 2023-05-02 17:17:28.369436 [MQ] Created PipeConnection: connectionId=2 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:225)
E 2023-05-02 17:18:06.143595 [MQ] PipeConnection::HandleReadComplete: Unexpected error. connectionId=2 error=Failed to complete read operation: More data available. (C:\agent\_work\1\s\src\common\NamedPipes.cpp:350)
D 2023-05-02 17:18:06.143683 [MQ] Closing connection. connectionId=2 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:906)
D 2023-05-02 17:18:06.143697 [MQ] Destroyed PipeConnection: connectionId=2 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:232)
D 2023-05-02 17:18:06.143895 [MQ] Created PipeConnection: connectionId=3 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:225)
E 2023-05-02 17:18:06.155281 [MQ] PipeConnection::HandleReadComplete: Unexpected error. connectionId=3 error=Failed to complete read operation: More data available. (C:\agent\_work\1\s\src\common\NamedPipes.cpp:350)
D 2023-05-02 17:18:06.155331 [MQ] Closing connection. connectionId=3 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:906)
D 2023-05-02 17:18:06.155344 [MQ] Destroyed PipeConnection: connectionId=3 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:232)
D 2023-05-02 17:18:06.155454 [MQ] Created PipeConnection: connectionId=4 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:225)
E 2023-05-02 17:18:09.170021 [MQ] PipeConnection::HandleReadComplete: Unexpected error. connectionId=4 error=Failed to complete read operation: More data available. (C:\agent\_work\1\s\src\common\NamedPipes.cpp:350)
D 2023-05-02 17:18:09.170099 [MQ] Closing connection. connectionId=4 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:906)
D 2023-05-02 17:18:09.170109 [MQ] Destroyed PipeConnection: connectionId=4 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:232)
D 2023-05-02 17:18:09.175342 [MQ] Created PipeConnection: connectionId=5 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:225)
D 2023-05-02 17:19:07.865735 [MQ] Process closed: 240 (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:1137)
D 2023-05-02 17:19:07.865746 [MQ] PipeConnection::HandleReadComplete: pipe closed. connectionId=5 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:322)
D 2023-05-02 17:19:07.865956 [MQ] Closing connection. connectionId=5 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:906)
D 2023-05-02 17:19:07.865970 [MQ] Destroyed PipeConnection: connectionId=5 pid=240 (C:\agent\_work\1\s\src\common\NamedPipes.cpp:232)
I 2023-05-02 17:19:16.343327 [MQ] Shutting down... (C:\agent\_work\1\s\src\loader\MacroQuest.cpp:1420)
D 2023-05-02 17:19:16.344090 [MQ] Injector thread finished (C:\agent\_work\1\s\src\loader\ProcessList.cpp:1149)
I 2023-05-02 17:19:16.344251 [MQ] Stopping NamedPipeServer thread for \\.\pipe\mqpipe (C:\agent\_work\1\s\src\common\NamedPipes.cpp:628)
I 2023-05-02 17:19:16.344280 [MQ] Canceling pending connect requests (C:\agent\_work\1\s\src\common\NamedPipes.cpp:830)
E 2023-05-02 17:19:16.344349 [MQ] NamedPipeServer::NamedPipeThread: Failed at DisconnectNamePipe: Pipe listening. (C:\agent\_work\1\s\src\common\NamedPipes.cpp:836)
D 2023-05-02 17:19:16.344542 [MQ] Process Monitor Thread Exit (C:\agent\_work\1\s\src\loader\ProcessMonitor.cpp:413)

Keeping at it, but figured I'd update, in case anyone has seem something similar, and can save me some time ;) Thanks everyone for the pointers. Debating starting over and trying the SteamDeck method, but just feel like I'm soooo close :)
Awhile back I was taking a course at home which required a VM for labs. I thought a documented reason for needing a VM on my machine was a good opportunity to ask Daybreak if this was going to be a problem or not. I'm not going to copy/paste the response I got, but ultimately I was advised to do VM things on a different machine.

Pretty shitty imo
@JudeauChop that’s the logs, not the crash dump. The logs won’t say anything about why it’s crashing.

I’d start with just core plugins and go from there (and follow the steps in the steam guide to get rid of those registry errors)
Gotcha, that makes sense. I found the dumps last night, but its been years since I've opened one, and didn't have the application installed to do so.

The logs did look like there were problems with NamedPipes, so I tried running NamedPipeClient manually within Wine (with MQ running), and it crashes.

Unhandled exception: page fault on read access to 0xffffffffffffffff in 64-bit code (0x00000001400360b1).
Register dump:
rip:00000001400360b1 rsp:00000000006afa80 rbp:00000000006afbe0 eflags:00010202 ( R- -- I - - - )
rax:0000000000000001 rbx:0000000000000000 rcx:0000000000000007 rdx:0000000140074050
rsi:000000000001dfd0 rdi:000000000001dfc0 r8:0000000000000000 r9:00000000006afa88 r10:0000000000000008
r11:00000000006afa78 r12:0000000000000002 r13:0000000000000000 r14:000000000021fc50 r15:000000000021fdb0
Stack dump:
0x00000000006afa80: 0000000000000000 0000000000000003
0x00000000006afa90: 0000000000000003 000000007b06aa6e
0x00000000006afaa0: 000000000001f380 0000000140029e4d
0x00000000006afab0: 000000000021fdb0 000000000021fc50
0x00000000006afac0: 0000000000000000 0000000000000002
0x00000000006afad0: 000000000001dfc0 000000014000b523
0x00000000006afae0: 0000000000000000 0000000000000000
0x00000000006afaf0: 00000000006afbe0 000000000001dfd0
0x00000000006afb00: 0000000000000001 0000000040000000
0x00000000006afb10: 0000000000000000 0000000000000000
0x00000000006afb20: 000000000000002c 00000001400613b8
0x00000000006afb30: 0000000000000415 0000000140061900
=>0 0x00000001400360b1 in namedpipeclient (+0x360b1) (0x00000000006afbe0)
1 0x0000000140029e4d in namedpipeclient (+0x29e4c) (0x00000000006afbe0)
2 0x000000014000b523 in namedpipeclient (+0xb522) (0x00000000006afbe0)
3 0x000000014000aa89 in namedpipeclient (+0xaa88) (0x0000000000000000)
4 0x00000001400197be in namedpipeclient (+0x197bd) (0x0000000000000000)
5 0x000000014002ef5e in namedpipeclient (+0x2ef5d) (0x0000000000000000)
6 0x000000007b62c6c9 EntryPoint+0xffffffffffffffff() in kernel32 (0x0000000000000000)
7 0x000000007bc583c3 EntryPoint+0xffffffffffffffff() in ntdll (0x0000000000000000)
0x00000001400360b1: int $0x29
Module Address Debug info Name (8 modules)
PE 7b000000- 7b3fd000 Deferred kernelbase
PE 7b600000- 7b969000 Dwarf kernel32
PE 7bc00000- 7bf3c000 Dwarf ntdll
PE 140000000- 14007c000 Export namedpipeclient
PE 1d97a0000- 1d97ae000 Deferred api-ms-win-core-fibers-l1-1-1
PE 205950000- 20595f000 Deferred api-ms-win-appmodel-runtime-l1-1-2
PE 30c980000- 30c98f000 Deferred api-ms-win-core-synch-l1-2-0
PE 351680000- 35168f000 Deferred api-ms-win-core-localization-l1-2-1
process tid prio (all id:s are in hex)
00000038 services.exe
0000003c 0
00000040 0
00000054 0
00000070 0
0000008c 0
000000bc 0
000000d0 0
00000044 winedevice.exe
00000048 0
0000005c 0
00000060 0
00000064 0
0000004c explorer.exe
00000050 0
00000088 0
00000098 0
00000204 0
00000210 0
00000214 0
00000218 0
00000068 plugplay.exe
0000006c 0
00000074 0
00000078 0
0000007c 0
000000a0 0
00000080 winedevice.exe
00000084 0
00000090 0
00000094 0
0000009c 0
000000ac 0
000000b4 svchost.exe
000000b8 0
000000c0 0
000000c4 0
000000c8 rpcss.exe
000000cc 0
000000d4 0
000000d8 0
000000dc 0
000000e0 0
000000e4 0
000001fc 0
000001f4 explorer.exe
000001f8 0
0000021c 0
00000354 L1nSDWl9.exe
00000358 0
00000390 0
00000394 0
00000398 0
0000035c conhost.exe
00000360 0
00000368 crashpad_handler.exe
0000036c 0
00000370 0
00000374 0
00000378 0
0000037c 0
00000380 0
00000384 0
00000388 0
0000038c 0
000003c0 (D) C:\users\Public\MacroQuest2\NamedPipeClient.exe
000003c4 0
000003d0 0 <==
000003c8 conhost.exe
000003cc 0
System information:
Wine build: wine-6.0.3 (Ubuntu 6.0.3~repack-1)
Platform: x86_64
Version: Windows 7
Host system: Linux
Host version: 5.15.0-71-generic

I'm mostly just adding notes to where I'm going, and what I'm seeing, kind of like a bug report, just to have the info (hopefully the thread ends with things resolved, and the info can help someone in the future. Just trying stuff out. Kind of a second game in itself. On a plus, I am getting more comfortable within Wine. Appreciate all of the suggestions. Going to try to clean up the Registry errors now.

Oh, I also disabled all of the plugins within the macroquest.ini file, and the crash is still happening. I'm a MQ noob too, so kind of learning how it works a little better here too. fun stuff!! :)
I lied, there were still some Plugins on. I turned off EVERYTHING in the INI, and the game loads. Time to try one at a time :)
oh wait, interesting, it crashed (similar error to above) when I camped out.

I have it running in game now. I have MQ2PluginManager, MQ2EQBugFix, MQ2Hud on, and everything else off! Babysteps! This is making me miss my old QA days.

Update 2:
Think we have a (though maybe there are many??) Culprit!! The crash happens when I manually enable MQ2DanNet.

Update 3:
So I'm having luck running some other plugins/macros. Right now I'm running MQ2Nav, and 'newtoon.mac'. I have a EQBC server started, and the plugin running (everything I've done so far is with DanNet though, so there will be a learning curve there). Now I have all of the plugins needed to run 'tutorial.mac'.
Last edited:
Crossover is your best bet to play EQ and use MQ on Linux. No need to mess with a VM.
Playing with Crossover now. Installing the game was super easy. Going to try to install MQ now.

I have EQ installed and running in Crossover, I've then installed The RedGuides Launcher, which runs, however when I click the 'Very Vanilla' button, it crashes. Any suggestions? Might just manually install MQ like I did above.

Got MQ installed on Crossover, had to copy the files manually, then run the app by 'installing' it in Crossover. After that, Same crash as I was seeing above. Removed DanNet from the Macroquest.ini and I'm back up and running. This was much smoother from start to finish. We'll see how it is for boxing. Dug around a bit on the site, and it looks like maybe its known that DanNet doesn't work with Crossover (but it might work with the SteamDeck?).
Once I get things ironed out, and an actual group up and running, I'll try to do a write up. Still deciding if the $70 for Crossover would be worth it. Pretty sure I could go back to how I was working pretty easily now.
Last edited:
Removed DanNet from the Macroquest.ini and I'm back up and running.
Well, that confirms something for me. I thought maybe it was a Mac issue. I run Crossover and EQ and MQ on my Mac and MQ2Dannet causes it to crash as well.
Thought that was just a Mac issue interesting to know it is a Linux issue as well.

The nice thing about the price with crossover is you get a discount on renewals. Renewal is only like 40 bucks.
Sorry, busy weekend (moving in-laws in from out of state). I was wondering if anyone had a good rundown of running multiple instances of EQ/MQ.

I'm going off of the directions in: https://www.redguides.com/community/resources/multiboxing-everquest-on-linux-with-mq2.1588/

But the 2nd instance crashes once the game launches (no MQ crash like above). My guess is my bottles aren't setup quite right. Basically what I'm doing:

- Make primary bottle:
~/eq64$ mkdir Everquest
~/eq64$ cp -ar wineprefix/* ./Everquest/

- Setup MQ in primary bottle
1. Go download the latest version of VeryVanilla for Live and extract the zip file to a temporary location
2. Open up a CLI
3. mkdir ~/eq64/RedGuides_VV
4. Extract VeryVanilla ZIP into ~/eq64/RedGuides_VV
5. cd ~/eq64/Everquest/drive_c/users/Public (original installation path)
6. mkdir MacroQuest2
7. rsync -r ~/eq64/RedGuides_VV/ ~/eq64/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!
8. Launch MQ in an EverQuest wine instance use the following commands at the CLI :
~$ export WINEPREFIX="/home/<userName>/eq64/Everquest/"
~$ cd ~/eq64/Everquest/drive_c/users/Public/MacroQuest2/
~/eq64/Everquest/drive_c/users/Public/MacroQuest2$ wine MacroQuest.exe &

Right now a registry error will fire, still working on cleaning that up. MQ will launch in the taskbar.

7. Remove MQ2Dannet from MQ, it currently crashes everything (hoping to figure out a wine config option that will prevent this):
- Rightclick on MQ in taskbar, select ‘INI file’
- change MQ2dannet=1 to MQ2dannet=0
8. Quit MQ (Right Click and Exit)

-Create 2nd bottle::

1: Copy ~/eq64/Everquest ~/eq64/Everquest_bot2
2: navigate to ~/eq64/Everquest_bot2/drive_c/users/Public
3: Remove EQ and MQ from bottle (we run them all from the first source):
rm -rf Daybreak\ Game\ Company/
rm -rf MacroQuest2/

It crashes when I run them both at the same time using a similar script to the one in the original post.

I think I'm missing something in these directions from the post(linked above):

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 through 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

I'm not using 4.2.1, because i'm running 64 bit, do i need to install a 2nd version of wine here?

Anyway, I have 1 instance running well. Just trying to get a full box crew. Any suggestions are welcome. Been having fun, and writing everything up. Heck this is almost as fun as playing. ;)

Thank you!!

I run all 6 of my toons from the same bottle same install of eq.
You won't be able to import profiles over in MQ from Windows to Linux but once you set them up in Linux should be able to launch profiles just like you do in Windows.
Ok. I went back to crossover, and everything runs great. Have all 6 toons running around doing stuff. However, MQ2DanNet is still crashing. Does anyone happen to know what dependencies it has? The bottle must be missing something.
Thanks again!
Question - Linux/VM EQ/MQ noob questions

Users who are viewing this thread