# FadeHost Bridge: a public address for the server on your PC

> What Bridge is and the three ways to use it: the bridge program, the Minecraft server plugin, and the Fabric, NeoForge and Forge mods for a world opened to LAN or a modded server. With the download, the steps and the lines each one prints.

Source: https://fadehost.com/docs/bridge/

**FadeHost Bridge** gives the game server on your own machine a public address, `yourname.play.fadehost.net`, without touching your router and without handing out your home IP. Your machine connects out to a FadeHost relay, players connect to the relay, and the relay carries the game traffic between them. The relays are in Canada, France and Singapore.

It works with any Minecraft server you can start on your PC: vanilla, Forge, NeoForge, Fabric, Paper, Spigot, Purpur and Bedrock Dedicated Server, and with every other game that listens on a port. Java and Bedrock ride the same name. Valheim, Terraria, Palworld, Factorio and a voice chat server all work the same way.

The `bridge` program is the way that covers all of that. The plugin and the mods are shortcuts for a few particular cases, not requirements: a server that can load a Bukkit plugin, a Fabric, NeoForge or Forge server on a Minecraft line that has a mod build, and a single player world opened to LAN.

One address is free. Every paid FadeHost subscription includes [Bridge Pro](/docs/bridge-limits-and-pro/).

## What you need

- The server running on your machine, on any port.
- A FadeHost account. The first address is created for you when you approve the program, and you can sign up on the way.
- An outbound connection. No port forwarding, no firewall rule for traffic coming in, no static IP.

## Three ways in

Pick one. They all end at the same place: an address in the panel under **Bridge**, and a program keeping it up.

| What you are running | Use | What you install |
| --- | --- | --- |
| A vanilla `server.jar` on your PC | The **bridge** program | `bridge`, version 0.3.1 |
| A Fabric server on Minecraft 26.1 and up, 1.21.1 or 1.20.1 | The **mod**, or the **bridge** program | The Fabric build for that Minecraft line |
| A NeoForge server on Minecraft 26.1 and up, or 1.21.1 | The **mod**, or the **bridge** program | The NeoForge build for that Minecraft line |
| A Forge server on Minecraft 1.21.1 or 1.20.1 | The **mod**, or the **bridge** program | The Forge build for that Minecraft line |
| Another Forge version, a Quilt server, or any other Minecraft version | The **bridge** program | `bridge`, version 0.3.1 |
| A Velocity or BungeeCord proxy, or Bedrock Dedicated Server | The **bridge** program | `bridge`, version 0.3.1 |
| Any other game: Valheim, Terraria, Palworld, Factorio, voice chat | The **bridge** program | `bridge`, version 0.3.1 |
| A Bukkit, Spigot, Paper or Purpur server you start yourself | The **server plugin**, which saves you the login step | `FadeHostBridge-0.1.0.jar` |
| A single player world you open to LAN, with no server at all | The **mod** | The Fabric or NeoForge build for your Minecraft version |

The program is the way that covers everything, and on a server you start yourself it needs nothing installed inside the server: it carries the ports from outside, Java on 25565 and Bedrock on 19132 by default, and anything else you add in the panel's ports editor.

The plugin only saves the login step, and only on servers of the Bukkit family, which are the only ones that can load it. The mods cover a world opened to LAN from the client, on Fabric and NeoForge, and a dedicated server on Fabric, NeoForge and Forge. There is one jar per loader and Minecraft line: Fabric on 26.1 and up, 1.21.1 and 1.20.1, NeoForge on 26.1 and up and 1.21.1, Forge on 1.21.1 and 1.20.1. Another Forge version, a Quilt server, a modded server on any other Minecraft version, and a world opened to LAN on Forge, all run the program.

### 1. The bridge program

`bridge` runs on Windows, macOS and Linux, the current version is 0.3.1, and it carries any server on any port. It holds the tunnel open, reconnects after a drop, and updates itself.

