El's Things

4h2n01
<< Up

Dashing-February

Welcome back, I hope you've had a good February. I've been keeping busy as per usual, working away on the old home lab and MultiMall.

In this post I'm going to talk about:

  • Blog Images
  • Dashboards
  • Server management
  • MultiMall

Let's get straight into it shall we.

Blog Images

As some of you might have noticed, in the last blog post there were a few images scattered around. I'd spent some time before uploading that posts changing the underlying 'blog' section of the website's code. I won't bore you with the technical details (unless someone wants to hear about that?), but I think it made the place look a bit more put together.

I'd only realised about a week after putting the post up that I'd not mentioned it so I though it best to put a little mention here.

Dashboards

Over the last month I've been toying with the idea of making a dashboard for the homelab, a centralised place to see all of the important information about various machines and devices on the network.

As I showed in the last post, I had a Beszel dashboard showing some info about my systems already but I wan't more graphs.

I'd also had some DNS issues lately and discovered that CoreDNS has some metrics with work with Prometheus ( time series database ) and Graphana (Dashboarding webapp) so it was an excuse to try out all of those services, and to cut a long story short my time Raspberry PI 5 was getting swamped with data.

Constant writes to the disk of around 50Kb, not a lot but leaving these services on for 48 hours generated 4GB of data, sadly when I built the server I only had a 32GB so in 16 Days it would fill the drive. There is an external 2TB drive for backups and media services but I didn't like the idea of just dumping all of that semi important data in with data I actually want to keep and use.

Grafana seems fantastic if you can actually hold all the data it requires to be useful, I loved playing around and creating dashboards but ultimately, I just don't produce or have a way to manage that much data... at the moment.

Server Management

So this section was meant to cover 'server up time', my homelab had recently crossed over 180 days of uptime, that is time without a reboot or shutdown. I thought this was a cool milestone to have hit, considering the growing usage by the household on the server.

Now, it's still mainly idle, but after installing Firefly III (Feb 13th) and incorporating that into my nightly routine as well as streaming the odd video from the media collection. I thought it'd held up rather well.

However, the previously mentioned DNS issues had me rebooting and restarting the machine serveral times and that showed me more issues, like the server not sending out notifications for various services.

It was a bit of a nightmare, resulting in about 2 hours of debugging, but it's the first time I've done a bit of maintenance in a 'production' environment.

I updated the packages, cleaned out some caches and most importantly finally set up a relay for redundancy.

Before this maintenance period, all of the services on the homelab are behind a firewall and that whitelists connections to the box, some services are accessibly via revere proxy but those connections again are whitelisted. There is also a VPN into the network so selected individuals can access important services from anywhere.

The reverse proxy with a little janky as I was using DuckDNS to route my traffic back home, it's a great service but it does have the occasional blip in it's availability. This blip was becoming more and more frustrating to deal with so I've got a script running on a digital ocean droplet, that queries DuckDNS and stores the IP, we then use that cached IP to talk directly to the server.

This solution although hacky, has resulted in clear looking telemetry graphs from my external services. Much better.

MultiMall

Finally the section I'm sure you've been waiting for.

MultiMall is still in development with the 2026 goals still in mind, as I write this up I'm realising I've got about 6 weeks left to crank about the Alpha-Tech-Demo. I'll keep pushing for that goal but there is still a lot that needs to be done.

I'm inching closer to tying the GUI systems back in to the Main Game systems, I've had to create a whole load of custom GUI elements to get the astetic that I'm after but it's been interesting and I'm so ready to have this GUI rework finished with.

In other news I've been thinking for a while about how to track some more information about MultiMall ( The result of looking at Dashboard for too long ). I recently intergrated Google Analytics into my Itch profile so I can see traffic for that and it got me thinking.

I listen to this podcast Butterscotch Shenanigans, 3 bros just making games, nice vibes.

But they talk about steam metrics and various other metrics all the time and I'm aware of how website traffic can be tracks and used to improve them but for games I've got only the slightest idea.

With my knowledge of full-stack web applications, I thought I could whip up a small app for my own initial testing and eventual production usage. So after a weekend I am now the proud owner of my own analytics system.

When playing MultiMall we generate a session ID and while the game is played we send various packets of information along with the SessionID, this allows me to infer average session time as well as which shops and items are popular which I can then use to tweak shops which players aren't as interested in or scrap them all together.

There will be a toggle for sending back telemetry because I get it if you don't want me knowing how you play or if your using a metered internet connection, I'm not gonna waste your data, that's not cool.

Closing thoughts

A busy month, not necessarily in terms of MultiMall's progressions but learning is part of the journey to it's eventual completion. Learning how to get the game to communicate to the outside world was a novel exercise, but it's changed the way I've designed the Multiplayer system of the game and has me thinking about various ways to track and manage player engagment.

I don't want to sound all business like but at the end of the day that's what games are, a business and if I wan't to make enough money to pay rent with my games, I need to think about them as products to sell and how best to market them.

Looking ahead, I'm about to enter a period where I'll be getting feedback (hopefully lots of it) and I currently have no way to aggregate all of that information into actionable metrics. A skill I'd rather learn for a month or 2 now before thinks start taking off.

Hopefully this is the last time you'll get a dry update from me and that next time it'll be with a link to a demo you can try.

I'd better get back to it, see you in the next one... h2n0