Weekend update

Unfortunately, I’ve been pretty busy with school for the past week, so I haven’t had much of a chance to work on FCOM. I should be able to get some more work done on it this coming week though (key word being “should”).

Anyway, here’s a progress report.

 

Database migration

I’m currently working on migrating the backend database from SQLite to MariaDB (if you’ve heard of MySQL, that’s more or less what it is). I originally planned to do this after initial release, but the sudden realization that CTP would mean 1000+ users hammering my server with multiple messages all at once was enough send my ass into high gear to get it into the initial release.

Currently, while multiple messages can “enter” the message forwarding queue (which sits inside a database), only one message can actually be inserted into it at a time. Upgrading to an actual DBMS (database management system, which is what MariaDB is, along with other names such as PostgreSQL, MySQL, Oracle, etc etc….) will allow for multiple messages to be inserted simultaneously, and therefore, much better scalability.

It’s not particularly difficult (after all, a database is a database), but there’s so many little things here-and-there that have to be dealt with. While I’ve had some experience with databases, I haven’t really been in the deep end and actually implemented this stuff before (yeah, they don’t teach that in school), so I am – to a certain extent – learning much of this as I go.

TL;DR: I have to setup new stuff and rewrite existing code so I can handle way more users simultaneously.

 

The IVAO bug I mentioned earlier

That IVAO bug I mentioned earlier might be a user-specific issue. The tester that reported it had all sorts of other issues as well (which another IVAO tester did not encounter so far), so I’m gonna file it under “cannot reproduce” and ignore it for now.

cnr
“Can’t and shouldn’t.” (xkcd)

That being said, in the midst of higher-priority issues and a lack of IVAO testers, I haven’t really had a chance to actually look into this. I’m not sure if I’ll be able to get around to this by CTP either, so it might have to wait until after initial release.

 

Weird stuff being appended to forwarded messages

Meanwhile, another bug has popped up. Forwarded messages would occasionally have extra stuff appended to them. Here’s an example of such a forwarded message, as seen in Discord:

AAL123:
Here's a test message
$CQLAN2250:@94836:ACC:{"config":{"lights":{"strobe_on":true}}

The last line is actually information regarding the state (i.e. flaps, lights, landing gear) of nearby aircraft, which is used by network clients (e.g. vPilot) to render aircraft inside the simulator. I have a pretty decent idea of how to get them to not show up, but I haven’t been able to get around to it. This will happen once I finish up the database migration stuff.

While rather annoying, this isn’t exactly a critical bug, so it might still be present at public beta, workload depending.

 

Release timeline

At this point, I’m still aiming for a release by CTP on October 27. Ideally, I’d like to open this to public beta next weekend so that I have an idea of how well (or not) the server handles the load.

In any case, while the extra-stuff-appended-to-messages bug is annoying, it’s not critical, so it might still be present at public beta if I can’t get around to it. As for the IVAO issue, given how CTP is getting increasingly closer, I might even hold off on officially supporting IVAO till after initial release if I can’t get around to it.

We’ll see what happens.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s