Today I spent my time trying to get the configuration file to reload after I successfully ran the test suite.
The first approach that I tried was hooking it into the Cron system. This has failed thus far because reloading the configuration on the main server causes use-after-frees (I think) due to contention over the json objects across different threads.
Reloading the server_properties object from any thread causes the same issues.
The correct way to fix it, I believe, is to add a read-write mutex that guards against mutation in flight. This will require additional copying, but given that the reloading is going to be fairly rare it should not affect performance for long.
Once it is thread-safe the cron system should be able to be used to check for changes in the configuration file.
Tomorrow I will most likely be setting it up again on my laptop.