PDA

View Full Version : Ok, What exactly do we need to fix this?



Thom_Merrilin
04-29-2003, 05:43 AM
Alright, I'd like to help make this program work again...

I know that there are likely several steps needed to get it working, but I am a bit clueless as to what most of them are.



First of all, the decoding of the packets seems to be borked.

Next, I would imagine that OpCodes are changed as well.

And last, I would expect that some structs have changed as well.



The only part of this that I am even going to pretend that I can do is the finding of opcodes. However, I don't know if SEQ is is currently displaying valid info, due to decode being busted.

So I have a couple questions...

1. Does SEQ correctly display OpCode info right now?
2. Would finding more OpCodes help in the other steps? or does the decode have to be fixed first?
3. Is there any particular OpCode that would be VERY useful in helping to get this fixed?


Please let me know if you have any info, or even if ya just wanna call me an idiot.


-Thom (and no, it's not my real (or game) name)

Protagonist
04-29-2003, 08:07 AM
Well as has been posted before (get ready to be hit with the Search bat by someone *grin*) the best way to figure it out is to capture and analyze EQ packets. I've been doing some of this with ethereal over the weekend and trying to figure things out while reading the source code to SEQ. Of course what I don't know is which packets are compressed and/or encrypted..well except for the spawn packets which I'm pretty sure are encrypted. I think I know how they are encrypted....based on some hints that the search tool gave me..just need to study the problem some more. Ditto for compression. I'm sure the real devs will have something done before I could but I'm trying to figure it out myself.

ether
04-29-2003, 08:11 AM
I dunno if how they store the data in memory directly corresponds to the structure of the network packets, but if so; the structs in memory were rearraged a bit in that patch.

So, it may be as simple as opcodes changing.

Thom_Merrilin
04-29-2003, 11:31 PM
Well, it was my hope that this thred would spark some conversation, and get us to share the info we have, or at least let us put in requests for info that others might have that would make your work easier (hence my opcode questions). Afterall, very few of you know and have the time to do everything needed to fix SEQ. So here is where some of us can ask the questions we need to help fix it.

It does seem pointless for more than one person to be working on the same problem, and not freely share the info or ideas with the others doing the exact same thing... Now maybe you guys are already doing such things thru PM's or IRC, I honestly have no way of knowing or checking. If you are, then it's a great thing.

Now the other good part about talking about this here, is it gives the average joe something to read, and makes them feel that there is progress. And hence, fewer garbage posts.

As for me, my programming days are far behind me... I can't seem to write code anymore... forgot too much about C. But I have a lot of time to figure out stuff, and I still want to help. OpCode Hunting works for me... but I need guidance. I need to know what I should be looking for, and whether my efforts thus far produce any valid info.


-Thom

LordCrush
04-29-2003, 11:53 PM
Thom,

as far i have seen, most Dev discussion is done in the IRC

irc.trifocus.net/#showeq

... Cannot connect to ircservers from work :p

Alfred
04-30-2003, 11:40 AM
Not to rain on your idea, but I think people that really understand and like to brainstorm on ideas about disassembling the protocol, are going to use IRC and PM.

I'm guessing there are only a few peeps out there that really have the horsepower upstairs to tackle issues like this (I don't include myself in that list).

A forum just isn't the place. You get an idea, maybe you try it out, you ask on IRC or PM the people you know are on your level for feedback. You don't want to wait around for a forum message.

:)

sea4th
04-30-2003, 10:50 PM
IRC is nice for real time brainstorming but unless someone is capturing the IRC chat and posting it here -- the information is pretty much lost.

Search will not help either.

The written (recorded) word is more powerful than the spoken (real time) for problem solving and empowers others to contribute. The disadvantage is SOE could also follow the progress - maybe they do on IRC <shrug>.

Please keep the information coming and others will chip in. While I will not dispute the focus a single person or small group of individuals can bring to cracking a problem, I think the collective efforts of many can accomplish the same at the expense of duplication of effort.

