PDA

View Full Version : Veil of Alaris


Vampire1212
12-13-2011, 09:49 AM
Has anyone taken a look at this client or started any type of work on it? I just purchased it. Than again, House of Thule isn't even fully working so I'd doubt EQEmu has skipped it to do this one.

Oh well doesn't hurt to ask.

lerxst2112
12-13-2011, 10:48 AM
The Underfoot client is well supported, and it is all that is currently available on Steam, even if you purchase House of Thule.

I would guess that unless there is a stable source for a new client that most would avoid chasing the moving target of the live client.

Vampire1212
12-13-2011, 11:01 AM
Ahh, I thought as much. The new client truly doesn't add anything new either, except player housing and that was with HoT.

thanks for a reply(:

trevius
12-13-2011, 11:22 AM
Yeah, until it is available on Steam or some other similar source that won't be regularly patched, we won't do much work on it. I haven't seen it on Steam yet, but they did just finally update some EQ2 downloads/purchases there in the past couple of days, so maybe EQ VoA will be updated next.

Noport
12-20-2011, 11:50 PM
Yes i have updated the code on my offline private server
A list of files i have added or made changes too.

(common)
eq_constants.h
eq_packet_structs.h
EQEmuConfig.h

(patches)
patches.cpp
VoA.cpp
VoA.h
VoA_itemfields.h
VoA_ops.h
VoA_structs.h

Added Back-in
Live.cpp
Live.h
Live_itemfields.h
Live._ops.h
Live._structs.h

(zone)
bot.h
client.h
client_packet.cpp

(World)
client.cpp
client.h
client_packet.cpp

Added back in all missing clients Anniversary,HoT,VoA,and Live

trevius
12-21-2011, 03:32 AM
NoPort,

Since VoA is not on Steam yet, we still aren't doing any dev work on it yet.

If you have made progress toward getting the current Live VoA client working or any other good fixes/changes, feel free to make a diff of them and post them in the Code Submissions section of the forums. We can then review them to see if the changes make sense to add to the SVN (but that does not guarantee they will be added).

Giving a list of file names you changed or added is not very useful for client development. Also, I see little reason to add in the Anniversary or HoT clients as neither of those clients are likely to ever be supported on EQEmu. Without good collects from the freshly installed Anniversary client, it would be tough to get it working. I could probably get the basics working, but it would be a ton of work for an already way outdated client. We can probably get plenty of collects for HoT, but we do not have a standard client to use for it as it was never added to Steam. They will most likely skip straight to the VoA client (if they even update the download at all again), which will make the HoT client a non-option. The Live client isn't really needed either as it is too much work to try to chase Live and it will never be nearly as fully supported as any of our standard clients such as Titanium, SoF, SoD, and UF.

Noport
01-06-2012, 07:02 PM
A full VoA Everquest client is 8.28GB not 8.08GB
I use Station and LaunchPad
Not using Steam Client VoA not supported yet.

# Live(VoA Built Dec 15 2011)
OP_SendLoginInfo=0x1a7b # V 12/15/2011*
OP_ApproveWorld=0x655c # V 12/15/2011*
OP_LogServer=0x1497 # V 12/15/2011*
OP_SendCharInfo=0x49b6 # V 12/15/2011*
OP_ExpansionInfo=0x631a # V 12/15/2011*
OP_GuildsList=0x5b0b # V 12/15/2011*
OP_EnterWorld=0x710e # V 12/15/2011*
OP_PostEnterWorld=0x7930 # V 12/15/2011*
OP_Check 1x.=0xeb279c0c # V 12/15/2011*
OP_Check 1sa.=0x4de1b0f1 # V 12/15/2011*
OP_Check 1sa.=0x1fc34415 # V 12/15/2011*
OP_WorldComplete=0x7d79 # V 12/15/2011*
OP_WorldClientReady=0x1a84 # V 12/15/2011*

(VoA Built Dec 15 2011)
0x1a7b (6779).OP_SendLoginInfo
0x5b0b (23307).OP_GuildsList
0x1497 (5271).OP_LogServer
server name xxxxxxxxxxxxxxxx
0x7d79 (32121).OP_WorldComplete
0x655c (25948).OP_ApproveWorld
0x710e (28942).OP_EnterWorld
0x631a (25370).OP_ExpansionInfo
0x49b6 (18870).OP_SendCharInfo
Check 1x. 0xeb279c0c
Check 1sa. 0x4de1b0f1
Check 1sa. 0x1fc34415
0x7930 (31024).OP_PostEnterWorld
WorldAuthenticate. Access granted.

dwarfiron
01-21-2012, 07:20 PM
Yeah, until it is available on Steam or some other similar source that won't be regularly patched, we won't do much work on it. I haven't seen it on Steam yet, but they did just finally update some EQ2 downloads/purchases there in the past couple of days, so maybe EQ VoA will be updated next.

Sources:
http://everquest.com/veil-of-alaris/
http://www.amazon.com/EverQuest-Veil-of-Alaris-Download/dp/B0065Q71FA
http://www.direct2drive.co.uk/11727/product/Buy-EverQuest-Veil-of-Alaris-Download

Now its possible to develop VoA yaay :D

What about HoT i heard its going to be skipped for a while ?

provocating
01-21-2012, 08:58 PM
This is great news really. From what I have seen of the client, it is more stable than UF for me. I get weird graphics and slowdowns if I alt-enter or alt-tab too much.

VoA has not done this to me on Live. Not sure what else the client offers, seems like I saw more options under graphics.

lerxst2112
01-21-2012, 09:30 PM
Well, before you jump to conclusions, someone would need to purchase and download those to evaluate what you actually get with the download. It may be horribly incomplete, or it might even be Underfoot like all the other downloads.

There is no source for a HoT client. If you purchase HoT on Steam you get the Underfoot client as your download.

provocating
01-21-2012, 09:58 PM
Let that guy up there ^^ try it first :)

Noport
01-24-2012, 07:05 AM
First opcode matched 0x4d5c and length matched 464
Identified stream 192.168.0.12 portnumber with signature VoA_world
Checking inbound connection 192.168.0.12 against BannedIPs table
Connection 192.168.0.12 PASSED banned IPs check. Processing connection.
Loginname: Logged in. Mode=(CharSel)
Loginname: MiniLogin Account #1
I changed OP_WorldClientReady=0x3f24
There is light at the end of the tunnel 80)

Paith
01-25-2012, 07:42 AM
well They DO have it on amazon for digital download....

Paith
01-25-2012, 07:51 AM
Disreguard that last post.... missed the one earlier. I am willing to purchase it and download it if people want to start working with it.....

trevius
01-25-2012, 08:09 AM
Well, the last time I heard of someone buying EQ from Amazon, it was only a 600MB (or so) download, which didn't include nearly as much of the client as what we would consider a complete client.

For the Amazon download to really be checked if it is worth working on or not, it would have to be attained by someone who knows what to look for. It would have to be checked for build date of the client, which is pretty easy. It would also need to be checked for any missing files and how critical the missing files are. If there are too many missing files, then it probably wouldn't even be worthwhile for development.

Also, since we have been using Steam successfully for years now, we have a pretty good idea of how they do things now. If we change to another source, it will be hard to know what to expect. If they change the download too often (more than once per year), it would probably be a wasted effort to try to make the move to them.

I am still hoping that Steam updates their files at some point. Since VoA isn't even available for purchase on Steam yet, it is hard to say what will happen. They may add VoA at some point and also update the files at the same time. They may also do something like they did with UF where they made UF available for purchase, but didn't update the download until about 7 months after it was released. For HoT, they never even bothered updating the download, so who knows?

Noport
01-25-2012, 12:01 PM
No more files missing then Sod,Underfoot, and Hot. A downoladed default Client as is 8.08GB, A complete client 8.29 GB. with extracted zon files 9.25GB. I'm in testing stage I'll keep you updated note i only use Live opcodes. The server side of the client keeps kicking out opcodes below if anyone knows where they go please tell me thanks. Other then that i'll plug and play them. Seq is broke with newer client.

0x7705
0x4374
0x4cad

0x2ef8
0x16be
0x15a7
0x3637
0x51ae

Caryatis
01-25-2012, 01:33 PM
I think the more important point here is that Noport is chasing a moving target. Since he is using launchpad to get the VoA files, there will be no way for that specific build to have any sort of penetration without setting up a specific torrent(which doesnt go over well around here).

The other option is to have people always use the most updated client(via launchpad) but then everytime SoE patches something there is huge potential for that to break the client. Noboby would want to worry about that and there is just not enough developers to stay on top of the live client.

Considering its highly likely that all the VoA digital downloads are older than the current client, I would be very surprised if the work Noport does on the live client is 100% compatible with the digital versions.

Not to mention that a $40 download will never catch on with this community, even when the latest expansion was on sale for $2 most people didnt bother.

Bottom line, I wouldn't get my hopes up as there is way more involved in this than the opcodes.

Noport
01-25-2012, 07:52 PM
I'm in no way shape or forum sharing my files. Launchpad and Station both of them make a good client it takes both clients. I have always used live accounts no problem on my part. what 40.00 dollars you didn't get in on the beta testing i'm already ahead of the game. Some people will recall i said, "don't say i didn't get you nothing for xmas" that was your chance to get a free Voa client on live now 80). If i recall right i joined back in 2002 another account.

Noport
01-26-2012, 04:00 AM
ok so far i got 4 out of 4 them found if you can help me out thank you.

OP_MOTD=0x7705
OP_SetChatServer=0x4374
OP_SetChatServer2=0x4cad

0x2ef8
0x16be
0x15a7
OP_TributePointUpdate=0x3637
0x51ae

Noport
02-14-2012, 10:53 PM
VoA Build Jan 2012 Opcode Special Thanks to Derision
for the great program EQExtracter. Opcode for VoA


OP_SendLoginInfo=0x4d5c
Op_code=0x1a7b
OP_GuildsList=0x5b0b
Op_code=0x2c38
Op_code=0x675c
Op_code=0x16f5
Op_code=0x3594
OP_ZoneEntry=0x5821
Op_code=0x6a7e
Op_code=0x72f3
OP_PlayerProfile=0x6afd
Op_code=0x49d5
OP_TaskDescription=0x2e4f
OP_TaskActivity=0x512b
OP_CompletedTasks=0x6d1f
OP_NewZone=0x4118
OP_Conside=0x3e50
OP_DeleteSpawn=0x0cae
Op_code=0x61df
Op_code=0x5125
Op_code=0x616c
OP_WearChange=0x1a58
OP_CommonMessage=0x2e79
Op_code=0x3845
Op_code=0x16be
Op_code=0x6ade
Op_code=0xad76
Op_code=0x2536
OP_CustomTitles=0x0d8a
Op_code=0x3f55
Op_code=0x4f35
Op_code=0x2d95
Op_code=0x4df0
Op_code=0x66bf
Op_code=0x74e4
OP_Track=0x1ac1
Op_code=0x3541
Op_code=0x0c24
Op_code=0x3969
Op_code=0x684c
Op_code=0x21c7
Op_code=0x370f
Op_code=0x162d
OP_SpawnRename=0x1055
Op_code=0x7404
OP_Death=0x799c
OP_GroupFollow=0x3015
Op_code=0x7fef
Op_code=0x460e
OP_Illusion=0x4843
OP_Postworldcomplete=0x7e7d
OP_Marketplace=0x758c
Op_code=0x0683
Op_code=0x39c5
OP_TargetMouse=0x3edc
Op_code=0x2927
Op_code=0x3ba3
Op_code=0x37db
Op_code=0x2b71
Op_code=0xa682
Op_code=0x698a
OP_GroupDisband=0x0f14
Op_code=0x7e2c
OP_SpawnDoor=0x0e24
OP_GroundSpawn=0x5c85
Op_code=0x6a86
OP_AAExpUpdate=0x1318
Op_code=0x55dd
Op_code=0xa539
OP_Claims=0x4e99
Op_code=0x2204
OP_ShroudProgression=0x2071
Op_code=0x221a
OP_PollQuestions=0x2864
Op_code=0x30fa
OP_PollResponses=0x0f6d
Op_code=0x54fe
Op_code=0x3256
Op_code=0x4656
OP_RemoveSpawn=0x58c5
OP_NpcMoveUpdate=0x2339
OP_ClientUpdate=0x7062
Op_code=0x6aea
Op_code=0x2ac3
Op_code=0x0c08
OP_GuildMemberUpdate=0x589f
OP_GuildMemberList=0x51bc
Op_code=0x0a1d
OP_ExpandedGuildInfo=0x4274
Op_code=0x2055
Op_code=0x1cf4
OP_Unknown1=0x2369
OP_Unknown2=0x7c94
OP_Unknown3=0x5851
OP_Action=0x7f9e
Op_code=0xa562
Op_code=0x4740
OP_MovementHistory=0x45d7
Op_code=0x54e8
OP_LootComplete=0x528f
Op_code=0x3582
Op_code=0x2bad
Op_code=0x6c26
Op_code=0x3a64
Op_code=0x266e
Op_code=0x3788
Op_code=0x4d56
Op_code=0x7e31
Op_code=0x5790
OP_ClickObject=0x33e5
Op_code=0x101e
Op_code=0x0f4f
Op_code=0x3c27
Op_code=0x2c6d

Noport
02-16-2012, 12:51 AM
Just an update information : Today i got 0/18 Charters on Hot & Voa client solved another problem. I'll try my best to keep you all updated.

Noport
02-16-2012, 03:05 AM
Characters 0/18

provocating
02-16-2012, 10:55 AM
You got to the character creation screen I gather.

Why are you expending all of this energy on getting this client working ? I would think your talent could be used in other aspects to the community that would be more beneficial.

Noport
02-16-2012, 12:13 PM
I don't see the othere Dev's taken the stage and it's a newer client i got my answers from the horse mouth Mr. Ed , And thanks again for another mule kick just what i needed that drives me more and more to get it working . I take all your negative energy smart comments and put it to good use. How is the community going to get any better if all the Dev's hands are tide up on other things i'm not going to just give up on this client. what do you think is going to happen when eq goes free with hot? It's not supported here when was the last time you connected your hot client to any of the servers sorry does not work?

Phantons
02-16-2012, 01:59 PM
You keep doubling down on stupid lol. You definitely use your ignorance of the English language to your benefit though.

The day you get the VoA client working and then SoE patches is going to be a glorious day as you realize what we have been trying to tell you for months.

