Summary
Add debug level to config-general.yml
Usage
Configure the server debug level via the config-general.yml file outside of the game, with support for enabling/disabling debug logging before server startup.
Value
Enables users to pre-enable debug logging before server initialization, which is critical for capturing stack traces, error logs and initialization details that cause the startup freeze—currently impossible due to the lack of config-based debug settings and the server hanging before parsing CLI arguments.
Priority
HIGH. Server freezes on startup with no config file to toggle debug mode, only command-line arguments available. When starting the server, the process freezes immediately and becomes completely unresponsive. There is no configuration file (such as config.yml, config.json, .ini, etc.) provided or generated to enable/disable debug mode. Debug mode can only be controlled via command-line arguments/flags, but I cannot find clear documentation or working commands to force-enable debug logging. No error logs, stack traces, or console output are printed before the freeze. The process remains active but does not proceed with initialization, and can only be stopped by force-killing it.
Implementation
Add a dedicated debug level/boolean field to the config-general.yml file (the project’s core general config) with a clear key (e.g. server_debug: false / log_level: "info") and default value set to disabled/info level for normal operation. Make the server parse the debug configuration from config-general.yml early in the initialization process (before the point where the current freeze occurs), ensuring debug logging is activated first to capture all startup logs/errors. Ensure the config-based debug setting overrides or works in parallel with existing CLI arguments (for flexibility); if the config value is set, it takes precedence to guarantee debug logging is enabled even if CLI parsing fails due to startup freezes. Generate a default config-general.yml file in the server’s root directory on the first run (even if the server later freezes) so users can modify the debug setting without manually creating the file.