Docs
Guides

Setup guide

The complete walkthrough of the guided setup — create a network, add your server, forward the real IP, point DNS.

The panel sets up a network with you, step by step: the guided setup. This page follows it — every step, every option explained. Allow ~5 minutes if your DNS is already in your control.

What you’ll have at the end

  1. A network in your account that accepts player connections on Infinity-Filter’s edge.
  2. One or more backends attached to that network — your real Minecraft servers.
  3. One or more domains pointing at the network via DNS, verified automatically.
  4. Real-time mitigation against L3/L4 and L7 attacks, with optional anti-bot, country/ASN filtering and Discord webhooks.

Everything is saved as you go: close the guided setup at any time (the × at the top right) and pick it up later with Continue the guided setup on the network’s Overview page. The steps on the left show what’s done; click one to go back to it.

Step 1 — Create the network

Open panel.infinity-filter.com and click Create a network on your Dashboard (at the right of Your Networks) — or Create a network in the network list at the top of the sidebar.

Step 1 of the guided setup: network name and who plays on the server
Name the network and choose who plays on your server.
  • Network name — letters and numbers, up to 16 characters. It’s a label for you: your players never see it.
  • Who plays on your server? — Java Edition players, or Java and Bedrock players (mobile, console and Windows players, through Geyser — it needs a dedicated IP and adds a Bedrock step). You can add Bedrock later.

Click Create the network.

Step 2 — Your server

Enter the public IP and port players join today — with a proxy (Velocity, BungeeCord), the address of the proxy — and click Add. Without a port, 25565 is used.

Server step: the address of the Java server and the software running on it
The address of your server, and what runs on it.
  • IPv4 (203.0.113.10:25565) and IPv6 ([2001:db8::10]:25565) both work. A private address (local network) is refused: Infinity-Filter reaches your server over the Internet.
  • Several servers? Add each one: players are spread over them (load balancing).
  • What runs on this address? — Velocity, BungeeCord, Paper, Spigot, Fabric, Forge / NeoForge, HAProxy / nginx, or Other. It’s what gets the players’ real IP, so the next step gives the config for that software.

Step 3 — Player IPs

Every player now connects through Infinity-Filter, so without this step your server sees one of our IPs for everyone — bans, IP limits, anti-cheats and logs all collapse to that address. Two mutually exclusive ways to hand the real IP to your server:

Player IPs step: PROXY protocol or the Infinity-Filter plugin, with the config for Velocity
PROXY protocol, with the exact config for the software chosen at the previous step.

PROXY protocol prepends the real client address to each connection at the TCP layer. It’s the cleanest option and works with any plugin, because the IP is restored before Minecraft even sees the connection. New networks have it on by default.

The panel shows the line to set for your software:

velocity.toml ini
[advanced]
haproxy-protocol = true
config.yml yaml
proxy_protocol: true

For a standalone Paper server with no proxy in front, enable PROXY protocol acceptance in paper-global.yml:

paper-global.yml yaml
proxies:
  proxy-protocol: true

Then restart the software. From then on, your server only accepts players coming through Infinity-Filter: joining it directly by its IP no longer works — that’s expected.

If your software can’t accept PROXY protocol, use the Infinity-Filter plugin: it restores the real IP from inside a plugin. Choosing it turns PROXY protocol off on the network.

  1. Download the plugin and put it in the plugins/ folder, then start the server once.
  2. Open its config and paste the token of this network, shown by the panel.
  3. Restart.

See the Infinity-Filter plugin reference for per-platform config.

See PROXY protocol for the full reference and how to verify the real IP is arriving.

Step 4 — Bedrock (Java and Bedrock only)

This step only shows if you chose Java and Bedrock players. Three things to set:

Bedrock step: dedicated IP, Geyser backend and Geyser config
Dedicated IP, Geyser backend, and the Geyser config with your port filled in.
  1. Dedicated IP — Bedrock players connect through an IP of your own. Pick the region (measured from your browser to your server through each region) and order it: it’s usually ready in a few minutes, and the page updates by itself. Your DNS will point to its hostname, never to the IP behind it.
  2. Geyser backend — the IP of the machine running Geyser and the port Geyser listens on (bedrock.port in its config). Any free port except the one of your Java server: players always use 19132.
  3. Configure Geyser — plugin of your proxy or standalone: the panel gives the download and the exact keys to set in Geyser’s config.yml (Geyser build 1280 or later), with your dedicated IP filled in once it’s ready.

