Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Offset limit items

Newbie Spellweaver
Joined
Sep 6, 2011
Messages
77
Reaction score
42
Hi All =D.
Someone has the offset of limit's game items 1873quantumfusion / serverjpt4096 ?
Thanks all.
 
Newbie Spellweaver
Joined
Sep 15, 2012
Messages
36
Reaction score
2
every server have limit on items and monsters , monster have 400 items 800 , we have fixed it in our server files , but long time ago
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
There is indeed a fixed number of items you can have inside your GameServer/OpenItem (if it is that what you are talking about)

If it is, let me show you how to increase it: (using the server.exe with ItemCraft, released here)

Code:
0053A66B  |. BE 00412300    MOV ESI,234100
0053A670  |. 56             PUSH ESI
0053A671  |. A3 28D8A004    MOV DWORD PTR DS:[4A0D828],EAX
0053A676  |. E8 5F770500    CALL Servidor.00591DDA
0053A67B  |. 68 04405A02    PUSH Servidor.025A4004
0053A680  |. A3 90A09F04    MOV DWORD PTR DS:[49FA090],EAX

This is just the length of the buffer that will be created for storing the items information, like malloc(size), you just have to increase it. I would suggest doing some math calcs, find out how many bytes each block has, to find out exactly how many bytes you want to have.. Example: You now want to store 3k itens, you should allocate a buffer with the length of 3k, I mean, allocating 30mb to store 20 itens is stupid.. :p:

Code:
CPU Disasm
005210A2  |. 813D 107EA004 >|CMP DWORD PTR DS:[4A07E10],320
005210AC  |.^0F8C E1FEFFFF  \JL Servidor.00520F93
Now this one is inside the while loop, just increase the 0x384 number to your new one.

Plus:

All the info will be stored here:

0053A680 |. A3 90A09F04 MOV DWORD PTR DS:[*49FA090*],EAX

Monsters have a limit too, but I never bothered to find out where it is.. Probably nearby these routines =)
 
Last edited:
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
0x320 in Cmp DWord Ptr [4A07E10], 320 = 800 (decimal) = max items. 0x384 = 900d, offering space for an additional 100 items.

As a word of warning, this kind of expansion is what reduces the heap space in PT servers, causing the uptime before heap-overflow crash to reduce drastically. ;)

Would be better to remove such limits all-together, and replace all code referencing this table with code which reads sequentially from an SQL table. The speed of servers and caching in SQL services on x64 processors would make this very advantagious. :D
 
Joined
Jan 19, 2007
Messages
400
Reaction score
38
be carefull in change this 'limit' couse the server do not alloc memory to works with more than 876 Itens, so any number , higher then it, will get u a crash =D ( ther's a way to upper this memory value too).
 
Newbie Spellweaver
Joined
Sep 6, 2011
Messages
77
Reaction score
42
Why dont you tell us what you've fixed and how? :):

Hi Sheen,
for the new items on client, don't change the limit,
only change more References in the table, ( in messages of weight have an references too ;D )
@microamazing
Hi =D
use external table, for solved this =P
create a virtualalloc and, alloc the table.
 
Back
Top