Protagonist
05-01-2003, 09:07 AM
I would love to discuss this stuff in IRC, but from what I've read here, unless you already know the answer to your question before you ask it, the IRC channel can be rather hostile to those asking questions.

Thom_Merrilin
05-01-2003, 10:44 AM
I don't think the IRC channel is that bad... I did check it out a while back... Wasn't hostile at all... but there is a huge delay in response time (cause people are usually doing other things, and check the channel every 15 min or so)

In any case, the worst that can happen is, you get yelled at. If it truly makes you feel that bad, just make a new nick and try again later... but rephrase.

However, if any of you have some luck in getting info out of IRC, please share it here with us message board junkies.

Kimbler
05-01-2003, 01:26 PM
I think we all agree it is a shame the boards and IRC are as hostile to newbs. Don't get me wrong I understand completely when someone inquires on a subject that is way beyond the scope of boards or IRC but the very folks who are working there butts off to master the new challenges don't realize that one rude RTFM or rude SEARCH reply may be running of the one savant type who walks in (very rare I know) an sees what they have not.

After reading these boards for a long time now there is no question alot of folks wishing to take a try at helping have been run off from the RTFM/SEARCH crowd. What they seem to not understand is they may be running off the next "greatest programer" in thier infancy.

It's a shame those that do not like how someone ask a question or doesn't search the way they want them to can't just not reply at all.

I am a not of the caliber to answer any hard questions at all but every once in a while I can answer one that is of the type that seems to enrage the RTFM/SEARCH types. But much to my shock by the time I get to the end of the post to possible add something the RTFM/SEARCH types have unloaded on the guy. Needless to say I understand why some of those interested budding genious programmers move on and the SEQ project suffers from that missed talent.

I at one time considered learning C in depth and Linux to help out a bit (I don't have the smarts to do the hard stuff but I could of done stuff to enhance the interface and such) but I quickly realized asking the basic getting started questions got you clobbered by the RTFM/SEARCH types so I figured as little as I may have contributed It wasn't worth the abuse.

iluvseq
05-02-2003, 12:20 AM
This is a common problem in Open Source projects, and programming in general.

A significant portion of programmers are self taught. An especially high percentage of open source programmers are self taught.

Thats not to say they have never taken any programming classes, but a large percentage of them at least learned the basics of C and Linux by taking the time to read FAQs, HOWTOs, and man pages. Many of these self tought programmers went on to college and took "traditional" programming classes, but that doesn't change the fact that a significant portion of developers on projects like SEQ have learned the majority of what they know by using the SEARCH buttons on various websites.

It's so intrinsic to the way we do things, that we cannot fathom anyone not being able to do the same.

Another thing to keep in mind; Developers on open source projects are also generally self starters. They had an idea, they took time to develope that idea into a workable product, and they did so with little outside motivation.

Self starters often have a hard time dealing with (and being patient with) people who need a bit of hand holding.

There is nothing wrong with not being a self-starter, or not being able to train yourself in programming C or installing Linux, but putting someone like that with most open source developers is a bit like mixing oil and water.

The "powers that be" on this and many other forums surrounding open source projects all got where they are by pulling themselves up by the bootstraps and teaching themselves what they needed to know to get the job done. Anyone who has done that, tends to be a bit impatient and terse with someone who comes along with a hand out looking for information without taking the same time and effort to learn it themselves.

Certainly we could (and maybe should) be a bit more polite when someone comes here and asks a question. However, given how often it occurs, especially around a project like this that tends attract "hackers" and "leet dudes," it is not surprising that the developers and forum regulars have developed a cynical attitude towards questioners.

It's made worse by the fact that time and time again, people insist on posting questions that could have been answered with fewer mouse clicks and keystrokes had they simply used the "search" button instead of the "new topic" button.

Eric S Raymond explains it best in this document: http://catb.org/~esr/faqs/smart-questions.html

AnotherCoreDump
05-02-2003, 02:22 AM
Everything true, iluvseq, but not posting what knowledge was already gathered in the IRC channel to the board only keeps people not in sync with the dev teams timezone from beein able to contribute things as they just cannot update themselves to what needs to be looked into.
Not to mention those who cannot use IRC befause of firewalls.
And Search doesn't help here, cause the information is never stored somewhere reachable as sea4th already did point out.

Alfred
05-02-2003, 05:54 AM
Hmm ok, let me try and put it like this.

You play EQ right? Most of you know it inside and out. Now, I know there are going to be exceptions to this, but just imagine going to a family reunion and grandma or grandpa who has never touched a PC wants to start playing EQ and helping you on a Raid. Keep that thought...

How about this, have you ever helped an old college or high school friend who has never played EQ, doesn't even have an idea what it is, start playing it for the first time?

What I'm getting at is, there is a wealth of information that you already have and it is a huge challenge to find the right way to spoon feed the information to people so that they a) don't become frustrated and give up, b) CAN understand it, and c) don't drive you crazy.

