Server Database Editor

Tokeiburu

New member
Messages
202
Points
0
Location
Canada
index.php


File Name: Server Database Editor

File Submitter: Tokeiburu

File Submitted: 22 Sep 2014

File Category: Server Managers / Editors Releases

Heya!

This is a new project I've made aiming to manage the various databases as easily as possible. This tool was initially developped using Client database editor's engine, a tool from GRF Editor. It has been adapted to support more database formats and many of the features have been improved.

How to install

  • Download the zip archive provided from the download link at the top right corner of this description or directly from there : http://www.mediafire.com/download/p0zhcc8ipa6cjt3 .
  • Install the application with SDE Installer.exe; if you are missing a .NET Framework you will be prompted to download it.
  • Once you are done, you can start the program from the link on your desktop.

Features

  • Both rAthena and Hercules' formats are supported by the application.
  • Many conversions between rAthena and Hercules are possible. Converting items can be done simply by right-clicking on the elements and selecting "Copy entries to clipboard (ServerType)".
  • Undo and redo commands are available, as well as navigation commands (quite useful when switching tabs a lot).
  • There are many shortcuts within the application, all of which are shown when right-clicking items or going through the menus. I do plan on adding more as well.
  • The databases are 'merged' between each other to offer an easier view. This is true mostly for the item and mob databases.
  • Flag fields can be entered with either an hexadecimal value or an integer value. You will have to add "0x" if you want to enter an hexadecimal number though.
  • For Windows XP users, the program's layout may change a bit. The Aero theme is applied to make sure the application looks like it should.
  • Can copy or replace a range of attributes from the selected item to other items.
  • Can synchronize with the client tables.

Getting started

Create a new project from File > New project. Go in the settings tab and set the path of your database. If you're using pre-renewal, then drop the pre-re folder in the "Server DB path" box (drop the re folder otherwise).
Don't drop your "db" folder, it needs to be a subpath!
Save your project file to avoid redoing this step everytime you reload the application by going in File > Save project info. The project info file is automatically saved, so you don't need to save it everytime you do a modification in the settings. If you associate .sde files with this tool, you will be able to start up your project from the project file directly (which is more convenient).
The last setting is the resource files and it is optional. Simply drag and drop a GRF in the paths list. This will add icons in the items list view (it will also make the application slower when scrolling for that list).
tjf4tkf.png


Easy input fields

All the fields are easy to set and most of them have tooltips. For example, to edit the drops of a mob, simply right-click on the items and change the drop value (both float and integer values are accepted in the field : typing 5.20 is the same as typing 520).
rDISHdi.png


How to save the database

There are multiple ways to save the database : quick save, full save and export.
Quick save
keeps the commands you've applied on the database (Ctrl-S), this is the saving option you should be using.
Export
(File > Export to db/SQL) exports the database to another folder and this is normally used to convert databases.
When saving, the comments are preserved as much as possible, but this is not always possible. For example, the items table from Hercules is always rewritten, so the comments will be lost in this file.
Unmodified tables will not be saved. Disabling a tab will also prevent the associated table from being rewritten/saved. This can be achieved by right-clicking on a tab and selecting "Disable 'table name'".
kGFCrfl.png


Integrated dialogs

The integrated dialogs may be disabled on your SDE version; this feature can be enabled from Tools > Settings > Dialogs. It allows you to edit the fields without having to open a new dialog all the time, for example :
jSCjVzZ.png


Color picker

Well, this feature doesn't need much explaining. Select your text and change the color. The first color cell is the currently selected color, the others can be modified to any color you want by right-clicking on them.
wmtpegf.png


SFTP support

EbsKmjE.png


 
2DidMCD.png


SQL support

You can export your current database to SQL from File > Export to SQL > ... The first option in the list is the current database format. The other options are used for conversions between rAthena and Hercules.
ULAstHD.png


Backups system

The application automatically creates backups everytime you save the database (can be disabled in Settings > Enable backups manager). You can revert to a previous date by going in Tools > Backups manager. This tool's purpose is to make sure you never lose any important data (as well as preventing data corruption).
Xa3ov3d.png


Merging or adding lines from another database

It is possible to merge databases by going in Edit > Add item from raw db line. Simply copy and paste the lines from the database you want to add. You must select the corresponding table before doing so, of course. (Known bug : adding lines with invalid parameters will put the database in an invalid state).
Notepad++ support

