Connect to Minehut external

Please note that external servers are an advanced feature and may be challenging to setup. PlutoNode cannot provide assistance when setting up Minehut external!

External servers are servers hosted outside of Minehut. In order to connect an external server to Minehut, you first need to purchase a Minecraft server from PlutoNode. An external server can be either run as a Velocity or Waterfall proxy network, or a standalone Paper server. Bungeecord is not supported! If you are new to setting up a proxy, we recommend starting with Velocity, which you can find instructions here to get going. Alternatively, instructions for Paper can be found here if you do not wish to run a proxy.

Before players can connect to your server through Minehut you will need to set up your server to use Minehut’s authentication service. Players will only be able to join if you complete this step. Depending on the type of proxy or server you created, follow the directions as listed below:

Velocity

Add the following CLI flag to your start script: -Dmojang.sessionserver=https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined

When you are done, your script may look something like the following: java -Dmojang.sessionserver=https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined -jar velocity.jar

Waterfall

Add the following CLI flag to your start script: -Dwaterfall.auth.url="<https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined?username=%s&serverId=%s%s>"

When you are done, your script may look something like the following: java -Dwaterfall.auth.url="<https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined?username=%s&serverId=%s%s>" -jar waterfall.jar

Paper

Note: These instructions only apply if you are running Paper standalone and NOT under a proxy. If you are using Velocity or Waterfall, you should have already configured this and you can safely skip this.

Add the following CLI flags to your start script:

-Dminecraft.api.auth.host=https://authserver.mojang.com/

-Dminecraft.api.account.host=https://api.mojang.com/

-Dminecraft.api.services.host=https://api.minecraftservices.com/

-Dminecraft.api.session.host=https://api.minehut.com/mitm/proxy

When you are done, your script may look something like the following:

java -Dminecraft.api.auth.host=https://authserver.mojang.com/ -Dminecraft.api.account.host=https://api.mojang.com/ -Dminecraft.api.services.host=https://api.minecraftservices.com/ -Dminecraft.api.session.host=https://api.minehut.com/mitm/proxy -jar paper.jar

In addition, ensure that set enforce-secure-profile to false in your server.properties file.

Proxy protocol setup: You now need to enable proxy protocol in your proxy's configuration file. Skip this step if you're using TCPShield for DDoS protection.

Velocity - In velocity.toml under advanced, set haproxy-protocol = true

Waterfall - In config.yml under listeners, set proxy_protocol: true

Paper - In config/paper-global.yml under proxies, set proxy-protocol: true

Once done, you're ready to link your server to Minehut. Go to Minehut and create an account. You’ll use this account to manage your server.

  • Go to your server (or create a new one).

  • Activate your server and open the Server Panel by clicking “Manage”.

  • From your Server Panel, edit your server plan.

  • Set your server plan to “External” and press confirm. Note: you’ll need to buy credits to use an external server and keep it active. The easiest way to make sure you have enough credits every month is to purchase a credit subscription.

You’re now ready to add your external server!

On Minehut, open your server’s server panel and navigate to the “External Server Settings” section.

Complete all the fields:

IP: Enter the public IP of your external server. We will provide you with the public IP, which typically are four numbers separated by dots (for example 123.45.67.89). This information is visible within the server console tab. A domain name can also be used here if you have one (for example [play.myserver.com](<http://play.myserver.com>) configured as an A record pointing to 123.45.67.89). If you are using TCP Shield this will instead be your DDoS-protected IP.

Proxy Type: Select the type of proxy you’re using. This will be “Velocity” or “Waterfall” if you are using either. If using anything else (for example, a standalone Paper server) select “Other”.

DNS Record Type: Select the type of record used for your server. Use “Port” if you are using a public IP address or DDoS-protected IP. Use “Port” if you are using a domain that does not use an SRV record. Use “SRV” ONLY if you use an SRV record on your server. If you are not using an SRV record or have a misconfigured SRV record, selecting this will break your server.

Port: The port used to connect to your external server. The default Minecraft port is “25565” but you're probably using a different port, so you should check to make sure. Players will not be able to connect if the port is wrong.

TCP Shield: Select whether you have configured TCP Shield for DDoS protection. Most servers should leave this as “Not Configured” as we already have built-in DDoS protection. Select “Configured” ONLY if you have configured your external server on TCPShield.com, or this will break your server.

(OPTIONAL) You can set up a custom domain to allow players to directly join your server from the Minecraft server list without needing the <server>.minehut.gg sub-domain provided to you for free by Minehut.

To do this, you will need a domain that you have already purchased through a domain name registrar of your choice. Once you have a domain name chosen, follow these steps to connect your custom domain to your external server:

  • In the settings dashboard of your external server, navigate to “Custom Domains”.

  • Click “Add Domain”.

  • Follow the directions displayed to verify ownership of your domain.

  • Click “Verify Domain”.

If all has gone well, your domain should now be connected successfully.

(OPTIONAL) You can set up a resource pack by linking to your resource pack in your server’s server.properties file. In order to protect users, Minehut only allows resource packs hosted on designated domains:

In your server.properties file, you need to set the following properties:

  • Set resource-pack= to your resource pack link

  • Set resource-pack-sha1= to your resource pack hash (optional, learn more)

After you’ve completed all the previous steps, you’re ready to share your server with the Minehut player base. Polish your server’s appearance by customising the server name, icon, MOTD, categories, and visibility.

If you have any questions, please contact us for support.

Last updated