• 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 --->
MQ2DanNet

Plugin - MQ2DanNet (1 Viewer)

I tried all those and tried rebooting, reloading mq, unloading / reloading plugin but had no luck. But after doing that I unloaded and reloaded the plugin one more time on all characters and now it's working again lol. Not sure what happened. :(

But on Kissassist, it still says "no peers connected"
i'd maybe toss a restart on kiss now you have dannet working again
 
I've gone through and merged my DanNet version of Trotsbot to test the latest version of DanNet, unfortunately I still have dobserves reporting 0 values intermittently even though the TLO reports the correct value when called directly but the output variable will get set as 0.

Example

INI:
| set dquery to build buff id's
         /varset dQuery Me.Buff[${tSpellName}].ID
             |     if no dobs setup, build a new one, output to ABBotSpellID_Name var
             /if (!${DanNet[${tName}].ObserveSet["${dQuery}"]} && ${DanNet.Peers.Find[${tName}]}) {
            /dobserve ${tName} -q "${dQuery}" -o ABBotSpell${tSpellID}_${tName}
            /delay 20 ${DanNet[${tName}].Observe["${dQuery}"].Received}

Now this is just one example, but here for example occasionally a buff will start reporting a 0 value in the output variable. If I call the dannet TLO directly for this dobs, the value is correct, but the output variable gets "stuck" as a 0 unless I kill the dobs or rebuild it.

Still a blocker for me to replace mq2netbots sadly =(
 
${DanNet.Peers[channelname].Find[${tName}]}

shouldn't need that delay in there either. not hurting to have it, but i go through couple hundred observers in about a second w/no issues setting them.

would also advise these settings in the dannet.INI


INI:
Evasive=5000
Expired=30000
Evasive Refresh=false
 
@exspes007

I think your responding to me! I haven't changed the if statement when I check to make sure the obs exist (it def returns expected values for me but maybe theres an issue in that syntax at a certain speed?).

However I did add the ini changed you showed and it seems to have fixed the issue so far so thats really great.

I am getting an mq2 crash occasionally though, a mq2dannet dump file is generated, should I send that any where?
 
Well the crash error was something due to peer_connection, I'll try to catch it next time. I had sub time running out on that account also so maybe something DBG booting that toon caused the crash as well. Hopefully a red herring
 
Well the crash error was something due to peer_connection, I'll try to catch it next time. I had sub time running out on that account also so maybe something DBG booting that toon caused the crash as well. Hopefully a red herring
if you have a crash, and it generated a .dmp file, it would be located in the "logs" folder, inside the release folder.

If you don't know where your release folder is, you can locate your MQ2 install directory by opening the launcher and clicking on "settings" tab on the bottom left. Then, you need to ensure you're set to the right version in the dropdown menu on the right side, it should reflect "Live" "Test" "EMU" etc. Once complete, the field below approx center screen should show "Macroquest2 directory" and that is where the "Log" folder would be. Once inside the folder, get the dmp file and PM it to someone. Best to PM it to someone related to the development of the thing that crashed. For a plugin resource you can click on overview and see who the developer on that project is.

For example, if the crash is MQ2DanNet, then looking at the overview for the resource
1611904351956.png

Dannuic's name is directly below the "utility" tag. So that would likely be the user you'd want to share the dmp with. You would have also got a message saying you should send it to eqmule, and it never hurts to do so as well.
 
$echo ${DanNet.PeerCount[all]} replies 7 :: I run 7 accounts on 1 pc -> all peers are found
/dnet info shows all chars and their class -> all toons are listed, but 1 dps
/plugin mq2dannet load replies on all chars : Plugin 'mq2dannet' was already loaded

nevertheless on all chars I get the message: "DanNet is Loaded but no Peers are connected"
1612885446547.png
multiple times per mob pulled
This message does not appear at the same operation, i.e. this screenshot shows the message appearing after Malaise on the shaman ... another time "Malaise" and "counterbias" is cast, b4 the message is shown.
Next time there are 4 cast done after "Malaise" b4 this message appears.

I presume that kissassist runs the "dps"-cycle always in a similar manner, but the massage can appear the first time at any time within the first cycle of dps.
It does not feel, like an instruction within kissassist may cause the message to appear.


"/dgge /mqp on" and "/dgge /mqp off" do behave as expected
often when the message "DanNet is Loaded but no Peers...." appears, there seems a pause of serveral seconds b4 kissassist resumes with the next action

/plugin mq2dannet unload on the char who was not listed by "/dnet info" resulted in a freeze of this account, I had to kill the task with the taskmanager
after I had logged in the crashed account, within less than 1 minutes another account had a cdt, while still on all chars appeared frequently : "DanNet is Loaded but no Peers are connected" ... so probably completely unrelated
after also that account was logged in all seemed to work as expected

still I have the feeling, this message wants to tell me, that something is broken
 
As far as I can tell its standard Windows 10 without any additional antivirus/firewall.
/dnet interface shows the following:
1612962336636.png

Is there anything remarkable to see?

Searching around for solutions for the cdt i found here somewhere, that pure windows 10 might not be sufficient at the graphics driver front.
So I picked up "directx_Jun2010_redist.com" and installed it. Since weeks I experienced 1-2 cdt per playsession for 4-5h.


"DanNet is Loaded but no Peers are connected" ... still appears. Anyone has an explanation for that? Should I be concerned?
 
Last edited:
As far as I can tell its standard Windows 10 without any additional antivirus/firewall.
/dnet interface shows the following:
View attachment 28118

Is there anything remarkable to see?

Searching around for solutions for the cdt i found here somewhere, that pure windows 10 might not be sufficient at the graphics driver front.
So I picked up "directx_Jun2010_redist.com" and installed it. Since weeks I experienced 1-2 cdt per playsession for 4-5h.


"DanNet is Loaded but no Peers are connected" ... still appears. Anyone has an explanation for that? Should I be concerned?

If /dnet info shows you the peers, then the macro is not detecting them; dannet appears to be functioning. I would ask the macro maintainer what they are doing to detect dannet peers and make sure your dannet settings match what they expect.
 
Either wouldn't work without you putting in a valid group name. I think that was just meant to be "replace this with a valid group name"
 
I have several groups running in different places, the macro uses dannet /dgge for group. All of my groups only see what the leader of the group sends in the command to the group. I have one group leader that spams every group for some reason. All running the same macro.
Did he gain a special setting to be able to spam everyone using /dgge ?
 
Is there some trick to get clients on two different PCs to connect to each other? They are on the same subnet...
 
Is there some trick to get clients on two different PCs to connect to each other? They are on the same subnet...
Probably a firewall/network issue. If you are using windows try giving everquest permissions to the network through the firewall. Add some exceptions.
 
Probably a firewall/network issue. If you are using windows try giving everquest permissions to the network through the firewall. Add some exceptions.


This was it, was in firewall exceptions on one PC, but not on the other. Added it in, and now its working. Thank you!
 
Just in case someone runs into the same problem I had with running on MQNext:

I was running Dannet and all the basic /dgga and such commands would work except /dquery and /dobserver. I had a function that I was calling as /if (${function_name[someInputString]}) and I was getting no error messages but I was unable to query anyone from my group. Sometimes I would see "delays with variable syntax will be ignored" and at other times I would not. I fixed it by calling it "normally" and setting a local variable with the ${Macro.Return}.

So instead of
INI:
Sub do_something(bool _someInputForSomeReason)

    /for _count 1 to ${Int[${Group}]}

        /if (!${Group.Member[${_count}].Type.Equal[PC]}) /continue

        /if (${Group.Member[${_count}].Distance} < 100 && !${Group.Member[${_count}].OtherZone}) {

            /dquery ${Group.Member[${_count}].Name} -q "Me.Casting.ID"

            /delay 5s ${DanNet.Q.Received}

            /if (${DanNet.Q}) {
                /echo ${Group.Member[${_count}].Class.ShortName} is casting
                /return FALSE
            }
        }
    /next _count

/return TRUE

/if (do_something[FALSE]) {
    /echo Hello
}

One should do something like

INI:
Sub do_something(bool _someInputForSomeReason)

    /for _count 1 to ${Int[${Group}]}

        /if (!${Group.Member[${_count}].Type.Equal[PC]}) /continue

        /if (${Group.Member[${_count}].Distance} < 100 && !${Group.Member[${_count}].OtherZone}) {

            /dquery ${Group.Member[${_count}].Name} -q "Me.Casting.ID"

            /delay 5s ${DanNet.Q.Received}

            /if (${DanNet.Q}) {
                /echo ${Group.Member[${_count}].Class.ShortName} is casting
                /return TRUE
            }
        }

    /next _count

/return FALSE



/declare _checker bool local FALSE
/call do_something
/varset _checker ${Macro.Return}
/if (${_checker}) {
    /echo Hello
}
 
Last edited:
The reason you get that message is because if you use variable syntax to call a sub (the ${subname syntax) instead of the /call subname syntax, any /delay commands are ignored (as if you didn’t have them there to begin with).

This behavior is the same in MQ2, it’s just that MQ2 won’t tell you that’s what’s happening while MQ will tell you.
 
The reason you get that message is because if you use variable syntax to call a sub (the ${subname syntax) instead of the /call subname syntax, any /delay commands are ignored (as if you didn’t have them there to begin with).

This behavior is the same in MQ2, it’s just that MQ2 won’t tell you that’s what’s happening while MQ will tell you.

Interesting that I did not realize this before! Good to know.
 
I changed my commands over to Dannet this morning and it worked flawlessly. I just logged on now and my group does not respond to any commands from my driver. /dnet info shows that all are connected and in all groups (including my custom one), but it seems that they are not discovering/connecting with each other. I have tried setting the interfaces but so far nothing has changed.
 
I changed my commands over to Dannet this morning and it worked flawlessly. I just logged on now and my group does not respond to any commands from my driver. /dnet info shows that all are connected and in all groups (including my custom one), but it seems that they are not discovering/connecting with each other. I have tried setting the interfaces but so far nothing has changed.
if you set/change your dnet interface you actually need to unload and reload the plugin for it to take
 
if you set/change your dnet interface you actually need to unload and reload the plugin for it to take
Thanks for the quick answer. Still no change and I tried all the listed interfaces. Even tried logging out and back in.
 
Thanks for the quick answer. Still no change and I tried all the listed interfaces. Even tried logging out and back in.
can you share what commands you're using (and the circumstances of the usage) just so everyone's on the same page?
 
can you share what commands you're using (and the circumstances of the usage) just so everyone's on the same page?
All toons show connected and all toons can issue commands but no toon shows that it is receiving a command. For a test, I used a simple /dex <name> /sit. All toons issued the command (as seen in the output window), but the info was not received by any of the toons. Another: /noparse /dge <group> /docommand /${Me.... gets sent out but the group shows no indication of having received the commands. When setting a channel manually, the command just disappears and there is no indication that it was sent. Simple /dtell does not work either.

I use the driver to
  • set camp on, camp off, or chase
  • pause/start macros or plugins
  • issue direct commands (e.g., instructing bard to cast selos, invis, etc)
Zero issues in the morning, but the toons currently are not receiving the commands. It seems to be a connection issue but I am at a loss on how to approach it as nothing has changed with my setup since I played in the morning.

Is there a preferred interface? I am showing three: my vpn, an ip addy range, and loopback pseudo
 
DanNet binds to an interface, as Sic said. So you want to make sure you’re bound to an interface that can see other systems. /dnet info and /dnet interface are the two commands you want I think.
 
Last edited:
DanNet binds to an interface, as Sic said. So you want to make sure you’re bound to an interface that can see other systems. /dnet info and /dnet iface are the two commands you want I think.

I deleted the .ini information and camped and rejoined the world. I then rejoined the custom group and ran /dnet info on all toons and they were all in the appropriate groups. /dnet interface now shows an arrow at interface 0 and 1 (vpn and ip addy).

Everybody is in all their applicable groups, they can issue commands within those groups, but they cannot receive any commands.

to make sure you’re bound to an interface that can see other systems.
I am not sure how to do that--I tried each one and unloaded/loaded Dannet but nothing changed. Kinda frustrating and i really don't want to revert to EQBC hehe.
Thanks.
 
To update:
I started messing around with the things I can control with my system.
  • I restarted--no effect
  • I changed VPN location--no effect
  • I dropped the VPN entirely--it works now!
However, I generally refuse to run my machine without using my VPN, so I will have to try country by country to find one that works. I have no idea which country it was set to in the morning--or if/why it was disconnected or changed. Full camp to desktop for each try is going to suck. :( Oh well. Thank you for the quick answers and your efforts--always appreciated.
 
Ah, you’re likely using a VPN that blocks split tunneling or otherwise blocks local traffic. It’s probably an option on your VPN software. This is done so you don’t accidentally send traffic outside of the VPN.
 
I run a VPN and dannet across multiple computers, what I do is point the interface to the physical interface that connects to my LAN, since the VPN device wouldn't work anyway. My connections look something like this (some of these I specifically added in order to test dannet):
1630075903618.png
The top one is my VPN device, and the wifi is my physical LAN device (Ethernet 3 would be if I plugged in). You can see the arrow points at the wifi. Also important is that everyone connected to dannet use the same subnet (which usually means the same device on the same computer, but topologies can differ). You can use the loopback if you don't have more than one computer.

Finally, bit of a tip: These numbers can change, they are based on the order that windows reports devices. For me, everything shifts up by one when I disconnect from the VPN because that device no longer exists. So when you set the interface, use something like this:
INI:
/dnet interface Wi-Fi
and the number won't matter (this of course requires all the devices are named distinctly!). Finally, make sure to toggle mq2dannet on all your clients after setting the interface. You only need to set the interface on one client since it's a global setting.
 
Plugin - MQ2DanNet

Users who are viewing this thread

Back
Top