A vanilla `server.jar`, a Forge or NeoForge modded server, a Fabric server, a Paper server, a Velocity proxy, Bedrock Dedicated Server and a Valheim server are all the same job to it. The server listens on a port, the program carries that port, and nothing goes inside the server.

On **macOS or Linux**, one line installs it for your user and checks the download against the sha256 the release feed publishes:

```sh
curl -fsSL https://fadehost.com/bridge/install.sh | sh
```

It installs to `~/.local/bin` and prints the line to add to your `PATH` if that directory is not on it yet. You can [read the script](/bridge/install.sh) first.

On **Windows**, download `bridge.exe` from the [Bridge page](/bridge/). The program is not signed yet, so SmartScreen warns the first time: choose **More info**, then **Run anyway**. See [troubleshooting](/docs/bridge-troubleshooting/#windows-says-it-protected-your-pc).

Then:

1. Run `bridge login`, or `.\bridge.exe login` on Windows. It prints a short code.
2. Approve the code at [laplace.fadehost.com/bridge/connect](https://laplace.fadehost.com/bridge/connect). The machine is tied to your account and your first address is created. This happens once; the token is kept on the machine.
3. Start your game server as you always do, then run `bridge`. It prints your address. Share it.

While it runs it tells you whether anything answers on the local port, so a typo in the port shows up before your friends do.

To keep the address up after a reboot, run it once as a service:

```sh
bridge service install
```

That registers the program with the system, a Windows service, launchd on macOS or systemd on Linux, and the address comes back with the machine.

The rest of the commands: `bridge status` when something looks wrong, which [troubleshooting](/docs/bridge-troubleshooting/#reading-bridge-status) reads line by line, `bridge share` to print the address to give your friends, `bridge update` to take a new version straight away, `bridge version`, and `bridge logout` to forget the token on this machine.

### 2. The Minecraft server plugin

`FadeHostBridge-0.1.0.jar` runs on Bukkit, Spigot, Paper and Purpur servers, Minecraft 1.8 to 26.x, on Java 8 or newer. Its `api-version` is 1.13.

It is a convenience, not a requirement. All it saves you is running `bridge login` yourself. A modded server cannot load a Bukkit plugin: a Fabric, NeoForge or Forge server on a Minecraft line that has a build takes [the mod for its loader](#3-the-fabric-neoforge-and-forge-mods) instead. Another Forge version, a Quilt server, a modded server on any other Minecraft version or a vanilla `server.jar` runs [the program](#1-the-bridge-program) beside the server and ends up with the same address.

- [Plugin builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=plugin), every build
- [Latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/FadeHostBridge-0.1.0.jar), always the newest successful build

Then:

1. Put the jar in `plugins/`.
2. Start the server. On the first start the plugin downloads the bridge program into `plugins/FadeHostBridge/bin/`, checks it against the sha256 FadeHost publishes, and prints a claim link with a code in the console. Operators who join get the same link in chat.
3. Approve the code in the panel.

Every later start prints the address in the console:

```text
Public address up. Players join at name.play.fadehost.net
```

`/bridge` prints the address at any time, or the claim link while the server is still unclaimed. The permission is `fadehostbridge.admin`, which operators have by default.

Three keys in `config.yml`:

| Key | What it does |
| --- | --- |
| `api` | The FadeHost endpoint the plugin talks to. The default is the right one. |
| `bedrock-port` | `auto` reads Geyser's port when Geyser is installed. A number sets the Bedrock port by hand, `off` leaves Bedrock out. |
| `tell-operators` | `true` sends the claim link and the address to operators in chat as well as to the console. |

The plugin passes the server's own port to the program, so there is nothing else to configure. On a server hosted here the plugin does nothing at all, because a hosted server already has an address.

### 3. The Fabric, NeoForge and Forge mods

Seven builds of the same mod, one jar per loader and Minecraft line. The Fabric and NeoForge builds do two jobs each: a single player world you open to LAN, and a dedicated server. The Forge builds do a dedicated server only.

| Loader | Minecraft | File | Where it works | Download |
| --- | --- | --- | --- | --- |
| Fabric | 26.1 up to 27 | `fadehost-bridge-fabric-mc26-0.1.0.jar` | A client for a world opened to LAN, or a server | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=fabric%2F26), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-fabric-mc26-0.1.0.jar?dir=fabric/26) |
| Fabric | 1.21.1 only | `fadehost-bridge-fabric-mc1.21.1-0.1.0.jar` | A client for a world opened to LAN, or a server | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=fabric%2F1.21.1), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-fabric-mc1.21.1-0.1.0.jar?dir=fabric/1.21.1) |
| Fabric | 1.20.1 only | `fadehost-bridge-fabric-mc1.20.1-0.1.0.jar` | A client for a world opened to LAN, or a server | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=fabric%2F1.20.1), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-fabric-mc1.20.1-0.1.0.jar?dir=fabric/1.20.1) |
| NeoForge | 26.1 up to 27 | `fadehost-bridge-neoforge-mc26-0.1.0.jar` | A client for a world opened to LAN, or a server | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=neoforge%2F26), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-neoforge-mc26-0.1.0.jar?dir=neoforge/26) |
| NeoForge | 1.21.1 only | `fadehost-bridge-neoforge-mc1.21.1-0.1.0.jar` | A client for a world opened to LAN, or a server | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=neoforge%2F1.21.1), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-neoforge-mc1.21.1-0.1.0.jar?dir=neoforge/1.21.1) |
| Forge | 1.21.1 only | `fadehost-bridge-forge-mc1.21.1-0.1.0.jar` | A server only | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=forge%2F1.21.1), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-forge-mc1.21.1-0.1.0.jar?dir=forge/1.21.1) |
| Forge | 1.20.1 only | `fadehost-bridge-forge-mc1.20.1-0.1.0.jar` | A server only | [builds page](https://builds.fadehost.net/FadeHost/bridge-minecraft/?dir=forge%2F1.20.1), [latest jar](https://builds.fadehost.net/FadeHost/bridge-minecraft/latest/fadehost-bridge-forge-mc1.20.1-0.1.0.jar?dir=forge/1.20.1) |

Each jar declares exactly the Minecraft versions in its row, so the 1.21.1 and 1.20.1 builds load on that one version and nothing else. Each needs the Java its Minecraft line needs anyway: Java 25 on 26.1 and up, Java 21 on 1.21.1, Java 17 on 1.20.1. The Fabric builds need no Fabric API.

The 26 builds are built against 26.2. The NeoForge 1.21.1 build is for the NeoForge 21.1 series, and the Forge builds need Forge 52 or newer on 1.21.1 and Forge 47 or newer on 1.20.1. Tested on Fabric Loader 0.16.14 on 1.20.1 and 1.21.1 and 0.19.5 on 26.2, on NeoForge 21.1.256 and 26.2.0.88, and on Forge 1.21.1-52.1.16 and 1.20.1-47.4.26.

Forge has its own mods, for 1.21.1 and 1.20.1, and they serve a server only. Any other Forge version, a Quilt server, a modded server on any other Minecraft version, and a world opened to LAN on Forge, run [the program](#1-the-bridge-program) instead.

What a player sees is the same on every build: the same console lines on a server, the same chat lines in a LAN world.

#### On a world opened to LAN

Fabric and NeoForge, on every Minecraft line they have a build for. The Forge builds do not open a world to LAN; that case runs [the program](#1-the-bridge-program).

1. Put the jar in your client's `mods/`.
2. Start the game and open a world.
3. Press Escape, choose **Open to LAN**, then **Start LAN World**.

Chat says what is happening:

```text
[Bridge] Getting a public address for this world...
[Bridge] This world has no public address yet. Claim it with the code XXXX-XXXX
```

**Claim it** is a link to the panel. Approve the code there and chat finishes the job:

```text
[Bridge] Friends join this world at name.play.fadehost.net (click to copy)
```

The address belongs to that game folder from then on, kept in `<game folder>/fadehost-bridge/`, so the next world you open to LAN gets the same address with no second claim.

Your friends need the same Minecraft version and the same mods as the world, exactly as they would for any LAN world. They do not need the Bridge mod, and they do not need a FadeHost account.

The LAN port is a different one every time you open a world. The mod reads it and passes it on, so there is nothing to set.

Closing the LAN world, or leaving it, stops the program, and the address shows [the offline screen](/docs/bridge-offline-and-door/) until you open a world to LAN again.

#### On a Fabric, NeoForge or Forge server

All seven builds do this one. The jar for your loader and your Minecraft version, in the server's `mods/` folder:

1. Put the jar in the server's `mods/`.
2. Start the server.
3. Open the link the console prints and enter the code, once.

The mod starts the bridge program with the server's port as soon as the server is listening, and stops it with the server. It reads the port from `server.properties` through the server itself, so there is nothing to configure.

The console on the first start:

```text
Getting a public address for this server...
This server has no public address yet. Open https://laplace.fadehost.com/bridge/connect?code=XXXX-XXXX and enter the code XXXX-XXXX to claim one.
```

The link opens the panel's connect page with the code filled in. Approve it there and every start from then on prints the address:

```text
Public address up. Players join at name.play.fadehost.net
```

The address belongs to that server folder, kept in `<server folder>/fadehost-bridge/`, so it is the same address on every later start and there is no second claim.

Stopping the server stops the program with it, and the address shows [the offline screen](/docs/bridge-offline-and-door/) until the server is up again.

### The program underneath all three

The plugin and the mods do not ask you to install the program. Both fetch the newest `bridge` from FadeHost's release feed before every start, so a fix published there reaches them the next time the server or the game starts.

## What your friends type

Java players type the address on its own, `yourname.play.fadehost.net`, with no port: every address gets an SRV record and the client reads the port out of it. Bedrock players type the address and the Bedrock port the panel shows. A friend joining a world you opened to LAN adds the address to their server list the same way, and needs the same Minecraft version and mods as the world.

A Bedrock player also needs something on the other end that speaks Bedrock: Geyser on the Java server, or a Bedrock world. The details, and what to do about other games, are under [addresses and ports](/docs/bridge-names-and-ports/).

## When your machine is off

Java players who connect while the machine is off, or while the program is stopped, read a line instead of waiting for a connection error:

```text
quiet-fox is offline. Ask Frost to start Bridge on their PC.
```

Every address also has a join page on `join.fadehost.net` with the same status, which is a better thing to send a friend than a hostname. On Bridge Pro the offline screen can ping you on Discord. See [the offline screen and the door](/docs/bridge-offline-and-door/).

## When the PC is not enough

Bridge runs the server on your hardware, so it is up while your machine is, and every player's traffic crosses your home connection. When that stops being good enough, the same world runs on a FadeHost server instead: a free 2 GB server, $2 a month for one that sleeps between sessions, or from $2.50 a month always on. [Upload the world](/docs/upload-a-world/) or let [the importer](/docs/move-from-another-host/) pull it in. Moving a bridged world without changing the address is coming; today you share the new address once.

## Next

- [Addresses and ports](/docs/bridge-names-and-ports/): names, the SRV record, Bedrock, presets and custom domains.
- [The offline screen and the door](/docs/bridge-offline-and-door/): what players see when you are away, and login protection.
- [Limits and Bridge Pro](/docs/bridge-limits-and-pro/): what is free, what Pro adds, traffic and idle addresses.
- [Troubleshooting](/docs/bridge-troubleshooting/): SmartScreen, firewalls, the local port, a claim code that comes back, friends who cannot join a LAN world.
- [The Bridge page](/bridge/): the program for every operating system, and the plugin and mod downloads in one place.