Skip Bedrock for now keeps the network Java only. The full Bedrock reference is on Geyser (Bedrock).

Step 5 — Address

Type the address your players will use — a subdomain like play.example.com is the simplest — and pick the region.

Address step: the domain players type and the region
The address of your server and the region, measured from your browser.
  • Other addresses (optional) — another subdomain or another domain for Java players. Each one gets its own record at the next step.
  • Region — where your players’ connections enter Infinity-Filter. Each region is measured from your browser to your server, and the lowest is Recommended. Adjacent EU regions (DE / PL / FR) usually differ by only a couple of milliseconds. See Choosing a region.
  • A root domain (example.com) asks how to reach it: keep your website on it (an SRV record sends Java players to Infinity-Filter), or point the whole domain to Infinity-Filter (web visitors are sent to www.).

With Java and Bedrock players, choose the Bedrock address too:

Address step with the Bedrock address: the same address or a separate one
Java and Bedrock on the same address (recommended), or a separate Bedrock address.
  • The same address (recommended) — Java and Bedrock players type the same name. Bedrock gets the CNAME (to your dedicated IP) and Java goes through an SRV record. Not possible on a root domain.
  • A separate address — for example bedrock.example.com, only for Bedrock players.

Step 6 — DNS records

The panel lists the records to create, detects who hosts your DNS (with a link to it) and checks them every 10 seconds — no need to come back.

DNS records step: the CNAME for Java players and the optional TXT record
The records to create, as your DNS provider asks for them.
  • A CNAME from your address to <uuid>.front-<location>.infinity-filter.com. This is all you need — pointing it at Infinity-Filter both routes traffic and proves you control the domain.
  • A TXT verification record (infinity-filter-verification=…) on the root domain (Name = @) — optional, but recommended: it proves the domain is yours once and for all, so the other addresses of this domain you add later are accepted at once, even before they point to Infinity-Filter.

In Cloudflare’s DNS tab:

  • Add a CNAME record. Name = play. Target = the CNAME from the panel. Proxy status = DNS only (grey cloud).
  • (Recommended fallback) Add a TXT record. Name = @ (the root domain). Content = paste the text the panel gives you verbatim.
Cloudflare CNAME record example
CNAME record set to DNS only — grey cloud.

Open your provider’s DNS zone editor:

zone.conf dns
play.example.com.   300   IN   CNAME   {uuid}.front-de.infinity-filter.com.

# Recommended fallback — Name = @ (root domain); the CNAME alone already verifies.
example.com.   300   IN   TXT   "infinity-filter-verification=..."

A TTL of 300 seconds is fine.

With one address for Java and Bedrock, the records are a CNAME to your dedicated IP hostname and an SRV record for Java — a name can’t have two CNAMEs, and only Java reads the SRV record:

DNS records for one address: a CNAME for Bedrock and an SRV record for Java
One address for both editions: a CNAME for Bedrock, an SRV record for Java.

As soon as the records are detected, the domains are added to your network — players can join:

All DNS records detected
All records in place: the domains are added to the network.

A new record usually shows up within minutes; some providers take up to an hour. I’ll do it later moves on without them: the network is created, and players can join once the records are in place.

Step 7 — Ready

Ready step: the addresses to give to players and the next steps
The addresses to give your players, and what to do next.

Give these addresses to your players, join your server once and check that your real IP shows up in its console. Then Go to my network.

Without the guided setup

Prefer to set things up yourself? Create and skip the setup at Step 1, then on the network’s pages:

  1. Network → Backends → Add backend — your Java server (ip:port). See Backends.
  2. Network → Domains — create the CNAME (and the optional TXT) shown on the CNAME Domain card for the region you pick, then Add domain with the address of your players: it must already point to Infinity-Filter. See Domains.
  3. Test the latency to pick the region — see Latency Test.
  4. The players’ real IP: PROXY protocol is on by default — set it in your software, or turn it off and use the plugin. See PROXY protocol.
PROXY protocol toggle enabled on the Backends page
PROXY protocol, on the right of Network → Backends.

You’re done

Players reach you through Infinity-Filter and the real IP is forwarded. The one thing left is to lock the backend down so nobody can bypass the edge by hitting your origin IP directly — allowlist Infinity-Filter’s IP ranges and default-deny everything else.

Last updated: November 1, 2026