Entities, components, actions and certificates

Saw this article about LetsEncrypt, the service I use to get my HTTPS certificates, accidentally revoking millions of certificates… and then noticed the email from them in my inbox informing me that they’re very sorry, but all of my domains are affected.

On Wednesday, March 4, Let’s Encrypt – the free, automated digital certificate authority – will briefly become Let’s Revoke, to undo the issuance of more than three million flawed HTTPS certs.

The Register: Let’s Encrypt? Let’s revoke 3 million HTTPS certificates on Wednesday

Luckily fixing it was as simple as SSH’ing into my server and running certbot renew –force-renewal, so it was no great emergency. Still, I imagine tomorrow a whole swathe of domains across the internet will be suddenly insecure and promoting browser warnings all over the place.

In roguelike development news, I for some work done on the new Entity/Component/Actions system I’m going to be using for BotLG.

So far I’m really pleased with it. Soon I’ll begin putting it into the BotLG codebase and converting the existing game verbs over. It’s so much cleaner and easier to expand than the current entity/NPC system.

Scheduled Maintenance

My hosting provider, Linode, will be performing scheduled maintenance next Wednesday, October 23rd:

Recently, we identified a commit to the upstream Linux kernel as the cause of an increase in emergency maintenance on our platform. After implementing and gaining confidence in a fix, we are now ready to roll this update out to the remainder of our fleet. We’re confident this will resolve the bug and ultimately lessen the amount of unplanned maintenance for your Linodes as a result of this specific issue.

The server will unavailable from 2019-10-23 2:00:00 AM UTC, for up to two hours. Typically it’s much shorter than that, usually lasting around half an hour.

What happened to June?

Here we are in the middle of July, and there’s a conspicuous lack of changelog notes for June. So what happened?

Most of June was spent in an existential funk as the project floundered a bit and I found it hard to keep working on it. Some of code was getting a bit smelly, particularly on the client-side, and I found as I was working on new content (skill-driven combat, specifically) a lot of the structural assumptions I had made early on were proving to be incorrect.

So it’s time for drastic measures to get things moving again. Co-incidentally, the folks at Debian released buster, the new version of their distribution recently. I took this as a bit of an omen and upgraded my server. It went pretty smoothly, and it gives me access to the latest version of PHP, and so the latest version of Laravel, too.

I created a new project, and I’ve been slowly porting over the decent code and rewriting the bad, paying particular attention to the client, where I’ve completely re-written the network handling, and made some pretty massive changes to the display canvas.

The upshot of all this is that the game is looking… different. Better, I think, but certainly different. The colour palette is a lot more high-contrast (and dare I say it? vaporwave aesthetic) and the visible map area is much larger. I realised that what I really want to be implementing is a more roguelike experience, with larger, scrolling maps to explore. So that’s where I’m heading.