The day he gets the VoA client working and SoE patches it, you simply don't update then. (hence the "working VoA client" you just had to point at in that sentence..) And besides, he is doing way more than I have seen anyone else doing. If SoE patches it, and he decides to patch up and start over again, it's still a step forward. By the way, I would think these little "pointless" steps, are where emulators for games began.

Caryatis
02-16-2012, 02:24 PM
You aren't very bright as well apparently.

The day he gets the VoA client working and SoE patches it, you simply don't update then.

And how does anybody else get that working client? You can't use launchpad because that new client isn't supported and you can't link to a torrent or fixed download of client files on here so there is no way anybody would be able to get that client.

By the way, I would think these little "pointless" steps, are where emulators for games began.

You would be wrong.

Derision
02-16-2012, 02:34 PM
I don't think working on getting compatible with the current Live client is necessarily pointless. Twice I updated the HoT patch to the point where you could log in/zone in with spawns and inventory, purely to provide a more current starting point on the off-chance that a HoT client was released on Steam, but as things turned out, it never was. (So I suppose in that sense, it was pointless :) ).

What stopped me going any further was the fact that the inventory slot numbering was all changed to allow for variable size bags and I didn't feel like putting in the time to write all the encodes/decodes to get item handling fully implemented. (I did enough so items would show in your inventory, but moving items around, clickable items etc was not implemented).

Instead of a single number indicating the slot, e.g. 1 - 30 for personal inventory, 400 - 404 for tribute, 2000+ for bank slots etc, the new system introduced in HoT uses a 3 part numbering system, the first number indicating for example, whether it is personal inventory, tribute, bank slot, etc, the second number being the slot within that category, and the third number being the sub-slot (i.e. if the item was inside a bag).

So yeah, inventory manipulation would require the most work to get a working VoA client.

Noport
02-16-2012, 04:03 PM
The day you get the VoA client working and then SoE patches is going to be a glorious day as you realize what we have been trying to tell you for months.

I said it once and i'll tell you all again i only use live clients i backup every client before the next patch so what is stoping me from going back to the older live client build nothing. If you all realized how simple it is you would be doing the same. Thanks again Derision for the great tools do you have any notes on the way its posting the opcode in a dumpfile? i'm learning real quick how to read it i can see a patern in the opcode layout i'm maken personal notes marking opcode with a name etc for the layout sheet so i can just look at the location of the opcode and tell you where it belongs.

Noport
02-16-2012, 04:35 PM
And how does anybody else get that working client? You can't use launchpad because that new client isn't supported so there is no way anybody would be able to get that client.

Download Live Client use the lauchpad get the Hot client for free in march. For Voa sorry you would have to buy it , i'm in no way shape or form sharing my files they come from the same place. How keeps feeding you the sad stories you can't use launchpad tell them to bite the BIG ONE Jr. i been using live clients since the day i started on here back in 2005 so your trying to tell me this don't work lol the yokes on you. Back in the day copy & paste the folder in another location & eqgame.exe shortcut & patchme & edit eqhost.txt & login with newer client. server wize Hot & Voa no it's not but what is stoping you from programing in Vs? no programing skills i understand but you sure known how to use that michael jackson glove. 80) The live client i use on StormHaven is Build Jan 2010 Underfoot because his opcode will not allow nothing newer then that make sure you backup your clients before the next patch you should have two copies of the same program one for eqemu other for live. I can change the opcode in Voa to work with the download in march at a drop of a hat.

Caryatis
02-16-2012, 06:28 PM
Got to say, its pretty fun arguing with you Noport since you understand nothing, its fucking hilarious to see where you take things lol.

I said it once and i'll tell you all again i only use live clients i backup every client before the next patch so what is stoping me from going back to the older live client build nothing

Good for you, the rest of us like to think of other people. What good does it do the EQEmu community, since nobody else is stupid enough to waste all that time saving every build of the client for 7 years?

Either way, I've probably ragged on you enough and given that you translate english worse than a free online translator, there is 0 chance of you understanding anything. Given your attitude, I doubt you have any worries about ever contributing more to this community than I did so keep telling yourself you are awesome at VS because nobody else is saying that lol.

BooPlumb
02-16-2012, 06:47 PM
Got to say, its pretty fun arguing with you Noport since you understand nothing, its fucking hilarious to see where you take things lol.



Good for you, the rest of us like to think of other people. What good does it do the EQEmu community, since nobody else is stupid enough to waste all that time saving every build of the client for 7 years?

Either way, I've probably ragged on you enough and given that you translate english worse than a free online translator, there is 0 chance of you understanding anything. Given your attitude, I doubt you have any worries about ever contributing more to this community than I did so keep telling yourself you are awesome at VS because nobody else is saying that lol.

What I find really fucking hilarious is you to come into a thread about VoA which noport is doing something with whatever it is and constantly ride his ass everywhere he goes like some pimple he can't get rid of. You sir are the definition of a troll and should shut the fuck up or get your thumb out of your ass and help contribute some useful information.

"But blah blah this blah blah that, everyone is wrong but me"

Whatever you may say, he seems passionate about getting whatever he is doing to work. So sit back, shut the fuck up and just watch and see where it goes, or help out. Maybe it won't go anywhere, but in all actuality it COULD go somewhere. So what, he may be wasting his time on this over something else. Luckily that's not for you to decide.

KLS
02-16-2012, 07:00 PM
Get back on subject please.

I realize noport has some weird fascination with clients that become outdated quickly. I also realize he doesn't really speak english, but when I have to come in threads to where people outright call him stupid though it's not okay.

Noport
02-17-2012, 05:49 AM
trevius I don't known how to tell you where correct i had my opcode in the wrong place i didn't want to listen to you because i thought i was right. I wasn't now i have to make new opcode notes 0/8 Chararters
I'm very sorry and i'll take it like a man and suck it up i apologize for getting mad at you. This was a great learning experince for me lesson learned from my mistake.

trevius
02-17-2012, 09:19 AM
My Post in English after being translated to Chinese and then back to English (using Google Translator):

noport,

I know your intentions are good, I can tell you always try to help people. I have no problem with your attitude, there is no reason to apologize, I did.

The only problem I am with you, I have a hard time understanding what you want to say almost every time you do post. In addition, I do not know that you understand that you are not completely answer. I know that English is not your primary language, I believe it is very difficult to express in their own language correctly, you are still learning. It is particularly complex, because you want to convey the information is very technical, I think the translation is not clear, because it may give you seem to. To all English-speaking people (not just me), it is difficult to understand what you posted about.

I hope this post does not offend you, because this is not the intention. I just tried to explain that people have a difficult time, you're talking about.

A recent example is that in this thread:
http://www.eqemulator.org/forums/showthread.php?p=207253#post207253

Where you set up an operation code to solve the script / source code is not related to the machine code was to try. You did not even say which client operation code should be tried. I do not need a direct response to this case one of your posts. I just give one thing, I makes no sense to most recent example, perhaps it's significance. Almost all the jobs you do is very difficult for me to understand.

Because it is, I still do not know you have been to do as the "Voice of America client compatibility, I have seen that your information is not consistent, as far as possible I can understand, for example, you say you have my server play on the Voice of America client, then a few posts above, you say you have the UF client eqgame.exe If this is the case, then you are actually playing We believe that the UF client, regardless of all of your other files Voice of America or not.

I have seen the only thing you the refernce update source code is the opcode itself. Although the opcode is important, they are actually an easy thing to do we do now, especially if we have the opportunity to get that we are for customers EQLive collection efforts. May be the hardest part of a new client work is the structure of the packet, I can not think of any I've seen you refer to their time. In order to allow you to use the Voice of America client to log on to EQEmu complete, you will certainly need to adjust multiple data packet structure, encoding / decoding. Collected again from EQLive to make this process easier than trying to get an old client work, we do not have access to these packets to identify the structure (for example, when I started the special forces of the client placed in the first place).

I'm sure I could probably get the Voice of America client to log on to perhaps an hour or in the character selection screen. As far as I can tell you, this is how far you have used from the Voice of America eqgame.exe can get. The most difficult part is to get all the way in the game, but the use of ridicule hot work has been completed, it may not be too hard, working too hard. After that, it will take a very long time to test each system and see what is working and what is not, and then fix everything opcode and packet structure, not the right to work. This is why I do not want to start Live / Voice of America customers until we have things will not change the main reason. Once the great work of the customers, because in hour t, on-site repair and if we want people to be able to use a fully patched client, we will start updating again.

Do not make me wrong, although I think this is a great attempt, a new customer for EQEmu. I was the beginning of SOF placed in the first EQEmu past titanium. If not, we can almost certainly still be able to use the titanium today. I do not know anything about the operation code or packet structure, my first time can be, but I learned a lot, Denisov, superoxide dismutase (SOD), UF is now quite a lot of other developers such as Kowloon south help laughing at the (main). I live peristent, and kept working until I have real results, other developers can see the upgrade EQEmu past the actual potential of the titanium. This is basically how do I become a part of the development team in the first place.

Therefore, for any progress can be made to new customers for EQEmu. I just do not want to "chase" them to do so, this will become a full-time work, to maintain EQEmu latest frequent changes. You might think that DEVS is too lazy or busy work in new customers, but is not the case. Yes, we are busy and may be lazy, but a new customer came along, there is a reliable source legally get it, it will not be repaired like Live monthly, and then we will begin to update it EQEmu (or at least I know).

I definitely do not want anyone in any way work in EQEmu, detur. If you can submit the changes, you can get the Voice of America is working perfectly, then I believe we can add it to the source. If you are not willing to share your changes that you, as well. However, if you do not intend to share your changes, then I do not know why you would bother them to publish or find help our development staff and community to make it work here.

Again, I mean any offense without this position. I just want to you and society, why EQEmu on DEVS work is not yet on the Voice of America customer side must be clear. However, I almost want to start working, so I can compare my results so far have been provided. I also hope it is clear, it is difficult to understand your position, even though they may make perfect sense to you.


My original Post in Chinese after being translated from English (using Google Translator):
noport,

我知道你的意图是好的,我可以告诉你总是试图帮助人们。我与你的态度有没有问题,没有理由你道 歉,我什么。

我与你的唯一的问题是,我有一个很难理解它是什么你想说的几乎每一次你做什么职位。另外,我不知道你明白你 是不是完全的答复。我知道英语不是你的主要语言,我相信这是很难正确表达自己的语言,你还在学习。它特别复 杂,因为你想传达的信息是非常技术性的,我觉得翻译不清晰的信息,因为它可能给你似乎。向所有讲英语的人( 不只是我),这是很难理解你所张贴有关。

我希望这个职位没有得罪你,因为这是不是我们的原意。我只是试图解释说,人有困难的时间后,你 在说什么。

最近的一个例子是,你在这个线程后:
http://www.eqemulator.org/forums/showthread.php?p=207253#post207253

在那里,你建议设置一个操作码来解决脚本/源代码的问题是不相关的机器码在有人尝试。你还甚至没有说哪个客户端,操作码是应该受到审判。我不需要直接 响应这个例子您的文章之一。我只是给一个东西,我是没有意义的,最近的例子时,也许它的意义。几乎所有你做 的职位是我很难了解。

因为它是,我仍然不知道你一直在为“美国之音客户端兼容性做的事情。我已经看到你的信息是不是一致的,尽量 我可以理解。例如,你说你有我的服务器上播放美国之音客户端,那么上面这几个职位,你说你提出的用友客户端 eqgame.exe。如果是这样的话,那么你实际上是玩我们认为用友客户端,无论你的所有其他文件美国之 音或不。

我曾经见过你refernce更新源代码的唯一的事情是操作码本身。虽然操作码是重要的,他们实际上是一个 容易的事我们现在要做的,尤其是如果我们有机会得到我们正在努力为客户EQLive收集。可能得到一个新的 客户端工作中最难的部分是数据包的结构,我想不出任何我见过你引用它们的时间。为了让您能够使用美国之音客 户端登录到EQEmu完全,你肯定会需要调整多个数据包结构,编码/解码。再次收集,从EQLive使这个过程更容易比试图让一个旧的客户端工作的地方,我们并没有对这些数据 包的访问,找出结构(例如,当我开始对特种部队的客户端工作摆在首位) 。

我敢肯定,我大概可以得到美国之音客户端登录到也许一个小时或工作中的字符选择屏幕。至于我可以告诉大家, 这是多远,你已经使用从美国之音eqgame.exe,而能够得到。最困难的部分是能够得到所有的方式在游 戏中,但使用的嘲笑热已经完成的工作,它可能不会过于辛苦,工作压力太大。之后,它会花费很长的时间来测试 每一个系统,并看到什么是工作的,哪些不是,然后修复操作码和数据包结构的每一件事,不工作的权利。这是我 为什么不想要启动的Live /美国之音客户的工作,直到我们有东西是不会改变的主要原因。因为一旦把伟大的工作得到客户,因为我们在小时 吨,现场将修补和如果我们希望人们能够使用一个完全补丁的客户,我们便开始更新一遍。

不要让我错了,虽然我认为这是伟大的尝试,有新客户为EQEmu。我是一开始SOF工作摆在首位获得EQE mu过去钛。如果不,我们几乎可以肯定仍然可以使用钛今天。我不知道任何有关操作码或包结构,当我第一次开 始就可以了,但我学到了很多东西,索夫,超氧化物歧化酶(SOD),用友现在相当多的与其他开发商如九龙南 的帮助下,嘲笑(主要)。我住peristent,并不停地工作,直到我有真正的结果,其他开发者可以看到 升级EQEmu过去钛的实际潜力。这基本上是我如何成为摆在首位的开发团队的一部分。

因此,我对任何可以向新客户为EQEmu方面所取得的进展。我只是不希望“追”,他们这样做,这将成为一个 全职工作,保持EQEmu最新的频繁变动。你可能会认为DEVS是太懒惰或忙碌的工作在新的客户,但情况并 非如此。是的,我们都很忙,可能懒惰,但如果一个新的客户来到沿,有可靠的来源合法得到它,它不会像Liv e每月进行修补,然后我们将开始更新它EQEmu (或至少我知道)。

我绝对不希望任何人以任何方式在EQEmu工作detur。如果你能提交的变化,可以得到美国之音工作完美 ,那么我相信我们可以得到它添加到源。如果你是不是愿意分享你的变化,那是你的,以及。但是,如果你不打算 分享您的更改,然后我不知道你为什么会打扰他们在这里发布或寻找帮助我们的开发人员和社区,使 其工作。

