# 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.

Source: https://featherpanel.com/docs/wings/

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](https://featherpanel.com/docs/spells);
- 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

| Path | Contents |
|------|----------|
| `/etc/featherpanel/config.yml` | Configuration, written by `featherwings configure` |
| `/var/lib/featherpanel/volumes` | Server files, one directory per server UUID |
| `/var/lib/featherpanel/backups` | Local server backups |
| `/var/lib/featherpanel/wings_backup` | Node backups |
| `/var/lib/featherpanel/archives` | Transfer archives |
| `/var/log/featherpanel` | Logs |
| `/tmp/featherpanel` | Temporary files |

## Next steps

- [Install FeatherWings](https://featherpanel.com/docs/wings/installation)
- [Update FeatherWings](https://featherpanel.com/docs/wings/updating)
- [Troubleshooting](https://featherpanel.com/docs/wings/troubleshooting)
- [Configuration reference](https://featherpanel.com/docs/wings/config-reference), [CLI](https://featherpanel.com/docs/wings/cli) and [HTTP API](https://featherpanel.com/docs/wings/api)
