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!

[Help] Negative gold and gold bug in Juver source code

Initiate Mage
Joined
Oct 16, 2021
Messages
7
Reaction score
1
Hello everyone,

I successfully built the bin file from juver source (from the link: https://forum.ragezone.com/threads/...game-functionalities-no-more-selling.1198375/) and use Merge client (from: https://forum.ragezone.com/threads/release-client-compatible-to-juver-source.1198280/). Thank god!
But when I deploy the game, some players have negative gold in inventory, another can earn 999 Billion gold after half day open server (while in-game items are only worth a few tens to several hundred thousand golds)
I know that is bug, but I can't find it.
So help me, please!

attach file is capture screen from GM Tool
 

Attachments

  • error bug.png
    error bug.png
    8.5 KB · Views: 91
Computers are fast; programmers keep it slow.
[VIP] Member
Joined
Feb 15, 2016
Messages
413
Reaction score
265
Have you checked the GM Commands permission? --Some juver based src didn't have proper dwUserLvl verification along with the /get_item password which is another thing.
 
Initiate Mage
Joined
Oct 16, 2021
Messages
7
Reaction score
1
Have you checked the GM Commands permission? --Some juver based src didn't have proper dwUserLvl verification along with the /get_item password which is another thing.
Thanks for your reply. I already view the source code, it checked permission before executing the command.

Code:
//    Note : GM 명령.
DWORD dwUSERLVL = GLGaeaClient::GetInstance().GetCharacter()->m_dwUserLvl;
if ( dwUSERLVL < USER_GM3 )                        return true;

So, when I check more information in Database RanLog, table LogExchangeFlag, the player can trade with negative gold in inventory (attach file). I think they used another client to connect to my server.
What do you think???
 

Attachments

  • trade.png
    trade.png
    10.4 KB · Views: 36
Computers are fast; programmers keep it slow.
[VIP] Member
Joined
Feb 15, 2016
Messages
413
Reaction score
265
Thanks for your reply. I already view the source code, it checked permission before executing the command.

Code:
//    Note : GM 명령.
DWORD dwUSERLVL = GLGaeaClient::GetInstance().GetCharacter()->m_dwUserLvl;
if ( dwUSERLVL < USER_GM3 )                        return true;

So, when I check more information in Database RanLog, table LogExchangeFlag, the player can trade with negative gold in inventory (attach file). I think they used another client to connect to my server.
What do you think???
Could be, you can try to change your szKey prior to this. So you can prevent other clients/old clients from connecting.

Otherwise the gold is still there.
 
Initiate Mage
Joined
Oct 16, 2021
Messages
7
Reaction score
1
Without the key authentication between the client and server, do you think of other possibilities?
 
Initiate Mage
Joined
Jun 11, 2021
Messages
39
Reaction score
5
it doesn't matter about the get_item commands.
for the UserLevel , just add in in every gm commands Request code and the server process code. and its should be fine to use.
for this negative gold issue, if you cannot fix on your own, you can contact me via discord. i can fix it.
ssodomain#3366
 
[VIP] Member
[VIP] Member
Joined
Jul 18, 2023
Messages
180
Reaction score
21
any help how to fix this Inventory slot and Character Info slot?
 

Attachments

  • FB_IMG_1689986062252.jpg
    FB_IMG_1689986062252.jpg
    61.3 KB · Views: 32
Junior Spellweaver
Joined
Feb 24, 2010
Messages
164
Reaction score
38
Open GLPrivateMarker.cpp
Look for
if ( sSALEPOS==SNATIVEID(false) )
{
BOOL bOK = m_invenSALE.FindInsrtable ( pITEM->sBasicOp.wInvenSizeX, pITEM->sBasicOp.wInvenSizeY, sSALEPOS.wMainID, sSALEPOS.wSubID );
if ( !bOK ) return false;
}
Add this code below

// price validation
if ( llPRICE < 0 )
{
return false;
}
 
Initiate Mage
Joined
Jun 25, 2023
Messages
72
Reaction score
4
Open GLPrivateMarker.cpp
Look for
if ( sSALEPOS==SNATIVEID(false) )
{
BOOL bOK = m_invenSALE.FindInsrtable ( pITEM->sBasicOp.wInvenSizeX, pITEM->sBasicOp.wInvenSizeY, sSALEPOS.wMainID, sSALEPOS.wSubID );
if ( !bOK ) return false;
}
Add this code below

// price validation
if ( llPRICE < 0 )
{
return false;
}
is this really actual permanent solution?? :unsure::unsure::unsure:
 
Back
Top