There is support for Notepad++ to easily find items in a text (or conf) database. Right-click an item and use "Select in Notepad++".
588z36y.png


Search feature

The search engine is the same used as CDE, so it should make it easy to find an item. There is also a hidden search option : if you type "[number_of_slots] 4" it will give all the items with 4 slots or "[refineable] true" will give you all refineable items. This can be applied to any attribute in the table which are not shown in the search panel.
3TAcP4S.png


You can also use the conditional search features.
N0e5mTR.png


Hope you enjoy this tool! The sources will be available on github for the next release. If you have a feedback or suggestions, let me know and I'll probably add them to the software.

 

 

Sources

https://github.com/Tokeiburu/RagnarokSDE

https://github.com/Tokeiburu/RagnarokSDE
https://github.com/Tokeiburu/RagnarokSDE

Click here to download this file

 
Last edited by a moderator:
how can i import custom items in item_db2.conf ?
You can import items by clicking on the tab, and then use Edit > Add from raw db line. Simply copy and paste the items from the text/conf file.

If the tab is grayed, this is because the item_db2.conf file was missing when it loaded the database. The file must exist otherwise the tab will be disabled.

If you get an exception when adding items in Item2, you will have to update to 1.0.6.1 from the mediafire link ( http://www.mediafire.com/download/p0zhcc8ipa6cjt3 ).

2014-09-24 [1.0.6.1][Added] SDE : Added a new option in Tools > Import db from file... This read the imported file and append it to the currently selected table.[Fixed] SDE : Adding new items in a table with no items no longer throws exceptions.

 
No sources?
I want to clear out as many bugs as possible before making the sources available. They should be up in a week or less.

 
Last edited by a moderator:
This is a very nice tool to have!

Few things I noticed so far:

Inside item_group.conf it doesn't like names like "ID1234" unlike Hercules itself.

Also for item_group.conf it doesn't fetch item names from item_db2 as source of group (maybe even inside group, have to test it yet).

For monsters it doesn't fetch skills from mob_skill_db2 (it exists and monster IDs are there, and they are read correctly in Mob Skills2 tab).

In Pet/Pet2 I assume Sprite/Display name should be fetched from mob_db. It is so for normal mob_db, but ignored mob_db2, leaving names blank.

In Constant tab, sorting by value sort it like value is a string and not a number. Also, missing hex constants (EAJ_).

 
Last edited by a moderator:
Seems like it doesn't read the db/import folder. But great work anyways. Very helpful!

 
Last edited by a moderator:
This is a very nice tool to have!

Few things I noticed so far:

Inside item_group.conf it doesn't like names like "ID1234" unlike Hercules itself.

Also for item_group.conf it doesn't fetch item names from item_db2 as source of group (maybe even inside group, have to test it yet).

For monsters it doesn't fetch skills from mob_skill_db2 (it exists and monster IDs are there, and they are read correctly in Mob Skills2 tab).

In Pet/Pet2 I assume Sprite/Display name should be fetched from mob_db. It is so for normal mob_db, but ignored mob_db2, leaving names blank.

In Constant tab, sorting by value sort it like value is a string and not a number. Also, missing hex constants (EAJ_).
Hey, thanks a lot for the report!

All of these have been fixed in 1.0.6.2; the secondary tables (item_db2, mob_skill_db2, etc) weren't linked with the primary tables, which caused most of the issues you mentionned. The sorting for the constant table has been fixed, as well as the hex constants.

2014-09-24 [1.0.6.2]

[Fixed] SDE : Fixed a bug regarding hex to int value converters. Almost all fields accept hex values now.
[Fixed] SDE : The constant table reader has been fixed to allow spaces as an attribute separator (instead of tabs only).
[Fixed] SDE : The constant table now sorts properly (uses integer sorting instead of string sorting).
[Fixed] SDE : Secondary tables (such as Mob2, Item2, Mob Skills2, etc) will fetch values properly.
[Added] SDE : Using Ctrl-X on tables will now 'cut' the items. You will be able to use Ctrl-V to paste them to another table (you must select the list view for this command to work).
[Modified] SDE : Changed shortcuts... Ctrl-Shift-C will copy for Hercules, Ctrl-C will copy for rAthena and Ctrl-X will cut the items.
[Fixed] Database : When adding entries with invalid or unrecognized fields, it will no longer put the database in an invalid state.
[Fixed] SDE : Saving in Item2 wasn't taking into account new items.
[Fixed] SDE : ItemGroups now supports items with the "ID1234" format.
[Fixed] SDE : Fixed a bug when saving the MobSkill DBs.
[Fixed] SDE : Fixed a bug regarding the ItemDelay for rAthena.
[Fixed] SDE : Using the attributes Delay, Sprite ID, Trade and No use has been fixed for rAthena (works fine for Hercules).
 
This is a very nice tool to have!

Few things I noticed so far:

Inside item_group.conf it doesn't like names like "ID1234" unlike Hercules itself.

Also for item_group.conf it doesn't fetch item names from item_db2 as source of group (maybe even inside group, have to test it yet).

For monsters it doesn't fetch skills from mob_skill_db2 (it exists and monster IDs are there, and they are read correctly in Mob Skills2 tab).

In Pet/Pet2 I assume Sprite/Display name should be fetched from mob_db. It is so for normal mob_db, but ignored mob_db2, leaving names blank.

In Constant tab, sorting by value sort it like value is a string and not a number. Also, missing hex constants (EAJ_).
Hey, thanks a lot for the report!

All of these have been fixed in 1.0.6.2; the secondary tables (item_db2, mob_skill_db2, etc) weren't linked with the primary tables, which caused most of the issues you mentionned. The sorting for the constant table has been fixed, as well as the hex constants.

2014-09-24 [1.0.6.2]

[Fixed] SDE : Fixed a bug regarding hex to int value converters. Almost all fields accept hex values now.
[Fixed] SDE : The constant table reader has been fixed to allow spaces as an attribute separator (instead of tabs only).
[Fixed] SDE : The constant table now sorts properly (uses integer sorting instead of string sorting).
[Fixed] SDE : Secondary tables (such as Mob2, Item2, Mob Skills2, etc) will fetch values properly.
[Added] SDE : Using Ctrl-X on tables will now 'cut' the items. You will be able to use Ctrl-V to paste them to another table (you must select the list view for this command to work).
[Modified] SDE : Changed shortcuts... Ctrl-Shift-C will copy for Hercules, Ctrl-C will copy for rAthena and Ctrl-X will cut the items.
[Fixed] Database : When adding entries with invalid or unrecognized fields, it will no longer put the database in an invalid state.
[Fixed] SDE : Saving in Item2 wasn't taking into account new items.
[Fixed] SDE : ItemGroups now supports items with the "ID1234" format.
[Fixed] SDE : Fixed a bug when saving the MobSkill DBs.
[Fixed] SDE : Fixed a bug regarding the ItemDelay for rAthena.
[Fixed] SDE : Using the attributes Delay, Sprite ID, Trade and No use has been fixed for rAthena (works fine for Hercules).
 Hope to add an option to save database with text encoded in ANSI  becoz default encoded is utf8 that make chinese become '?'

 
Last edited by a moderator:
Hope to add an option to save database with text encoded in ANSI  becoz default encoded is utf8 that make chinese become '?'

This should be fixed in the latest release. If the issue persists, let me know the file/table concerned.
now tested  with 1.0.7 was  working fine for me , thank you so much
default_biggrin.png


 
This gets the Jman stamp of approval.

Super nice tool! Would be pretty awesome to be able to connect to ftp/sftp to edit these RIGHT on the server (also download them from server right within the tool).

 
This gets the Jman stamp of approval.

Super nice tool! Would be pretty awesome to be able to connect to ftp/sftp to edit these RIGHT on the server (also download them from server right within the tool).
this will be good to add ftp/sftp feature,

 
1.) View_ID Suggestion:

