[Help Thread] Please post your questions here.

08/09/2019 13:36 アルカード#7606
Quote:
Originally Posted by Marschall83 View Post
According to my post before I have some questions which are more specific.
  1. Is there a overview which changes in server database must have a rdb resource file in client resource folder too (e.g. drop rates are server only I think)?
  2. I have a working client with no file in the folder resources. Why does it work?*
*My explanation: the basic database scheme is hard coded in the client (maybe in the data files). Client resource files overwrite this hard codes schemes.

You see I don`t understand the relationship between database and client changes. I found no guide which sorts this out (you can only search 1 your old threads).

Thanks in advance.
If my experience with downgrading servers files can help just add me on discord and i show you few tips and tricks if u are interested
08/09/2019 15:18 ThunderNikk#7607
Quote:
Originally Posted by Marschall83 View Post
  1. Is there a overview which changes in server database must have a rdb resource file in client resource folder too (e.g. drop rates are server only I think)?
Not really most people just start with dumping a client and exploring what files are in the dump.

Quote:
Originally Posted by Marschall83 View Post
  1. I have a working client with no file in the folder resources. Why does it work?*
The client originally comes with only music files in the resource folder the rest are packed like archives in the data files. That's why it works.

Resourced files are like overrides and they take priority over what is in the data files thus a client can be edited without packing back into the data files.

There are some tools out that developers have worked on that also allow edited files to be packed back into the data files. Datacore defines these archives by reading data.000 which is the data.xxx index file.

Quote:
Originally Posted by Marschall83 View Post
*My explanation: the basic database scheme is hard coded in the client (maybe in the data files). Client resource files overwrite this hard codes schemes.
I think my answer above sheds a lot of light on this to support your explanation as being exactly what you thought it was.

Quote:
Originally Posted by Marschall83 View Post
You see I don`t understand the relationship between database and client changes. I found no guide which sorts this out (you can only search 1 your old threads).
The database controls the client, but the client needs the database table defined within it so that there are no mismatches and glitches caused by such mismatches.

A model file stored in a database monster resource as one model but defined in a client RDB as another may make the player see a different creature. Then he tries to tame said creature but the database tells them they dont have the right card.

Now there is a taming issue. Blah blah blah

Not everything needs to be defined in both. Item drops and and stuff like that will never be client side controlled. But an incomplete item resource could lead you to seeing non located items. An incomplete string resource leads to empty strings.

I think that,s enough wind out of me for this question if you have more I will try to help out.
08/12/2019 09:11 Marschall83#7608
Quote:
Originally Posted by アルカード View Post
If my experience with downgrading servers files can help just add me on discord and i show you few tips and tricks if u are interested
Thanks for your offer, I'll come back to that. I first want to get familiar with the basics.

Thanks @[Only registered and activated users can see links. Click Here To Register...] for your explanation.
I dumped the data files from my client and analysed the result. After that I try to overwrite the StringResource (changed a mob name in database) and create a hashed file (db_string.rdb) for the client resource folder. But this didn`t work. In game I see the old mob name.

Where is the point to start debugging this?

I use an older tool to create Rappelz rdb files. The newer tools (like [Only registered and activated users can see links. Click Here To Register...]) seems to work with epic 8 and above only. Is there a dedicated rdb tool for epic 5/6 (I`m working with epic 6.2 server files)?
Maybe the hashed rdb files are just crap and aren`t accepted by the client (but no error message occures).

Thanks in advance.
08/12/2019 09:20 アルカード#7609
Quote:
Originally Posted by Marschall83 View Post
Thanks for your offer, I'll come back to that. I first want to get familiar with the basics.

Thanks @[Only registered and activated users can see links. Click Here To Register...] for your explanation.
I dumped the data files from my client and analysed the result. After that I try to overwrite the StringResource (changed a mob name in database) and create a hashed file (db_string.rdb) for the client resource folder. But this didn`t work. In game I see the old mob name.

