DEV Community

ChenXX
ChenXX

Posted on • Originally published at moonproxy.app

How to Host a Minecraft Server Friends Can Join from Anywhere (No Port Forwarding)


The Problem: "Connection Refused"

You set up a Minecraft server. Your friends type in your IP. Nothing. The dreaded "Connection refused" or endless "Connecting to server..." timeout.

The culprit is almost always the same: NAT. Your home router sits behind your ISP's network address translation, so your server's local port (25565) is invisible to the public internet.

The classic answer is port forwarding — log into your router, open port 25565, point it at your server's local IP. But that approach has real problems:

  • It doesn't work behind carrier-grade NAT (CGNAT), which most mobile and many home ISPs now use.
  • It exposes your home IP directly to the internet.
  • Every router UI is different, making it a frustrating guessing game.

There's a better way.

The Fix: A Reverse Tunnel with FRP

FRP (Fast Reverse Proxy) is an open-source tool that creates a reverse tunnel: your server connects outward to a public relay, and players connect to the relay instead of your home network. No port forwarding, no exposed home IP, and it works behind CGNAT.

The catch: FRP's official client (frpc) is a command-line binary. Running it means editing a .toml config, opening a terminal, and babysitting a process. For a lot of people who just want to play Minecraft with friends, that's friction.

That's exactly the problem MoonProxy was built to solve.

MoonProxy: A GUI for FRP

MoonProxy is a free, open-source desktop app that wraps frpc in a graphical interface. You fill in your FRP server details (address, port, token), add a proxy rule for port 25565, and click Start. That's it.

  • macOS (Apple Silicon + Intel) and Windows x64
  • Built with Tauri v2 + Rust — small binary, low memory, no Electron bloat
  • System tray so the tunnel keeps running in the background
  • Auto-connect on boot so your server is reachable 24/7 without you thinking about it
  • Scheduled connect / disconnect if you only want it up on weekends
  • The FRP engine ships bundled — you never install frpc separately

Step-by-Step: Minecraft Server Over FRP with MoonProxy

1. Get an FRP server

You need a machine with a public IP running frps (the FRP server). Options:

  • A cheap VPS ($3-5/month) from any provider
  • A free-tier cloud instance (Oracle Cloud, Google Cloud, AWS)
  • A friend's server that already has a public IP

On that machine, download FRP and run frps with a minimal config exposing a port range for tunnels. Note down the server's public IP, the bind port (usually 7000), and the token.

2. Download MoonProxy

Grab the latest release for your platform from the releases page:

  • macOS Apple Silicon: the aarch64.dmg
  • macOS Intel: the x64.dmg
  • Windows: the x64-setup.exe

3. Configure your FRP server

Open MoonProxy, go to Settings > Server, and enter:

  • Server address: your VPS public IP
  • Port: 7000 (or whatever frps binds)
  • Token: your FRP auth token
  • Username: any unique name for this client

4. Add a proxy rule for Minecraft

Go to Settings > Proxies and add a rule:

  • Type: TCP
  • Local IP: 127.0.0.1
  • Local port: 25565 (your Minecraft server port)
  • Remote port: 25565 (the port players will connect to on your VPS)

5. Start the tunnel

Back on the home screen, click Start. The status indicator turns green when frpc has connected to your FRP server.

6. Share the address

Give your friends the address <your-vps-public-ip>:25565. They add it as a server in Minecraft and they're in.

That's the whole flow — no terminal, no config files, no router gymnastics.

Keeping It Up 24/7

If you want your server reachable around the clock:

  1. Enable Launch at login in MoonProxy's settings.
  2. Enable Auto-connect — the tunnel starts automatically whenever the app launches.
  3. Minimize to the system tray so it runs quietly in the background.

Now your Minecraft world is reachable whenever your computer is on, with zero manual steps.

Why Not Just Use a Hosting Service?

You absolutely can pay for managed Minecraft hosting ($5-15/month typically). But:

  • Running it yourself on your own hardware is free.
  • You keep full control over mods, worlds, and backups.
  • You learn networking along the way.

MoonProxy + a $3 VPS gives you a self-hosted server with the same reachability as a paid plan, for a fraction of the cost.

Wrap-Up

The combination of FRP (the protocol) and MoonProxy (the GUI) removes the last piece of friction in self-hosting a Minecraft server: the networking. No port forwarding, no command line, no exposed home IP.

Happy building.

Top comments (0)