gPX5.png


2.) Rathena weapons / armors bug

OF7p.png


1scJ.png


3.) Saving to client database / server database

How does it works?

Is possible to when clicking ctrl + s save and client and item2/item to files from which they was loaded?

Because in 1.0.8.6 when i click ctrl + s, i have saving something, but i don't have changes inside grf or server database.

I need to export both (export to db, and convert client db).

 
4.) switching between tabs

oEuO.png


tqex.png


5.) Item focusing after switching.

When you select some item in any tab (item or item2) then you click Client Items -> you will autoselect this item too.

9We4.png
 
2cpu.png


 
Last edited by a moderator:
I got a few suggestions too (not using it yet xD)

1) the selected color "dark blue" could be changed to anything more bright so we can still see the info, or change font color to white when selected

2) add option to get "name" from client files (txt or lua) and change the ones from itemInfo with them, or the ones from item_db (the display name)

the reason behind suggestion 2 is so we can translate english files into or own language (i.e. bRO), at least item names from client and item_db files)

 
i'm still thinking about some suggestion, but i'm still do not know what i need....

I'm looking for some friendly tool to edit datainfo lua files (mostly accinfo.lua and accid) where i can easy insert lines, easy to maniupulate sprites added to game, and bound it to clientfiles (idnum bla bla files)....

