View .md

FeatherWings

FeatherWings is the Go daemon that runs game servers in Docker containers on each node, with an HTTP API, a console websocket and a built-in SFTP server.

On this page

FeatherWings runs on every machine that hosts game servers. The panel stores what a server should be; Wings makes it happen on the node. It:

  • creates and runs each server in its own Docker container, and runs the install script of its spell;
  • exposes an HTTP API on port 8080 that the panel calls, and a websocket for the live console and stats;
  • serves server files over its own SFTP server on port 2022, with the same credentials users have on the panel;
  • makes server backups, node backups and server transfers between nodes.

It is written in Go and is a single binary, featherwings, managed by the featherwings systemd unit. The APT package also adds a wings symlink for older scripts.

Where things live

PathContents
/etc/featherpanel/config.ymlConfiguration, written by featherwings configure
/var/lib/featherpanel/volumesServer files, one directory per server UUID
/var/lib/featherpanel/backupsLocal server backups
/var/lib/featherpanel/wings_backupNode backups
/var/lib/featherpanel/archivesTransfer archives
/var/log/featherpanelLogs
/tmp/featherpanelTemporary files

Next steps