再次,我的意思是没有这个职位的任何罪行。我只是想向你和社会,为什么EQEmu DEVS工作目前还没有对美国之音客户端要明确。不过,我几乎要开始工作,就这样我可以比较一下我的结果你 迄今已提供。我也希望它是明确的,这是很难理解你的职位,即使他们可能给你作出完美的感。


My original Post in English before any translation (using Google Translator):

Noport,

I know that your intentions are good, and I can tell that you are always trying to help people. I have no problems with your attitude and there is no reason for you to apologise to me for anything.

My only problem with you is that I have a very hard time understanding what it is you are trying to say almost every time you make a post about anything. Also, I am not sure you understand everything you are reply to either completely. I know English isn't your primary language and I am sure it is hard to express yourself properly in a language that you are still learning. It is especially complicated because you are trying to convey information that is very technical, and I think the translation is not making your information as clear as it may seem to you. To all English speaking people (not just me), it is hard to understand what you are posting about.

I hope that this post does not offend you, as that is not the intention. I am simply trying to explain that people have a hard time following what you are saying.

One recent example is your post in this thread:
http://www.eqemulator.org/forums/showthread.php?p=207253#post207253

There, you advised someone to try setting an opcode to resolve a scripting/source code issue that is not related to opcodes at all. You also did not even say which client that opcode was supposed to be tried for. I don't need a response directly about this example of one of your posts. I am just giving one recent example of something that makes no sense to me, when maybe it does make sense to you. Almost all posts you make are this hard for me to understand.

As it is, I still don't know anything about what you have been doing for the VoA client compatibility. The information I have seen from you is not consistent as far as I can understand. For example, you say you have played on my server with the VoA client, then a few posts above this, you said you moved the eqgame.exe from the UF client. If that is the case, then you are actually playing on what we consider the UF client, whether all of your other files are from VoA or not.

The only things I have ever seen you refernce in updating source code are the opcodes themselves. While opcodes are important, they are actually one of the easier things for us to do now, especially if we have access to get EQLive collects for the client we are working on. Probably the hardest part of getting a new client working are the packet structures, and I can't think of any time I have ever seen you reference them. In order for you to be able to use the VoA client to log completely into EQEmu, you will definitely need to adjust multiple packet structures and encodes/decodes. Again, having collects from EQLive makes this process considerably easier than trying to get an older client working where we don't have access to those packets to figure out the structures (such as when I started working on the SoF client in the first place).

I am pretty sure that I could probably get the VoA client to log into the Character Select screen in maybe an hour or 2 of work. As far as I can tell, that is how far you have been able to get while using the eqgame.exe from VoA. The hard part is being able to get all of the way in-game, but using the work that Derision had already done for HoT, it probably wouldn't be overly hard to get that working too. After that, it would take a long time to test every system and see what is working and what is not and then fix opcodes and packet structures for each thing that isn't working right. That is the main reason why I don't even want to start working on a Live/VoA client until we have something that isn't going to change. Because as soon as we put in tons of hours to get a client working great, Live would patch and we would have to start updating it all again if we want people to be able to use a fully patched client.

Don't get me wrong though, I think it is great to try to have newer clients for EQEmu. I was the one that started the work on SoF in the first place to get EQEmu past Titanium. If it wasn't for that, we would almost certainly still be using Titanium today. I didn't know anything about opcodes or packet structures when I first started on it, but I learned a lot and have done it quite a bit now with SoF, SoD, and UF, with the help of the other developers such as KLS and Derision (primarily). I stayed peristent and kept working at it until I had real results that the other devs could see actual potential in for upgrading EQEmu past Titanium. That is basically how I became part of the dev team in the first place.

So, I am all for any progress that can be made toward newer clients for EQEmu. I just don't want to "chase Live" with the frequent changes that they do which would become a full time job to keep EQEmu up to date. You may think the Devs are just too lazy or busy to work on newer clients, but that is not the case. Yes, we are busy and probably lazy too, but if a new client came along that had a reliable source to get it legally and it wasn't going to be patched monthly like Live, then we would get started working on updating EQEmu for it (or at least I I know would).

I would definitely not want to detur anyone from working on EQEmu in any way. If you are able to submit a change that can get VoA working perfectly, then I am sure we can get it added to the source. If you are not willing to share your changes, then that is up to you as well. But, if you aren't planning to share your changes, then I don't know why you would bother posting about them here or looking for help from our Devs and community to make it work.

Again, I mean no offense in any of this post. I just want to be clear to you and to the community why the EQEmu Devs are not currently working on a VoA client. Though, I almost want to start working on one just so I can compare my results to what you have been providing so far. I also wanted it to be clear that it is hard to understand your posts even if they may make perfect sense to you.



I made the 3 different versions of this post to show how everything does not always translate as it is intended. Though, Google Translator does a pretty damn good job!

Noport
02-18-2012, 07:01 AM
Well good news made it past Create a Character. How many Eq Emulator users would be interested in my precompiled server files Rev2103? Supports Clients listed below.


