Organization ideas for the source code / projects
This is just a suggestion, sort of a high-level organizational setup.
I've written an NT/2K/XP service that will launch the minilogin, world, and zone servers in the context of an NT Service. It helps cut down on desktop clutter from running 7 console apps at once and makes it easier to run eqemu on an NT machine where you might not always be logged on.
Anyhow, I just had some suggestions I wanted to get feedback on. Spawning processes is a bit ugly in a service, you can't gracefully handle errors that might happen, there's no exception handling and the apps you spawn will just display an error box and that can hang the service, causing you to be unable to stop/start it.
What I'd like to see is to take the world and zone server projects and turn them into simple DLLs that wrap up their functionality in DllMain and could (later) export some other functions and variables to get status about zone servers, launch more on demand etc...
Then, we could create a new subproject, eqemu which would be the single application that the user runs to start up their server. This single process could manage login, world, and zone servers. We could also add the ability to launch this app as a service on supported platforms. This app would use a configuration file or the registry to store information about what kind of servers it should launch and how many zone servers, ports etc...
Anyway, that's my suggestion, I could handle a lot of those changes, but I just wanted to get everyone's feedback before starting so I didn't waste my time if nobody else was interested.
|