Since nobody has any idea what the fuck I'm talking about, here's my situation:
It's a multiplayer game. The same executable contains the server and the client. It can be started without arguments to start a server on the first available local port and connect the client to the server. It can be opened with specific command line arguments to skip either the server or the client part, or to open the level editor instead. If you only have the server argument, it does not initialize a GUI. The only use of the console is stdout/stderr for logging. For example, if the program crashes, it prints a stack trace to stderr. The only OS that has problems displaying a GUI and still allowing stdout/stderr to write to the console that started the program is Windows.