This is a different blog post than the ones I usually do, feel free to ignore it. This is purely my thoughts and rambling.
I've taken over running OwlGaming for nearly two years now. Since then I went from having no clue what I was doing(and didn't care) in regards to continuous integration, to having it be one of my primary thoughts in our newest projects. I have to plan our infrastructure before deploying(imagine that for a small hobby) and give a lot of my time in just mapping out in my head and in diagrams. When the new site was designed it opened my mind to a lot of things I took for granted and didn't care about how they worked.
Recently I've put more of my time on Owl into future-proofing and making things a little easier. I've been working with containerization on docker to make our server deployments easier. Since we don't have the kind of budget as most companies, we tend to have a lot of services host on one server rather than spread out for high availability. This also means that it takes hours to get another server spun up to replace one that had a hardware fault. There is simply a lot to configure and a lot of data to be transferred from backups or other servers.
From the Maxime era, our server design was not nearly what I would have hoped for. We had two machines, one had a really janky and old PHP management framework which was pretty insecure and hard to backup, and the other was for MTA/TS/UCP. Both servers did same machine backups just to another place on the hard drive with the exception of the MTA/Logs DB to dropbox.
Coming from my previous position where I managed servers at MTA:RP, I was a bit in over my head as I had mainly done Windows Server administration. Although I had used linux at home and on some small personal servers I didn't have much of a clue on how they should be secured. I've learned a lot since then and OwlGaming's architecture has changed a lot.
We now open source some of the tools we use today, we have completely redone our UCP from the ground up, have built different CI Scripts to handle deployment and backing up, and now we are looking at moving into containerization.
We handle around 20 requests to our forums every second. And process hundreds of SQL queries every second. It's hard to argue that we are just some small gaming community. We have a serious footing to over a thousand people who login and play everyweek, it's awesome.
In OwlGaming's next project we have had discussions that have lasted days just to talk about how(from a technical aspect) we will get it done. Some of those discussions haven't been brought to any conclusions yet, especially how we plan to expand our website. Do we build an API engine in Go to handle authentication? Do we build separate sub sites to handle MTA and any other projects? A separate site for all and keep auth/ticket center on the same one?
These are tough questions we are still working on figuring out today. If you are knowledgeable in the field or just want to learn a bit more feel free to send me a message on Discord or the Forums.
But, back to the original topic. OwlGaming has gotten to the point that it has to be treated like a business. I must take special consideration into every technical decision I make. Things have gotten to the point where the servers can run themselves, applying updates in a single command, running backups at defined intervals, and locked down to a comfortable level. This also puts us in a tough spot. I can't just replace a gear in the machine for a better shinier part without changing how the rest works. I can't expand our servers in the ways I would like due to budget constraints and lack of time to develop new technologies. Would expanding put Owl to the point where I don't have enough free time to manage it? Maybe. It's something I need to think about. Especially since a lot of work would have to be done to the site to support new games/servers/whatever.
OwlGaming won't slow down sticking to what it knows best. But expanding into new territory is something I'm very interested in and something I feel would really be worth while. I just can't do it alone..
That's why I thank everyone I can depend on. New and old that have been sticking with me and helping make sure things are running smooth. We make sure to support each other when someone happens to realize the important fact that real life might be more important than helping an online community. We recently had someone new join us internally and he's been awesome, integrated well with all of us and is really dedicated.
I still feel good about where OwlGaming will go and I just hope I'm able to continue to find the free time and motivation to run things.
We recently passed 500, 000 posts on the forums, yes, half a million. I only noticed when I was filling out a survey for the Forum software and it asked how many posts we had.
Here's to another 500, 000!
My usual random song link: https://open.spotify.com/track/77jhyfWF5gsCGknbLkYk6J
Subscribe to OwlGaming Development
Get the latest posts delivered right to your inbox