Only show guides for your app
Run a lobby, a survival world, and a minigame server behind one address using a Velocity or BungeeCord proxy — with the Internal Network keeping your backends private. The honest, advanced version.
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) |
Every network is the same picture: one proxy in front, several backend servers behind it.
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.
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:
online-mode is false on each backend — otherwise players get kicked with "failed to verify username". (Keep online-mode on at the proxy.)settings.bungeecord in spigot.yml) — turn it on for a BungeeCord/Waterfall network. Velocity uses its own modern forwarding with a shared secret configured in paper-global.yml; that lives in Velocity's docs, linked below.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.
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.
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.
/server <name> teleports you to another backend with no disconnect.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.uuid.internal address. See Internal Network.