A "network" is what lets players hop between a lobby, a survival world, and a minigame server without ever leaving the game — one address, many servers. The piece that stitches them together is a proxy: its own server that has no world of its own and simply forwards players to the right backend. This is the most advanced thing you can build on Falix, so this guide is honest about the work involved before you commit to it.
| At a glance | |
|---|---|
| You need | Several Minecraft servers (one proxy + one or more backends) and some patience |
| Time | An afternoon for a first two-server network |
| Plan | Works on any plan to experiment; a real always-on network is a premium-shaped project (see below) |
The shape of a network
Every network is the same picture: one proxy in front, several backend servers behind it.
- The proxy (Velocity or BungeeCord) is a Falix server running proxy software. Players connect to it. It holds no world.
- Each backend (lobby, survival, minigames…) is a separate Falix server running a normal plugin server like Purpur or Paper. Players never connect to these directly — the proxy sends them there.
That "separate Falix server" part is the honest catch: a three-server network is three servers to create, start, keep online, and configure. On the free plan each one has its own session timer and sleeps on its own, and they share the 2.5 GB pool — fine for tinkering, painful for a live network. A network you actually run is realistically a premium setup where the servers stay up 24/7.
⚠️ Heads up: A proxy does not reduce load or give you more RAM. It splits players across servers you still have to pay for and run. Build one because you want separate worlds/gamemodes under one address — not to make a single server faster. For that, see Fixing Minecraft lag.
Step 1 — Create the backend servers first
Build your backends before the proxy, because the proxy needs their addresses. Create each one as a normal Minecraft server and give it Purpur or PaperSpigot from the Version Changer. A minimal network is two backends: a lobby and one game world. Name them clearly.
Two settings matter on every backend:
- Turn off online-mode. The proxy handles Mojang authentication; the backends must trust it. Flip the Cracked Mode toggle so
online-modeisfalseon each backend — otherwise players get kicked with "failed to verify username". (Keep online-mode on at the proxy.) - Enable proxy forwarding so player names, UUIDs, and IPs survive the hop. On the Properties page of a Spigot/Paper backend there's a BungeeCord Mode toggle (
settings.bungeecordinspigot.yml) — turn it on for a BungeeCord/Waterfall network. Velocity uses its own modern forwarding with a shared secret configured inpaper-global.yml; that lives in Velocity's docs, linked below.
Step 2 — Choose and create the proxy
Create one more server and open its Version Changer — the proxies are their own family. The full set:
| Proxy | When to pick it |
|---|---|
| Velocity | New networks. Modern, fast, secure forwarding. The recommended choice. |
| BungeeCord | The original. Everywhere, older design, simpler forwarding. Pick it only to match an existing setup or a plugin that needs it. |
| Waterfall | Paper's BungeeCord fork — discontinued upstream, its maintainers point you to Velocity. Works, but don't start here. |
Falix downloads the proxy jar and sets the matching Java runtime, exactly like any other software. Start it once so it writes its config file (velocity.toml for Velocity, config.yml for BungeeCord), then stop it to edit that file.
Step 3 — Point the proxy at the backends (privately)
The proxy needs each backend's address and port. You have two honest ways to supply them:
A. Public addresses (simplest). Use each backend's public address:port from its Network page. It works on any plan — but the backends stay publicly joinable, so players could connect straight to a game server and skip the lobby. Guard against that with a whitelist or firewall if you go this route.
B. Internal Network (cleaner, recommended). Give each backend a private address that only your own Falix servers can reach. Open the backend's Network page, find Internal Network, and enable it — the server gets an address like uuid.internal and appears in your other servers' peer lists. Point the proxy at uuid.internal plus the backend's port instead of its public address. Turn on Internal Only on a backend to hide its public ports entirely, so the only way in is through the proxy. Full walkthrough: Internal Network.
Edit the proxy's config file (File Manager) to list your servers and set which one players land on first. In velocity.toml that's the [servers] table plus a try list; in BungeeCord's config.yml it's the servers: map and priorities:. The exact syntax is proxy-specific — the official docs below are the authority, and they change rarely.
💡 Tip: Give the proxy the pretty subdomain players type (
play.yourname.falixsrv.me). The backends don't need one — nobody types their address but you.
Step 4 — Start everything in order
Start the backends first, then the proxy. The proxy's console logs a line like Listening on /0.0.0.0:25577 (Velocity) or Listening on /0.0.0.0:25565 (BungeeCord) when it's up. Connect to the proxy's address and you should land in your first server. Run /server in-game (both proxies add it) to jump between backends — if that works, your network works.
Verify it works
- The proxy console shows it bound its port and registered each backend without "connection refused".
- You join the proxy address and spawn in the lobby.
/server <name>teleports you to another backend with no disconnect.- Your username and skin look right on the backends (that's forwarding working; wrong names or "unverified username" means step 1 was missed).
Troubleshooting
- "Unable to authenticate" / "failed to verify username" on a backend — the backend still has
online-mode=true, or forwarding isn't set up. Set the backend to cracked/offline and enable BungeeCord Mode (or Velocity forwarding). Keep the proxy on online-mode. - Proxy can't reach a backend ("connection refused") — wrong address or port, or the backend isn't started yet. If you used Internal Only, confirm both servers have Internal Network enabled and you used the
uuid.internaladdress. See Internal Network. - Everyone shows the same UUID / shared inventories break — forwarding is off, so the backend can't tell players apart. Enable it (step 1).
- Players join a backend directly and bypass the lobby — you exposed backends publicly (option A). Switch to the Internal Network with Internal Only, or whitelist the backends.
- Free server keeps sleeping mid-test — expected on free; each server sleeps ~10 minutes after its last player. See How free game servers work.
Next steps
- Internal Network — the private plumbing between your servers
- Minecraft software and versions — every proxy and backend option
- Cracked vs online mode — why backends run offline-mode
- Velocity and BungeeCord own everything beyond the Falix layer — the official configuration reference is docs.papermc.io.