PDA

View Full Version : [Live] 5/21 Patch (incomplete)



cn187
05-21-2020, 10:03 AM
EDIT: It appears there may be other struct changes, so if this works for you, great. If not, then wait for the later update.

It looks like one of the structs used for OP_PlayerProfile changed, since updating that opcode causes a crash. Unfortunately due issues at work today I won't have time to figure out the fix until later.

In the meantime, the attached patch contains the rest of the updates, and will at least get you skittles. I'll post the final changes as soon as I can, unless Newby beats me to it ;-)

edward
05-21-2020, 11:40 AM
after applying the partial diff, seq crashes upon zoning with this error: Warning: OP_ZoneEntry (0x14a1) (dataLen: 92) doesn't match: sizeof(ClientZoneEntryStruct):88

cn187
05-21-2020, 12:11 PM
Hmm... Once I removed the opcode for OP_PlayerProfile, I was able to zone repeatedly. There must be other changes that didn't affect me when I was testing.

Are you on a regular server, or on a TLP server? If TLP, which one?

edward
05-21-2020, 12:40 PM
regular production server

before you waste any further time, this diff is meant to apply to the latest svn, correct? the diff applied cleanly to my checkout of svn 1031

edit: this may all be for naught. servers are coming down just after 12 PST

cn187
05-21-2020, 01:13 PM
Yes, it should be applied to the latest svn. I tested on TLP, so maybe there's a difference there. I'll check it on a regular server as soon as I can.

Newby
05-21-2020, 02:13 PM
I have a patch ready, but server is down. If they patch again, I'll have to redo, so I'm sitting on it atm.

Newby
05-21-2020, 04:07 PM
structs and opcodes, as usual...

splooge
05-21-2020, 04:14 PM
Thank you

BlueAdept
05-21-2020, 05:04 PM
Thanks to both of you. Great work.

cn187
05-21-2020, 05:47 PM
Thanks, Newby.

I guess the ZoneMgr change was the fix for PlayerProfile issue. I'm glad you knew right what to fix, since it probably would have taken me a while to figure it out.


I'll get svn updated and the tarball uploaded tonight sometime.

Newby
05-21-2020, 06:20 PM
I also fixed a duplicate opcode issue (OP_HouseAddress and OP_SwapSpell). Sometimes that can cause issues and the previous devs were setting the bad ones to 'ffff'. There's a bunch of little used opcodes set to 'ffff' for that reason. Neither of those are ones I mess with, so you probably changed one of them.

cn187
05-21-2020, 06:30 PM
Yes, I've done OP_SwapSpell along with some others. I'm under the impression that every zone opcode changes every patch. If that's correct, then maybe we should just set all of the ones that we're not currently updating to ffff in order to avoid collisions in the future.

Loki
05-21-2020, 07:37 PM
Thank you guys you all rock. Sorry I'm a slacker on beta :/

Newby
05-21-2020, 09:02 PM
/shrug, I have a script that I run after I update zone opcodes that looks for dups. That way I only mess with it if it complains.


#!/usr/bin/env python


opcodes = {}


with open ("/home/newby/showeq/showeq-current/conf/zoneopcodes.xml", "rt") as f:
for line in f:
line = line.rstrip ("\n")
i = line.find ('<opcode id="')
if i <> -1:
opcode = line[i+12:i+16]
if opcode not in opcodes:
opcodes[opcode] = []
opcodes[opcode].append (line)
for opcode in opcodes:
if len (opcodes[opcode]) > 1:
print opcode, opcodes[opcode]