Sorry, i will write later my suggestion #6 which will be i hope interesting.... Because it will make very very very easy to edit anything in RO too with great perfomance.

 
@@! So many stuff here, let's see.

evilpuncker, on 03 Feb 2015 - 21:23, said:

I got a few suggestions too (not using it yet xD)

1) the selected color "dark blue" could be changed to anything more bright so we can still see the info, or change font color to white when selected

2) add option to get "name" from client files (txt or lua) and change the ones from itemInfo with them, or the ones from item_db (the display name)

the reason behind suggestion 2 is so we can translate english files into or own language (i.e. bRO), at least item names from client and item_db files)
The foreground color of the selected items is somewhat hard to fix. That issue only happens when you're using Windows Vista or newer with the Classic Theme, otherwise it shows properly. That being said, I'll try to find a fix for this bug as it seems many people are using the Classic Theme instead of Aero or Metro. Fixed in 1.0.9

As for suggestion 2, that's interesting! If I understand correctly, you want to use bRO's client tables and replace some fields to the current Item/Item2/Client Items's tables. That can be done. Added in 1.0.9

UltraCat, on 04 Feb 2015 - 10:30, said:

i'm still thinking about some suggestion, but i'm still do not know what i need....

I'm looking for some friendly tool to edit datainfo lua files (mostly accinfo.lua and accid) where i can easy insert lines, easy to maniupulate sprites added to game, and bound it to clientfiles (idnum bla bla files)....

Sorry, i will write later my suggestion #6 which will be i hope interesting.... Because it will make very very very easy to edit anything in RO too with great perfomance.
1) View_ID Suggestion

Already working on something similar (it's so annoying to add custom headgears in the client tables...). It won't be the same system as you suggested but it'll do the same result. Adding mob sprites is easy now at least
default_wink.png
.

ViewIDs will be completely abstracted and the files will be generated automatically - 1.0.9.

2) Rathena weapons / armors bug

The autocomplete feature is confused. The ViewId for that 'weapon' is invalid, so it can't guess what type of weapon you're trying to add (one-handed staff, one-handed mace, etc). The identified resource name is also only added if the field is empty (regardless of the settings used, this is to prevent erasing your own sprites). The description will also say "Class : Weapon" because it won't be able to identify what was the type for the weapon.

3) Saving to client database / server database

Using Ctrl-S will save everything from where it was loaded, both for the Server tables and the Client tables. You can temporary disable the Client tables from being saved by disabling the tab (right-click > disable). If you go in the settings page, put your mouse over "Card illustrations" and it will show you what path it currently uses to load and save the DB. You can right-click and select them in explorer to see if this is indeed the file you wanted to use.

As for the server files, it's the same principle. Put your mouse over the tab and a tooltip will tell you where the file was loaded from. You can right-click and use select in explorer as well. You gotta be careful with item_db2.txt/.conf and import/item_db.txt. If there is indeed an issue, please provide more information.

4 & 5) Switching between tabs

That's going to be a bit harder to solve. The main issue being that... sometimes you may not want to change the filter of both tabs (and the filters have different options). If you're copying information from a different item, then your suggestion would actually be more troublesome than helpful. You can, however, right-click items and switch between tables (Select in [Client Items] or Select in [items]). I'll add a keyboard shortcut for this actually. I'll add an option to link the search filters, but it won't be a default feature. Same for automatically selecting the item in the corresponding tab. Added in 1.0.9

-) Linking the lub weapon files

This will be added in a future release. There are plans for that!

Others)

Bug : Autocomplete for the "Number of slots" and "View ID" aren't saved properly. Fixed in 1.0.9

 
Last edited by a moderator:
Back
Top