This way I don't need to have the main thred interrupted by lots of database access, since my version of MySQL doesn't allow prepared statements, which isn't going to do a lot for performance.
I've already got the front end up and running, I decided to go for a GUI instead of a console. It's pretty simple, just a log window with a edit box for me to enter commands. Here's a screenshot anyway, just for the sake of it:
The text that you probably can't read is:
Database conneted, loading data
Listening for connections
Nothing much. It also goes to the system tray if you click the close button, since me (or one of my friends if they're using my server to play a network game) is bound to accidently close it. It restores itself when you double-click the icon in the system tray.
At the moment the database loads the users and IP bans from the worker thread (hence why it says "loading data" not "loaded data"). But that means I don't know when the loading is complete, which will cause issues when a user logs in. So I'm about to change that.
It'll also log things like how many users and IP bans were loaded, what scripts, items, rooms, NPCs, etc were loaded, and a lot of other junk. When the server is running, it'll show real buffers (I'll filter out the .password command, since my server is publicly viewable by VNC).
I intend to do something similar to [A place that does not exist], in so far as there'll be a bot which I can access through the server console. In fact, that's what typing something in the edit box does, just dispatches what I typed as an input for the bot user, which will get processed by the server.
So, my current todo list, just for the next day or two:
Then I'll move onto stuff like scripting, more rooms, spells, items, etc etc.
Well, I think that's enough for now...