Log in

View Full Version : Possible Opcodes


blackdragonsdg
04-22-2009, 03:23 PM
I was trying to update my minlogin database from PEQServerPack-Maps-4.0-1110a to peqdb_1129Rev408 and hit a snag.

This is part of the log file that was generated:

I was attempting to put an Iksar Monk into East Cabilis then it switched and tried inserting him into South Qeynos, both from character select screen.
[04.22. - 02:39:31] [WORLD__CLIENT_ERR] [OpCode OP_Unknown (0x22cf) Size=2056]

I was attempting to put a Barbarian Shaman into Halas then it switched and tried inserting him in The Arena, both from chracter select screen.
[04.22. - 02:39:31] [WORLD__CLIENT_ERR] [OpCode OP_Unknown (0x43ba) Size=2056]


It looks to me as if I inadvertently found several missing opcodes or it is a case of incompatible client, database and eqemu version.

trevius
04-23-2009, 09:31 PM
What client are you using to do that and how are you moving them?

Those opcodes are for SoF and they are the client sending a checksum that the server basically just ignores (like it is supposed to). It's something EQLive uses to verify the client is running the correct patch version, I believe.

Sounds like that player is using SoF, which should be enabled by defauly on R408, but there have been many updates and fixes for it since then. If you can't compile the current source yourself, you may want to wait until the next binary update (probably sometime soon) before doing too much support for SoF players.

Also, make sure that you copy the patch_SoF.conf file from your /utils directory into your main server directory. It is very important that you do that for at least the SoF file each time you update right now, since we are constantly adding new ones to it. Though, it is almost fully completed right now :)

blackdragonsdg
04-24-2009, 03:46 AM
I was using Emu Rev408 when those opcodes showed up in my log files. The moving from zone to zone occured at the character select screen and it just did it automatically, I had nothing to do with that. I also went back and looked at previous logs and found:
[04.22. - 01:48:18] [WORLD__CLIENT_ERR] [OpCode OP_Unknown (0x5dc0) Size=0]

I was attempting to bring both my database and Emu versions up to date, without much luck I might add. For some reason I keep getting funny errors.

I did try compiling the emulator myself using the most recent files from the svn but this keeps happening:

Creating command line "cl.exe @c:\Temp\Build\Zone\Debug\RSP00000126764928.rsp /nologo /errorReport:prompt"
Compiling...
AA.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
aggro.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
attack.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
beacon.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
bonuses.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
client.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
client_logs.cpp
c:\temp\common\dbcore.h(9) : fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory


I went back and searched the svn for mysql.h but I could not find it.

blackdragonsdg
04-24-2009, 05:10 AM
Also, make sure that you copy the patch_SoF.conf file from your /utils directory into your main server directory. It is very important that you do that for at least the SoF file each time you update right now, since we are constantly adding new ones to it. Though, it is almost fully completed right now :)

Now that made a huge difference. That tidbit of information helped solve quite a few problems. Now my database changes actually work, Thanks Trevius!

nosfentora
04-25-2009, 08:01 AM
blackdragonsdg,

Download this (http://www.mediafire.com/?2otybyja2m2) (from Post #15) (http://eqemulator.net/forums/showthread.php?t=25372&highlight=eqemu+1118)

Extract it, and all you need is the dependancy's folder. (so you don't need to install mysql, zlib, etc etc etc in order to compile.)

If you're using visual studio (2005 or 2008), go to Tools -> Options
Click Show All Settings
Under Project and Solutions -> VC++ Directories
add a path to the Dependancys folder (ie c:\eqemu\source\Depandancys)
to the following:
Show Directories For -> Executable Files
Show Directories For -> Include Files
Show Directories For -> Reference Files
Show Directories For -> Library Files
Show Directories For -> Source Files

click OK and rebuild. all your cannot open <> errors should be taken care of.

If you get an error about Perl510.lib, you may need to download ActivePerl and install it, then copy Perl510.lib to the dependancys folder. (might be able to google and dl just that file too..)

blackdragonsdg
04-26-2009, 12:20 AM
Well that solved the missing files issue. Thanks nosfentora!

Now to find a less buggy version of questmgr.cpp ......managed to fix one of the errors and can prolly fix the invalid type conversion but the others I am not sure where to start. When looking at the syntax error nothing really jumps out at me but then again it could just be that I am rusty.

The first error was an unmatched { here:
void QuestManager::StartQuest(Mob *_owner, Client *_initiator) {
quest_mutex.lock();
owner = _owner;
initiator = _initiator;
depop_npc = false;
}
But that was clearly wrong, the QuestManager::Process() was missing a } which I added to the end and the error seems to be solved atleast for the moment, this may show up again after compiling and some testing.

The other errors are:

.\questmgr.cpp(117) : error C2664: 'Parser::Event' : cannot convert parameter 4 from 'Mob *' to 'NPC *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
.\questmgr.cpp(1190) : error C2065: 'PerlembParser' : undeclared identifier
.\questmgr.cpp(1190) : error C2059: syntax error : ')'