Epic 6.2 Server: Database and Client mismatch /Search RDB-Import Tool

11/19/2024 20:08 Marschall83#1
Hello Together,

the drops on my epic 6.2 server are messed up (maybe database and client/rdb mismatch), because some basic items (like red potions, quick potions, bags...) do not drop.

Table: MonsterResource (db_monster(ascii).rdb or db_monster.rdb)

I used the following tools:
  • ACRE Version 1.000 (to dump the data.00x files)
  • Grimoire_v2
  • Grimoire_v4614 (to try to import rdb file in the database
With the visual studio solutions (sln) of ACRE and Grimoire (v4) I managed to adjust the source code to my database.
But there is a problem: the rdb file parser/reader reads just 50% (or less) of the columns I have in the database. And the order of the rdb file values doesn`t fit to the order of the database.

Questions:
  1. How can I import the rdb files to my database?
  2. Are there other RDB-Tools which can handle epic 6.2 database structure?
  3. Do I need db_monster(ascii).rdb or db_monster.rdb? Sorry, I forgot that point over the years :D.
  4. Are there working epic 4 or 5 server/client combination out there to download and use for a own/non public private server?
Thanks in advance
11/20/2024 01:40 SilentWisdom#2
Quote:
Originally Posted by Marschall83 View Post
Hello Together,

the drops on my epic 6.2 server are messed up (maybe database and client/rdb mismatch), because some basic items (like red potions, quick potions, bags...) do not drop.

Table: MonsterResource (db_monster(ascii).rdb or db_monster.rdb)

I used the following tools:
  • ACRE Version 1.000 (to dump the data.00x files)
  • Grimoire_v2
  • Grimoire_v4614 (to try to import rdb file in the database
With the visual studio solutions (sln) of ACRE and Grimoire (v4) I managed to adjust the source code to my database.
But there is a problem: the rdb file parser/reader reads just 50% (or less) of the columns I have in the database. And the order of the rdb file values doesn`t fit to the order of the database.

Questions:
  1. How can I import the rdb files to my database?
  2. Are there other RDB-Tools which can handle epic 6.2 database structure?
  3. Do I need db_monster(ascii).rdb or db_monster.rdb? Sorry, I forgot that point over the years :D.
  4. Are there working epic 4 or 5 server/client combination out there to download and use for a own/non public private server?
Thanks in advance
You will find no help in the client for drops as the DropGroupResource is solely db sided.

Grimoire can handle any epic as long as its configured to do so properly, with that in mind.

Please do not use any version of Grimoire below the latest release on the github which is [Only registered and activated users can see links. Click Here To Register...]

Grimoire 5+ uses a new rdb parser I call Archimedes which you can find documentation for [Only registered and activated users can see links. Click Here To Register...]

You should be able to convert any and all hardcoded .cs structures (from ACRE or earlier versions of Grimoire) to the ARC standard pretty easy, but you're welcome to ask should you need further help.

Importing rdb to database with Grimoire is pretty straight forward:

1. Launch and configure Grimoire via the Settings button
1.1 Take care to assign the database settings
2. Open a new RDB tab via the Quick Launch menus
3. Click the 'Select Structure' button and double click the desired structure
3.1 Store any structure.lua you create in the /Structures/ within the Grimoire directory
4. Load the rdb by click the opening the 'Load' menu and selecting 'RDB'
4.1 You can load directly from data index (by selecting your clients data.000) or by selecting a predumped .rdb file
5. Once loaded, Open the 'Save' menu and select 'SQL'
11/20/2024 20:52 Marschall83#3
Thank you for the explanation and hints for using Grimoire.

Quote:
Originally Posted by SilentWisdom View Post
You will find no help in the client for drops as the DropGroupResource is solely db sided.
Ahhh, this explains a lot :).

Is there any documentation on the relations between the tables which are involved in the drop system?

In my research I got some assumptions:
  • MonsterResource: up to 10 relations to ItemResource or DropGroupResource
  • DropGroupResource has also 10 relations to ItemResource or DropGroupResource (recursiv)
  • The sum of all percentages in one DropGroupResources is 1 (100%)
My problem is to understand the relations. Sometimes the drop_item_id (one of the 10 possible) is a positiv number, sometimes it is a negativ number which I think is a recursiv relation to the same table (DropGroupResource). But that does not fit all cases.

It would bei nice to have a SQL query for getting all possible drops for one Mob.

I am grateful for any advice.
11/20/2024 22:06 Pesqoo#4
Quote:
Originally Posted by Marschall83 View Post
Thank you for the explanation and hints for using Grimoire.


Ahhh, this explains a lot :).

Is there any documentation on the relations between the tables which are involved in the drop system?

In my research I got some assumptions:
  • MonsterResource: up to 10 relations to ItemResource or DropGroupResource
  • DropGroupResource has also 10 relations to ItemResource or DropGroupResource (recursiv)
  • The sum of all percentages in one DropGroupResources is 1 (100%)
My problem is to understand the relations. Sometimes the drop_item_id (one of the 10 possible) is a positiv number, sometimes it is a negativ number which I think is a recursiv relation to the same table (DropGroupResource). But that does not fit all cases.

It would bei nice to have a SQL query for getting all possible drops for one Mob.

I am grateful for any advice.
  • MonsterResource: drop_table_link_id is a foreign key to MonsterDropTableResource
  • MonsterDropTableResource: id and sub_id are the primary key where every primary key can have 10 drops. If you need more than 10 just add another sub_id. drop_item_id_xx is a foreign key to either ItemResource if positive or DropGroupResource if negative.
  • DropGroupResource: drop_item_id_xx is a foreign key to either ItemResource if positive or DropGroupResource if negative

If a monster dies, all entries in MonsterDropTableResource are rolled. If it is an item, just drop the item. If it is a DropGroup keep rolling until it is an item. If the sum of drop_percentage_xx in DropGroupResource < 1 you might end up with nothing even if a MonsterDropTable was rolled successfully.
11/21/2024 16:04 Marschall83#5
Quote:
Originally Posted by Pesqoo View Post
  • MonsterResource: drop_table_link_id is a foreign key to MonsterDropTableResource
  • MonsterDropTableResource: id and sub_id are the primary key where every primary key can have 10 drops. If you need more than 10 just add another sub_id. drop_item_id_xx is a foreign key to either ItemResource if positive or DropGroupResource if negative.
  • DropGroupResource: drop_item_id_xx is a foreign key to either ItemResource if positive or DropGroupResource if negative

If a monster dies, all entries in MonsterDropTableResource are rolled. If it is an item, just drop the item. If it is a DropGroup keep rolling until it is an item. If the sum of drop_percentage_xx in DropGroupResource < 1 you might end up with nothing even if a MonsterDropTable was rolled successfully.
Thank you sir, thatīs it :handsdown:.

My epic 6.2 database has no MonsterDropTableResource but the principle is the same.
Now I have my potions and scrolls back (and I understand the drop system) :).