PDA

View Full Version : NEWS: MySEQ Open 2.3.0 Released



Razzle
02-11-2013, 11:42 PM
Announcing the release of MySEQ Open 2.3.0. The installer can be downloaded from the files section (http://sourceforge.net/projects/seq/files/MySEQ%20%28Windows%20SEQ%29/MySEQ%20Open%202.3.0/MySEQ%20Open%202.3.0.msi/download) on sourceforge.

Release Version 2.3.0</SPAN>
Dated 11 February 2013</SPAN>

Server Changes</SPAN>


Added some optimizations to server code. The server code is not very cpu intensive already, but this saved 20-40% when testing. </SPAN>
Fixed a bug that would cause the client/server to get out of sync. </SPAN>
Changed how server/client interact when switching characters between multiple EQ sessions. This requires both the client and server to be updated to 2.3.0 or higher to work correctly. This fixes an issue that caused the client/server connection to be lost while switching characters. </SPAN>
Improved the detection for a running eqgame.exe process. This should require less stopping and restarting the client connection to maintain a MySEQ session operating. </SPAN>


Client Changes</SPAN>


The positions.xml, which stores the docking windows locations and positions, will now be stored in the application data folder. </SPAN>
The prefs.xml and myseq.xml will also be stored in the application data folder now too. </SPAN>
Timers will no longer be loaded or saved for certain zones like guild lobby, nexus, poknowledge. </SPAN>
The character selection in the pull down menu should now show the correct character checked. </SPAN>
Fixed a bug that would cause the character selection menu to not list all the characters available to select. </SPAN>
Fixed a bug that would cause the data stream between the client/server to become corrupted when switching characters. </SPAN>
Removed the refresh list from the character selection menu as it is updated when the menu is pulled down automatically. </SPAN>
Added to the options menu the ability to show the current character name in the application title right after the map name. </SPAN>
Changed the way the server/client interact when running multiple clients and switching between them. This requires using the new server version to work correct. </SPAN>
The level override in the options is no longer limited to having a max value of 85. </SPAN>
The zone name in the window title will now come from what is looked up in the zones.ini file, when the map is loaded.

</SPAN>

Razzle

Fireblade
02-13-2013, 06:35 PM
Something for you do update, mate.


[File Info]
Patchdate=12.02.2013

[Port]
port=5555

[Memory Offsets]
ZoneAddr=0xd665f0
SpawnHeaderAddr=0xdeaa28
CharInfo=0xd59078
TargetAddr=0xd59090
ItemsAddr=0xd55be0
WorldAddr=0xd59048


[WorldInfo Offsets]
WorldHourOffset=4
WorldMinuteOffset=5
WorldDayOffset=6
WorldMonthOffset=7
WorldYearOffset=8

[SpawnInfo Offsets]
NextOffset=0x4
PrevOffset=0x8
LastnameOffset=0x38
XOffset=0x64
YOffset=0x68
ZOffset=0x6c
SpeedOffset=0x7c
HeadingOffset=0x80
NameOffset=0xa4
TypeOffset=0x125
SpawnIDOffset=0x148
OwnerIDOffset=0x46c
HideOffset=0x3cc
LevelOffset=0x478
RaceOffset=0xea8
ClassOffset=0xeac
PrimaryOffset=0xfb0
OffhandOffset=0xfc4

[GroundItem Offsets]
PrevOffset=0x00
NextOffset=0x04
IdOffset=0x08
DropIdOffset=0x0c
XOffset=0x70
YOffset=0x74
ZOffset=0x78
NameOffset=0x1c

Razzle
02-13-2013, 07:10 PM
Thanks Fireblade.

Razzle

Fireblade
02-14-2013, 04:39 AM
Btw, the server debug mode could use a little overhaul. Sometimes I like to verify some offsets and use the debug mode for that.
For example to confirm spawnheader offset the "wt" command finds some items in the spawn list but the scan at the end to get the offset pointer does not produce any result.

I never had a look at your source code so not sure if it would be an easy fix and I would like to avoid messing with it. :D
It's not something that stopped working recently only, it stopped working long time ago iirc.
Maybe you get around to fix it sometime. ;)

Razzle
02-14-2013, 08:27 AM
The debug code does need an overhaul. I am not sure who wrote it originally. But it for sure needs some work.

Razzle

Fireblade
02-16-2013, 09:34 AM
Been working some on the secondary offset patterns for the offsetfinder.
However I was running into some issues I couldn't really explain myelf at the start till I found the connection. :P

I have been using the offsetfinder that's built into the server and was puzzled why I did not find some offsets while I was 100% sure that there should be a result. Well, then I noticed that for finding secondary offsets you reference to the config file instead of grabbing them directly with the routine for primary offsets and directly using those results. :)
I guess both alternatives have their ups and downs. Would be great to have the option to use either way! ;)

Something you could also check since I think it is not working correctly:


