Ngrok
A single-binary application that exposes local TCP ports to the internet through secure tunnelling: to set up ngrok on your server…- Create an ngrok.com account
- Download the ngrok binary for your system
- Copy and paste your authtoken command into the terminal, typically
- Run the ngrok agent to expose a port
Pros
- Relatively quick to set up (single binary)
- Open-source integrations
Cons
The free version of Ngrok is very limited:- Server address changes every time the ngrok agent is restarted (static URLs are only available for HTTP sites)
- Extremely limited bandwidth (1GB/month)
Bottom Line
Ngrok is best suited to development servers that should be able to be accessed from anywhere, as well as smaller servers run by those who cannot forward ports on their network equipment.Playit
A global proxy that exposes your game server to the Internet, securely tunneled through Playit’s servers. To set up Playit on your Minecraft server… (assuming you use Bukkit or a fork)- Create an account on playit.gg and verify your email address
- Download the Playit agent plugin from here to your server’s plugins folder
- Restart your server
- Click on the URL that the plugin outputs to the console or chat and log in to Playit
- Add the agent to your account and wait for the tunnel to be created
Pros
- Generous free plan (4 TCP and 4 UDP ports, 6 firewall rules to block IPs and ranges etc.)
- Premium plan only $3 per month, offers good upgrades such as extra ports and firewall rules, up to 6 external domains and even 3 dedicated IPv6 addresses (provided your network uses IPv6)
- Static domain name for servers
- Server plugin allows integration with Playit without running the agent as a separate process
Cons
- Playit only allows for external domains to be used on its premium plan: the free plan assigns a randomly-generated subdomain in the format
name.ply.gg
Bottom Line
Playit is the most common and recommended option when it comes to Minecraft server tunnelling, with a vast community on its forums and Discord server and knowledgebase for common guides and issues.Connect
Minekube’s Connect is a plugin that links Minecraft servers to a global network in a similar practice to MinehutPros
- Plug and play: just drop the plugin into your server’s plugins directory and copy the generated address
- Brandable with free custom domains / sub-domains
- Passive advertising on the Connect network allows for extra player traffic
Cons
- A paid plan is required to provide an ad-free experience
Bottom Line
Out of the options listed on this page, Connect has the easiest setup: just install the plugin and Connect will generate a domain for you! This option is best suited for public server owners who want simple setup with organic growth from other players joining from the Connect global network. :::caution Players joining your server through the Connect network will not be able to join if secure chat is enforced. To disable this:- On your backend server(s), make sure
enforce-secure-profileis set tofalseinserver.properties - If using BungeeCord, set
enforce_secure_profiletofalseinconfig.yml - If using Velocity, set
force-key-authenticationtofalseinvelocity.toml
Cloudflared
Cloudflared is a server-side daemon that allows the tunnelling of network traffic through Cloudflare’s secure network Here are some resources on how to run and tunnel Minecraft servers using cloudflared:Pros
- Traffic is proxied through Cloudflare’s network, renowned for its terabit-capacity DDoS mitigation.
Cons
- Setup is very complicated
- Individual tunnels must be created using cloudflared for each port that you wish to be open
- All players must have cloudflared installed and running on their computers to access the server