Version 0.9.0, a GUI, and (finally) a website

TL;DR:


 

I am pleased to announce that, after over 5 months since the initial release, the first update for the client is out!

Spoiler: absolutely nothing was done on the client between October and February. Much of the work on 0.9.0 started at the beginning of February (yeah, I’ve been busy).

 

Finally, a gooey GUI!

Anyway, perhaps the biggest thing about this version is that there is finally a nice graphical interface (or GUI). You will no longer need to type inside an ugly command-line interface 78%* of the time.

gui-0.9.0
Finally, an GUI. Because it’s 2019.

*I’m still new to this whole WPF thing, so I haven’t been able to port the connection selection bit to the GUI yet. But given how most people don’t seem to get the existing prompt anyway, and that CTP is today, I’ve opted to release it anyway so I can finally push FCOM to a larger audience.

 

New interface, new instructions

Here’s the updated instructions on how to use it. If, for some bizarre reason, you prefer the old command-line interface, you can still open FcomClient.exe as before. I don’t know why you would prefer that though.

Also, the “verification code” is now known as the “Discord code”. Same thing, but shorter name. Less confusing and less typing. Why waste time say lot word when few word do trick?

 

If you’re coming from an older version of FcomClient…

The GUI is more or less just a “wrapper” for the existing (and also ugly) client. Functionality under the hood is largely the same. Because of this, the workflow largely maps one-to-one to the GUI, as follows:

GUI button Old workflow
Start forwarding Opening FcomClient.exe

  • No need to enter the callsign and Discord code again, however
  • The connection selection prompt is unchanged, and still needs to be done in the console window that pops up
Pause Closing the FcomClient.exe console window
Stop Closing the console window, then sending “remove” to the bot

 

Changelog

The FcomClient changelog can be found on the GitHub releases page for 0.9.0, but because the bot and client are so tightly coupled to each other (but not necessarily updated simultaneously), here’s a high-level overview of the changes that you’ll see:

  • Graphical interface. ’nuff said.
  • The callsign you enter into the client is now auto-capitalized
  • Forwarded messages received over frequency will now include the frequency in the bot message. Sure, it had already been included before, but it’s now nicely formatted (e.g. 123.45 MHz instead of just 12345).
  • Some additional logging in log.txt for improved bug-squashing abilities.
  • The ability to deregister (i.e. the bot “remove” command) via the GUI

Minor server-side stuff:

  • The Discord code is now guaranteed to not contain underscores (“_”) and dashes (“-”) – double-clicking on the code will highlight the entire code
  • You’ll now receive a bot DM once you’re registered through the client

 

GUI source code

To be frank, the GUI code is an absolute mess. It was quickly hacked together, and it mostly just passes the callsign and Discord code to the existing FcomClient.exe.

Because of this, it’s not on GitHub (it’s not quite ready yet), but for the purposes of transparency, you can find them at https://studentweb.uvic.ca/~norrisng/fcom/FcomGui-src/.

I’ll be zipping the entire Visual Studio solution and uploading them here until I can figure out how to bring the GUI and underlying client together into a single, unified repository.

 

Website

A website has finally been setup for FCOM. It’s at https://norrisng.ca/fcom. The dev blog here will continue to be updated.

Currently, it’s hosted on my university webspace, and is therefore just a redirect. However, it’ll eventually be moved, so please share the link I’ve given, and not the webhome.csc.uvic.ca link.

 

Download

Available at the same place, as always:
https://github.com/norrisng/FcomClient/releases

 

And finally, I’ve switched over to PayPal.me for donations: https://paypal.me/norrisng
Always appreciated, but never mandatory. But it certainly helps pay for programming fuel coffee and server bills, among other things 🙂

FCOM open beta

TL;DR:
If all you want to do is download and use FCOM, skip to “Getting started” and “Bugs and suggestions”. Nevertheless, it would be much appreciated if you could go through this entire post 😀


 

FCOM is finally ready for open beta!

preview
Yeah, unfortunately it doesn’t have a nice user interface yet. That’ll come later.

Okay, there’s still quite a few kinks here and there, but I really want to see how the server performs under load before the Big One (CTP) rolls around, so that I can improve performance before everything comes crashing down, right when everyone needs it.

In the meantime, please try FCOM out and try to receive as many messages as you can. Okay, perhaps it would be nice if you could be a little more considerate on the day of CTP (not that I can control you anyway), but for now, it would be nice if I could simulate the amount of traffic my poor bot would get hammered with on that very day.

Getting started

First, you’ll have to join the Discord server (invite link). This is where the bot lives for now.

Once you’re in, please take a look at the #announcements channel (in particular, the pinned messages) before going anywhere else (yes, there aren’t any pins right now, but I’m working on it).

Download the FCOM client here: FcomClient-0.8.0.zip

Requirements:

  • Windows 7 or newer
  • .NET Framework 4.7.1 or newer
  • WinPcap

Some reading material:

Bugs and suggestions

Please take a look at the GitHub issue trackers (FcomClient, FcomServer), before using the #bugs and #suggestions channels on the Discord server.

Unfortunately, the bug I mentioned in my last blog post still exists. I haven’t been able to get around to it. In case you’ve missed it, forwarded messages will sometimes contain random code attached to them, such as the following:

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

In case you’re curious, that’s information regarding the state (i.e. flaps, lights, landing gear) of nearby aircraft, which is then used by network clients (e.g. vPilot) to render aircraft inside the simulator.

Source code

Source code if you’re interested (yes, it’s a mess, but it will have to do for now):

Credits

A special thanks to all of the early volunteers:

  • Early testers
    • Britannia
    • Grant
    • Mark Doyle (Pritt)
  • Logo
    • Britannia
  • Closed beta testers
    • Agera
    • AidasP
    • Avalanche
    • Barbate Brandon
    • Elias
    • flightcode
    • Ka Hei Zheng
    • Pronoun
    • Sterling P. (bantha121)
    • Tafia
    • Tivec
    • triplesevenbob
    • Vikaas
    • Zack

Also, thanks for all the shitposting encouragement over at the /r/flightsim subreddit and the /r/flightsim Discord server. But no, seriously, I wouldn’t have taken FCOM this far if it weren’t for all of you.

Also, a special shout-out to Hubok over at the /r/flightsim Discord server for walking me through on how to set up MariaDB. It’s saved me from having to Google it, which would’ve eaten into what limited dev time I have (I’m not a sysadmin, nor do I have any devops experience prior to this).

Happy flying! And may the odds be in your favour if you’re planning to furiously mash F5 book a slot for CTP.

Oh, and if you like what I’m doing, consider donating. Aside from showing your support, it also helps keeps the lights on for the server/bot 😉

Buy Me a Coffee at ko-fi.com