[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch 6.2
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch Titanium
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch Anniversary
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch SoF
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch SoD
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch Underfoot
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch HoT
[02.18. - 00:00:00] [NET__IDENTIFY] Registered patch VoA

dwarfiron
02-18-2012, 07:47 AM
It means we will have working VOA and HOT and will be able to build houses?
If yes i can't wait for it !

gibroni
02-18-2012, 01:32 PM
if its a fully working server then ya there might be people interested in a download to try out

Caryatis
02-18-2012, 03:09 PM
He just got a character created, shit like houses dont code themselves. We still don't have features from Gates of Discord and before(expeditions, shared tasks, etc). Just connecting with a client doesnt make all the cool things of that client work.

Phantons
02-19-2012, 06:03 PM
Even if it was just logging in and playing with the VoA client, I would like to. Just so I can be playing on the latest client.

Noport
02-20-2012, 07:45 PM
I'll keep you all updated i'm updating more opcodes at the same time trying to support others with there server settings. The more opcodes i have on Voa makes it a better client.

trevius
04-06-2012, 03:22 AM
I spent a day working on VoA just to have something prepared in case Steam gets a new VoA client sometime soon.

I wrote a couple of scripts that make updating our patch_<expansion>.conf files a bit easier based on some other opcode info we have. It still requires some manual work to get all of the opcodes, but not nearly as much work as before.

Here is the March 21 2012 client .conf file I made using these new scripts with a few adjustments I made manually while working on the client:

# ShowEQ Import Notes:
# ZERO THE FILE first
# perl -pi -e 's/0x[0-9a-fA-F]{4}/0x0000/g' opcodes.conf
# Unknown Mapping:
# OP_Action2 -> OP_Damage
# OP_EnvDamage -> OP_Damage ---> might have been a one time mistake
# Name Differences:
# OP_CancelInvite -> OP_GroupCancelInvite
# OP_GMFind -> OP_FindPersonRequest
# OP_CommonMessage -> OP_ChannelMessage

OP_Unknown=0x0000
OP_ExploreUnknown=0x0000 # used for unknown explorer

# V = Verified correct
# C = Most likely correct
# U = Unsure, but should be correct or close

# world packets
# Required to reach Char Select:
OP_SendLoginInfo=0x4d5c #
OP_ApproveWorld=0x655c #
OP_LogServer=0x1497 #
OP_SendCharInfo=0x7f9e #
OP_ExpansionInfo=0x7e4d #
OP_GuildsList=0x5b0b #
OP_EnterWorld=0x710e #
OP_PostEnterWorld=0x7930 #
OP_World_Client_CRC1=0x7ce4 #
OP_World_Client_CRC2=0x7705 #
OP_SendSpellChecksum=0x0000 #
OP_SendSkillCapsChecksum=0x0000 #

# haracter Select Related:
OP_DeleteCharacter=0x5ca5 #
OP_CharacterCreateRequest=0x4eba #
OP_CharacterCreate=0x3237 #
OP_RandomNameGenerator=0x26aa #
OP_ApproveName=0x3154 #

OP_MOTD=0x0b80 #
OP_SetChatServer=0x2c38 #
OP_SetChatServer2=0x441c #
OP_ZoneServerInfo=0x16f5 #
OP_WorldComplete=0x6c63 #
OP_WorldUnknown001=0x4274 #
OP_FloatListThing=0x1910 #

# Reasons for Disconnect:
OP_ZoneUnavail=0x20bc #
OP_WorldClientReady=0x0b89 # Testing VoA 0x3f24
OP_CharacterStillInZone=0x0000 #
OP_WorldChecksumFailure=0x0000 #
OP_WorldLoginFailed=0x0000 #
OP_WorldLogout=0x0000 #
OP_WorldLevelTooHigh=0x0000 #
OP_CharInacessable=0x0000 #
OP_UserCompInfo=0x0000 #
# OP_SendExeChecksum=0x0000 #
# OP_SendBaseDataChecksum=0x0000 #

# Zone in opcodes
OP_AckPacket=0x3594 #
OP_ZoneEntry=0x5821 # Testing VoA 0x5821
OP_ReqNewZone=0x4118 #
OP_NewZone=0x43ac #
OP_ZoneSpawns=0x5f5e #
OP_PlayerProfile=0x6afd # Testing VoA 0x6022
OP_TimeOfDay=0x6015 #
OP_LevelUpdate=0x6a99 #
OP_Stamina=0x7686 #
OP_RequestClientZoneChange=0x224f #
OP_ZoneChange=0x0976 #

OP_LockoutTimerInfo=0x0000 #
OP_ZoneServerReady=0x0000 #
OP_ZoneInUnknown=0x0000 #
OP_LogoutReply=0x0000 #
OP_PreLogoutReply=0x0000 #

# Required to fully log in
OP_SpawnAppearance=0x3f55 #
OP_ChangeSize=0x0000 #
OP_TributeUpdate=0x0000 #
OP_TributeTimer=0x1525 # Testing VoA 0x1525
OP_TaskDescription=0x2e4f #
OP_TaskActivity=0x512b #
OP_CompletedTasks=0x3141 #
OP_Weather=0x3e50 #
OP_SendAATable=0x6a7e # Testing VoA 0x6a7e
OP_UpdateAA=0x5363 # Testing VoA 0x5363
OP_RespondAA=0x0643 # Testing VoA 0x0643 or maybe 0x7bf6
OP_ReqClientSpawn=0x2c27 #
OP_SpawnDoor=0x7113 #
OP_GroundSpawn=0x33e5 #
OP_SendZonepoints=0x399f #
OP_SendAAStats=0x4e22 #
OP_WorldObjectsSent=0x7b73 #
OP_BlockedBuffs=0x1681 #
OP_RemoveBlockedBuffs=0x6a86 #
OP_ClearBlockedBuffs=0x7ae1 #
OP_SendExpZonein=0x0f14 #
OP_SendTributes=0x010d #
OP_TributeInfo=0x047c #
OP_SendGuildTributes=0x0000 #
OP_AAExpUpdate=0x1318 #
OP_ExpUpdate=0x0000 # Testing VoA 0x0555
OP_HPUpdate=0x2369 #
OP_ManaChange=0x569a #
OP_TGB=0x3672 #
OP_SpecialMesg=0x039d #
OP_GuildMemberList=0x51bc #
OP_GuildMOTD=0x0000 # Testing VoA 0x0a1d
OP_CharInventory=0x0000 # Testing VoA 0x6cfe
OP_WearChange=0x1a58 #
OP_ClientUpdate=0x7062 #
OP_ClientReady=0x6cdc #
OP_SetServerFilter=0x053a #

# Guild Opcodes
OP_GetGuildMOTD=0x3415 #
OP_GetGuildMOTDReply=0x709d #
OP_GuildMemberUpdate=0x589f #
OP_GuildInvite=0x5488 #
OP_GuildRemove=0x47d3 #
OP_GuildPeace=0x2bff #
OP_SetGuildMOTD=0x5f85 #
OP_GuildList=0x0000 #
OP_GuildWar=0x5408 #
OP_GuildLeader=0x0598 #
OP_GuildDelete=0x230e #
OP_GuildInviteAccept=0x2b5a #
OP_GuildDemote=0x1899 #
OP_GuildPublicNote=0x2dbd #
OP_GuildManageBanker=0x0000 #
OP_GuildBank=0x0000 #
OP_SetGuildRank=0x4ffe #
OP_GuildUpdateURLAndChannel=0x03d1 #
OP_GuildMemberLevelUpdate=0x0000 #
OP_ZoneGuildList=0x0000 #
OP_GetGuildsList=0x0000 #
OP_GuildStatus=0x4cf2 #
OP_GuildCreate=0x0000 #
# OP_GuildManageRemove=0x0000 #
# OP_GuildManageAdd=0x0000 #
# OP_GuildManageStatus=0x0000 #

# GM/guide opcodes
OP_GMServers=0x6989 #
OP_GMBecomeNPC=0x56e7 #
OP_GMZoneRequest=0x701f #
OP_GMZoneRequest2=0x01 #
OP_GMGoto=0x15a1 #
OP_GMSearchCorpse=0x5a81 #
OP_GMHideMe=0x28ef #
OP_GMDelCorpse=0x072f #
OP_GMApproval=0x481f #
OP_GMToggle=0x2042 #
OP_GMSummon=0x6e47 #
OP_GMEmoteZone=0x307d #
OP_GMEmoteWorld=0x0c2d #
OP_GMFind=0x6e27 #
OP_GMKick=0x5a56 #
OP_GMKill=0x51fe #
OP_GMNameChange=0x0000 #
OP_GMLastName=0x7bfb #

OP_InspectAnswer=0x0c54 #
OP_BeginCast=0x0d5a #
OP_BuffFadeMsg=0x71bf #
OP_ConsentResponse=0x35c6 #
OP_MemorizeSpell=0x3887 #
OP_SwapSpell=0x28a7 #
OP_CastSpell=0x50c2 #
OP_Consider=0x70c6 #
OP_FormattedMessage=0x4675 #
OP_SimpleMessage=0x0698 #
OP_Buff=0x3a18 #
OP_Illusion=0x10b7 #
OP_MoneyOnCorpse=0x4074 #
OP_RandomReply=0x6d5d #
OP_DenyResponse=0x0370 #
OP_SkillUpdate=0x7f01 #
OP_GMTrainSkillConfirm=0x0000 #
OP_RandomReq=0x303e #
OP_Death=0x6685 #
OP_Bind_Wound=0x7b64 #
OP_GMTraining=0x5960 #
OP_GMEndTraining=0x4a61 #
OP_GMTrainSkill=0x4885 #
OP_Animation=0x5bd9 #
OP_Begging=0x32af #
OP_Consent=0x6bb9 #
OP_ConsentDeny=0x6b7f #
OP_AutoFire=0x23fc #
OP_PetCommands=0x7312 #
OP_DeleteSpell=0x0142 #
OP_Surname=0x777c #
OP_ClearSurname=0x0000 #
OP_FaceChange=0x0507 #
OP_SenseHeading=0x1b8a #
OP_Action=0x1b85 #
OP_ConsiderCorpse=0x0e94 #
OP_HideCorpse=0x0000 #
OP_CorpseDrag=0x0000 #
OP_CorpseDrop=0x0000 #
OP_Bug=0x3365 #
OP_Feedback=0x52b5 #
OP_Report=0x211a #
OP_Damage=0x631a # or OP_Action2?
OP_ChannelMessage=0x2e79 #
OP_Assist=0x5658 #
OP_AssistGroup=0x43bc #
OP_MoveCoin=0x2963 #
OP_ZonePlayerToBind=0x2480 #
OP_KeyRing=0x3b85 #
OP_WhoAllRequest=0x177a #
OP_WhoAllResponse=0x15de #
OP_FriendsWho=0x73d6 #
OP_ConfirmDelete=0x604d #
OP_Logout=0x6275 #
OP_Rewind=0x09e3 #
OP_TargetCommand=0x3088 #
OP_InspectRequest=0x2683 #
OP_Hide=0x3497 #
OP_Jump=0x083b #
OP_Camp=0x3cd6 #
OP_Emote=0x0000 #
OP_SetRunMode=0x3d06 #
OP_BankerChange=0x0000 #
OP_TargetMouse=0x3edc #
OP_MobHealth=0x5cb0 #
OP_InitialMobHealth=0x0000 #
OP_TargetHoTT=0x460e #
OP_TargetBuffs=0x7c24 #
OP_BuffCreate=0x0c98 #
OP_BuffRemoveRequest=0x3567 #
OP_DeleteSpawn=0x3164 #
OP_AutoAttack=0x2257 #
OP_AutoAttack2=0x0000 #
OP_Consume=0x2ee2 #
OP_MoveItem=0x1cb3 #
OP_DeleteItem=0x7547 #
OP_DeleteCharge=0x6a90 #
OP_ItemPacket=0x2dd3 #
OP_ItemLinkResponse=0x6948 #
OP_ItemLinkClick=0x3c66 #
OP_NewSpawn=0x016c #
OP_Track=0x2444 #
OP_TrackTarget=0x538f #
OP_TrackUnknown=0x03e7 #
OP_ClickDoor=0x48f9 #
OP_MoveDoor=0x231f #
OP_RemoveAllDoors=0x24a3 #
OP_EnvDamage=0x2730 #
OP_BoardBoat=0x7554 #
OP_Forage=0x3c02 #
OP_LeaveBoat=0x7286 #
OP_ControlBoat=0x0ca5 #
OP_SafeFallSuccess=0x6df7 #
OP_RezzComplete=0x7108 #
OP_RezzRequest=0x6024 #
OP_RezzAnswer=0x2d41 #
OP_Shielding=0x7598 #
OP_RequestDuel=0x0e71 #
OP_MobRename=0x6884 #
OP_AugmentItem=0x4cc6 #
OP_WeaponEquip1=0x11bc #
OP_WeaponEquip2=0x3f24 # Testing VoA 0x2121
OP_WeaponUnequip2=0x7b87 #
OP_ApplyPoison=0x5cd3 #
OP_Save=0x47e7 #
OP_TestBuff=0x712b #
OP_CustomTitles=0x6ade #
OP_Split=0x0ed5 #
OP_YellForHelp=0x1f87 #
OP_LoadSpellSet=0x440f #
OP_Bandolier=0x3ad1 #
OP_PotionBelt=0x7b7f #
OP_DuelResponse=0x1df9 #
OP_DuelResponse2=0x36f8 #
OP_SaveOnZoneReq=0x2913 #
OP_ReadBook=0x41b5 #
OP_Dye=0x32c6 #
OP_InterruptCast=0x7706 #
OP_AAAction=0x55dd #
OP_LeadershipExpToggle=0x69d0 #
OP_LeadershipExpUpdate=0x3703 #
OP_PurchaseLeadershipAA=0x6e58 #
OP_UpdateLeadershipAA=0x0297 #
OP_MarkNPC=0x6b9e #
OP_ClearNPCMarks=0x074f #
OP_DoGroupLeadershipAbility=0x0000 #
OP_GroupLeadershipAAUpdate=0x0000 #
OP_DelegateAbility=0x105b #
OP_SetGroupTarget=0x42c7 #
OP_Charm=0x17f7 #
OP_Stun=0x41a6 #
OP_SendFindableNPCs=0x3015 #
OP_FindPersonRequest=0x19a8 #
OP_FindPersonReply=0x7e45 #
OP_Sound=0x2d1d #
OP_PetBuffWindow=0x4895 #
OP_LevelAppearance=0x78b9 #
OP_Translocate=0x42ef #
OP_Sacrifice=0x2dc6 #
OP_PopupResponse=0x0000 #
OP_OnLevelMessage=0x0000 #
OP_AugmentInfo=0x0000 #
OP_Petition=0x31d1 #
OP_SomeItemPacketMaybe=0x1513 #
OP_PVPStats=0x0000 #
OP_PVPLeaderBoardRequest=0x0000 #
OP_PVPLeaderBoardReply=0x0000 #
OP_PVPLeaderBoardDetailsRequest=0x0000 #
OP_PVPLeaderBoardDetailsReply=0x0000 #
OP_RestState=0x0000 #
OP_RespawnWindow=0x435b #
OP_DisciplineTimer=0x74ca #
OP_LDoNButton=0x597d #
OP_SetStartCity=0x179d #
OP_VoiceMacroIn=0x0fce #
OP_VoiceMacroOut=0x1c36 #
OP_ItemViewUnknown=0x0000 #
OP_VetRewardsAvaliable=0x3637 # Mispelled?
OP_VetClaimRequest=0x032b #
OP_VetClaimReply=0x7b6e #
OP_CrystalCountUpdate=0x0000 #
OP_DisciplineUpdate=0x0d8d #
OP_BecomeCorpse=0x0000 #
OP_Action2=0x0000 # OP_Damage?
OP_MobUpdate=0x4656 # Same as OP_SpawnPositionUpdate
OP_NPCMoveUpdate=0x2339 #
OP_CameraEffect=0x6812 #
OP_SpellEffect=0x0989 #
OP_RemoveNimbusEffect=0x0000 #
OP_AltCurrency=0x2536
OP_AltCurrencyMerchantRequest=0x5aac
OP_AltCurrencyMerchantReply=0x17c7
OP_AltCurrencyPurchase=0x6efe
OP_AltCurrencySell=0x32d9
OP_AltCurrencySellSelection=0x7eac
OP_AltCurrencyReclaim=0x1560
OP_CrystalReclaim=0x0000
OP_CrystalCreate=0x0000
OP_Untargetable=0x101e
OP_IncreaseStats=0x4acf

OP_DzQuit=0x0000
OP_DzListTimers=0x0000
OP_DzAddPlayer=0x0000
OP_DzRemovePlayer=0x0000
OP_DzSwapPlayer=0x0000
OP_DzMakeLeader=0x0000
OP_DzPlayerList=0x0000
OP_DzJoinExpeditionConfirm=0x0000
OP_DzJoinExpeditionReply=0x0000
OP_DzExpeditionInfo=0x0000
OP_DzMemberStatus=0x0000
OP_DzLeaderStatus=0x0000
OP_DzExpeditionEndsWarning=0x0000
OP_DzExpeditionList=0x0000
OP_DzMemberList=0x0000
OP_DzCompass=0x0000
OP_DzChooseZone=0x0000

# New Opcodes
OP_SpawnPositionUpdate=0x0000 #
OP_ManaUpdate=0x7c94 #
OP_EnduranceUpdate=0x5851 #
OP_MobManaUpdate=0x4d27 #
OP_MobEnduranceUpdate=0x190c #

# Looting
OP_LootRequest=0x1d85 #
OP_EndLootRequest=0x0bc #
OP_LootItem=0x6d37 #
OP_LootComplete=0x4ca1 #

# bazaar trader stuff stuff:
OP_BazaarSearch=0x2881 #
OP_TraderDelItem=0x0000 #
OP_BecomeTrader=0x358a #
OP_TraderShop=0x49f4 #
OP_Trader=0x058c #
OP_TraderBuy=0x783c #
OP_Barter=0x766f #
OP_ShopItem=0x0000 #
OP_BazaarInspect=0x0000 #
OP_Bazaar=0x0000 #
OP_TraderItemUpdate=0x0000 #

# pc/npc trading
OP_TradeRequest=0x0c24 #
OP_TradeAcceptClick=0x064a #
OP_TradeRequestAck=0x606a #
OP_TradeCoins=0x0149 #
OP_FinishTrade=0x3ff6 #
OP_CancelTrade=0x527e #
OP_TradeMoneyUpdate=0x1ebb #
OP_MoneyUpdate=0x528f #
OP_TradeBusy=0x2c03 #

# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x3c27 #
OP_FinishWindow2=0x6759 #

# Sent on Live for what seems to be item existance verification
# Ex. Before Right Click Effect happens from items
OP_ItemVerifyRequest=0x0000 #
OP_ItemVerifyReply=0x0000 #

# merchant crap
OP_ShopPlayerSell=0x0b27 #
OP_ShopRequest=0x4194 #
OP_ShopEnd=0x3753 #
OP_ShopEndConfirm=0x4762 #
OP_ShopPlayerBuy=0x436a #
OP_ShopDelItem=0x63c8 #

# tradeskill stuff:
OP_ClickObject=0x5f0d #
OP_ClickObjectAction=0x29df #
OP_ClearObject=0x38d1 #
OP_RecipeDetails=0x068 #
OP_RecipesFavorite=0x0000 #
OP_RecipesSearch=0x0239 #
OP_RecipeReply=0x1ecf #
OP_RecipeAutoCombine=0x66bf #
OP_TradeSkillCombine=0x4212 #

# Tribute Packets:
OP_OpenGuildTributeMaster=0x0000 #
OP_OpenTributeMaster=0x3ba3 #
OP_SelectTribute=0x314f #
OP_TributeItem=0x0000 #
OP_TributeMoney=0x1772 #
OP_TributeToggle=0x0000 #
OP_TributePointUpdate=0x0000 #
OP_TributeNPC=0x0000 #
OP_GuildTributeInfo=0x0000 #
OP_OpenTributeReply=0x0000 #
# OP_GuildTributeStatus=0x0000 #

# Adventure packets:
OP_LeaveAdventure=0x771f #
OP_AdventureFinish=0x3168 #
OP_AdventureInfoRequest=0x05d8 #
OP_AdventureInfo=0x164b #
OP_AdventureRequest=0x3a75 #
OP_AdventureDetails=0x05 #
OP_AdventureData=0x21df #
OP_AdventureUpdate=0x6129 #
OP_AdventureMerchantRequest=0x0000 #
OP_AdventureMerchantResponse=0x0000 #
OP_AdventureMerchantPurchase=0x0000 #
OP_AdventureMerchantSell=0x0000 #
OP_AdventurePointsUpdate=0x7d05 #
OP_AdventureStatsRequest=0x684c #
OP_AdventureStatsReply=0x15a7 #
OP_AdventureLeaderboardRequest=0x0b89 #
OP_AdventureLeaderboardReply=0x6bfb #

# Group Opcodes
OP_GroupDisband=0x4200 #
OP_GroupInvite=0x3288 #
OP_GroupFollow=0x1190 #
OP_GroupUpdate=0x0000 #
OP_GroupUpdateB=0x0000 #
OP_GroupCancelInvite=0x0000 # - Same as OP_CancelInvite?
OP_GroupAcknowledge=0x0000 #
OP_GroupDelete=0x0000 #
OP_CancelInvite=0x2736 #
OP_GroupFollow2=0x6c16 #
OP_GroupInvite2=0x5251 #
OP_GroupDisbandYou=0x0000 #
OP_GroupDisbandOther=0x0000 #
OP_GroupLeaderChange=0x0000 #
OP_GroupRoles=0x0000 #
OP_GroupMakeLeader=0x13da

# LFG/LFP Opcodes
OP_LFGCommand=0x457d #
OP_LFGGetMatchesRequest=0x49e7 #
OP_LFGGetMatchesResponse=0x4817 #
OP_LFPGetMatchesRequest=0x5fc7 #
OP_LFPGetMatchesResponse=0x3d0c #
OP_LFPCommand=0x20c6 #
OP_LFGAppearance=0x0000 #
OP_LFGResponse=0x0000 #

# Raid Opcodes
OP_RaidInvite=0x550f #
OP_RaidUpdate=0x0000 # Testing VoA 0x0c08
OP_RaidJoin=0x0000 #

# Button-push commands
OP_Taunt=0x732c #
OP_CombatAbility=0x16a5 #
OP_SenseTraps=0x416b #
OP_PickPocket=0x13bd #
OP_DisarmTraps=0x0000 #
OP_Disarm=0x6def #
OP_Sneak=0x1d22 #
OP_Fishing=0x7093 #
OP_InstillDoubt=0x221a #
OP_FeignDeath=0x6145 #
OP_Mend=0x10a6 #
OP_LDoNOpen=0x7c87 #

# Task packets
OP_TaskActivityComplete=0x0000 #
OP_TaskMemberList=0x0000 #
OP_OpenNewTasksWindow=0x0000 #
OP_AvaliableTask=0x0000 # Mispelled?
OP_AcceptNewTask=0x0000 #
OP_TaskHistoryRequest=0x6d1f #
OP_TaskHistoryReply=0x189b #
OP_CancelTask=0x47ea #
OP_DeclineAllTasks=0x0000 #

# Title opcodes
OP_NewTitlesAvailable=0x6d95 #
OP_RequestTitles=0x0000 #
OP_SendTitleList=0x0000 #
OP_SetTitle=0x725b #
OP_SetTitleReply=0x38e8 #

# mail opcodes
OP_Command=0x0000 #
OP_MailboxHeader=0x0000 #
OP_MailHeader=0x0000 #
OP_MailBody=0x0000 #
OP_NewMail=0x0000 #
OP_SentConfirm=0x0000 #

# # # # # # # # # # # Below this point should not be needed # # # # # # # # # # #

# This section are all unknown in Titanium
OP_ForceFindPerson=0x0000 #
OP_LocInfo=0x0000 #
OP_ReloadUI=0x0000 #
OP_ItemName=0x0000 #
OP_ItemLinkText=0x0000 #
OP_MultiLineMsg=0x0000 #
OP_MendHPUpdate=0x0000 #
OP_TargetReject=0x0000 #
OP_SafePoint=0x0000 #
OP_ApproveZone=0x0000 #
OP_ZoneComplete=0x0000 #
OP_ClientError=0x0000 #
OP_DumpName=0x0000 #
OP_Heartbeat=0x0000 #
OP_CrashDump=0x0000 #
OP_LoginComplete=0x0000 #

# discovered opcodes not yet used:
OP_PickLockSuccess=0x0000 #
OP_PlayMP3=0x0000 #
OP_ReclaimCrystals=0x0000 #
OP_DynamicWall=0x0000 #
OP_OpenDiscordMerchant=0x0000 #
OP_DiscordMerchantInventory=0x0000 #
OP_GiveMoney=0x0000 #
OP_RequestKnowledgeBase=0x0000 #
OP_KnowledgeBase=0x0000 #
OP_SlashAdventure=0x0000 # /adventure
OP_BecomePVPPrompt=0x0000 #
OP_MoveLogRequest=0x0000 # gone I think
OP_MoveLogDisregard=0x0000 # gone I think

# named unknowns, to make looking for real unknown easier
OP_AnnoyingZoneUnknown=0x0000 #
OP_Some6ByteHPUpdate=0x0000 # seems to happen when you target group members
OP_QueryResponseThing=0x0000 #


# realityincarnate: these are just here to stop annoying several thousand byte packet dumps
#OP_LoginUnknown1=0x46d3 # U OP_SendSpellChecksum
#OP_LoginUnknown2=0x040b # U OP_SendSkillCapsChecksum

# Petition Opcodes
OP_PetitionSearch=0x0000 # search term for petition
OP_PetitionSearchResults=0x0000 # (list of?) matches from search
OP_PetitionSearchText=0x0000 # text results of search

OP_PetitionUpdate=0x0000 #
OP_PetitionCheckout=0x0000 #
OP_PetitionCheckIn=0x0000 #
OP_PetitionQue=0x0000 #
OP_PetitionUnCheckout=0x0000 #
OP_PetitionDelete=0x0000 #
OP_DeletePetition=0x0000 #
OP_PetitionResolve=0x0000 #
OP_PDeletePetition=0x0000 #
OP_PetitionBug=0x0000 #
OP_PetitionRefresh=0x0000 #
OP_PetitionCheckout2=0x0000 #
OP_PetitionViewPetition=0x0000 #

# Login opcodes
OP_SessionReady=0x0000 #
OP_Login=0x0000 #
OP_ServerListRequest=0x0000 #
OP_PlayEverquestRequest=0x0000 #
OP_PlayEverquestResponse=0x0000 #
OP_ChatMessage=0x0000 #
OP_LoginAccepted=0x0000 #
OP_ServerListResponse=0x0000 #
OP_Poll=0x0000 #
OP_EnterChat=0x0000 #
OP_PollResponse=0x0000 #

# raw opcodes
OP_RAWSessionRequest=0x0000 #
OP_RAWSessionResponse=0x0000 #
OP_RAWCombined=0x0000 #
OP_RAWSessionDisconnect=0x0000 #
OP_RAWKeepAlive=0x0000 #
OP_RAWSessionStatRequest=0x0000 #
OP_RAWSessionStatResponse=0x0000 #
OP_RAWPacket=0x0000 #
OP_RAWFragment=0x0000 #
OP_RAWOutOfOrderAck=0x0000 #
OP_RAWAck=0x0000 #
OP_RAWAppCombined=0x0000 #
OP_RAWOutOfSession=0x0000 #

# we need to document the differences between these packets to make identifying them easier
OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs
OP_InitialHPUpdate=0x0000 #


Here is the PP struct, which should be almost perfect for the current March 21 2012 client. I did have to add 20 bytes in near the end, which is probably because I miscalculated the struct somewhere and had 20 bytes missing. Either way, this struct is functional:
struct PlayerProfile_Struct
{
/*00000*/ uint32 checksum; //
//BEGIN SUB-STRUCT used for shrouding stuff...
/*00004*/ uint32 gender; // Player Gender - 0 Male, 1 Female
/*00008*/ uint32 race; // Player race
/*00012*/ uint32 class_; // Player class
/*00016*/ uint8 unknown00016[40]; // #### uint32 unknown00016; in Titanium ####uint8[40]
/*00056*/ uint8 level; // Level of player
/*00057*/ uint8 level1; // Level of player (again?)
/*00058*/ uint8 unknown00058[2]; // ***Placeholder
/*00060*/ BindStruct binds[5]; // Bind points (primary is first)
/*00160*/ uint32 deity; // deity
/*00164*/ uint32 intoxication; // Alcohol level (in ticks till sober?)
/*00168*/ uint32 spellSlotRefresh[MAX_PP_MEMSPELL]; // Refresh time (millis) - 4 Octets Each
/*00216*/ uint8 unknown00208[6]; // Seen 00 00 00 00 00 00 00 00 00 00 00 00 02 01
/*00222*/ uint32 abilitySlotRefresh;
/*00226*/ uint8 haircolor; // Player hair color
/*00227*/ uint8 beardcolor; // Player beard color
/*00228*/ uint8 eyecolor1; // Player left eye color
/*00229*/ uint8 eyecolor2; // Player right eye color
/*00230*/ uint8 hairstyle; // Player hair style
/*00231*/ uint8 beard; // Player beard type
/*00232*/ uint8 unknown00232[4]; // was 14 288
/*00236*/ union
{
struct
{
/*236*/ EquipStruct equip_helmet; // Equiptment: Helmet visual
/*252*/ EquipStruct equip_chest; // Equiptment: Chest visual
/*268*/ EquipStruct equip_arms; // Equiptment: Arms visual
/*284*/ EquipStruct equip_bracers; // Equiptment: Wrist visual
/*300*/ EquipStruct equip_hands; // Equiptment: Hands visual
/*316*/ EquipStruct equip_legs; // Equiptment: Legs visual
/*332*/ EquipStruct equip_feet; // Equiptment: Boots visual
/*348*/ EquipStruct equip_primary; // Equiptment: Main visual
/*364*/ EquipStruct equip_secondary; // Equiptment: Off visual
} equip;
/*00236*/ EquipStruct equipment[9]; //Live Shows [108] for this part
};
/*00344*/ uint8 unknown00344[36]; // EquipStruct is now 16 bytes instead of 12
/*00380*/ uint8 unknown00380[220]; // Live Shows [160]
/*00600*/ Color_Struct item_tint[9]; // RR GG BB 00
/*00636*/ AA_Array aa_array[MAX_PP_AA_ARRAY]; // [3600] AAs 12 bytes each
/*04236*/ uint32 points; // Unspent Practice points - RELOCATED???
/*04240*/ uint32 mana; // Current mana
/*04244*/ uint32 cur_hp; // Current HP without +HP equipment
/*04248*/ uint32 STR; // Strength - 6e 00 00 00 - 110
/*04252*/ uint32 STA; // Stamina - 73 00 00 00 - 115
/*04256*/ uint32 CHA; // Charisma - 37 00 00 00 - 55
/*04260*/ uint32 DEX; // Dexterity - 50 00 00 00 - 80
/*04264*/ uint32 INT; // Intelligence - 3c 00 00 00 - 60
/*04268*/ uint32 AGI; // Agility - 5f 00 00 00 - 95
/*04272*/ uint32 WIS; // Wisdom - 46 00 00 00 - 70
/*04276*/ uint8 unknown04188[28]; //
/*04304*/ uint8 face; // Player face - Actually int32?
/*04305*/ uint8 unknown04217[147]; // was [175]
/*04452*/ uint8 unknown04452[36]; // Spell related new to VoA March 21 2012
/*04488*/ int32 spell_book[MAX_PP_SPELLBOOK]; // List of the Spells in spellbook 720 = 90 pages [2880] was [1920]
/*06408*/ uint8 unknown06284[960]; // Spacer for the end of the book for now (pages 60 to 90)
/*07368*/ int32 mem_spells[MAX_PP_MEMSPELL]; // [48] List of spells memorized
/*07416*/ uint8 unknown07284[20]; //#### uint8 unknown04396[32]; in Titanium ####[28]
/*07436*/ uint32 platinum; // Platinum Pieces on player
/*07440*/ uint32 gold; // Gold Pieces on player
/*07444*/ uint32 silver; // Silver Pieces on player
/*07448*/ uint32 copper; // Copper Pieces on player
/*07452*/ uint32 platinum_cursor; // Platinum Pieces on cursor
/*07456*/ uint32 gold_cursor; // Gold Pieces on cursor
/*07460*/ uint32 silver_cursor; // Silver Pieces on cursor
/*07464*/ uint32 copper_cursor; // Copper Pieces on cursor
/*07468*/ uint32 skills[MAX_PP_SKILL]; // [300] List of skills
//uint32 innateSkills[25]; // -72
/*07768*/ uint8 unknown07644[236]; // -272 - 16 = -256 + 236 = -20
/*08004*/ uint32 toxicity; // Potion Toxicity (15=too toxic, each potion adds 3)
/*08008*/ uint32 thirst_level; // Drink (ticks till next drink)
/*08012*/ uint32 hunger_level; // Food (ticks till next eat)
/*08016*/ SpellBuff_Struct buffs[BUFF_COUNT]; // [2200] Buffs currently on the player (30 Max) - (Each Size 88)
/*10216*/ SpellBuff_Struct MoreBuffs[5]; // 440 -1064 (-116 to go)
/*10656*/ uint8 unknown08492[1056]; // End of Buffs - was [360] - Added 360 for Feb 8 2011, not sure exactly where these extra bytes go, but know they go before zone_id.
/*11712*/ Disciplines_Struct disciplines; // [400] Known disciplines
/*12112*/ uint8 unknown11252[400]; // Discs?
/*12512*/ uint32 recastTimers[MAX_RECAST_TYPES]; // [80] Timers (UNIX Time of last use)
/*12912*/ uint8 unknown11732[480]; // Some type of Timers was 160
/*13072*/ uint32 endurance; // Current endurance
/*13076*/ uint8 unknown13076[20]; //
/*13096*/ uint32 aapoints_spent; // Number of spent AA points
/*13100*/ uint32 aapoints; // Unspent AA points
/*13104*/ uint8 unknown11924[4];
/*13108*/ Bandolier_Struct bandoliers[MAX_PLAYER_BANDOLIER]; // [6400] bandolier contents
/*19508*/ PotionBelt_Struct potionbelt; // [360] potion belt 72 extra octets by adding 1 more belt slot
/*19868*/ uint8 unknown18688[8];
/*19876*/ uint32 available_slots;
/*19880*/ uint8 unknown18700[80]; //
//END SUB-STRUCT used for shrouding.
/*19960*/ char name[64]; // Name of player - 19960 for Live 1180 difference
/*20024*/ char last_name[32]; // Last name of player
/*20056*/ uint8 unknown18876[12]; //#### Not In Titanium #### new to SoF[12]
/*20068*/ int32 guild_id; // guildid
/*20072*/ uint32 birthday; // character birthday
/*20076*/ uint32 account_startdate; // Date the Account was started
/*20080*/ uint32 lastlogin; // character last save time
/*20084*/ uint32 timePlayedMin; // time character played
/*20088*/ uint8 pvp; // 1=pvp, 0=not pvp
/*20089*/ uint8 anon; // 2=roleplay, 1=anon, 0=not anon
/*20090*/ uint8 gm; // 0=no, 1=yes (guessing!)
/*20091*/ int8 guildrank; // 0=member, 1=officer, 2=guildleader -1=no guild
/*20092*/ uint32 guildbanker;
/*20096*/ uint8 unknown18912[12]; // was 4
/*20108*/ uint32 exp; // Current Experience
/*20112*/ uint8 unknown18920[8];
/*20120*/ uint32 timeentitledonaccount;
/*20124*/ uint8 languages[MAX_PP_LANGUAGE]; // List of languages
/*20149*/ uint8 unknown18957[7]; //#### uint8 unknown13109[4]; in Titanium ####[7]
/*20156*/ float y; // Players y position (NOT positive about this switch)
/*20160*/ float x; // Players x position
/*20164*/ float z; // Players z position
/*20168*/ float heading; // Players heading
/*20172*/ uint8 unknown18980[4]; // ***Placeholder
/*20176*/ uint32 platinum_bank; // Platinum Pieces in Bank
/*20180*/ uint32 gold_bank; // Gold Pieces in Bank
/*20184*/ uint32 silver_bank; // Silver Pieces in Bank
/*20188*/ uint32 copper_bank; // Copper Pieces in Bank
/*20192*/ uint32 platinum_shared; // Shared platinum pieces
/*20196*/ uint32 unknown20196[3]; //
/*20208*/ uint8 unknown19004[2112]; //
/*22320*/ uint32 expansions; // Bitmask for expansions ff 7f 00 00 - SoD
/*22324*/ uint8 unknown21132[12];
/*22336*/ uint32 autosplit; // 0 = off, 1 = on
/*22340*/ uint8 unknown21148[16];
/*22356*/ uint16 zone_id; // see zones.h
/*22358*/ uint16 zoneInstance; // Instance id
/*22360*/ char groupMembers[MAX_GROUP_MEMBERS][64];// 384 all the members in group, including self
/*22744*/ char groupLeader[64]; // Leader of the group ?
/*22808*/ uint8 unknown21616[540]; // was [604]
/*23348*/ uint32 entityid;
/*23352*/ uint32 leadAAActive; // 0 = leader AA off, 1 = leader AA on
/*23356*/ uint8 unknown22228[4];
/*23360*/ sint32 ldon_points_guk; // Earned GUK points
/*23364*/ sint32 ldon_points_mir; // Earned MIR points
/*23368*/ sint32 ldon_points_mmc; // Earned MMC points
/*23372*/ sint32 ldon_points_ruj; // Earned RUJ points
/*23376*/ sint32 ldon_points_tak; // Earned TAK points
/*23380*/ sint32 ldon_points_available;// Available LDON points
/*23384*/ uint8 unknown22256[136]; // was [144]
/*23520*/ uint8 unknown23520[8]; //
/*23528*/ float tribute_time_remaining;// Time remaining on tribute (millisecs)
/*23532*/ uint32 career_tribute_points;// Total favor points for this char
/*23536*/ uint32 unknown22332; // *** Placeholder
/*23540*/ uint32 tribute_points; // Current tribute points
/*23544*/ uint32 unknown22340; // *** Placeholder
/*23548*/ uint32 tribute_active; // 0 = off, 1=on
/*23552*/ Tribute_Struct tributes[MAX_PLAYER_TRIBUTES]; // [60] Current tribute loadout
/*23612*/ uint8 unknown22348[64]; //
/*23676*/ double group_leadership_exp; // Current group lead exp points
/*23684*/ double raid_leadership_exp; // Current raid lead AA exp points
/*23692*/ uint32 group_leadership_points; // Unspent group lead AA points
/*23696*/ uint32 raid_leadership_points; // Unspent raid lead AA points
/*23700*/ LeadershipAA_Struct leader_abilities; // [128]Leader AA ranks 19332
/*23828*/ uint8 unknown22632[128]; // was [132]
/*23956*/ uint32 air_remaining; // Air supply (seconds)
/*23960*/ uint32 PVPKills;
/*23964*/ uint32 PVPDeaths;
/*23968*/ uint32 PVPCurrentPoints;
/*23972*/ uint32 PVPCareerPoints;
/*23976*/ uint32 PVPBestKillStreak;
/*23980*/ uint32 PVPWorstDeathStreak;
/*23984*/ uint32 PVPCurrentKillStreak;
/*23988*/ PVPStatsEntry_Struct PVPLastKill; // size 88
/*24076*/ PVPStatsEntry_Struct PVPLastDeath; // size 88
/*24164*/ uint32 PVPNumberOfKillsInLast24Hours;
/*24168*/ PVPStatsEntry_Struct PVPRecentKills[50]; // size 4400 - 88 each
/*28568*/ uint32 expAA; // Exp earned in current AA point
/*28572*/ uint8 unknown27380[40];
/*28612*/ uint32 currentRadCrystals; // Current count of radiant crystals
/*28616*/ uint32 careerRadCrystals; // Total count of radiant crystals ever
/*28620*/ uint32 currentEbonCrystals; // Current count of ebon crystals
/*28624*/ uint32 careerEbonCrystals; // Total count of ebon crystals ever
/*28628*/ uint8 groupAutoconsent; // 0=off, 1=on
/*28629*/ uint8 raidAutoconsent; // 0=off, 1=on
/*28630*/ uint8 guildAutoconsent; // 0=off, 1=on
/*28631*/ uint8 unknown27439; // ***Placeholder (6/29/2005)
/*28632*/ uint32 level3; // SoF looks at the level here to determine how many leadership AA you can bank.
/*28636*/ uint32 showhelm; // 0=no, 1=yes
/*28640*/ uint32 RestTimer;
/*28644*/ uint8 unknown27452[1036]; // ***Placeholder (2/13/2007) was[1028]or[940]or[1380] - END of Struct
/*29680*/ uint8 unknown29680[28]; // was 8 (added 20 to the end to get the right packet size)
/*29688*/
};

Note that for this PP to work, you have to change the following field to be 12 instead of 10:

static const uint32 MAX_PP_MEMSPELL = 12;
Otherwise, you can add 8 bytes after the 2 fields that use that value and leave it as 10.

Also, here are the character select struct changes that are required to see characters properly:

struct CharacterSelectEntry_Struct {
/*0000*/ uint8 level; //
/*0000*/ uint8 hairstyle; //
/*0002*/ uint8 gender; //
/*0003*/ char name[1]; //variable length, edi+0
/*0000*/ uint8 beard; //
/*0000*/ uint8 haircolor; //
/*0000*/ uint8 face; //
/*0000*/ CharSelectEquip equip[9];
/*0000*/ uint32 primary; //
/*0000*/ uint32 secondary; //
/*0000*/ uint8 u15; // 0xff
/*0000*/ uint32 deity; //
/*0000*/ uint16 zone; //
/*0000*/ uint16 instance;
/*0000*/ uint8 gohome; //
/*0000*/ uint8 u19; // 0xff
/*0000*/ uint32 race; //
/*0000*/ uint8 tutorial; //
/*0000*/ uint8 class_; //
/*0000*/ uint8 eyecolor1; //
/*0000*/ uint8 beardcolor; //
/*0000*/ uint8 eyecolor2; //
/*0000*/ uint32 drakkin_heritage; // Drakkin Heritage
/*0000*/ uint32 drakkin_tattoo; // Drakkin Tattoo
/*0000*/ uint32 drakkin_details; // Drakkin Details (Facial Spikes)
/*0000*/ uint8 unknown; // New field to Live
/*0000*/ uint8 char_enabled; // 0 for disabled character, 1 for enabled
/*0000*/ uint32 LastLogin; // Unix timestamp of last login - 1212696584
/*0000*/ uint8 unknown2; //
/*0000*/ uint8 unknown3; //
/*0000*/ uint32 unknown4; // Seen 01 00 00 00
};

There are a few unknowns there which I am not sure about. Also, I assume there is a new separate packet that sets the character creation limit (0/0 characters). So, until that is figured out, you can only use accounts that have existing characters on them.

Other than that, I think the only other thing I had to do was add 37 bytes to the spawn struct and I was able to get all of the way in-game. Unfortunately, the game closes immediately after you completely zone in. I found a few other struct size changes that were required, but still haven't figured out what is causing the client to close. My best guess is that it is due to me setting the inventory opcode to 0x0000 to prevent the packet from crashing the client completely. Maybe if I can figure out the item struct changes it will work, but that is probably the biggest change required for Live clients to work and I don't think it will be easy due to how slots were changed around.

I may work on it a bit more if I get time, but figured I would share the info I have so far in case anyone else wants to work on it.

If Steam doesn't release a functional client that we can use for EQEmu, we will need some way for the community to get a compatible client legally. Maybe there is a way we can do an update every 6 months or so to work with Live clients, but that still leaves out anyone that tries to join between those times after a new patch is in place that breaks compatibility. I just don't want to have to do this type of thing every month as it takes quite a bit of time. At least with the new scripts I made, it should make filling in 90% of the opcodes much quicker.

There may be a chance that Steam isn't getting a new client just because SOE knows that is where we have been getting our clients. If they were smart, they would just put a good VoA client on Steam and not a F2P HoT client or maybe the HoT client would be a different download to get just the patcher, since it still costs money to buy VoA (only up to HoT is free). Then, at least they would still make money off of EQEmu players vs forcing us to try to use Live patched clients which are free to everyone. If they want to stop EQEmu, there are much easier ways to do it, though I don't want to give them any ideas lol. I imagine they don't really care as much as you might think they would. So, hopefully EQ1 isn't on Steam right now just because Steam is always slow to get EQ client updates put up on their site.

Noport
04-06-2012, 03:53 AM
(Built Mar 21 2012 14:32:08)
Now have 0/10 characters
you need too swap opcode like this OP_LogServer=0x5b0b with OP_GuildsList=0x1497
trevius Feel free take over


OP_MOTD=0x1a7b # V 0x1a7b 04/03/12
OP_SetChatServer=0x2c38 # V 0x2c38 04/03/12
OP_SetChatServer2=0x441c # V 0x441c 04/03/12
OP_ZoneServerInfo=0x16f5 # V 0x16f5 04/03/12
OP_WorldComplete=0x3aef # V 0x3aef 04/03/12
OP_FloatListThing=0x45d7 # V 0x45d7 04/03/12

# Reasons for Disconnect:
OP_ZoneUnavail=0x66e4 # This is not the right opcode. Produces a 'Your character is inaccessible' message.
OP_WorldClientReady=0x3f24 # V 0x3f24 04/03/12
OP_CharacterStillInZone=0x0000 #
OP_WorldChecksumFailure=0x0000 #
OP_WorldLoginFailed=0x0000 #
OP_WorldLogout=0x0000 #
OP_WorldLevelTooHigh=0x0000 #
OP_CharInacessable=0x0000 #
OP_UserCompInfo=0x7e2f # V 0x7e2f 04/03/12
# OP_SendExeChecksum=0x0000 #
# OP_SendBaseDataChecksum=0x0000 #

# Zone in opcodes
OP_AckPacket=0x3594 # V 0x3594 04/03/12
OP_ZoneEntry=0x5821 # V 0x5821 04/03/12
OP_ReqNewZone=0x5417 # V 0x5417 04/03/12
OP_NewZone=0x43ac # V 0x43ac 04/03/12
OP_ZoneSpawns=0x0000 #
OP_PlayerProfile=0x6afd # V 0x6afd 04/03/12
OP_TimeOfDay=0x6015 # V 0x6015 04/03/12
OP_LevelUpdate=0x6e1c # V 0x6e1c 04/03/12
OP_Stamina=0x7686 # V 0x7686 04/03/12
OP_RequestClientZoneChange=0x18ea # V 0x18ea 04/03/12
OP_ZoneChange=0x0000 #
OP_LockoutTimerInfo=0x0000 #
OP_ZoneServerReady=0x0000 #
OP_ZoneInUnknown=0x0000 #
OP_LogoutReply=0x0000 #
OP_PreLogoutReply=0x0000 #

# Required to fully log in
OP_SpawnAppearance=0x3f55 # V 0x3f55 04/03/12
OP_TributeUpdate=0x047c # V 0x047c 04/03/12
OP_TributeTimer=0x0000 #
OP_TaskDescription=0x2e4f # V 0x2e4f 04/03/12
OP_TaskActivity=0x512B # V 0x512B 04/03/12
OP_CompletedTasks=0x3141 # V 0x3141 04/03/12
OP_Weather=0x4658 # V 0x4658 04/03/12
OP_SendAATable=0x6a7e # V 0x6a7e 04/03/12
OP_UpdateAA=0x2ac1 # V 0x2ac1 04/03/12
OP_RespondAA=0x7bf6 # V 0x7bf6 04/03/12
OP_ReqClientSpawn=0x47e7 # V 0x47e7 04/03/12
OP_SpawnDoor=0x7113 # V 0x7113 04/03/12
OP_GroundSpawn=0x33e5 # V 0x33e5 04/03/12
OP_SendZonepoints=0x399f # V 0x399f 04/03/12
OP_SendAAStats=0x5832 # V 0x5832 04/03/12
OP_WorldObjectsSent=0x7b73 # V 0x7b73 04/03/12
OP_BlockedBuffs=0x664a # V 0x664a 04/03/12
OP_SendExpZonein=0x54e8 # V 0x54e8 04/03/12
OP_SendTributes=0x0000 #
OP_TributeInfo=0x4775 # V 0x4775 04/03/12
OP_SendGuildTributes=0x0000 #
OP_AAExpUpdate=0x1318 # V 0x1318 04/03/12
OP_ExpUpdate=0x0000 # V 0x0000 04/03/12
OP_HPUpdate=0x2369 # V 0x2369 04/03/12
OP_ManaChange=0x8543 # V 0x8543 04/03/12
OP_TGB=0x3672 # V 0x3672 04/03/12
OP_SpecialMesg=0x039d # V 0x039d 04/03/12
OP_GuildMemberList=0x51bc # V 0x51bc 04/03/12
OP_GuildMOTD=0x0a1d # V 0x0a1d 04/03/12
OP_CharInventory=0x6cfe # V 0x6cfe 04/03/12
OP_WearChange=0x1a58 # V 0x1a58 04/03/12
OP_ClientUpdate=0x7062 # V 0x7062 04/03/12
OP_ClientReady=0x6cdc # V 0x6cdc 04/03/12
OP_SetServerFilter=0x053a # V 0x053a 04/03/12
OP_LeaderExpUpdate=0x3703 # V 0x3703 04/03/12
OP_Lockouts=0x488b # V 0x488b 04/03/12

# Guild Opcodes
OP_GetGuildMOTD=0x709d # V 0x709d 04/03/12
OP_GetGuildMOTDReply=0x0000 #
OP_GuildMemberUpdate=0x589f # V 0x589f 04/03/12
OP_GuildInvite=0x0000 #
OP_GuildRemove=0x0000 #
OP_GuildPeace=0x0000 #
OP_SetGuildMOTD=0x0000 #
#OP_GuildList=0x5b0b #
OP_GuildWar=0x0000 #
OP_GuildLeader=0x0000 #
OP_GuildDelete=0x0000 #
OP_GuildInviteAccept=0x0000 #
OP_GuildDemote=0x0000 #
OP_GuildPublicNote=0x17a2 # V 0x17a2 04/03/12
OP_GuildManageBanker=0x0000 #
OP_GuildBank=0x7b22 # V 0x7b22 04/03/12
OP_SetGuildRank=0x0000 #
OP_GuildUpdateURLAndChannel=0x0000 #
OP_GuildMemberLevelUpdate=0x0000 #
OP_ZoneGuildList=0x0000 #
OP_GetGuildsList=0x0000 #
# OP_GuildManageRemove=0x0000 #
# OP_GuildManageAdd=0x0000 #
# OP_GuildManageStatus=0x0000 #

# GM/guide opcodes
OP_GMServers=0x0000 #
OP_GMBecomeNPC=0x0000 #
OP_GMZoneRequest=0x6f79 # V 0x6f79 04/03/12
OP_GMZoneRequest2=0x02d6 # V 0x02d6 04/03/12
OP_GMGoto=0x0000 #
OP_GMSearchCorpse=0x0000 #
OP_GMHideMe=0x0000 #
OP_GMDelCorpse=0x0000 #
OP_GMApproval=0x0000 #
OP_GMToggle=0x0000 #
OP_GMSummon=0x0000 #
OP_GMEmoteZone=0x0000 #
OP_GMEmoteWorld=0x0000 #
OP_GMFind=0x0000 #
OP_GMKick=0x6980 # V 0x6980 04/03/12
OP_GMKill=0x0000 #
OP_GMNameChange=0x0000 #
OP_GMLastName=0x23a1 # V 0x23a1 04/03/12

OP_InspectAnswer=0x0c54 # V 0x0c54 04/03/12
OP_BeginCast=0x0d5a # V 0x0d5a 04/03/12
OP_BuffFadeMsg=0x3887 # V 0x3887 04/03/12
OP_ConsentResponse=0x35c6 # V 0x35c6 04/03/12
OP_MemorizeSpell=0x2917 # V 0x2917 04/03/12
OP_SwapSpell=0x28A7 # V 0x28A7 04/03/12
OP_CastSpell=0x71bf # V 0x71bf 04/03/12
OP_Consider=0x70c6 # V 0x70c6 04/03/12
OP_FormattedMessage=0x4675 # V 0x4675 04/03/12
OP_SimpleMessage=0x0698 # V 0x0698 04/03/12
OP_Buff=0x0000 #
OP_Illusion=0x10b7 # V 0x10b7 04/03/12
OP_MoneyOnCorpse=0x4074 # V 0x4074 04/03/12
OP_RandomReply=0x07fb # V 0x07fb 04/03/12
OP_DenyResponse=0x0370 # V 0x0370 04/03/12
OP_SkillUpdate=0x7f01 # V 0x7f01 04/03/12
OP_GMTrainSkillConfirm=0x0000 #
OP_RandomReq=0x303E # V 0x303E 04/03/12
OP_Death=0x6685 # V 0x6685 04/03/12
OP_Bind_Wound=0x0000 #
OP_GMTraining=0x0000 #
OP_GMEndTraining=0x0000 #
OP_GMTrainSkill=0x0000 #
OP_Animation=0x0b93 # V 0x0b93 04/03/12
OP_Begging=0x13e7 # V 0x13e7 04/03/12
OP_Consent=0x6bb9 # V 0x6bb9 04/03/12
OP_ConsentDeny=0x6b7f # V 0x6b7f 04/03/12
OP_AutoFire=0x0000 #
OP_PetCommands=0x10a1 # V 0x10a1 04/03/12
OP_DeleteSpell=0x0000 #
OP_Surname=0x4668 # V 0x4668 04/03/12
OP_ClearSurname=0x0000 #
OP_FaceChange=0x0000 #
OP_SenseHeading=0x05ac # V 0x05ac 04/03/12
OP_Action=0x1b85 # V 0x1b85 04/03/12
OP_ConsiderCorpse=0x00dd # V 0x00dd 04/03/12
OP_HideCorpse=0x0000 #
OP_Bug=0x7ac3 # V 0x7ac3 04/03/12
OP_Feedback=0x52b5 # V 0x52b5 04/03/12
OP_Report=0x0375 # V 0x0375 04/03/12
OP_Damage=0x7519 # V 0x7519 04/03/12
OP_ChannelMessage=0x2e79 # V 0x2e79 04/03/12
OP_Assist=0x0000 #
OP_AssistGroup=0x0000 #
OP_MoveCoin=0x0000 #
OP_ZonePlayerToBind=0x0000 #
OP_KeyRing=0x0000 #
OP_WhoAllRequest=0x117a # V 0x117a 04/03/12
OP_WhoAllResponse=0x15de # V 0x15de 04/03/12
OP_FriendsWho=0x0000 #
OP_ConfirmDelete=0x3838 # V 0x3838 04/03/12
OP_Logout=0x3401 # V 0x3401 04/03/12
OP_Rewind=0x0000 #
OP_TargetCommand=0x40b6 # V 0x40b6 04/03/12
OP_InspectRequest=0x2683 # V 0x2683 04/03/12
OP_Hide=0x6f64 # V 0x6f64 04/03/12
OP_Jump=0x08b3 # V 0x08b3 04/03/12
OP_Camp=0x2eeb # V 0x2eeb 04/03/12
OP_Emote=0x7434 # V 0x7434 04/03/12
OP_SetRunMode=0x4ed9 # V 0x4ed9 04/03/12
OP_BankerChange=0x0000 #
OP_TargetMouse=0x3edc # V 0x3edc 04/03/12
OP_MobHealth=0x5cb0 # V 0x5cb0 04/03/12
OP_InitialMobHealth=0x010d # V 0x010d 04/03/12
OP_TargetHoTT=0x0000 #
OP_TargetBuffs=0x0000 #
OP_BuffCreate=0x0000
OP_DeleteSpawn=0x28c7 # V 0x28c7 04/03/12
OP_AutoAttack=0x1df9 # V 0x1df9 04/03/12
OP_AutoAttack2=0x701f # V 0x701f 04/03/12
OP_Consume=0x31c2 # V 0x31c2 04/03/12
OP_MoveItem=0x2963 # V 0x2963 04/03/12
OP_DeleteItem=0x0000 #
OP_DeleteCharge=0x0000 #
OP_ItemPacket=0x2dd3 # V 0x2dd3 04/03/12
OP_ItemLinkResponse=0x24C9 # V 0x24C9 04/03/12
OP_ItemLinkClick=0x6948 # V 0x6948 04/03/12
OP_NewSpawn=0x0000 #
OP_Track=0x79e0 # V 0x79e0 04/03/12
OP_TrackTarget=0x0000 #
OP_TrackUnknown=0x0000 #
OP_ClickDoor=0x48f9 # V 0x48f9 04/03/12
OP_MoveDoor=0x231F # V 0x231F 04/03/12
OP_EnvDamage=0x2730 # V 0x2730 04/03/12
OP_BoardBoat=0x4298 # V 0x4298 04/03/12
OP_Forage=0x7c33 # V 0x7c33 04/03/12
OP_LeaveBoat=0x67c9 # V 0x67c9 04/03/12
OP_ControlBoat=0x0000 #
OP_SafeFallSuccess=0x0000 #
OP_RezzComplete=0x0000 #
OP_RezzRequest=0x0000 #
OP_RezzAnswer=0x0000 #
OP_Shielding=0x0000 #
OP_RequestDuel=0x0000 #
OP_MobRename=0x0000 #
OP_AugmentItem=0x0000 #
OP_WeaponEquip1=0x7404 # V 0x7404 04/03/12 //looks like 1 & 2 use same opcode- 2nd uint32 specifies weapon 1 or 2
OP_WeaponEquip2=0x0000 #
OP_WeaponUnequip2=0x0000 #
OP_ApplyPoison=0x0000 #
OP_Save=0x1436 # V 0x1436 04/03/12
OP_TestBuff=0x0000 #
OP_CustomTitles=0x6ade # V 0x6ade 04/03/12
OP_Split=0x10a6 # V 0x10a6 04/03/12
OP_YellForHelp=0x61ef # V 0x61ef 04/03/12
OP_LoadSpellSet=0x61ac # V 0x61ac 04/03/12
OP_Bandolier=0x0000 #
OP_PotionBelt=0x0000 #
OP_DuelResponse=0x0000 #
OP_DuelResponse2=0x0000 #
OP_SaveOnZoneReq=0x2913 # V 0x2913 04/03/12
OP_ReadBook=0x0000 #
OP_Dye=0x0000 #
OP_InterruptCast=0x0000 #
OP_AAAction=0x0a4f # V 0x0a4f 04/03/12
OP_LeadershipExpToggle=0x0000 #
OP_LeadershipExpUpdate=0x0000 #
OP_PurchaseLeadershipAA=0x0000 #
OP_UpdateLeadershipAA=0x0000 #
OP_MarkNPC=0x0000 #
OP_ClearNPCMarks=0x0000 #
OP_DoGroupLeadershipAbility=0x0000 #
OP_GroupLeadershipAAUpdate=0x1aae # V 0x1aae 04/03/12
OP_DelegateAbility=0x0000 #
OP_SetGroupTarget=0x0000 #
OP_Charm=0x0000 #
OP_Stun=0x0000 #
OP_SendFindableNPCs=0x3015 # V 0x3015 04/03/12
OP_FindPersonRequest=0x1089 # V 0x1089 04/03/12
OP_FindPersonReply=0x0000 #
OP_Sound=0x0000 #
OP_PetBuffWindow=0x0000 #
OP_LevelAppearance=0x0000 #
OP_Translocate=0x0000 #
OP_Sacrifice=0x0000 #
OP_PopupResponse=0x0000 #
OP_OnLevelMessage=0x0000 #
OP_AugmentInfo=0x0000 #
OP_Petition=0x0000 #
OP_SomeItemPacketMaybe=0x4200 # V 0x420 04/03/12
OP_SomeItemPacketMaybe=0x0000 #
OP_PVPStats=0x0000 #
OP_PVPLeaderBoardRequest=0x0000 #
OP_PVPLeaderBoardReply=0x0000 #
OP_PVPLeaderBoardDetailsRequest=0x0000 #
OP_PVPLeaderBoardDetailsReply=0x0000 #
OP_RestState=0x0000 #
OP_RespawnWindow=0x063b # V 0x063b 04/03/12
OP_DisciplineTimer=0x0000 #
OP_LDoNButton=0x0000 #
OP_SetStartCity=0x0000 #
OP_VoiceMacroIn=0x0000 #
OP_VoiceMacroOut=0x0000 #
OP_ItemViewUnknown=0x0000 #
OP_VetRewardsAvaliable=0x0000 #
OP_VetClaimRequest=0x0000 #
OP_VetClaimReply=0x0000 #
OP_CrystalCountUpdate=0x0000 #
OP_DisciplineUpdate=0x0000 #
OP_BecomeCorpse=0x0000 #
OP_Action2=0x631a # V 0x631a 04/03/12
OP_MobUpdate=0x4656 # V 0x4656 04/03/12
OP_NPCMoveUpdate=0x2339 # V 0x2339 04/03/12
OP_CameraEffect=0x0000 #
OP_SpellEffect=0x0000 #

OP_DzQuit=0x1539
OP_DzListTimers=0x21e9
OP_DzAddPlayer=0x3657
OP_DzRemovePlayer=0x054e
OP_DzSwapPlayer=0x4661
OP_DzMakeLeader=0x226f
OP_DzPlayerList=0x74e4
OP_DzJoinExpeditionConfirm=0x3c5e
OP_DzJoinExpeditionReply=0x1154
OP_DzExpeditionInfo=0x1150
OP_DzMemberStatus=0x2d17
OP_DzLeaderStatus=0x2caf
OP_DzExpeditionEndsWarning=0x6ac2
OP_DzExpeditionList=0x70d8
OP_DzMemberList=0x15c4
OP_DzCompass=0x01cb
OP_DzChooseZone=0x0000

# New Opcodes
OP_SpawnPositionUpdate=0x0000 #
OP_ManaUpdate=0x7c94 # V 0x7c94 04/03/12
OP_EnduranceUpdate=0x5851 # V 0x5851 04/03/12
OP_MobManaUpdate=0x190c # V 0x190c 04/03/12
OP_MobEnduranceUpdate=0x4d27 # V 0x4d27 04/03/12
OP_MovementHistory=0x1910 # V 0x1910 04/03/12
OP_Shroud=0x1d51 # V 0x1d51 04/03/12
OP_GroupLeader=0x5fe3 # V 0x5fe3 04/03/12
OP_DzSwitchInfo=0x28ce # V 0x28ce 04/03/12
OP_DzInfo=0x6c75 # V 0x6c75 04/03/12
OP_EndUpdate=0x5851 # V 0x5851 04/03/12
OP_SpawnRename=0x0598 # V 0x1055 04/03/12
OP_GroupInvited=0x3288 # V 0x3288 04/03/12
OP_RemoveSpawn=0x3164 # V 0x3164 04/03/12
OP_CorpseLocResponse=0x2222 # V 0x2222 04/03/12
OP_CommonMessage=0x2e79 # V 0x2e79 04/03/12
OP_Marketplace=0x7c11 # V 0x7c11 04/03/12
OP_WelcomeScreenTitle=0x097f # V 0x097f 04/03/12
OP_VeteranRewards=0x5d0f # V 0x5d0f 04/03/12
OP_WelcomeScreenURL=0x3ef9 # V 0x3ef9 04/03/12
OP_Claims=0x3637 # V 0x3637 04/03/12
OP_PollQuestions=0x47b3 # V 0x47b3 04/03/12
OP_PollResponses=0xa1e6 # V 0xa1e6 04/03/12
OP_ShroudProgression=0x064d # V 0x064d 04/03/12
OP_Fellowship=0x01e5 # V 0x01e5 04/03/12
OP_ExpandedGuildInfo=0x03d1 # V 0x03d1 04/03/12
OP_OpenTradeskillContainer=0x29df # V 0x29df 04/03/12
OP_TradeskillRecipes=0x1ecf # V 0x1ecf 04/03/12
OP_ItemPlayerPacket=0x6cfe # V 0x6cfe 04/03/12
OP_GuildExtendedInfo=0x7161 # V 0x7161 04/03/12
OP_RequestZoneChange=0x24d8 # V 0x24d8 04/03/12
OP_DeltaCheck=0x16c1 # V 0x16c1 04/03/12
OP_FindResponse=0x71b1 # V 0x71b1 04/03/12
OP_NPCMoveUpdate=0x2339 # V 0x2339 04/03/12
OP_Marketplace=0x0c32 # V 0x0c32 04/03/12
OP_DzMembers=0x012f # V 0x012f 04/03/12
OP_Campfire=0x4292 # V 0x4292 04/03/12
OP_VoiceChat=0x0fd3 # V 0x0fd3 04/03/12
OP_TradeDeny=0x2c03 # V 0x2c03 04/03/12

# Looting
OP_LootRequest=0x1d85 # V 0x1d85 04/03/12
OP_EndLootRequest=0x00bc # V 0x00bc 04/03/12
OP_LootItem=0x5bd9 # V 0x5bd9 04/03/12
OP_LootComplete=0x528f # V 0x528f 04/03/12

# bazaar trader stuff stuff:
OP_BazaarSearch=0x2881 # V 0x2881 04/03/12
OP_TraderDelItem=0x0000 #
OP_BecomeTrader=0x0000 #
OP_TraderShop=0x0681 # V 0x0681 04/03/12
OP_Trader=0x358a # V 0x358a 04/03/12
OP_TraderBuy=0x783c # V 0x783c 04/03/12
OP_Barter=0x0000 #
OP_ShopItem=0x0000 #
OP_BazaarInspect=0x0000 #
OP_Bazaar=0x0000 #
OP_TraderItemUpdate=0x0000 #

# pc/npc trading
OP_TradeRequest=0x0c24 # V 0x0c24 04/03/12
OP_TradeAcceptClick=0x064a # V 0x064a 04/03/12
OP_TradeRequestAck=0x606a # V 0x606a 04/03/12
OP_TradeCoins=0x1418 # V 0x1418 04/03/12
OP_FinishTrade=0x1ebb # V 0x1ebb 04/03/12
OP_CancelTrade=0x527e # V 0x527e 04/03/12
OP_TradeMoneyUpdate=0x0000 #
OP_MoneyUpdate=0x0000 #
OP_TradeBusy=0x0000 #

# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x0000 #
OP_FinishWindow2=0x0000 #

# Sent on Live for what seems to be item existance verification
# Ex. Before Right Click Effect happens from items
OP_ItemVerifyRequest=0x0000 #
OP_ItemVerifyReply=0x0000 #

# merchant crap
OP_ShopPlayerSell=0xfe13 # V 0xfe13 04/03/12
OP_ShopRequest=0x45f9 # V 0x45f9 04/03/12
OP_ShopEnd=0x7e03 # V 0x7e03 04/03/12
OP_ShopEndConfirm=0x0000 #
OP_ShopPlayerBuy=0x0af6 # V 0x0af6 04/03/12
OP_ShopDelItem=0x0000 #

# tradeskill stuff:
OP_ClickObject=0x5f0d # V 0x5f0d 04/03/12
OP_ClickObjectAction=0x0000 #
OP_ClearObject=0x0000 #
OP_RecipeDetails=0x0000 #
OP_RecipesFavorite=0x0000 #
OP_RecipesSearch=0x0000 #
OP_RecipeReply=0x0000 #
OP_RecipeAutoCombine=0x0000 #
OP_TradeSkillCombine=0x0840 # V 0x0840 04/03/12

# Tribute Packets:
OP_OpenGuildTributeMaster=0x0000 #
OP_OpenTributeMaster=0x0000 #
OP_SelectTribute=0x0000 #
OP_TributeItem=0x0000 #
OP_TributeMoney=0x0000 #
OP_TributeToggle=0x0000 #
OP_TributePointUpdate=0x0000 #
OP_TributeNPC=0x0000 #
OP_GuildTributeInfo=0x28c1 # V 0x28c1 04/03/12
OP_OpenTributeReply=0x0000 #
# OP_GuildTributeStatus=0x6774 # V 0x6774 04/03/12

# Adventure packets:
OP_LeaveAdventure=0x0000 #
OP_AdventureFinish=0x0000 #
OP_AdventureInfoRequest=0x0000 #
OP_AdventureInfo=0x0000 #
OP_AdventureRequest=0x0000 #
OP_AdventureDetails=0x0000 #
OP_AdventureData=0x0000 #
OP_AdventureUpdate=0x0000 #
OP_AdventureMerchantRequest=0x0000 #
OP_AdventureMerchantResponse=0x0000 #
OP_AdventureMerchantPurchase=0x0000 #
OP_AdventureMerchantSell=0x0000 #
OP_AdventurePointsUpdate=0x0000 #
OP_AdventureStatsRequest=0x0000 #
OP_AdventureStatsReply=0x0000 #
OP_AdventureLeaderboardRequest=0x0000 #
OP_AdventureLeaderboardReply=0x0000 #

# Group Opcodes
OP_GroupInvite=0x3288 # V 0x3288 04/03/12
OP_GroupFollow=0x74e9 # V 0x74e9 04/03/12
OP_GroupUpdate=0x367f # V 0x367f 04/03/12
OP_GroupUpdate2=0x4b82 # V 0x4b82 04/03/12
OP_GroupCancelInvite=0x2736 # V 0x2736 04/03/12
OP_GroupAcknowledge=0x0000 #
OP_GroupDelete=0x0000 #
OP_CancelInvite=0x0000 #
OP_GroupFollow2=0x44c2 # V 0x44c2 04/03/12
OP_GroupInvite2=0x5251 # V 0x5251 04/03/12
OP_GroupDisband=0x367b # V 0x367b 04/03/12
OP_GroupDisband2=0x4b82 # V 0x4b82 04/03/12
OP_GroupLeaderChange=0x0000 #
OP_GroupRoles=0x6364 # V 0x6364 04/03/12

# LFG/LFP Opcodes
OP_LFGCommand=0x68ac # V 0x68ac 04/03/12
OP_LFGGetMatchesRequest=0x20c6 # V 0x20c6 04/03/12
OP_LFGGetMatchesResponse=0x3d0c # V 0x3d0c 04/03/12
OP_LFPGetMatchesRequest=0x35a6 # V 0x35a6 04/03/12
OP_LFPCommand=0x6f82 # V 0x6f82 04/03/12
OP_LFGAppearance=0x0000 #
OP_LFGResponse=0x0000 #

# Raid Opcodes
OP_RaidInvite=0x0c08 # V 0x0c08 04/03/12
OP_RaidUpdate=0x0000 #
OP_RaidJoin=0x550f # V 0x550f 04/03/12

# Button-push commands
OP_Taunt=0x0000 #
OP_CombatAbility=0x0000 #
OP_SenseTraps=0x5666 # V 0x5666 04/03/12
OP_PickPocket=0x0000 #
OP_DisarmTraps=0x34e8 # V 0x34e8 04/03/12
OP_Disarm=0x0000 #
OP_Sneak=0x4312 # V 0x4312 04/03/12
OP_Fishing=0x0000 #
OP_InstillDoubt=0x0000 #
OP_FeignDeath=0x0000 #
OP_Mend=0x14ef # V 0x14ef 04/03/12
OP_LDoNOpen=0x0000 #

# Task packets
OP_TaskActivityComplete=0x0000 #
OP_TaskMemberList=0x0000 #
OP_OpenNewTasksWindow=0x0000 #
OP_AvaliableTask=0x0000 #
OP_AcceptNewTask=0x0000 #
OP_TaskHistoryRequest=0x0000 #
OP_TaskHistoryReply=0x0000 #
OP_CancelTask=0x0000 #
OP_DeclineAllTasks=0x0000 #

# Title opcodes
OP_NewTitlesAvailable=0x0000 #
OP_RequestTitles=0x0000 #
OP_SendTitleList=0x0000 #
OP_SetTitle=0x0000 #
OP_SetTitleReply=0x0000 #

# mail opcodes
OP_Command=0x0000 #
OP_MailboxHeader=0x0000 #
OP_MailHeader=0x0000 #
OP_MailBody=0x0000 #
OP_NewMail=0x0000 #
OP_SentConfirm=0x0000 #
# # # # # # # # # # # Below this point should not be needed # # # # # # # # # # #

# This section are all unknown in Titanium
OP_ForceFindPerson=0x0000 #
OP_LocInfo=0x0000 #
OP_ReloadUI=0x0000 #
OP_ItemName=0x0000 #
OP_ItemLinkText=0x0000 #
OP_MultiLineMsg=0x0000 #
OP_MendHPUpdate=0x1ffa # V 0x1ffa 04/03/12
OP_TargetReject=0x0000 #
OP_SafePoint=0x0000 #
OP_IncreaseStats=0x0000 #
OP_ApproveZone=0x0000 #
OP_ZoneComplete=0x0000 #
OP_ClientError=0x0000 #
OP_DumpName=0x0000 #
OP_Heartbeat=0x0000 #
OP_CrashDump=0x0000 #
OP_LoginComplete=0x0000 #

# discovered opcodes not yet used:
OP_PickLockSuccess=0x0000 #
OP_PlayMP3=0x0000 #
OP_ReclaimCrystals=0x0000 #
OP_DynamicWall=0x0000 #
OP_OpenDiscordMerchant=0x0000 #
OP_DiscordMerchantInventory=0x0000 #
OP_GiveMoney=0x0000 #
OP_RequestKnowledgeBase=0x0000 #
OP_KnowledgeBase=0x0000 #
OP_SlashAdventure=0x0000 # /adventure
OP_BecomePVPPrompt=0x0000 #
OP_MoveLogRequest=0x0000 # gone I think
OP_MoveLogDisregard=0x0000 # gone I think

# named unknowns, to make looking for real unknown easier
OP_AnnoyingZoneUnknown=0x0000 #
OP_Some6ByteHPUpdate=0x0000 # seems to happen when you target group members
OP_QueryResponseThing=0x0000 #


# realityincarnate: these are just here to stop annoying several thousand byte packet dumps
#OP_LoginUnknown1=0x0000 # U OP_SendSpellChecksum
#OP_LoginUnknown2=0x0000 # U OP_SendSkillCapsChecksum

# Petition Opcodes
OP_PetitionSearch=0x0000 # search term for petition
OP_PetitionSearchResults=0x0000 # (list of?) matches from search
OP_PetitionSearchText=0x0000 # text results of search

OP_PetitionUpdate=0x0000 #
OP_PetitionCheckout=0x0000 #
OP_PetitionCheckIn=0x0000 #
OP_PetitionQue=0x0000 #
OP_PetitionUnCheckout=0x0000 #
OP_PetitionDelete=0x0000 #
OP_DeletePetition=0x0000 #
OP_PetitionResolve=0x0000 #
OP_PDeletePetition=0x0000 #
OP_PetitionBug=0x0000 #
OP_PetitionRefresh=0x0000 #
OP_PetitionCheckout2=0x0000 #
OP_PetitionViewPetition=0x0000 #

#Login opcodes
OP_SessionReady=0x0000
OP_Login=0x0000
OP_ServerListRequest=0x0000
OP_PlayEverquestRequest=0x0000
OP_PlayEverquestResponse=0x0000
OP_ChatMessage=0x0000
OP_LoginAccepted=0x0000
OP_ServerListResponse=0x0000
OP_Poll=0x0000
OP_EnterChat=0x0000
OP_PollResponse=0x0000

# raw opcodes
OP_RAWSessionRequest=0x0000 #
OP_RAWSessionResponse=0x0000 #
OP_RAWCombined=0x0000 #
OP_RAWSessionDisconnect=0x0000 #
OP_RAWKeepAlive=0x0000 #
OP_RAWSessionStatRequest=0x0000 #
OP_RAWSessionStatResponse=0x0000 #
OP_RAWPacket=0x0000 #
OP_RAWFragment=0x0000 #
OP_RAWOutOfOrderAck=0x0000 #
OP_RAWAck=0x0000 #
OP_RAWAppCombined=0x0000 #
OP_RAWOutOfSession=0x0000 #

# we need to document the differences between these packets to make identifying them easier
OP_Some3ByteHPUpdate=0x6537 # V 0x6537 04/03/12 initial HP update for mobs merc
OP_InitialHPUpdate=0x0000 #
OP_MercenaryDataRequest=0x33b8 # V 0x33b8 04/03/12
OP_MercenaryDataResponse=0x0327 # V 0x0327 04/03/12
OP_MercenaryHire=0x0000 #
OP_MercenaryAssign=0x0000 #
OP_MercenaryTimer=0x0000 #
OP_MercenaryDismiss=0x2ef8 # V 0x2ef8 04/03/12
OP_Mercenarysuspend=0x1a79 # V 0x1a79 04/03/12

Noport
04-06-2012, 05:29 AM
VoA and HoT are using the same opcodes same client we can make opcode changes and have the latest client VoA. I have access to both HoT and VoA on sony

trevius
04-07-2012, 03:48 AM
Noport, that is because HoT and VoA are the same client on Live. No matter what expansions you own or do not own, there is no difference in clients when you are fully patched to Live. If you are referring to the clients that are compatible with EQEmu, then HoT and VoA are 2 different build dates and use different opcodes and packet structures.

Anyway, I got the issue with it crashing out fixed. Now, the Live/VoA client can log in and quite a bit is functional, but there is still quite a bit that needs to be done to make it even playable. I will probably try to get what I have done up on the SVN soon and just comment out the patch registration for VoA until it is more finalized. That way, people can work on it or test it out in the meantime.

Noport
04-07-2012, 04:44 AM
Thank you trevius that sounds like a great plan

trevius
04-07-2012, 05:25 AM
OK, I got it committed if anyone wants to play around with it or maybe work on some stuff. See the changelog for a few notes on how to enable VoA and also what not to do (like test in a zone empty of NPCs and don't have items in your bank).

Here is a quick list of some priorities that need to be fixed:

1. Non-Player Race Spawns
2. Item Slots
3. AAs (I think they might just be missing an opcode now because the client excepts the AA tables and they match what I see on Live).
4. Casting

I am sure there are many more, but until spawns are working, we are limited in what can be done/tested. I know Derision is the spawn struct master, so maybe he has something worked out for them already somewhere.

I may not have much time to work on this over the rest of the weekend, but I plan to figure out the item slot stuff first if I can and have time.

Derision
04-07-2012, 10:21 AM
I've updated the spawn encode based on what ShowEQ uses. I went to several zones and none-player races seemed to spawn OK now.

Something appears to be not quite right, as players and NPCs seem smaller than they should be.

I added an extra uint32 to the EquipStruct and removed the corresponding number of bytes from the PlayerProfile.

I also fixed zoning while I was at it.

EDIT: I found I was crashing when zoning into PoK, which I narrowed down to the struct for OP_TaskActivity having changed (looks like an extra 4 bytes added).

Since the TaskActivity struct is a variable sized one and it wasn't trivial to write an encode for it in a couple of minutes, I just commented out OP_TaskDescription and OP_TaskActivity in my local copy of patch_VoA.conf.

gibroni
04-07-2012, 02:36 PM
so if i wanted to mess with this at all, i need to purchase VoA or just use the f2p live client?

Derision
04-07-2012, 02:47 PM
so if i wanted to mess with this at all, i need to purchase VoA or just use the f2p live client?

The current f2p live client.

trevius
04-07-2012, 06:24 PM
Thanks Derision, that all looks really good.

I got normal item slots figured out and a function made for VoA conversion to Titanium. I still need to make the one for the other way around. I also need to add the new conversion to all encodes and decodes that need it. Though it still won't work for the new larger than 10 slot bags or the 2 new inventory slots. For those to work, it is going to take quite a few adjustments all over the source. I figure we will just need to handle all slots like live and then convert all older clients to the new system.

I will commit the slot stuff later when more of it is in place.

Irreverent
04-17-2012, 09:33 AM
I'm going to enable this on my server, as my wonderful testers are great at finding things and coming back with objective observations.

To make sure we're both apples(or oranges) What compiler, OS, and perl version are you using?

Currently Server'03, Express'08, and Perl 5.10

Obviously, I will have to update to 2010 to use queryserv which is being used by LFGu function.

trevius
04-17-2012, 11:00 AM
To make sure we're both apples(or oranges) What compiler, OS, and perl version are you using?

Currently Server'03, Express'08, and Perl 5.10

Obviously, I will have to update to 2010 to use queryserv which is being used by LFGu function.

I run Linux, so that stuff isn't really relevant for me.

If you were able to compile the source in the past, you should have no trouble doing it the same way now. Though, I don't know much about what is required for queryserv other than maybe VS2010 like you mentioned. Using queryserv is optional though, if you are having troubles compiling it.

sorvani
04-17-2012, 11:06 AM
Queryserv compiles in 2008 with perl 5.12. I never tried to do it with 5.10

blackdragonsdg
04-17-2012, 03:58 PM
Queryserv compiles fine with perl 5.10 in VS2008.