Where is the point to start debugging this?

I use an older tool to create Rappelz rdb files. The newer tools (like [Only registered and activated users can see links. Click Here To Register...]) seems to work with epic 8 and above only. Is there a dedicated rdb tool for epic 5/6 (I`m working with epic 6.2 server files)?
Maybe the hashed rdb files are just crap and aren`t accepted by the client (but no error message occures).

Thanks in advance.
if you are using English client u need to use this db_string(ascii).rdb before u hash it


u need do ascii with other rdb too and other files too,if u are using english client
08/12/2019 14:40 SilentWisdom#7610
Quote:
Originally Posted by Marschall83 View Post
I use an older tool to create Rappelz rdb files. The newer tools (like [Only registered and activated users can see links. Click Here To Register...]) seems to work with epic 8 and above only. Is there a dedicated rdb tool for epic 5/6 (I`m working with epic 6.2 server files)?
Maybe the hashed rdb files are just crap and aren`t accepted by the client (but no error message occures).

Thanks in advance.
Grimoire is compatible with all client epics just as Glandu2 RDB Tool. You simply have to make epic 5/6 structure files for them.
08/12/2019 15:53 Boody19#7611
I get error 10061
when I try to login to my server from another computer (connected through LAN)

I know that this is a common problem but I tried all solutions that I can find regarding opts and ports

my opts
auth

gameserver
08/12/2019 19:25 ThunderNikk#7612
Did you open all your ports (except 1433 leave this closed) in Windows advanced firewall for both incoming and outgoing requests on the server host computer.

Your .bat file is set to IP 25.11.164.155 Port 9881
08/12/2019 21:29 Marschall83#7613
Quote:
Originally Posted by SilentWisdom
Grimoire is compatible with all client epics just as Glandu2 RDB Tool. You simply have to make epic 5/6 structure files for them.
Good advice, I will try it.

Quote:
Originally Posted by アルカード View Post
if you are using English client u need to use this db_string(ascii).rdb before u hash it


u need do ascii with other rdb too and other files too,if u are using english client
Yes I use an english client. Thanks for this hint. The name change of this mob works now.
I tried the same with monster ressource, but now all mobs are gone :D (at least the hashed file name must be right).

Is there a chance to debug why my database/db_monster.rdb is broken or do I have to restore and try and error?
08/13/2019 03:41 Dark Blaze#7614
Quote:
Originally Posted by Boody19 View Post
I get error 10061
when I try to login to my server from another computer (connected through LAN)

I know that this is a common problem but I tried all solutions that I can find regarding opts and ports

my opts
auth

gameserver
Replace 25.11.164.155 with your local IP address, don't use 127.0.0.1
08/15/2019 08:42 Marschall83#7615
According to this [Only registered and activated users can see links. Click Here To Register...] I tried Grimoire and the tool rMOD. A configured the lua file matching my database table.

Now there are some questions.
  • What is the lua counterpart to SQL datatypes smallint and tinyint?
  • Why do this tools create different file size from the same database table (orginal db_monster.rdb about 6 MB, Grimoire about 7MB and rMOD about 24 MB)?
  • I changed the column datatypes of the table from smallint and tinyint to int (but using the original db_monster.rdb from the client). This seems to work. Can I do this or is this not recommended?
Thanks in advance
08/15/2019 17:02 InkDevil#7616
Quote:
Originally Posted by Marschall83 View Post
According to this [Only registered and activated users can see links. Click Here To Register...] I tried Grimoire and the tool rMOD. A configured the lua file matching my database table.

Now there are some questions.
  • What is the lua counterpart to SQL datatypes smallint and tinyint?
  • Why do this tools create different file size from the same database table (orginal db_monster.rdb about 6 MB, Grimoire about 7MB and rMOD about 24 MB)?
  • I changed the column datatypes of the table from smallint and tinyint to int (but using the original db_monster.rdb from the client). This seems to work. Can I do this or is this not recommended?
Thanks in advance
Hm, there is no direct lua counterpart to this.

But if you mean for rdb-tools:
Smallint = int16
Tinyint = int8

The tools handle the rdb-creation differently I guess, so it always depends on their coding.
But for this you should ask glandu2 or SilentWisdom then. ^^

I would not recommend to change all datatypes in database,
since many are also coded into GS (so it would not make any difference, or would maybe bug around).
But for some it is okay.
08/15/2019 22:53 SilentWisdom#7617
Quote:
Originally Posted by Marschall83 View Post
According to this [Only registered and activated users can see links. Click Here To Register...] I tried Grimoire and the tool rMOD. A configured the lua file matching my database table.

Now there are some questions.
  • What is the lua counterpart to SQL datatypes smallint and tinyint?
  • Why do this tools create different file size from the same database table (orginal db_monster.rdb about 6 MB, Grimoire about 7MB and rMOD about 24 MB)?
  • I changed the column datatypes of the table from smallint and tinyint to int (but using the original db_monster.rdb from the client). This seems to work. Can I do this or is this not recommended?
Thanks in advance
  • Instead of comparing lua types to db types, you should start with learning DB <> Primitives (a primitive being short, int, long etc)
  • Please do not use rMOD, Grimoire replaced it. Furthermore Grimoire and Glandu2 tools given the same data set input (dbo.MonsterResource/db_monster.rdb) should produce identical results excepting the header (his and mine use different signatures in the 120 byte blank space.
  • Like @[Only registered and activated users can see links. Click Here To Register...] said, never make changes to your table structures unless you're absolutely sure what you're doing. In many cases table reads use ordinal positions for columns instead of names. Thusly you can easily put an incorrect value in a table read and introduce small to extreme bugs.

If you need help with constructing or editing Grimoire structs (Daedalus) I suggest you visit the [Only registered and activated users can see links. Click Here To Register...] and check under 'Usage' section and inside the Daedalus spoiler.

If you have any further questions regarding Grimoire please feel free to message me directly on my disc iSmokeDrow#3102 (<--- remember its case sensitive!!!)
08/16/2019 09:06 Marschall83#7618
Thanks InkDevil and SilentWisdom.
The link to the Daedalus usage was helpful.

My situation is a little bit weird but I think it helps to understand my questions:
I took the 6.2 server files from epvp (I think Pyroks premade 6.3 with unicorns/nightmares which should appear in 6.3). I connect with the ancient 6.2 client (nemesis), because I wasn`t able to find another 6.2 client without gameguard. This combination works but there are graphic bugs with unicorns and nightmares (like I mentioned in [Only registered and activated users can see links. Click Here To Register...]; i will make screenshots soon).

My goal is to replace unicorns with red pixies in fairy woods (for example) to get the original 6.2 mobs.

So I think there is a little mismatch of the server and client files. The problem is that I can`t create a working db_monster.rdb from database (no mobs visible ingame) and I can`t read the client db_monster.rdb into the database (errors in Grimoire/rMOD). Btw I use an US Client and the ...(asci).rdb names for hashing.

Quote:
Originally Posted by InkDevil
I would not recommend to change all datatypes in database,
Quote:
Originally Posted by SilentWisdom
Like @InkDevil said, never make changes to your table structures unless you're absolutely sure what you're doing. In many cases table reads use ordinal positions for columns instead of names. Thusly you can easily put an incorrect value in a table read and introduce small to extreme bugs.
Ok, got it :).

I will try Glandu2`s tool and adjust the structure lua files (I think tinyint should be BYTE in lua and smallint = INT16; INT8 isn`t available).
08/16/2019 12:47 ThunderNikk#7619
Quote:
Originally Posted by Marschall83 View Post
Btw I use an US Client and the ...(asci).rdb names for hashing.
(ascii)

So you are also launching ascii in your .bat and not code page?
08/16/2019 14:42 lilnani#7620
We would like to thank everyone that provided any kind of help for people in this thread .