x,y,z offset routine seems to be incorrect, it returns a DWord Value instead of the expected byte value.
y offset routine did not produce a result at all even tho I am sure that there should have been a result considering the used Pattern/Mask.
as suggested above I recommend to include primary offset routine to deliver the results internally for the secondary search (optionaly)


It's not complete yet but this is what I think should produce some results. More to come (I hope... :) )


[SpawnInfoXOffset]
Start=0xFF000
Pattern=\xA1\x78\x80\xD5\x00\xD9\x40\x6C\x83\xEC\x 0C\xD9\x40\x68\xD9\x40\x64\xD9
Mask=xooooxx?xx?xx?xxtx

[SpawnInfoYOffset]
Start=0xFF000;
Pattern=\xA1\x78\x80\xD5\x00\xD9\x40\x6C\x83\xEC\x 0C\xD9\x40\x68\xD9\x40\x64\xD9
Mask=xooooxx?xx?xxtxx?x

[SpawnInfoZOffset]
Start=0xFF000;
Pattern=\xA1\x78\x80\xD5\x00\xD9\x40\x6C\x83\xEC\x 0C\xD9\x40\x68\xD9\x40\x64\xD9
Mask=xooooxxtxx?xx?xx?x

[SpawnInfoNameOffset]
Start=0x3F000
Pattern=\xA1\x58\xEA\xA4\x00\x05\xA4\x00\x00\x00\x 8D\x54\x24\x50\x2B\xD0\x8D\x9B\x00\x00\x00\x00
Mask=xooooxtttt?x???xxxxxxx

[SpawnInfoTypeOffset]
Start=0x120000
Pattern=\xA1\x78\x90\xD5\x00\x85\xC0\x0F\x84\xEC\x 05\x00\x00\x80\xB8\x25\x01\x00\x00\x00\x0F
Mask=xooooxxxx???x??ttttxx

[SpawnInfoSpawnIDOffset]
Start=0x7F000
Pattern=\x8B\x0D\x78\x90\xD5\x00\x8B\xB0\x48\x01\x 00\x00\x8B\xB9\x48\x01\x00\x00\x74\x6C
Mask=xxooooxx????xxtttt??

[SpawnInfoHideOffset]
Start=0xAF000;
Pattern=\x3B\x0D\x78\x90\xD5\x00\x0F\x85\x9D\x00\x 00\x00\x8B\x91\xCC\x03\x00\x00
Mask=xxooooxxx????xtttt

[SpawnInfoLevelOffset]
Start=0xF000
Pattern=\x74\x33\x00\x00\xA1\x24\xEF\xC6\x00\x88\x 90\xA4\x0E\x00\x00\x8B\xCE\xE8\x22\xF9\xFF
Mask=????xooooxxttttx?

[SpawnInfoRaceOffset]
Start=0x13F000
Pattern=\x8B\x0D\x78\x90\xD5\x00\x8B\x91\xA8\x0E\x 00\x00\x8B\x80\x70\x33\x00\x00\x83\xFA\x0C\x7E
Mask=xxooooxxtttt?????????x

[SpawnInfoClassOffset]
Start=0xF000
Pattern=\x8A\x4C\x10\x49\x8B\x15\x78\x90\xD5\x00\x 88\x8A\xAC\x0E\x00\x00\x8B\x8F\x24\x02\x00\x00
Mask=xxx?xxooooxxttttx???xx

Fireblade
02-20-2013, 06:13 PM
Did you find some time to check into this yet?

Razzle
02-20-2013, 07:40 PM
Not yet. I was trying to make some time today but barely opened code and got called away. Tomorrow is looking positive for getting something done.

Razzle
02-27-2013, 03:02 PM
Code I used in server was not set up to find a byte. Was always looking for a dword. So it always assumed mask had "tttt" in it rather than one "t". It has to do with some template code I changed that would not compile.

Razzle
02-27-2013, 03:10 PM
I was rather crude, but rather than change templates and hard code each offset, i made it check the mask. 1- t and makes it retrieve a byte, 2 a word and 4 a dword. Works and changing mask does not require change in code.

Razzle

Fireblade
02-27-2013, 04:13 PM
I was rather crude, but rather than change templates and hard code each offset, i made it check the mask. 1- t and makes it retrieve a byte, 2 a word and 4 a dword. Works and changing mask does not require change in code.

Razzle
Great, that's the way it should be. ;)

Razzle
02-27-2013, 05:03 PM
Agreed. I thought about fixing the templates. But I quickly realized that letting the mask dictated the type was better. Now my crude fix doesnt feel so crude.

Razzle

MacQ
03-02-2013, 11:19 AM
Sounds like you're making some good progress Razzle, and avoiding "hard coding" is almost always the best approach in good quality software development.

Fireblade
03-09-2013, 10:06 AM
Hey Razzle,
seems you have been pretty busy lately but could you push out another release for the Server code with fixed secondary offsets finder?

rgds
FB

Razzle
03-13-2013, 08:32 PM
I will put out new version with finder changes. Busy is an understatement.