Documentation

Introduction

Flutter is a self-hosted game-server control panel. This site walks you from a fresh Ubuntu box to a running Minecraft (or any egg) server.

What Flutter is

Flutter is the product name. It is not Google’s Flutter / Dart SDK, and it is not a fork of Pterodactyl or Pelican. It is MIT-licensed.

  • Next.js dashboard for players and admins
  • Hono API with MongoDB and Redis
  • TypeScript daemon on each game node, talking to the Docker Engine API
  • Egg JSON import so existing Pterodactyl and Pelican eggs still work

Try the hosted demo at demo.flutter.software before you install, or clone the panel from GitHub.

Architecture

The panel host serves the website and API. Each game node runs a daemon that starts and stops Docker containers. Those can be the same machine or many machines.

Browser  ──HTTPS──►  nginx
                        │
              /          └── /api/
              ▼               ▼
         flutter-web     flutter-api
           :3010            :4000
                              │
                     MongoDB + Redis
                              │
                 heartbeat every 15s
                              ▼
                      flutter-daemon :8080
                              │
                        Docker Engine
                              │
                       game containers

The daemon phones home to the panel. The panel then calls the daemon on port 8080 for start/stop, console, and files. A node is Online while heartbeats arrive (offline after 120 seconds).

Where to start