Now in development · get early access

Self-hosted multiplayer for Unity games

GameCopter runs your Fish-Net game servers on infrastructure you control. Spin up nodes in any region, deploy from a dashboard, and let ping-based matchmaking route every player to the closest server, for WebGL and mobile alike.

Built on Fish-Net · Unity · Docker · No per-CCU fees

dash.gamecopter.com / Monitor preview
eu1 · Frankfurt online
128
players online
cpu 34%
ram 41%
us1 · New York online
96
players online
cpu 22%
ram 38%
as1 · Singapore maintenance
draining
deploy
v1.4.2
999
games per node
2
transports · WS + UDP
regions, your choice
$0
per-CCU fees

Everything in one place

A whole control plane for your game servers

From bootstrapping a fresh VPS to draining a node for a deploy, GameCopter handles the operations so you can ship games.

WebGL & mobile, one image

Fish-Net Multipass runs Bayou (WebSocket) and Tugboat (UDP) side by side. Browsers connect over WSS through the CDN; mobile hits raw UDP direct. Same container.

One-click node bootstrap

Add a fresh Ubuntu VPS, paste an SSH key, and watch a live progress bar install Docker, Nginx, the agent and the firewall. No manual server setup.

Ping-based matchmaking

Clients ping every region and join the nearest healthy node. Atomic room assignment fills the fullest room first. No race conditions, no double-booked players.

Live monitoring

Real-time CCU, CPU, RAM, disk and load per node, plus per-game container health that de-lists a wedged server from matchmaking before players notice.

Graceful deploys & rollback

Push a build, drain rooms, swap the container, rejoin matchmaking. Every version is kept, so rollback is one click to any previous image.

Live log streaming

Tail any container's docker logs straight from the dashboard. Pick a game or a node and watch output stream without SSH.

Three steps to live

From a bare VPS to global multiplayer

01

Add a node

Buy a VPS in any region, add it in the dashboard, and bootstrap it over SSH. Docker, Nginx, the agent and the firewall are configured for you.

02

Push a build

Tag your Unity headless server image to GHCR, add the build, pick your nodes. GameCopter pulls, runs and wires up Nginx automatically.

03

Players connect

The matchmaking API returns the closest healthy node. Fish-Net connects over WebSocket or UDP and players are in a room, anywhere on earth.

GET /v1/servers?game=my-game
// the client pings these and joins the lowest-latency node
[
  {
    "node":     "eu1",
    "region":   "Europe",
    "ws_url":   "wss://my-game.eu1.gamecopter.com",
    "udp_host": "46.101.120.237",
    "udp_port": 7001
  }
]

Two paths, one server

The right transport for every player

Each game container speaks both protocols at once, so browsers and phones share the same rooms.

WebGL → WebSocket

Browser clients connect over wss:// through a CDN on port 443. TLS terminates at the edge; Nginx proxies plain WebSocket to the Bayou port. A wildcard hostname covers every game, with no per-game CDN config.

browserwss://game.eu1.gamecopter.com
CDN edgeNginx :80 → Bayou :8001

Mobile → UDP direct

iOS and Android connect straight to the node's raw IP over Tugboat UDP, bypassing the CDN entirely for the lowest-latency path. The matchmaking API hands back the droplet IP and port; no DNS in the loop.

phoneudp://46.101.120.237:7001
host netTugboat :7001 (container)

Owned infrastructure

Your servers. Your data. No CCU tax.

Hosted multiplayer services charge per concurrent user, forever. GameCopter runs on VPSes you rent. Pay flat for the hardware, scale by adding nodes, and keep every byte of player traffic on infrastructure you control.

  • Flat-rate pricing. Pay your VPS provider, not a per-player meter.
  • Any provider, any region. Hetzner, OVH, DigitalOcean. Your call.
  • Standard Fish-Net. Stock Bayou + Tugboat. No engine forks to maintain.
  • Auto-recovery. Containers restart on crash; offline nodes alert you.
Players · WebGL & Mobile
CDN edge
wss · 443
Direct UDP
raw IP · 7001
Child nodes · Nginx + Docker
Fish-Net game containers
↑ reports · ↓ deploy
Master · Dashboard + Matchmaking API

Be first to fly with GameCopter

We're building it now. Leave your email and we'll tell you the moment early access opens. It also helps us decide which regions and features to build first.

No spam, just one email when early access is ready. Unsubscribe anytime.