A lot of backend updates to Gamocosm

The past 7 days I’ve actually spent an incredible amount of time on Gamocosm, primarily (re)deploying the production server 3 times! I would learn better ways to set things up throughout/after the process. I tried to do it early in the morning so hopefully no-one experienced any downtime. Previously, Gamocosm was running on the original server created over 5 years ago, and using Phusion Passenger as the internal server for Rails (the Ruby web framework Gamocosm is built on). However, that required specially compiling nginx (the front-facing server), and it wasn’t that nice. Gamocosm now uses Puma as the internal server.

I have also hopefully fixed a couple long-standing bugs:

  • Minecraft not starting after server started (an issue was fixed, although there may still be another problem)
  • Server failing the shutdown, snapshot, and destroy process, creating multiple snapshots and not destroying the server (it would abort if it thought it couldn’t get the snapshot ID)

Both issues were related to delays in information updating on Digital Ocean’s end; for example, the snapshot event/action would report completed, but it would not be visible immediately until shortly after. Gamocosm will now continue to poll for the information/status it needs, instead of easily aborting if Digital Ocean’s API had any delays.

I’ve also added any extra clause to the snapshotting worker to delete any old snapshots once it has the new snapshot. These changes should mean that there will be less litter of snapshots (hopefully no litter).

Going forward, I’m thinking of rewriting the scheduling backend, and possibly adding support for user specified domains. I think I’ll try to resume the weekly updates, so stay tuned!


Necro’d after almost a year!

I guess it’s that time of year again - me awkwardly returning to Gamocosm for some minor updates or bug fixes, after ignoring messages and GitHub issues for a long time sweat smile. Every time, once I start falling behind, I get anxious and want to avoid looking at/thinking about it, which causes me to further fall behind. Well, this time I have a little more to show - mainly, I’ve dived back into the code and sysadmin stuff, updating dependencies and more importantly updating the tests.

A while ago I wrote quite a comprehensive set of tests for Gamocosm (IMO), but since then CloudFlare (and possibly Digital Ocean) changed their API. Gamocosm was updated to use the new API, and as well some other tweaks were made, but that caused most of the tests to fail, as different HTTP requests were being made. Many of them would fail early, and with so many failures, the tests weren’t very useful. However, that has finally been fixed, and as a result I can feel more confident updating Gamocosm again.

So after clearing up a backlog of issues, refamiliarizing myself with the code, and updating the tests, I hope to stay on top of things again. For, well, as long as I can keep it up (I don’t have a good track record).

I’d also like to share that Gamocosm has passed 300 monthly users, a big surprise for me (given that I haven’t been advertising Gamocosm anywhere)! That, along with the kind and patient words of everyone, imbues me with more of a sense of responsibility, and once again I will make an effort to be a better maintainer.

Anyways, I’m feeling quite well right now about Gamocosm, and I hope to keep it up. Thank you all who have given Gamocosm a shot and supported it along the way! Happy Minecrafting!


Necro’d after over a year!

Damn, it’s been a long time. Again, no excuses, just me being a crappy maintainer. Well, gonna try to clean things up again and maybe push some updates.


Update #20

Full HTTPS support is finally live! Your data is fully encrypted between your computer, Cloudflare, and Gamocosm’s servers. For more information check the wiki page on Security and Privacy. Some miscellaneous bug fixes and improvements have also been made.

I will be travelling again for about 2 weeks. Don’t expect updates although I will try to respond to questions/problems. Still not sure how GitHub notifications work…


Update #19

Made some miscellaneous improvements. More maintenance to come this week.


Update #18

CloudFlare finally disabled the API Gamocosm was originally coded with, breaking the user server URLs. Along with starting a modded server with friends, that gave me the motivation to finally update Gamocosm… URLs should be working again. I will be doing more updates. Good to be back!


Update #17

Trying to get back into things.



Update #15

On vacation with friends. Got sick the other day, had to go to the hospital, better now though. After this trip I will finally be “free”.


Update #14

Finished exams, but working on paper submission… pretty stressful.