Suggestion: Config files

Ok so I didn’t know where to post this, but I’ll leave it right here, alright so:

What I was thinking is that the worldserver.conf is already bigger than I expected, I’d say to create 1 more config file, or split these configs somehow such as:

A new folder: configs / settings however

New file custom.conf.dist includes:

  • AUTO BROADCAST

  • AUCTION HOUSE BOT SETTINGS

New file loggers.conf.dist includes:

  • SERVER LOGGING

  • LOGGING SYSTEM SETTINGS

Tbh Idk how to create a new config file and to use it but hope this makes you think a bit

Personaly, i hate to have to edit 10 files to fit my needs.

I agree with that, but instead of searching over 3174 lines, better having other config files by the settings category, because Im sure in the future TrinityCore will add alot more config settings so better split some configs from now.

While I agree with this, perhaps at least a separate file for all the “custom server” stuff would be acceptable.

This looks like a temporary workaround, those sub-config files will get too big too in the future.

I’d suggest instead to leave only bare minimun configs in the files like db connection and logs and put everything else in a MySQL table.

That’s a good idea too.

+1

If they were moved to DB, wouldn’t you have the same problem as well? The configs would theoretically be in the same table.

Searching it would be “harder” than doing it in one file.

P.S I do not think that searching a medium sized single .conf file is hard at all. For the time being, I think a single .conf file is alright.

Maybe someone can create a GUI to allow people to edit the different sections without having to scroll /emoticons/default_smile.png

After thinking about it I agree with +Nay that searching a DB table would be more difficult, considering the details fields are not easily read without clicking on each one.

I think the most efficient multiple file method would be two files: one for standard worldserver / rbac and one for custom configs.

Agree

That’d be great /emoticons/default_smile.png

If the config is in the DB everyone can make easy a webinterface with PHP as he need it.

How would the table structure in the DB look like? There are boolean, int and string config: the value of those couldn’t be stored in the same column unless everything was converted to string.

Per realm 1 record. And than for every item 1 field.

Optional it could be split in several tables to split some content.

Of course this makes only sense if you have some interface to interact. Otherwise it looks more complicate than a conf file.

The point +Nay was bringing up was that the database would need to either:

[ul][li]Store everything as a string (boolean, int, string) and then have the core convert it when it reads it in[/li]Risk improper conversion
[li]Extra CPU cycles[/li][/ul]
[li]Have a field for each datatype in each record[/li][ul]Wasted overhead, each CONF setting only uses one datatype
[li]Risk improper input results[/li]Example: If the core expects a value in the boolean field but the database had the value accidentally inserted in the integer field, when the core checks the boolean field it will default to 0 (false)
[/ul]

I don’t think a GUI is a good enough reason considering someone could write a GUI to load a CONF file into input fields and edit it but nobody has bothered. IMO a table would be much more troublesome than the CONF.

Storing everything as a string or having a field for each datatype in each record prevent native validation of SQL for the correct type.

There are not a lot advantages to have for each value a single record. The only one could be if you want to add to each value a comment field.