Fly together.
Run your own FPV Sim server.

One small download for Windows or Linux. Pick a port, share the address (or a free playit.gg tunnel), and your friends join from the game's Multiplayer tab. You see who is in, press Start, everyone votes for a map, and you fly together.

Get started

About five minutes. The installer downloads the server, and a private copy of Node.js if your computer doesn't have it.

Download and run the installer

Put install.bat in an empty folder (e.g. Documents\FPV Server) and double-click it. It makes a FPV-Sim-Server folder with everything inside. (Windows may say it protected your PC: More info → Run anyway.)

In the folder where you want the server:

curl -fsSL https://raw.githubusercontent.com/guyka2212/flysim-servers/main/install.sh | sh

No curl? wget -qO- …/install.sh | sh. It makes a FPV-Sim-Server folder.

Start it once

Open FPV-Sim-Server and double-click start.bat. The first time it creates eula.txt and server.settings and stops.

cd FPV-Sim-Server
./start.sh

The first time it creates eula.txt and server.settings and stops.

Agree to the EULA

Open eula.txt, read it, and change eula=false to eula=true. Save.

Make yourself the owner

In server.settings set Owner-user-name= to your user name in the game (the one you chose in the Multiplayer tab). The owner gets the Start button and can run commands from the game. Change any other setting you like.

Start the server and choose the port

Double-click start.bat. It asks Port to run on [25580]: press Enter, or type another port. Want the admin window? Run start.bat gui from a terminal (or make a shortcut with gui on the end).

./start.sh asks Port to run on [25580]: press Enter, or type another. ./start.sh 25580 skips the question. On a desktop, ./start.sh gui also opens the admin window. On a headless server, keep it running in screen / tmux.

Windows Firewall may ask about Node.js: allow it.

Share the address

Same Wi-Fi: your local IP and port, like 192.168.1.20:25580. Friends anywhere: make a free playit.gg tunnel and share its address, like name.gl.joinmc.link:12345.

Join from the game

FPV Sim → Multiplayer → pick a user name the first time → paste the address → Add server → Join. The server list remembers it.

How a round works

Join→Lobby: see who is in→Owner presses Start→Everyone votes for a map→Most votes wins (a tie: random)→Fly together

The owner can press End round (or type lobby) to go back for a new vote. In the lobby there is a chat, and the owner has a console for server commands. Recordings made on a server include the other pilots, and the replay editor can show or hide their names. Pilots signed in to an FPV Sim account show their Pilot Level next to their name, and everyone sees each other's drone skins (server 1.1+).

server.settings

key=value, one per line. true/false switch things on and off; numbers are numbers. Save and type reload in the server window, or restart.

SettingDefaultWhat it does
server-nameMy FPV Sim serverName in the server list and lobby
motdWelcome!…Message in the lobby
port25580TCP port (also asked at start)
Owner-user-name(empty)Your game user name: Start button and commands from the game
max-drones16Most players at once
drone-collisiontrueDrones bump into each other (and crash when hit hard)
drone-showtruePlayers see each other. false: everyone flies alone on the same map
show-namestrueNames float above the drones
voting-time30Seconds the map vote lasts (ends early when everyone voted)
min-players1Players needed before the owner can start
allow-teleporttruePlayers may use the map (M) to teleport
allow-recordingtruePlayers may record (V)
allow-pluginstruePlayers may use game plugins here (false pauses them while they're on the server)
allowed-plugins(empty)Empty = any plugin, or plugin ids separated by commas to allow only those
mapsallMaps in the vote: all or ids, e.g. paris,lake,stadium
password(empty)Players must type it to join
whitelistfalseOnly names in whitelist.txt (one per line) may join
state-rate20Position updates per second (10 to 30)

Server commands

Type them in the server window, the admin window (gui), or the owner console in the game's lobby.

CommandWhat it does
listWho is online: name, IP, drone, ping
kick <name> [reason]Remove a player (they can come back)
ban <name> [reason]Remove and keep out, by name (and IP when they connect directly)
unban <name> · banlistLet back in · show bans
tp <name> <target> · tpall <target>Teleport a player (or everyone) to a player
say <text>Message everyone
vote · map <id> · maps · lobbyStart the vote · force a map · list maps · end the round
owner <name>Set the owner (saved)
set <key> <value> · settings · reloadChange and save a setting · show them · reread the file
help · stopAll commands · shut down

Friends outside your network: a tunnel

Like a Minecraft server: a free tunnel gives your server a public address, no router settings. The server is plain TCP, so any TCP tunnel works.

playit.gg (recommended)

Sign up, install the agent, add a TCP tunnel to 127.0.0.1 and your port, share the address it gives you (with the number after the colon).

Step-by-step guide (Tunnel.md) →

Other tunnels

ngrok (ngrok tcp 25580), Cloudflare, zrok, localtonet…, or a private network like Tailscale, ZeroTier or Radmin VPN. Or forward TCP port 25580 on your router.

Check it works

Open http://<address> in any browser. It should say FPV Sim server is running. The game's server list also shows Online / Offline and the player count.

Maps in the vote

The maps are built into the game; the server only needs their ids. Limit the vote with maps= in server.settings.

FAQ

What does it need to run?

Windows 10/11 or any 64-bit Linux (x64 or ARM, so a Raspberry Pi 4/5 works too), with Node.js 18 or newer. The installer fetches Node.js into the server folder if it's missing. Uses very little CPU; about 1 KB/s for each other pilot a player can see.

Does it need a desktop?

No. Without gui it is a plain terminal program, fine on a VPS. With gui it also opens an admin page in your browser, only reachable from that computer.

How do I update?

Run the installer again in the same place. Your server.settings, eula.txt, bans and whitelist are kept.

"Different game version"

The game and server must speak the same version. Update both: the game, and the server by running the installer again.

Players behind a tunnel all show 127.0.0.1

That's how TCP tunnels work: everyone arrives through the tunnel agent. Bans still work, by name.

Can I run it as a service on Linux?

Yes. A systemd unit with ExecStart=/path/FPV-Sim-Server/start.sh 25580 and WorkingDirectory=/path/FPV-Sim-Server. Make sure the EULA is accepted first.