PDA

View Full Version : word?



Nils
01-28-2005, 05:01 PM
any word on how the network code is going? is it that different?

Nils

Omiime
01-30-2005, 03:16 AM
doubt it was changed as much as people think it was.

if you take myseq or mq2, which run on machine with eq.

eg. mq2 had 0-4 Memcheck/encryptpads, Memcheck1/encrtypad1 was removed.

how that affects seq or change it so seq works , No clue.

seems sony removed one part, not added or changed

quackrabbit
01-30-2005, 10:12 AM
It's completely different...

But the point everyone is missing is that there are no developers left working on the SEQ project...

I'm tempted to say it ... naw, I won't say it yet.

Dedpoet
01-31-2005, 01:33 PM
Please don't say it. MySEQ makes me feel dirty inside.

But yes, network code isn't the same thing as the memory offsets that MySEQ and MQ2 use. Seq doesn't look at the client's memory at all, only incoming network packets. That's why it's completely passive.

purple
01-31-2005, 02:27 PM
Just be patient. I'm sure folks are working on it, but things take time. Some of the heavy hitters who have done this before have moved on or are busy folks. It might take a bit for this to get cleaned up, but it does look like it is very possible. There was another patch today that had netcode changes and who knows if there's gonna be more, even another big change in 2 weeks when DoN goes live. Be patient. Posting "are we done yet?" isn't gonna help.

Nils
01-31-2005, 02:36 PM
I wasn't posting are we done yet, but I was curious if the changes were as big on the network code as some people expected. I do not sit in the IRC channel alot so have no idea how much changed and since we had no postings about said network code I was curious..

nils

quackrabbit
02-01-2005, 08:03 AM
Just be patient. I'm sure folks are working on it, but things take time. Some of the heavy hitters who have done this before have moved on or are busy folks.No, really, I'm serious. NO ONE is working on SEQ development.

If there is actually someone working on it, they are doing it privately and they are not participating here or in #showeq... Or worse, they are the ones selling ShowEQ on Player Auctions for US $200.00...

I don't have c++ development skills or *I* would be working on it...

Why do I keep saying this? Because we need someone (preferably more than one, but one will do for now) who can step up to the plate and take over development.

quackrabbit
02-01-2005, 08:15 AM
I was curious if the changes were as big on the network code as some people expected.Let me see if I can explain this better. Imagine that you live 30 miles from where you work. Every day you drive to work right? Now imagine that you move from NY to LA and your new home is again 30 miles away from your new place of employment. You still drive to work every day right? But it's not the same drive, now is it. We're doing the same thing, we're just doing it in a different setting.

So while yes, it's doing the same thing, moving the same kinds data from server <-> client, it's doing it in a new way. There were also significant structure changes. This is going to require that someone totally rewrites the network layer of SEQ.

Basically what SOE has done has taken the LS/CHAT/EQ2 network protocol and implemented it for EQ1. As of today they've not implemented compression or encryption (so everything's being sent as uncompressed plain text, /cheer for efficency). It is anticipated, for the momenty by me, that they will eventually turn on one or both. If they implement RC4 encryption like they are using in EQ2 it will require that we go back to using memory key sniffers.

Does this help explain what's going on any better?

purple
02-01-2005, 08:21 AM
No, really. I'm sure someone is working on it, because I'm working on it. But it's slow going because I've never reversed a network protocol before and unfortunately, I hadn't gotten into the previous seq stream before all this happened other than to fix opcodes and structs.

And I'm participating both here and in #showeq, for whatever that is worth. The sum total of posts here are "is it fixed yet" and I'm not inanely chattering in channel because I'm working on understanding things.

Ok, or playing WoW. Sometimes I'm just playing WoW!

purple
02-01-2005, 08:27 AM
There were also significant structure changes.

Do you have any packet dump proof of that? I've only seen small changes in structs in the example packets I've tryed to composite, akin to what a normal patch would do. Like charProfileStruct is up to 18418 from 18288. The main differences I've seen are in the way UDP packets are used to form the protocol and fragmentation. I haven't gotten to the point where I have messed with opcodes yet though, but they look wholly changed from before, or there is some way to transform them or something. But like I'm using 0xea59 to identify OP_PlayerProfile right now.

