• 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

@dannuic I have a snippet of my code above but essentially I set observers in for loops for all of my buffs and each bots PctHPs (this is the bulk of the observers). All of these values are being checked constantly (very little delay between passes) by the macro, running 18-36 toons typically.

This is one section of a much larger for loop for my buff routine, I've tried rewriting the DanNet observers many ways but no matter how I do it the output vars just stop updating after awhile. If I reload the plugin it performs great for a little while again. Sometimes when I echo the output vars it will flip from a null to value back and forth, other times it just suddenly starts reporting null and never comes back until the plugin is reloaded.

For me anyways, this didn't happen at first, it wasn't until I had completely implemented DanNet throughout my plugin that observers got flakey like this. My heal loops also tend to have the same behavior over time as well.

I can share the entire macro if you want to look at it, let me know. I definitely want to get this working because when it works it's much better than eqbc/netbots combo.


INI:
/if (${tBot}) {
         /varset tSpellName ${Spell[${tSpellID}]}
         /varset dQuery Me.Buff[${tSpellName}].ID
         /varset tQuery Me.Buff[${tSpellName}].Duration.TotalSeconds
         /varset pQuery Me.PetBuff[${tSpellName}].ID
         /if (${Spawn[${tName}].Type.Find[pet]} && !${DanNet[${Spawn[${tName}].Master.CleanName}].ObserveSet["${pQuery}"]}) {
            /dobserve ${Spawn[${tName}].Master.CleanName} -q "${dQuery}" -o ABBotPetSpellID
            /delay 20 ${DanNet[${Spawn[${tName}].Master.CleanName}].Observe["${pQuery}"].Received}
         }
         /if (!${DanNet[${tName}].ObserveSet["${dQuery}"]} && ${DanNet.Peers.Find[${tName}]}) {
            /dobserve ${tName} -q "${dQuery}" -o ABBotSpellID
            /delay 20 ${DanNet[${tName}].Observe["${dQuery}"].Received}
         }
         /if (!${DanNet[${tName}].ObserveSet["${tQuery}"]} && ${DanNet.Peers.Find[${tName}]}) {
            /dobserve ${tName} -q "${tQuery}" -o ABBotSpellDur
            /delay 20 ${DanNet[${tName}].Observe["${tQuery}"].Received}
         }
         /if (${ABBotSpellID} || ${ABBotPetSpellID}) {
            /if (${ABBotSpellDur}>=(${tTime}+30)) {
                /call AddtoBuffArray ${tTargetID} ${tSpellID} ${ABBotSpellDur}
                /goto :tNextBot
             }
 
I don't have a bunch of time tonight to look at it, but
INI:
         /if (${Spawn[${tName}].Type.Find[pet]} && !${DanNet[${Spawn[${tName}].Master.CleanName}].ObserveSet["${pQuery}"]}) {
            /dobserve ${Spawn[${tName}].Master.CleanName} -q "${dQuery}" -o ABBotPetSpellID
            /delay 20 ${DanNet[${Spawn[${tName}].Master.CleanName}].Observe["${pQuery}"].Received}
         }

that should probably be pQuery instead of dQuery -- that might account for some of this since you are setting dQuery twice, and checking for something that isn't set. I'll look closer tomorrow.
 
This is news to me, I wasn't aware of any issue that required dannet to be reloaded... I usually run it for days before restarting anything. What are you doing that causes this?

Well it rarely happens. I set up a bunch of buff/debuff observers in raid (normally 20-40 boxes), 99% time everything works smooth. But occasionally I found my priest was spanning some cure, and I then /echo found that one of the variable from observers refused to change. I then unload/reload the dannet plugin it returned to normal ( the variable started to update again).
I can send the snippet if needed once I get back to my desktop.
 
@KingArthur I spoke with Dannuic on this some yesterday and ultimately found the observers would occasionally miss a var update. Their setup to only send data when they detect a change in whatever their tracking, and it seems like their sometimes (rarely) missing that change. I have the exact same issue, but the thing is if even one PctHPs observe misses an update all my healers go berserk and I have to restart my macro. Seems to happen every 5-30 minutes currently eventually one observe gets outa wack.

I also found I could do a /observer name -q whatever -drop command and let the macro rebuild but there's not a good way to detect when something is out of sync unfortunately so it's just a manual work around atm. Perhaps I could just make my macro hard codes to -drop any obs older than 5 minutes ?
 
Hi, folks - hoping for some help here. 2 Computers on the same network, in the same workgroup, windows 10. Primary computer won't see the second computer, or it's toons, in dnet info. Only thing I can come up with is that the second computer's IP address is before the primary computers. (e.g., primary is 192.168.86.48, vs 192.168.86.33 for the secondary). I reserved the IP for the primary to be .10, but still no dice.

How can I get the primary to see the toons on the second computer? What am I missing? (They're both using the same interface, so I don't think that's the problem...)
 
The order of the IP addresses won't be an issue. Most likely cause of something like this is software firewall or an interface binding issue.

Run /dnet interface

You can see what interface it is using and change it if you need to.
 
I'm getting an intermittent crash :

"OnPulse crashed at address 0x10390"
Dump saved to C:\mycomputerinfoandfilelocation\logs\mq2dannet_20200724_150833.dmp

Any thoughts?
 
The order of the IP addresses won't be an issue. Most likely cause of something like this is software firewall or an interface binding issue.

Run /dnet interface

You can see what interface it is using and change it if you need to.

Thank you - I missed your response somehow. We're both running under "0 [Wi-Fi]." Mine shows 192.168.86.48 - 192.168.86.255. The other comp shows 192.168.86.33 - 192.168.86.255 That's why I was thinking it was a "range" issue within the IP network scan. Almost as if my primary doesn't even see the secondary, as it's outside the range listed on /dnet interface.
 
That's not a range, the first number is your local IP, and the second number is the mask for the interface. I would think that there is a firewall at play here if you are both selecting the same subnet.
 
It may also be an issue with WiFi and the wireless access point you're using. Some WiFi APs (and some NICs) don't acknowledge or transmit broadcasts.
 
Are these updates going to be pushed to the EMU compile? Actually, is this even usable on EMU??

Anyone tried this emu?

I've ran it now for a few hours on the ROF2 May 10 2013 client and Kissassist 11 ... I've had zero issues and I noticed a tremendous speed increase overall. If you have stability issues, it's likely the MQ2Melee plugin and/or the memory issues with the client; PM me for workarounds.

Quick update: I've switched over to DanNet with KA 12 Beta and zero issues on the EMU server I play on except for an occasional Dnout not returned error that gets thrown when I start up the macro sometimes. Honestly that was for a Advanced Looting section, so I just commented out the call.
 
Last edited:
I've ran it now for a few hours on the ROF2 May 10 2013 client and Kissassist 11 ... I've had zero issues and I noticed a tremendous speed increase overall. If you have stability issues, it's likely the MQ2Melee plugin and/or the memory issues with the client; PM me for workarounds.
Awesome thanks! I'm boxing 36 ok with eqbc. Occasionally I get crashes but mostly it is all good. But I'm on one PC so it would make sense for me to try Dannet.
 
In case anyone else runs into interface issues, you should try restarting the client (or all of them if you're boxing).

So, I tried all of the following and I couldn't force the plugin to another interface connection...

/dnet interface Ethernet /dnet interface iface_Ethernet /dnet interface <Ethernet> /dnet interface <iface_Ethernet> /dnet interface "Ethernet"

It turns out the interface just wasn't disconnecting. On of a few of the tries I used /dnet interface iface_Ethernet save (not sure if the save was needed to update the ini) and shut down all the EQ clients; after which I edited the ini to Interface=Ethernet. After restarting the client, it shifted over to the right interface.

interfaces.JPG

fyi, I was trying to connect a client on one computer to a different computer that happened to be on a VPN connect (and dannet was using the VPN interface).
 
What knightly said. Any and all automatic groups can be 100% done outside of the plugin. I don't want to scope creep too far (I already added too many automatic groups heh).
 
If I recall. You need to grant the eqgame.exe to be open to the local network. (Incoming traffic)
also keep in mind, some wireless access points do not allow broadcast traffic to pass between clients.

I keep telling myself to a packet dump to get more granular details, have not got around to it.
 
If I recall. You need to grant the eqgame.exe to be open to the local network. (Incoming traffic)
also keep in mind, some wireless access points do not allow broadcast traffic to pass between clients.

I keep telling myself to a packet dump to get more granular details, have not got around to it.
Not wireless at all all wired on the same switch and everything. Just odd..
 
Getting a bit of an error on my druid I am wondering if its Dannet related. Using RGMercs and a Druid as healer. Constant spam on the Druid toon in the MQ box with the msg : [MQ2] NOTICE: Could not find Observer CureObs_(name of my BST running CWTN plugin)_poison (then _curse, then _corruption). I dont see this with may CLR or SHM when they are healing either using CWTN plugin or RGMercs. Any ideas?
 
Is there any way to set up observers while at character select? Eg, poll other clients, check for certain things, camp to character select and wait for the right conditions to be true, then log back in. If you set up the observer before you camp, it stops updating the moment you hit character select. If you try to set it up while at character select it never is received. If you try using /dquery it just returns whatever the last result was while you were in game, but not the new value as it changes.
 
I started a thread over in the VV Discussion about an EQ crash I started having during Beta and now in CoV. Looks like it is being caused by Dannet after the character is in game about 20-30 seconds .

If I remove Dannet from the MQ ini, the crashing stops. If I start MQ without Dannet and then load the plugin after I am in game, I do not crash.


1607574623512-png.26413


Sic was kind enough to look through the dump and see that the crash was being caught by Dannet. > here <

I can PM a dump file if it will help find the cause.

I am only running Defender in Win10 Home and all EQ clients are on the same PC.
 
Last edited by a moderator:
I started a thread over in the VV Discussion about an EQ crash I started having during Beta and now in CoV. Looks like it is being caused by Dannet after the character is in game about 20-30 seconds .

If I remove Dannet from the MQ ini, the crashing stops. If I start MQ without Dannet and then load the plugin after I am in game, I do not crash.


1607574623512-png.26413


Sic was kind enough to look through the dump and see that the crash was being caught by Dannet. > here <

I can PM a dump file if it will help find the cause.

I am only running Defender in Win10 Home and all EQ clients are on the same PC.

I am still not able to launch EQ with DanNet enabled. It crashes EQ after 10-20 seconds of being in game.

I have been editing MacroQuuest.ini to disable the plugin and then load the plugin once in game. No issues when i load after characters are in game.

Is there anyone that can point me to some debugging steps to narrow down why it crashes EQ when enabled at launch? I can provide dump files if it is helpful.
 
Plugin - MQ2DanNet

Users who are viewing this thread

Back
Top