EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   EmuShareMem.dll item error (https://www.eqemulator.org/forums/showthread.php?t=34446)

AdmiralNaismith 11-08-2011 10:33 AM

EmuShareMem.dll item error
 
When I run my server (with Peqdb_rev2027) everything works fine except the items are not getting loaded. The EmuShareMem.dll error said to increase the define in Items.h.

I used the Rev2057 files and EmuShareMem.dll said iItemStructSize != sizeof(Item_Struct). Item_Struct has changed, EMuShareMem.dll needs to be recompiled.

I recompiled from the latest version of the EqemuSVNFiles and got the same error message: iItemStructSize != sizeof(Item_Struct). Item_Struct has changed, EMuShareMem.dll needs to be recompiled.

Anyone have any idea how to fix this?

Noport 11-08-2011 11:28 AM

Here is how i loaded my server files

copy peqdb_2027.sql
copy player_tables directory
copy updates directory
copy load_player.sql
copy load_updates.sql The file you just made

Copy all Files and Folders too C:\MySQL\bin Directory

All updates without Bots

Make a File Called load_updates.sql
copy and paste into a file rename it too load_updates.sql save file.

source updates/Rev59.sql;
source updates/Rev82.sql;
source updates/Rev109.sql;
source updates/Rev125.sql;
source updates/Rev127.sql;
source updates/Rev129.sql;
Source updates/Rev131.sql;
source updates/Rev166.sql;
source updates/Rev198.sql;
source updates/Rev200.sql;
source updates/Rev222.sql;
source updates/Rev227.sql;
source updates/Rev247.sql;
source updates/Rev249.sql;
source updates/Rev271.sql;
source updates/Rev274.sql;
source updates/Rev278.sql;
source updates/Rev288.sql;
source updates/Rev294.sql;
source updates/Rev326.sql;
source updates/Rev340.sql;
source updates/Rev360.sql;
source updates/Rev284.sql;
source updates/Rev438.sql;
source updates/Rev461.sql;
source updates/Rev507.sql;
source updates/Rev512.sql;
source updates/Rev535.sql;
source updates/Rev590.sql;
source updates/Rev610.sql;
source updates/Rev669.sql;
source updates/Rev703.sql;
source updates/Rev752.sql;
source updates/Rev781.sql;
source updates/Rev859.sql;
source updates/Rev922.sql;
source updates/Rev946.sql;
source updates/Rev974.sql;
source updates/Rev1008.sql;
source updates/Rev1038.sql;
source updates/Rev1052.sql;
source updates/Rev1265.sql;
source udpates/Rev1395.sql;
source updates/Rev1496.sql;
source updates/Rev1535.sql;
source updates/Rev1589.sql;
source updates/Rev2021.sql;
source updates/Rev2027.sql;

15. NOW, you need to go in to a command prompt and navigate to the peqdb folder.
Simply type cd \peqdb and you should be there. You will see: C:\peqdb>_

REMEMBER THE PASSWORD YOU GAVE when you set up MySQL ? (You need it NOW)

***WARNING*** - at this point, make sure you are in the peqdb folder.

Type mysql -uroot -p
Hit enter and enter your password. (Hit enter again)
You should now see a prompt that looks like this: (along with "Welcome" text before it)
mysql>_

Type the following (in order):

use peq (Hit enter and you will see a short note saying "Database changed")

Then type the following:

source peqdb_rev1751.sql (when this is done, you will be back at the mysql>_ prompt)

Then type in the following:

source load_player.sql (this will load fast)

source load_updates.sql (This will load fast)
Done.

blackdragonsdg 11-08-2011 02:02 PM

Looks like you need to alter the source code a bit.

EMuShareMem\Items.H
Code:

#include "../common/types.h"
#include "../common/eq_packet_structs.h"
#include "../common/EMuShareMem.h"

// MMF_EQMAX_ITEMS:  Make sure this is bigger than the highest item ID#
#define MMF_EQMAX_ITEMS                200000
// MMF_MEMMAX_ITEMS: Maxium number of items to load into memory. Make sure this is bigger
//                  than the total number of items in the server's database!
//#define MMF_MEMMAX_ITEMS        32700

struct MMFItems_Struct {
        uint32                MaxItemID;
        uint32                NextFreeIndex;
        uint32                ItemCount;
        uint32                ItemIndex[MMF_EQMAX_ITEMS+1];
        Item_Struct        Items[0];
};

//#define MMF_MAX_ITEMS_MEMSIZE        sizeof(MMFItems_Struct) + 256

Change this segment
Code:

#define MMF_EQMAX_ITEMS                200000
To this
Code:

#define MMF_EQMAX_ITEMS                300000
Then recompile the source code. The problem should go away.

AdmiralNaismith 11-08-2011 02:10 PM

Noport: that is a LOT better than how I set up my database. Fantastic instructions, thank you so much!

blackdragonsdg: I thought about trying to find the max numnber of items in the source code but the error about iItemStructSize made me think it was something else. I'll change the code as you recommended and recompile.

Thanks for the responses, you guys are awesome!


All times are GMT -4. The time now is 05:11 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.