ksmith
02-01-2005, 09:49 AM
It is my understanding that the majority of the changes were to the low-level transport and not the actual encapsulated everquest commands. If you manage to catch me on irc, I should be able to give you some pointers if bits of the showeq network code are giving you problems.

ieatacid
02-01-2005, 03:48 PM
I've pulled 46 of the new opcodes from eqgame.exe and keep adding little by little as I identify new ones in-game. So if anyone needs them I could post here or PM them.

purple
02-01-2005, 03:49 PM
Post here is good.

ieatacid
02-01-2005, 05:45 PM
zone opcodes

<opcode id="0165" name="OP_DeletePetition" updated="01/27/05">
<comment>Player /deletepetition</comment>
</opcode>
<opcode id="01a9" name="OP_CombatAbility" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="01ed" name="OP_Dye" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="03e0" name="OP_Begging" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="0860" name="OP_WhoAllRequest" updated="01/27/05">
<comment>old WhoAllReqCode</comment>
</opcode>
<opcode id="0972" name="OP_Petition" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="09c7" name="OP_LFGCommand" updated="01/27/05">
<comment>old LFGReqCode</comment>
</opcode>
<opcode id="11b4" name="OP_Bug" updated="01/27/05">
<comment>/bug</comment>
</opcode>
<opcode id="1586" name="OP_TraderShop" updated="01/27/05">
<comment>old OpenTraderCode right-click on a trader in bazaar</comment>
</opcode>
<opcode id="1838" name="OP_Camp" updated="01/27/05">
<comment>old cStartCampingCode</comment>
</opcode>
<opcode id="1cc6" name="OP_Consider" updated="01/27/05">
<comment>old ConsiderCode</comment>
<payload dir="both" typename="considerStruct" sizechecktype="match"/>
</opcode>
<opcode id="2a9c" name="OP_DisarmTraps" updated="01/27/05">
<comment>Clicked disarm traps</comment>
</opcode>
<opcode id="2d5f" name="OP_HPUpdate" implicitlen="6" updated="01/27/05">
<comment>old NpcHpUpdateCode Update HP % of a PC or NPC</comment>
<payload dir="both" typename="hpNpcUpdateStruct" sizechecktype="match"/>
</opcode>
<opcode id="2e7e" name="OP_SetRunMode" updated="01/27/05">
<comment>old cRunToggleCode</comment>
</opcode>
<opcode id="31d4" name="OP_GetGuildMOTD" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="3479" name="OP_Hide" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="34bc" name="OP_SaveOnZoneReq" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="34de" name="OP_ShopEnd" updated="01/27/05">
<comment>old CloseVendorCode</comment>
<payload dir="both" typename="unknown" sizechecktype="none"/>
</opcode>
<opcode id="38df name="OP_SenseHeading" updated="01/27/05">
<comment>old cSenseHeadingCode</comment>
</opcode>
<opcode id="3adf" name="OP_CommonMessage" updated="01/27/05">
<comment>old ChannelMessageCode</comment>
<payload dir="both" typename="channelMessageStruct" sizechecktype="none"/>
</opcode>
<opcode id="3eec" name="OP_ShopRequest" updated="01/27/05">
<comment>old OpenVendorCode</comment>
<payload dir="both" typename="unknown" sizechecktype="none"/>
</opcode>
<opcode id="4033" name="OP_MoveItem" updated="01/27/05">
<comment>Client moving an item from one slot to another</comment>
</opcode>
<opcode id="4208" name="OP_FaceChange" updated="01/27/05">
<comment>/face</comment>
</opcode>
<opcode id="470c" name="OP_ClientReady" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="4963" name="OP_MemorizeSpell" updated="01/27/05">
<comment>old MemSpellCode</comment>
<payload dir="both" typename="memSpellStruct" sizechecktype="match"/>
</opcode>
<opcode id="4c5a" name="OP_ItemLinkClick" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="4fc1" name="OP_BazaarSearch" updated="01/27/05">
<payload dir="client" typename="bazaarSearchQueryStruct" sizechecktype="none"/>
<payload dir="server" typename="bazaarSearchResponseStruct" sizechecktype="modulus"/>
<payload dir="server" typename="utf8" sizechecktype="none"/>
<comment>Bazaar search tool</comment>
</opcode>
<opcode id="5698" name="OP_TargetMouse" updated="01/27/05">
<comment>Targeting a person - old ClientTargetCode</comment>
<payload dir="both" typename="clientTargetStruct" sizechecktype="match"/>
</opcode>
<opcode id="57a2" name="OP_Bazaar" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="5d87" name="OP_RaidInvite" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="5f20" name="OP_Illusion" updated="01/27/05">
<comment>old IllusionCode</comment>
<payload dir="both" typename="uint8_t" sizechecktype="none"/>
</opcode>
<opcode id="662d" name="OP_InspectAnswer" updated="01/27/05">
<comment>old InspectDataCode</comment>
<payload dir="server" typename="inspectDataStruct" sizechecktype="match"/>
</opcode>
<opcode id="66ee" name="OP_GMKill" updated="01/27/05">
<comment>GM /kill - Insta kill mob/pc</comment>
</opcode>
<opcode id="6996" name="OP_GuildPublicNote" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="6f60" name="OP_ConsiderCorpse" updated="01/27/05">
<comment>old cConCorpseCode</comment>
</opcode>
<opcode id="71f2" name="OP_ConfirmDelete" updated="01/27/05">
<comment>Client sends this to server to confirm op_deletespawn</comment>
</opcode>
<opcode id="7357" name="OP_RandomReply" updated="01/27/05">
<comment>old RandomCode</comment>
<payload dir="server" typename="randomStruct" sizechecktype="match"/>
</opcode>
<opcode id="744f" name="OP_ClientUpdate" implicitlen="18" updated="01/27/05">
<comment>old PlayerPosCode</comment>
<payload dir="server" typename="playerSpawnPosStruct" sizechecktype="match"/>
<payload dir="both" typename="playerSelfPosStruct" sizechecktype="match"/>
</opcode>
<opcode id="7455" name="OP_Report" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="74ab" name="OP_BeginCast" implicitlen="8" updated="01/27/05">
<comment>old BeginCastCode</comment>
<payload dir="both" typename="beginCastStruct" sizechecktype="match"/>
</opcode>
<opcode id="76d0" name="OP_Jump" updated="01/27/05">
<comment>old cJumpCode?</comment>
</opcode>
<opcode id="7847" name="OP_FindResponse" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="790e" name="OP_GMKick" updated="01/27/05">
<comment>GM /kick - Boot player</comment>
</opcode>
<opcode id="7bef" name="OP_GMLastName" updated="01/27/05">
<comment>GM /lastname - Change user lastname</comment>
</opcode>
<opcode id="7c81" name="OP_TradeSkillCombine" updated="01/27/05">
<comment></comment>
</opcode>
<opcode id="7e46" name="OP_LFGResponse" updated="01/27/05">
<comment></comment>
</opcode>

world opcodes

<opcode id="1054" name="OP_World_Client_CRC1" updated="01/27/05">
<comment>Contains a snippet of spell data</comment>
</opcode>
<opcode id="6051" name="OP_AckPacket" updated="01/27/05">
<comment>Appears to be generic ack at the presentation level</comment>
</opcode>

purple
02-01-2005, 06:12 PM
I've been operating under the assumption that 0x2d5f is OP_HPUpdate.

Thanks for posting that.

ieatacid
02-01-2005, 09:31 PM
Ah, that makes sense. So the one is not zone ID.

Here's another:

06 32 7c 00 06 32

That spawn ID, 124, is a 12,806hp (06 32) tank.

Thanks for clearing that up. So one is current and one is max HPs.

Cryonic
02-01-2005, 10:36 PM
last few posts should have been in a new thread, heheh

ieatacid
02-01-2005, 11:18 PM
Done. I don't know what I was thinking :)