An external server is a Minecraft server you host somewhere else (another hosting provider, a VPS, or your own hardware) and connect to the Minehut network. Players find you through Minehut and land on your server. This guide covers the whole setup.
Why connect an external server
Hosting elsewhere while listing on Minehut gets you:
-
Reach Minehut players
Get in front of the players already browsing the lobby, Discord, forums, and socials.
-
DDoS protection
Player traffic arrives through Minehut’s network, not straight at your machine.
-
A hidden IP address
Players never see your real server address, so it cannot be attacked directly.
-
Events and streams
Take part in Minehut events, videos, and live streams.
-
An address players remember
Every server gets a free address like myserver.minehut.gg, and you can point your own domain at it.
-
A community of owners
Join the Minehut Discord to compare notes with other server teams.
Before you start
Have all four of these ready. Every one is needed before players can connect.
-
Somewhere to host
A hosting provider, VPS, or dedicated machine you control.
-
Access to your start command
You must be able to add Java flags, or set environment variables, on your host.
-
A Minehut account with credits
External servers spend credits to stay active.
-
Your server’s public IP and port
Your host displays both of these in its panel.
Pick a hosting provider and create a Minecraft server on their platform. The exact steps vary by host, so that part is between you and them. Minehut isn’t involved yet.
Choose your server software
Which one you need depends on how many servers you plan to run.
| Software | Use it for | Status |
|---|---|---|
| We recommend this for a single server. Running Paper on its own is all most owners ever need, and the least that can go wrong. | Recommended | |
| We recommend this for a proxy network, with Paper servers behind it. Velocity sits in front and moves players between them. | Recommended | |
|
Waterfall |
An older proxy that does Velocity’s job. PaperMC ended support in March 2024, so it will not reliably get new Minecraft versions. Existing setups keep working, but move to Velocity when you can. | End of life |
|
BungeeCord |
Cannot be used with Minehut, because of an unresolved issue in BungeeCord. Use Velocity instead. | Not supported |
New to this? For a single server, follow the Paper getting-started guide. For a network, set the proxy up with the Velocity getting-started guide as well.
Players who reach you have already authenticated through Minehut’s network, so your server has to verify their session against Minehut’s service rather than Mojang’s directly. Setting that up is what this step is for, and until it is done nobody can join through Minehut.
Where the start-up flags go
Most changes below are Java flags added to the command that starts your server. Every host exposes this differently, so below is just one example. Ask your host if you can’t find yours.
Only one server needs these changes. Apply them to whichever server players reach first. On a network that is the proxy, and the Paper servers behind it need nothing. On a single server with no proxy, it is Paper itself.
Pick your software
Open the section matching what you set up in Step 1. Each one lists the config changes for that software, the flag to add, and a box that will put the flag into your own start command for you.
Paper Standalone only
First, open these two files in your server’s files and edit them:
- config/paper-global.yml
Find the
proxiessection and setproxy-protocol: true. Skip this edit if you use TCPShield.- server.properties
Set
enforce-secure-profile=false.
Then add all five flags to your start command:
-Dminecraft.api.services.host=https://api.minecraftservices.com/ -Dminecraft.api.auth.host=https://authserver.mojang.com/ -Dminecraft.api.account.host=https://api.mojang.com/ -Dminecraft.api.profiles.host=https://api.mojang.com/ -Dminecraft.api.session.host=https://api.minehut.com/mitm/proxy
Or paste your current start command and get it back with the flag already in place:
Add the flag above to your start command, immediately before -jar.
Velocity For proxies
First, open this file in your proxy’s files and edit it:
- velocity.toml
Find the
[advanced]section and sethaproxy-protocol = true. Skip this edit if you use TCPShield.
Then add this flag to your start command:
-Dmojang.sessionserver=https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined
Or paste your current start command and get it back with the flag already in place:
Add the flag above to your start command, immediately before -jar.
Waterfall End of life
First, open this file in your proxy’s files and edit it:
- config.yml
Find the
listenerssection and setproxy_protocol: true. Skip this edit if you use TCPShield.
Then add this flag to your start command:
-Dwaterfall.auth.url="https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined?username=%s&serverId=%s%s"
Or paste your current start command and get it back with the flag already in place:
Add the flag above to your start command, immediately before -jar.
Finish Steps 1 and 2 before starting this one.
Create your Minehut account
Sign up at minehut.com. This is the account you use to manage your server listing.
Get the External plan
External is a paid plan. There are two ways onto it, depending on whether the server already exists.
- Starting a new server
Go to Create Server, pick External on the first step, then continue through the wizard. Your server name becomes your
.minehut.ggaddress, and has to be 4 to 12 characters, letters and numbers only. The wizard asks for your connection details as part of setup.- Converting a server you already run on Minehut
-
You lose access to your server files. The file manager goes away while the server is external. Nothing is deleted, and access returns if you move back to a Minehut-hosted plan. Download any server files you need for your own hardware first.
Open the server from My Servers, click Manage, go to the Settings tab and scroll to Convert to external server. Click Convert to External. The server keeps its name, address, and players.
What it costs
The External plan is billed in credits each month. Becoming Minehut Verified with the GamerSafer app lowers that by 40%.
| Account | Price |
|---|---|
| Standard | 4,000 credits / month |
| Minehut Verified | 2,400 credits / month Save 40% |
You can buy credits as you go, but a credit subscription is the easiest way to be sure the server stays active every month. To get the lower price, become Minehut Verified from your account profile.
Fill in the connection settings
These settings tell Minehut where to send players. The create wizard asks for them during setup, and you can change them at any time from the Connection section of your server’s Settings tab. The wizard uses toggles where Settings uses dropdowns, so a couple of the labels differ, noted below.
- IP Required
-
The public address of your external server.
- Your host normally shows this in its panel, usually four numbers separated by dots, like
123.45.67.89. - A domain works too, for example
play.myserver.compointed at123.45.67.89with an A record. - If you use TCPShield, enter the address they gave you instead.
- The create wizard calls this IP address / host.
- Your host normally shows this in its panel, usually four numbers separated by dots, like
- Port Required
-
The port players connect on.
- The Minecraft default is
25565, but plenty of hosts assign something else, so check rather than assume. It is usually shown right next to the IP. - A wrong port means nobody can connect.
- The Minecraft default is
- DNS Record Type Required
-
How your address resolves.
- Choose Port if you entered a public IP address.
- Choose Port if you entered a domain that does not use an SRV record.
- Choose SRV only if your domain genuinely uses an SRV record. Picking SRV without a working SRV record will break your server.
- In the create wizard this is the SRV record toggle. Leaving it off is the same as choosing Port.
- Proxy Type Optional
-
The proxy software you configured in Step 2.
- Pick Velocity or Waterfall if you use one of them.
- Pick Other for anything else, including a standalone Paper server.
- The create wizard shows these as buttons rather than a dropdown.
- TCP Shield Optional
-
Whether TCPShield sits in front of your server.
- Leave it on Not Configured. This is correct for most servers.
- Only change it once you have actually set your server up on TCPShield.com. Otherwise it will break your server. See Set up TCPShield below.
- In the create wizard this is the TCPShield configured toggle.
<server>.minehut.gg address. If that works you are connected, and everything after this point is optional.None of these are needed to get players connected. Add them whenever you want them.
Add a custom domain
Your server comes with a free <server>.minehut.gg address. A custom domain lets players add your own address to their Minecraft server list instead. You need a domain you have already bought from a registrar, and you add it under Custom Domains in your server’s settings.
Setting one up means verifying ownership with a TXT record, then adding a CNAME record for Java, plus an optional SRV record if you also want Bedrock. That is all covered step by step in its own guide:
How do I set up a custom domain
Add a resource pack
Point your server.properties file at your pack:
- Set
resource-pack=to your pack’s download link. - Optionally, set
resource-pack-sha1=to your pack’s hash.
In the table, … stands for the rest of your pack’s path or ID. Use the full link that your service or plugin generated.
| Service | Accepted link format |
|---|---|
| GitHub | https://raw.githubusercontent.com/… |
https://github.com/…/raw/… | |
https://github.com/…/releases/download/… | |
| MCPacks | https://download.mc-packs.net/pack/… |
| Lobfilefor ItemsAdder | https://lobfile.com/file/… |
| NexoMCfor Nexo | https://hermes.nexomc.com/pack/… |
https://atlas.nexomc.com/pack.zip?id=… | |
| Oraxen | http://atlas.oraxen.com:8080/pack.zip?id=… |
Set up TCPShield
TCPShield adds another layer of DDoS protection. Most servers do not need it, because proxying through Minehut already puts you behind Minehut’s network. If you do want it, you have to change settings in both panels, and a custom domain is required.
1. In TCPShield
- Create a TCPShield account, or log in to an existing one.
- Add a network, with a name of your choice.
- Go to Backends and add a set containing your proxy’s IP.
Leave Proxy Protocol here set to Disabled. - Go to Domains and verify your custom domain.
- Return to Backends and click Add for the backend you created.
- Scroll back up and follow the steps TCPShield gives you.
2. In Minehut
Back in your server’s Connection settings on Minehut, change two fields:
- IP
The domain pointing to your TCPShield CNAME record.
- TCP Shield
Set to Configured Externally.
Do not double up on proxy protocol. With TCPShield in front, skip the
proxy-protocol edit from Step 2 (haproxy-protocol, proxy_protocol,
or proxy-protocol).
Save your changes. If everything lines up, your external server now runs behind TCPShield.
Polish how your server looks
With everything working, spend a few minutes on how your server appears to the Minehut player base. All of this lives in your server’s Settings tab.
-
Name and icon
Rename from the top of the panel. The server list favicon must be a square PNG, 64×64 or smaller, under 32 KB.
-
Message of the Day
Your description in server lists, with a live preview as you type. The MOTD Designer link beside it helps with colours and formatting.
-
Server list MOTD
A separate MOTD for the multiplayer menu. Leave it empty and Minehut pings your server for its live MOTD and icon instead.
-
Categories
Pick up to three, so players browsing by game type can find you.
-
Public visibility
Controls whether your server is listed publicly. Turn it on when you are ready for players.
Promote your server
With the server live, here is how players find it.
-
Post on Twitter, Discord, TikTok, and anywhere else your players already are. Saying your server is on Minehut helps people find it.
-
Server ads
Your server panel has an Advertising tab where you can buy ads that promote your server in the in-game server list.
-
The /ad command
Type /ad in the Minehut lobby to promote your server in lobby chat. Ranks unlock more of it.
Rules for external servers
External servers are welcome to access our network, share in our community experiences, and advertise to players, as long as they follow the rules.
Those rules live in the External Servers section of the Minehut Rules, which is the authoritative version. In short, they cover following the community rules exactly as an internally hosted server would, using only the officially supported connection method, not pointing several Minehut listings at the same server, being held to a high standard on anything that can harm players, not evading a suspension, and not directing players off Minehut’s network.
Get help
Still stuck? Ask other server owners, or talk to us directly.
Minehut Discord Submit a ticket