Sat 28 Apr 2018
Author: Lucas Fraser
Over the last few days I've been working on a launcher system for First Light. Initially it's just a basic way for us to easily download and test FL on a variety of systems, it will probably end up being used for alpha / beta testers as well.
For those of you interested in the technical details, basically we have a web server and a bunch of PHP scripts I've made sitting on the internet. The launcher hashes the password and transmits that plus the email to a download script, this checks the password against the one in the database (seasoned with salt for extra security) and if correct, downloads a zip archive of First Light and extracts it to a folder on your computer. This version of First Light is different that our development version in that it has extra code to authenticate a 'login token'. Back to the launcher, when you click the "Launch" button it once again logs into our PHP API, the same way as before, but this time is issued a 'login token' basically a big random string of letters and numbers, something like:
Then once it has successfully generated a login token, it launches the downloaded First Light game passing on the login token, then First Light itself connects to our API and tries to verify the login token, if successful, the login token will be deleted from our database. The API passes back another token like the one above which is basically something we can recreate clientside to verify the integrity of the issuing server. All very technical. Whist its mostly secure, there are always going to be ways for those who wish to get around it, I'm not going to blog about them for obvious reasons, therefore the launcher will need more work before a production ready release. On a side note, Sam has been working on the smooth shadows which you may have seen on Twitter, but heres a screenshot if you haven't seen them. He'll be posting more about that as soon as he's finished