Moon Has Moved to Finland

(edited)

Hey everyone,

Quick little infrastructure update today.

The Moon server migration is officially done, and everything went a lot smoother than I honestly expected.

moon-migration-hetzner-helsinki-header_3.jpg

The old DigitalOcean droplet has been turned off, and Moon is now running on a new Hetzner CX23 in Helsinki, Finland.

So far, everything is live and behaving beautifully.

That is always the best kind of server move: the one where there is not much drama to report afterward.

Why Move?

The short version is pretty simple:

  • better value for the hardware
  • a cleaner fresh server
  • more breathing room for the game
  • a chance to make sure the backups and restore process were actually solid

Moon has been running for a while, and like most long-running servers, it had accumulated the usual pile of history. Old configs, user homes, database state, cron jobs, Caddy config, game files, little scripts I probably wrote at 2 AM and then forgot about.

Nothing too scary, but enough that I wanted the move to be careful instead of casual.

The Migration

The important parts were the game files, the database, the Caddy setup, user homes, root scripts, and the various little bits that make the server feel like itself.

The game itself is live, so the database was the thing I wanted to treat with the most respect. File backups are easy. A moving database is where you can accidentally make your future self very sad.

So the process was basically:

  1. catalog what mattered
  2. back up the old server locally
  3. provision the new Hetzner box
  4. install the needed stack
  5. restore the files and configs
  6. restore the database
  7. test the game before DNS cutover
  8. move traffic over
  9. shut the old droplet down

Nothing fancy.

Just careful.

The New Home

Moon is now running on a Hetzner CX23 in Helsinki.

That gives the project a cleaner, newer home without changing anything users should have to think about. The site is still the site. The game is still the game. The important difference is underneath: the server is fresh, the restore path has been tested, and the old droplet is no longer sitting there costing money.

I also got a nice bonus out of the move: the backup process is now much better documented than it was before.

A backup you have never restored is mostly a theory. This time, the restore was not theoretical. It worked.

A Small Traffic-Shaping Surprise

One funny little side quest came up during the upload.

I normally run some traffic shaping on my home connection to stop the Hive Engine node from eating my upstream bandwidth. During the migration upload, the transfer was crawling more than expected.

It turned out my tc setup was doing exactly what I told it to do, not what I thought I told it to do.

The rule was supposed to throttle only a few service ports, but unmatched traffic was falling into the same limited default class. So SSH uploads were getting throttled too.

Once that was fixed, the upload speed jumped, and the migration moved along much better.

The Best Outcome: Boring Success

There is not a giant incident report here.

No corrupted database.
No weird Caddy mystery.
No lost game state.
No long outage.
No desperate "why is PHP doing this?" rabbit hole at 3 AM.

Just a server move that went well.

The old DigitalOcean droplet is off, the new Hetzner server is live, and Moon is happily running from Finland now.

There is invisible work involved with such a game like this - such as hosting and system administration. Its not always glorious, and often no one knows, but this is the game behind the game - the one that makes real-time PvP space empire gaming possible.

As always,
Michael Garcia a.k.a. TheCrazyGM

0.80024245 BEE
2 comments
(edited)

Glad the server migration went well!

Not sure if I've heard of this Moon game before. Looks like you tried to link to it at the end there, but the url has parenthesis in it. I tried to clean it up but still didn't load for me. I can bring up hive.pizza but moon.hive.pizza - nothing.

Happy Friday! :)

!ALIVE !BBH !UNI !PIZZA !LADY

[EDIT] After writing this, I checked back and it timed out.

image.png

0.00058784 BEE

View or trade LOH tokens.


@kenny-crane, you successfully shared 0.1000 LOH with @thecrazygm and you earned 0.1000 LOH as tips. (1/12 calls)

Use !LADY command to share LOH! More details available in this post.
0.00000000 BEE

Link is fixed, and I don't know why it timed out, but i restarted it and it seems, ok, at least at the momen. Maybe I spoke too soon on, "how well it went" 😅

0.06383834 BEE

Yes, the link is fixed and I am IN! All is well. Thanks for all you do!

image.png

0.00000000 BEE

PIZZA!

$PIZZA slices delivered:
@kenny-crane(1/10) tipped @thecrazygm

Send $PIZZA tips in Discord via tip.cc!

0.00000000 BEE