Overview of new TMWA config system
Forum rules
This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.
Its current use is for the continued development of the server and game it has always served: TMW Classic.
Overview of new TMWA config system
Whenever I release the next version of TMWA (14.1.y), it will handle config files in a unified manner.
Instead of hard-coding all the config files, it load a single file (which can be specified on the command line, but has a hard-coded default) which specifies the location of *all* of the other files.
Additionally, for ALL config files, it will be possible to load the files more than once - for instance, to split mob_db or item_db.
In addition to 'import', the new config file system supports version conditional "stop parsing this file", so that options that don't exist in a certain server version will not cause errors.
The new config parser is stricter and gives better error messages (I hope). This may mean that the next server restart will take more time.
I will be adding the new config files to our data repository. The data repository will continue to be compatible with recent versions of the server, but the new server version will not be compatible with old data (unless you copy the new config file over).
--
Also, just a small reminder that I am planning to drop support for GCC 4.6 in April, when Ubuntu 14.04 comes out. I just spent a couple hours debugging a crash caused by the fact that I can't write code for GCC 4.7+ only ...
Instead of hard-coding all the config files, it load a single file (which can be specified on the command line, but has a hard-coded default) which specifies the location of *all* of the other files.
Additionally, for ALL config files, it will be possible to load the files more than once - for instance, to split mob_db or item_db.
In addition to 'import', the new config file system supports version conditional "stop parsing this file", so that options that don't exist in a certain server version will not cause errors.
The new config parser is stricter and gives better error messages (I hope). This may mean that the next server restart will take more time.
I will be adding the new config files to our data repository. The data repository will continue to be compatible with recent versions of the server, but the new server version will not be compatible with old data (unless you copy the new config file over).
--
Also, just a small reminder that I am planning to drop support for GCC 4.6 in April, when Ubuntu 14.04 comes out. I just spent a couple hours debugging a crash caused by the fact that I can't write code for GCC 4.7+ only ...
Former programmer for the TMWA server.
Re: Overview of new TMWA config system
This is now pushed to the test server.
Somebody's merge is now failing that used to be silently accepted, so that part of it is working!
Need especially to check that magic, atcommand levels, and battle settings are loaded correctly.
Somebody's merge is now failing that used to be silently accepted, so that part of it is working!
Need especially to check that magic, atcommand levels, and battle settings are loaded correctly.
Former programmer for the TMWA server.
Re: Overview of new TMWA config system
testing server is now on the master branch of the repo.
thus nothing to test is on there.
It sure is a success then. My branches merge fine but do not get merged.
thus nothing to test is on there.
It sure is a success then. My branches merge fine but do not get merged.
Re: Overview of new TMWA config system
Yes, the server will now refuse to start given bogus config files. Previously, the server would skip only the bogus line, silently, and then fail at something sometime later.
--
The first commit had an oversight; please make sure you update both repositories if you're following the most recent server code (once it is tagged for release, I will go to great effort not to do this).
--
The first commit had an oversight; please make sure you update both repositories if you're following the most recent server code (once it is tagged for release, I will go to great effort not to do this).
Former programmer for the TMWA server.