Play
Open Private game or Public game as usual. The region page gets two tabs: HAULNET and PHOTON CLOUD (the game's own regions, unchanged). The tab you used last opens next time. Pick where the game lives, exactly like picking a region.
The HAULNET tab
| Row | What it does |
|---|---|
| On my PC | Private games only. Enter the UDP port (the last one is prefilled, 27000 by default); a server starts inside your game on that port and the next two, and stops when you return to the main menu. |
| This PC · name | A haulnet-server running on your own PC, shown when its status endpoint answers. |
| Community servers | One row per city from the public list, with ping. Haulnet checks every server of the city and uses one that answers, accepts games and runs a compatible version: for a private game the least busy of the closest ones, for a public game the busiest one, so public players of a city meet. |
| Your servers | Up to five servers you played on recently, with ping, and the servers you saved in the config file. A haulnet-server shows its name and whether it is full or updating. |
| + Server by address... | Type host or host:port (port 27000 if
not given; IPv6 as [2001:db8::1]:27000; Ctrl+V pastes). The server does not need to be listed
anywhere. |
On a server, a private game works as usual: invite friends through Steam. A public game opens the game's own Public game page, so Random matchmaking and the Server list (with Create new) work on that server.
How friends join
Friends accept the Steam invite or use Join friend, as always. The invite says where the game lives: on a server, or on the host's PC with all of the host's addresses and the port. Haulnet uses the address that answers first. Under “Press T to chat” the lobby shows where you are:
Haulnet · on your PC · UDP 27000-27002for the host of an “On my PC” game;Haulnet · host addressfor a friend connected to the host's PC;Haulnet · server name (address)orHaulnet · server addresson a server.
If a friend cannot connect, the friend sees which addresses and port were tried and the host sees who got no answer (see Troubleshooting). Lobby password, kick and ban work too; in a Haulnet game the host's mod checks them, so a refused player may appear in the lobby for a moment before being removed.
Reaching the host's PC
“On my PC” needs an IP path from your friends to your PC. Haulnet does not guess or set one up; anything that connects the two PCs works:
| Situation | What to do |
|---|---|
| Same home or LAN party | Nothing. Friends use your local address from the invite. |
| A VPN you already use (WireGuard, Radmin VPN, ZeroTier, Tailscale…) | Everyone connects to the VPN first; the invite contains your VPN address. |
| Both sides have IPv6 | Usually works without changes, if your router lets incoming UDP through. |
| Router with a public IPv4 address | Forward UDP 27000–27002 (or your port and the next two) to your PC. |
| None of these (for example carrier-grade NAT) | Create the game on a community server instead: nobody needs to reach your PC. |
Ports: the server on your PC uses the port you enter and the next two (UDP 27000–27002 by default). A short
address check between a friend and the host uses UDP 47777; it is optional. Windows Firewall may ask whether
luxon_server and R.E.P.O. may use the network: allow it.
Config file
Settings live in BepInEx/config/haulnet.repo.cfg (created at the first start; edit it while the game
is closed):
| Setting | Meaning |
|---|---|
[Hosting] Port | UDP port for “On my PC”; it uses this port and the next two. |
[Servers] Saved | Servers always listed on the region page, as
Name=host[:port] separated by ;, for example
Dacha=play.example.org;Office=203.0.113.5:27100. |
[Servers] Recent | Filled automatically: servers you played on recently. |
[Servers] RegistryUrl | Empty uses the Haulnet list. A community can point it at its
own list in the same format (http(s):// or file:///). |
Something wrong or missing on this page? Open an issue or a pull request to haulnet.github.io.