Modified by on Sunday, July 22, 2007 - 18:59
So I had a drawn out argument today in MarketPlace on Chaos with a couple people that have completely differing viewpoints from my own. Part of the argument was me stating my opinion backed up by personal eperience, and part of it was just me wanting to argue with someone for a while because I'm a bit stressed out from work. :P
Anyway, it started (as most interactions these days do with the HZ community) with people telling me that my chat bot is stupid and should go to some private channel somewhere. then it evolved into why I'm doing it in the first place, and ym views on the state of the game in relation to the lack of development, and EI. In the end I probably alienated myself from half of the people who ever thought kindly of me in the past.
Now, about my program.
What it does:
1) Dump packets for study.
2) interpret sc-communication messages and relay them to a particular port
3) listen for data on another port, and relay that text as a new cs-communication message
When 2 and 3 are used together, a chat bridge can be made, such as my IRC chat proxy.
What it does not do:
1) Steal passwords
2) Automatiucally trade.
3) Automaticaly craft.
4) Automatically hunt.
5) Grant any wm powers.
6) Move the character.
What it could possibly do if given the motivation:
Steal passwords (given that it works by intercepting command line options)
Spoof /random rolls (verified)
Any player action that is initiated by a cs-... message, given an example of such an action to replicate.
Q. So if you can see all the packets, why are you only doing chat proxying?
A1. Simple answer: Because I'm stuck. Communication messages are very simple, and easy to reconstruct even without knowing why certain parts of the message contain certian bits of data. A chat proxy can be made with just this level of knowledge, so I did it.
A2. Complex answer: HZ uses XML for messages, as evidenced by the manifest. However, HZ sends the XML back and forth from the server in a binary form. Interpreting the message is not difficult given the manifest, net log entry, and message in a hex editor, but so far I've been unable to programatically parse messages and map them to their base XML fields. This means I'm stuck being able to manipulate only the simplest of messages that only have a few possible combinations of paramaters that can all be accoutned for. It also means that I have no hope of creating even the simplest of server emulators, one that just allows you to log in run around and chat, until I can figure it out.
Any other Qs? Answering them would be better than getting into another argument about EI.