Troubleshooting - Gamocosm/Gamocosm GitHub Wiki

Basic info

Gamocosm tries to manage a lot of stuff. Sometimes stuff goes wrong, whether it be non-deterministic factors outside of its control (e.g. Digital Ocean droplets not having network connectivity right away), and then it gets stuck in a bad state. I'm trying to keep a list of problems encountered and how to fix them

Gamocosm and Digital Ocean desynced

Examples

  • manually created a server on Digital Ocean
  • when you click stop, Gamocosm says the server isn't running
  • IP address or status are "error"

Notes

  • The solution below should fix a lot of problems related to incorrect state. It's often worth trying if you have an issue and although it's a little troublesome, it should never make things worse
  • If your server had never finished setting up (you never played on it), it's easier to delete the whole thing from Gamocosm and create a new one

Solution

In Gamocosm's database, a "server" contains information about its corresponding server/snapshot on Digital Ocean. Sometimes the state gets corrupted; e.g. if the server gets deleted on Digital Ocean, Gamocosm doesn't know about it. The fix is to create a new Gamocosm server with the right information. You can safely delete the old Gamocosm server after everything is working.

  1. Make sure you have a snapshot of the server on Digital Ocean
  • If your server is running:
    1. Go to Digital Ocean's control panel
    2. Stop the server
    3. Create a snapshot of the server (name doesn't matter)
  • If your server is not running, then you should have a snapshot; Gamocosm only deletes snapshots after it has successfully started a server, or when you delete a server with a saved snapshot
  1. Under the "Advanced" tab of your server, copy down the "MCSW key"
  2. If your server was running, delete it on Digital Ocean after you have the snapshot
  3. Go to the Gamocosm servers page, and scroll down to the "Digital Ocean" section
  4. Click "refresh cache", find the snapshot, and copy the ID
  5. Create a new server on Gamocosm with the same location and size (you can have the same name), and go to its control panel
  6. Go to the "Advanced" tab
    • Set "SSH port" to be 4022 (or whatever you changed it to; 4022 is the default, see the FTP and SSH wiki page for more details)
    • Set "Setup stage" to be 5, the finished value as of 2015 November 1 (see the Server advanced tab documentation wiki page for more details)
    • Set "Digital Ocean saved snapshot ID" to the one you copied
    • Set "MCSW key" to the one you copied
  7. Save and start the server from Gamocosm
  8. If all goes well, you can delete the old server on Gamocosm
    • The reason you don't delete the old Gamocosm server right away is because if it had a saved snapshot (under the "Advanced" tab), Gamocosm assumes you want to delete that. So if that's the snapshot you wanted to recreate from, you would lose it before you got to restore it!

Connection issues in the server log

Examples

  • stuff about "connection refused" in "setup server worker" when trying to start a server

Notes

  • If you've recently been creating/destroying servers on Digital Ocean, it seems sometimes it takes a while before it gets network connectivity (if at all)

Confirmation

  1. Try to SSH into your server; follow the instructions on the FTP and SSH wiki page
  2. If you can SSH in, you're probably not having connection issues. Try rebooting the server from Gamocosm. If the problem persists, it's probably not this

Solution

  • I haven't found a way to "fix" the connectivity issues on Digital Ocean when creating/destroying multiple droplets in short succession besides waiting a few minutes and trying again (3-30 minutes, usually only a few minutes unless you've been creating/destroying a lot of servers recently)

Updating Fedora

To update Fedora, follow the instructions here.

Examples

  • Minecraft does not start after updating Fedora

Notes

  • If the version of Python changes, packages previously installed with pip are out of date and unused

Confirmation

  • Failed Units: 1 followed by mcsw.service when logging in via SSH

Solution

  • SSH and run pip3 install --user flask
  • alternatively, fully stop and start the server with Gamocosm (reboot is not sufficient)