Yes you can give small spoonfuls of information and send them off to start figuring out on their own, but it isn't exactly an easy task. The biggest downfall to this whole idea is.... First and foremost, I've got to WANT to do the spoon-feeding in the first place. It can be a huge daunting task that I just don't have the energy for. What parts do you already know? Where do I have to backtrack to so that you will understand the statement in the first place?

Teaching people or even TRYING to explain where I am at in coding (no I'm not talking about SEQ in my instance), without them having the same base of understanding, would be just plain silly. Not because I'm above them, just because there is SO much that they don't understand. I can give generalizations and really that is about it, Dad just nods his head at that point. :)

All the well wishing and desire to help is very cool. The comments about someone being able to catch something that one of the coders missed, is also a possibility so I don't want to stop the effort.

I'm just trying to give an analogy that might give you the scope of what you are asking.

Kimbler
05-02-2003, 05:59 AM
iluvseq , Alfred

I agree with all you point out and understand the frustration of working on a very difficult and challenging project. Many questions are ask over and over again but that is not unique to this project. What IS unique the constant "harrasing" of folks who happen to ask a question already ask.

I say it again....you run off folks who may help a lot. It sure cooled my jets to put any effort into it but I would not of added any real break through. But it does run off potiential new talent and that is what is sad. Careful reading shows these screamers are not in the inner core of the programming project. Who knows what motavates such behavior.

The bahavior of a few who can't just read a post and think "been ask a dozen times" and move to next post without unloading on them hurt the whole project.

I would like to see a couple core contributors stand up and openly tell these screamers to cool it. A couple public comments asking them to just chill might reduce the bad behavior and encourage a few to get back involved.

With EQ2 coming there is alot of work ahead and fresh minds will be needed. We need to encourage them not run them off.

Lyroschen
05-02-2003, 01:20 PM
http://seq.sourceforge.net/forums/showthread.php?s=&threadid=2893

Amadeus
05-02-2003, 03:03 PM
Not to rain on your idea, but I think people that really understand and like to brainstorm on ideas about disassembling the protocol, are going to use IRC and PM.


Some of you will note my thread at http://seq.sourceforge.net/forums/showthread.php?s=&threadid=3322 . I started this thread after ops in #showeq told me that I should come here to ask questions about structs/decoding/opcodes/etc...

Personally, I find the IRC channel much more hostile to questions than the forum. Usually the people there assume if you're asking questions about ANYTHING, then you're somehow wanting to find an ETA on a working version or some weirdness like that.

I have to say though, that after casey told me to post here, he did respond with a great message.. and I REALLY appreciate that, so this is not a flame at all! Just a short message to tell you guys that #showeq is not where development discussion takes place as far as I've ever seen. Maybe there could be a specific time of the week where devs come online and help us learn or answer questions, etc... Or, maybe there could be another channel that is ONLY dev discussion...I dunno.

NOW, in regards to the packet sniffing for structs/opcodes/etc... Someone has got to explain how the encryption works, or else none of us are going to be able to help on that ..hehehe

Kizzy
05-03-2003, 04:04 AM
I was in #showeq for weeks. When I tried to brainstorm I was ridiculed "looking for a free ride" by people who did nothing but flame people who came in. Even when I posted a new struct from the latest expansion which was a nice step people all of a sudden shut-up and a few PMs came in from those who were serious about doing it. DO NOT expect help in there cause there are alot of critics that offer no help. The devs in there no longer work on the project. I think there are only 2 ways to breach the barrier and enter the real circle of devs (and avoid the clowns who "think" they are part of this project in IRC. I do know some of you are into it heavily there and are weary about every Joe trying to help. But there are alot of people there who should not be, and I will post names next time I go there with a fix.).
First is to actually go a few levels higher then core programming and fix a major borked part and let Ratt or someone know upon putting it into the CVS. This shows you offer more then just a lucky opcode strike or struct fix.
Second, Keep posting those lucky finds and keep at the workings. improve whats there or even go a step further and go into the bug/request tickets and polish a couple of those. Don't ask stupid questions. Stupid = ones which answers lie hidden in the forums or ones that are basic and can be found in a book or off any search.
In the meantime, I do plan on adding a level between "I am a dev" and "what the hell is make?". Its gonna be "I am learning and need to ask amatuer programming questions and brainstorm". I will be posting a server and channel soon for those who are serious about taking the appropriate steps. Sorry for the long post and no offense to anyone, a few bad sheep hiding behind a screen can make a very unpleasant experience.

Btw, if you do not know who I was before I created this new screen name then do not ask.

And flamers are worse then the people who deserve to be flamed. Instead of using 30 seconds to read a thread and see its not important it takes me 10 min to see people bash the living hell out of someone who just didn't know any better. And I notice alot of you who flame don't offer jack either. So stop the flames and be productive. Stop harassing the current devs who have lives and families for a fix also. done venting.

showeqnewb
05-04-2003, 07:04 PM
/CHEER Kizzy

AnotherCoreDump
05-05-2003, 05:21 AM
Nice approach, Kizzy!
Could work out, if someone's really gonna provide answers to all the questions that gonna pop up in the dev learner channel.

Kizzy
05-05-2003, 07:00 AM
well, having questions answered may get a little hard for certain things. Being we will all be entry-level to mid-level starters I think the answers will be from brainstorms and leads. The best thing about it is, you will have people as resources to all work together to get the answer. And those hardcore set into learning this will get op tags. Flamers are not welcome and free rides will be frowned upon. I only say this cause I want serious people there. For those "free ride" people, come and see what the channel message says. If there is no answers there then check teh CVS. It is open source and I promise we will put what we come up with there and in the dev forum. I don't mean to sound harsh when I say "free ride". People use this program religiously and play EQ as a passtime but do have lives. Some can't dedicate to something like this or grasp it at all and thats understood. Remember one thing though, effort goes alot farther then result. If you try to help and come up short or way off base you will not be laughed at but instead will be corrected in a helpful manner. I'm hoping this channel will alleviate some flaming and un-needed threads. As a matter of fact I am going to address something to Ratt and see if he bites on the idea.If he does then it should do exactly what I said.

Btw, I would like to start to get to know some of you hardcore beginners a little to start. ICQ me at 346972789 or AIM/Yahoo sn is KizzyEQ.

AnotherCoreDump
05-05-2003, 07:25 AM
Sorry, but I'll have no time to join IRC channels, I don't really use ICQ though i got a really small ID as I can't use it from work.
So you won't find me in channel.
I prefer message boards, cause they're an asyncronous way of communication - i can hop in, check a problem, answer it and be out when I have time :)
In my spare time which is short enough, I prefer beeing online in game and the folx I play with already started to complain about my reduced online time lately.