MQ/Xylobot feature comparison

A forum for the general posts relating to MacroQuest. *DEPRECATED: This forum is no longer in public use, but remains here for your reading pleasure. Enjoy

Moderator: MacroQuest Developers

EQUser2002
decaying skeleton
decaying skeleton
Posts: 7
Joined: Wed Sep 25, 2002 9:01 am

MQ/Xylobot feature comparison

Post by EQUser2002 » Wed Sep 25, 2002 9:29 am

Would it be possible for someone to list out pros and cons for each of these packages, i.e. why would I want to use one over the other? I'd rather 'waste' my time writing macros then figuring out which environment I want to use. 8) Thanks in advance.

EQUser

gingertips
a hill giant
a hill giant
Posts: 230
Joined: Wed Jun 26, 2002 3:47 am
Location: Tseu-Qorcam

Post by gingertips » Wed Sep 25, 2002 10:17 am

here goes

Xylobot costs $20, MQ is free.

Xylobot is a pain to write scripts and more complicated.

Mq isnt!

Trsut me, MQ is the dogs balls

User avatar
rizwank
Huggle Police
Huggle Police
Posts: 524
Joined: Tue Jul 23, 2002 12:07 am
Contact:

Post by rizwank » Wed Sep 25, 2002 10:46 am

I believe "the dogs balls" is a good thing.


Xylobot can commincate with external programs easier (COM+) and works across a ton of DX apps, but the simple concept of a /finditem from the inventory is beyond Xylobot, as it is not JUST a EQ program.

Xylobot is fun for enhancing the game and for its overlay maps, but unless I am mistaken, (and I DO have a registered version of xylo), MQ is much better for what it does, macroing and game assistance.

You can run both at the same time by the way.

AMadMonk
a lesser mummy
a lesser mummy
Posts: 77
Joined: Tue Sep 24, 2002 9:16 pm

Post by AMadMonk » Wed Sep 25, 2002 3:01 pm

MQ > Xylobot

MQ hooks into EQ. Xylobot is just an overlay. The difference is that MQ is able to know ALL sorts of wonderful internal details about EQ that Xylobot can't know -- for instance the location and details of all zone spawns (and since it's in memory, it doesn't have to decrypt packets -- take that ShowEQ :)

But if I were to wager, I'd say MQ is also SLIGHTLY more likely to get you banned. That can be avoided by clever macro'ing of course. And don't macro unattended (with either program!)

Xylo == more portable
MQ == more powerful

User avatar
tuxracer
Esse Quam Videri
Esse Quam Videri
Posts: 165
Joined: Fri Jul 26, 2002 1:01 am

Post by tuxracer » Wed Sep 25, 2002 4:04 pm

