I don't understand why would you choose the default port to be value below 1024 which means you cannot run this on unix system without super user privileges.
Even when I change the port in the config file, it still tries to bind to 999 so the server crashes.
Because this CfB software developer (who is BTW hiding in a the shithole of communist Belarus) has never worked for any notable software company, he has never worked on any commercial, never mind enterprise software project, and therefore he could never learn basic software engineering principles by being the member of a normal software development team. His only software engineering credential is NXT, JINN and IOTA which were good enough to scam the idiots, but as you can see don't even pass a basic QA check-list, never mind a code review. That's why you find disturbing issues in his code as well as in his design (probably has has no clue what is the difference between design and coding in software development).
Too tired to answer this in my own words:
Suppose you're exchanging data with a computer on a port <1024, and you know that computer is running some variant of unix. Then you know that the service running on that port is approved by the system administrator: it's running as root, or at least had to be started as root.
So are you telling me from design and implementation standpoints it is acceptable to hard code the port which requires root privilege (or in fact hard code any port) as well as it is fine the system doesn't pull the configuration data from the config file? Are you telling me it is a good practice that an alpha stage software (which presumably vulnerable to security issues) requires root privilege?
I understand you are one of the shills, but if you are a developer as well, then don't BS and don't defend a poor design and implementation.