I'd say your chances of getting caught with MQ compared to Xylobot are higher then "slightly". Xylobot's being "overlayed" (as you put it) and not hooked into the client is both its curse and its blessing. The only way to get caught with Xylobot is if you tell someone you're using it, or if you're using unattended macros and a GM decides to check up on you (I'm sure there are other more obscure things that someone who feels like trivializing this will feel obligated to point out, but those are pretty much the only ways). With MacroQuest you can get caught even if you are attending your macros, or even if you aren't using any macros at all. Because it sends output to the client, which a GM is able to see, output that could not possibly be there had you not been running MacroQuest (that is not to say that it doesn't matter altogether, it is still generally a smarter idea to attend your macros). Sure with smart filters you can hide most of that, however if you do a /who on someone in your zone, or a /who, or use one of the other commands enhanced by MacroQuest, a GM can see that too.

Now your chanced of a GM picking you out of the however many thousands of people that are probably online at the time are very low, but if they do and you're using MacroQuest, you're probably screwed. If they do and you're using Xylobot, they wont really be able to see a thing unless you were running a macro at the time (even then you aren't automatically caught). But relative to your chances of getting caught with Xylobot, your chances of getting caught are much higher with MacroQuest (but still pretty low odds for the most part, depending on what it is you are doing with MacroQuest and what types of Macros you are utilizing).

Also the anti-GM code bits (that camp and/or close MQ when a GM is detected in the zone) that are floating around in the forums will not really help you much. As when a GM is invis, they are totally invis to the client, totally anon. When a player is anon or invis, the server still sends your client their info it just sends along a little packet saying "Don't show me" and MacroQuest is able to get your client to ignore that packet, but when a GM is invis the server doesn't send your client anything, so even with MacroQuest, ShowEQ, SINS, etc... you wouldn't be able to see invis GMs in the zone. The anti-GM code is better than nothing though.
[url=http://www.studentpeaceaction.org/][img]http://www.studentpeaceaction.org/images/support.gif[/img][/url]

AMadMonk
a lesser mummy
a lesser mummy
Posts: 77
Joined: Tue Sep 24, 2002 9:16 pm

Post by AMadMonk » Wed Sep 25, 2002 6:12 pm

Agreed -- BUT. First of all, as you point out, security through obscurity is a very real thing. If VI ever develops code to routinely scan through the visible text window of all clients in a zone, searching for certain keywords (ala the FBI's Carnivore) -- good luck.

However, I'm thinkin... this ability to snoop on the chat window MUST require client cooperation. For instance, if I do /time over and over again, the local time isn't something that the server would know. Ergo, the chat buffer is completely on my computer.

We know you can /report, so a facility DOES exist to send X number of lines of screen text off to a GM. I'm wagering that it's just a similar, hidden call to the same API that lets the GM's snoop. This is probably why they can't see ALL your chat, just the last X lines (if it's really 10 lines, isn't that the same amount as /report sends?) I think that the GM's snoop ability is just a hidden /report.

That being said, why not use detours to:

Find the /report function
Hook it
Replace it with one that determines whether the /report request is coming from the client (you've typed /report) or the server (the GM is snooping)
If from the client... function as normal (if you're stupid enough to report with MQ text in your buffer, you deserve what you get)
If from the server... respond back with some innocuous version. Either send back a "dummy" report (just a snapshot of you doing a /who or something, or some meaningless /tells, or SOMETHING) OR, "cleanse" the buffer of MQ stuff. In FACT, if this can be done (and I don't see why not; MQ is already using detours to hook a lot of crap, this is just one more function call to locate and trampoline), it makes the argument for ALWAYS prefacing MQ log spew a lot more compelling -- this makes it EASY for MQ to "cleanse" lines out of the buffer.

I'm not as worried about the GM snoop ability. For now, security through obscurity. Eventually, we'll just pour some glue in this little keyhole -- no more spying.

User avatar
RPZip
a lesser mummy
a lesser mummy
Posts: 63
Joined: Sun Aug 11, 2002 11:31 pm

Post by RPZip » Wed Sep 25, 2002 7:01 pm

Tux; learn the benefits of /filter macros none. All ENHANCED output is also reverted.

User avatar
tuxracer
Esse Quam Videri
Esse Quam Videri
Posts: 165
Joined: Fri Jul 26, 2002 1:01 am

Post by tuxracer » Wed Sep 25, 2002 9:01 pm

AMadMonk wrote:Agreed -- BUT. First of all, as you point out, security through obscurity is a very real thing.
Actually the non-existant "security through obscurity" was not my point at all (I'm not even sure how you derived such a thing from my post). My point is that MacroQuest's being hooked into the client is both a blessing and a curse, for the reasons I've mentioned.
AMadMonk wrote:If VI ever develops code to routinely scan through the visible text window of all clients in a zone, searching for certain keywords (ala the FBI's Carnivore) -- good luck.
I doubt they would do this. It just does not seem pratical considering the amount of clients that would need to be scanned. That's not to say it is impossible, it just doesn't seem pratical to me.
AMadMonk wrote:However, I'm thinkin... this ability to snoop on the chat window MUST require client cooperation. For instance, if I do /time over and over again, the local time isn't something that the server would know. Ergo, the chat buffer is completely on my computer.
Agreed, however the idea you go onto mention which is to send bogus info seems risky. This bogus info would have to be randomly generated. If everytime a GM looks at your chat buffer and all they see is /who info, even if they just got done watching you do something such as buy from a merchant and they look again and they still see nothing but /who info, that would be a give away as well. Same applies if it gave fake tells and such. But I do like your last idea of having MacroQuest strip any MacroQuest or MacroQuest Enhanced text from the chat buffer that gets sent. Then the real challenge is figuring out where in the client this function is and figuring out how to manipulate it. We can't exactly test it either, so anyone attempting this is going to not have any idea if it is working properly or at all.
[url=http://www.studentpeaceaction.org/][img]http://www.studentpeaceaction.org/images/support.gif[/img][/url]

AMadMonk
a lesser mummy
a lesser mummy
Posts: 77
Joined: Tue Sep 24, 2002 9:16 pm

Post by AMadMonk » Wed Sep 25, 2002 9:29 pm

Not sure the markup language for this so my quotes'll be fugly.

You wondered where I got security through obscurity from:

"Now your chanced of a GM picking you out of the however many thousands of people that are probably online at the time are very low"

Pretty much the definition of security through obscurity, if ya ask me. Of course security through obscurity isn't TRUE security, because once you catch the attention of the GM's (or the cops, or the gods, or whoever you're hoping to avoid), you're pretty much screwed. But a smart person plays the odds and tries to remain invisible. Which is why things like unattended macroing are so stupid -- they increase your chances of losing that magical "obscurity" dramatically. But as we all know, the stupid people and script kiddies tend to hang themselves nicely, once given enough rope.

"But I do like your last idea of having MacroQuest strip any MacroQuest or MacroQuest Enhanced text from the chat buffer that gets sent. Then the real challenge is figuring out where in the client this function is and figuring out how to manipulate it. We can't exactly test it either, so anyone attempting this is going to not have any idea if it is working properly or at all."

Actually... we might be able to test it if the emulators that are out there support a rich GM function. Even if not, hook to the emulator (so the client thinks its live), /report something bogus, and watch the client run through its paces. Reverse engineer... presto.

And the filtering idea -- nuff said. I still have to play with that one myself, since I tend to be on the paranoid side.

eqaddict
a lesser mummy
a lesser mummy
Posts: 74
Joined: Sun Sep 15, 2002 10:05 pm

Xylobot vs MQ

Post by eqaddict » Thu Sep 26, 2002 1:51 pm

my two cents....I brush aside the cost difference as you should donate for MQ if you love it. The real answer is *it depends* on what you want to do and when you want it done by...

Single CHAR
=========
If you are playing a SINGLE char then use MQ to enhance it.

MultiChar
=======
1) If are a low skilled coder (aka "user") or dont have a lot of time to code then use Xylobot along with MQ.

2) If you are a med to high skilled coder AND have the time to code then just use MQ.


Discussion
=======
I find that MQ is more extendable and easier to use than Xylobot. It has the potential to be more powerful but those muscles have not been fully flexxed and I would award Xylobot the more powerful version at this time. For those that disagree I am specifically saying MQ is a better platform but Xylobot has better publically available applications (or macros) developed and CURRENTLY made available for it. Non-programmers benefit from applications, programmers from the potential to build applications.


Xylobot, like MQ, has a large user base that has written several useful scripts. The Master Control Script (MCS) in Xylobot is a shadow of what could be done in MQ but current outstripes all public macros on this board. MCS is (unofficially) Xylobots multicharacter solution which requires one computers for each character. MQ should be able to run multichars on the same computer as it sends information (input) to everqeust differently. I have gotten two chars to work on MQ with EQW.

EQ for leveling
==========
If you are a mid to strong programmer then Xylobot will eventually frustrate you and you will turn to MQ. If your programming skills are low to mid then you will problably want to start with Xylobot/MCS as that macro is very mature and implementation requires only user based skills and knowledge. The program lacks some key features that you will need to turn to MQ for or just dont use.

EQ for Trade Skills
============
Nothing beats the way MQ can do this. If you can write simple macros or take the time to read the OBVIOUS hint then use MQ. If you get scared when you see code and occassionaly puke then then use the Trade Skill scripts from Xylobot. They work slowly in comparision to MQ but they dont get periodically deleted.

(Note: I agree with deleting the trade skill scripts but it fosters an unequal enviroment between the haves (coders) and the have nots(users))

-EqAddict

User avatar
tuxracer
Esse Quam Videri
Esse Quam Videri
Posts: 165
Joined: Fri Jul 26, 2002 1:01 am

Post by tuxracer » Thu Sep 26, 2002 4:53 pm

AMadMonk wrote:Not sure the markup language for this so my quotes'll be fugly.
You wondered where I got security through obscurity from:

"Now your chanced of a GM picking you out of the however many thousands of people that are probably online at the time are very low"

Pretty much the definition of security through obscurity, if ya ask me. Of course security through obscurity isn't TRUE security, because once you catch the attention of the GM's (or the cops, or the gods, or whoever you're hoping to avoid), you're pretty much screwed. But a smart person plays the odds and tries to remain invisible...
That really has nothing to do with security through obscrurity, that's just plain and simple odds. No matter how obvious you are or not, your odds are just not that great of being picked out of a good thousand or two people or more to have your chatlog and such looked at randomly. My point was that if a GM looks at your log and you are not using the proper filters, even if you aren't running a macro they will be able to see you're running MacroQuest, this isn't the case with Xylobot though. I added in the first part to make it clear that even though there is a greater risk with MacroQuest, the risk overall is so small that it isn't much to worry about. I just wouldn't use it with an account with a few lvl 60 characters or anything though.
Actually... we might be able to test it if the emulators that are out there support a rich GM function. Even if not, hook to the emulator (so the client thinks its live), /report something bogus, and watch the client run through its paces. Reverse engineer... presto.
As far as I know none (neither) of the emulators support native GM commands very well if at all. This is something I was pushing for while I was still with the EQEMu project however the developers didn't appear to feel as though it was a high priority. But even if either emulator did support the native GM commands, I'm not sure that our clients are capable of reading the text on the screen of other clients. You'd probably need access to the GM client for that functionality.
And the filtering idea -- nuff said. I still have to play with that one myself, since I tend to be on the paranoid side.
That works too, although a lot of people use MacroQuest for not much more then the enhanced commands, and using a filter which reverts those enhanced commands severly cripples it. Having some sort of function which only filtered the text out when it was sent from the client to a GM would be much more useful, which is why I like the idea so much. I just don't have any clue how anyone could go about implimenting something like that.
[url=http://www.studentpeaceaction.org/][img]http://www.studentpeaceaction.org/images/support.gif[/img][/url]

eq_freak
a ghoul
a ghoul
Posts: 105
Joined: Mon Jun 24, 2002 7:17 am

Post by eq_freak » Thu Sep 26, 2002 5:51 pm

Well since MQ directly modifies some portions of the client in the memory, if VI really wanted to target MQ, they could easily write some code to do some integrity checking(checksums) on those areas. No need to snoop chat buffer or anything like that.

Wether or not they would be able to sneak that in in a patch without Xaanin or some other clever guys noticing I dont know. Not sure how closely they watch the eqgame.exe for stuff like that.

AMadMonk
a lesser mummy
a lesser mummy
Posts: 77
Joined: Tue Sep 24, 2002 9:16 pm

Post by AMadMonk » Fri Sep 27, 2002 8:16 pm

tux: I think we're just quibbling about the definition of security through obscurity. Taking that phrase out of the equation: yes. The odds are small unless you do something stupid. That's all I was saying too, and I was just agreeing with you.

Onwards... I sort of suspected that the emu's WOULDN'T have the gm functionality unless you somehow got ahold of a piece of the original VI software to reverse engineer. Was just wishful thinking, really.

Filtering: my console mod sends all of the original MQ spew to the console and only sends clean unadulterated EQ spew in the chat buffer. So if I do a /who, my chat buffer just shows the normal /who results. But my MQ console shows the full expanded MQ SuperWho output. Phrases involving cake and eating it too are dancing through my head. Again, a pristine chat buffer doesn't make it impossible to get caught, but it DOES drop the odds.

Hooking the /report function should be possible without emu support. Just find some excuse to /report someone. Sniff the wire and watch the process and go to work. Keep doing this (hopefully from different players/accounts) until you understand how /report works. It's almost certainly a similar mechanism to the chat snoop feature.

eq_freak: possible, but pretty unlikely IMO. Are they going to checksum the checksumming code? If not, whats to stop us from hooking and modifying that? If so, they need a SEPARATE function to checksum the checksumming code (obviously if you can't trust your running code, you can't trust it to verify its own validity). It's an infinite regress.