Connect to Minehut

How to connect your external Minecraft server to the Minehut network.

External servers are an advanced feature. Setting up an external server may be challenging if you do not have experience configuring a proxy. In addition, since you are hosting your own server, the Minehut support team will have a limited ability to help.

External setup

Step 1

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.

Step 2

PlutoNode customers can only choose from a limited number of available startup commands. Please open a ticket if you wish to use a startup command which is not listed in the dropdown menu on the panel.

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 in Step 1, 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.

Step 3

Note: Skip this step if you’re using TCPShield for DDoS protection.

Enable proxy protocol in your proxy’s configuration file:

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

External connection

First, make sure you’ve set up your server plan on Minehut and configured your external server.

Step 1

Go to Minehut and create an account. You’ll use this account to manage your server.

Step 2

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

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

  3. From your Server Panel, edit your server plan.

  4. 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.

  5. You’re now ready to add your external server!

Step 3

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 we will assign you a different port (unless you order the Dedicated IP Address addon), 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.

Step 4 (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:

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

  2. Click “Add Domain”.

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

  4. Click “Verify Domain”.

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

Step 5 (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:

  1. Set resource-pack= to your resource pack link

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

For external servers, uploading resource pack files directly in the server panel is not yet supported.

Step 6 (Optional)

Setting up TCPShield will provide additional DDoS protection. Keep in mind that normally if you are proxying through Minehut this will not be necessary since you will be protected behind Minehut’s network. To use TCPShield you will need to make some additional changes to the configuration in the Minehut panel as well as the TCPShield panel.

A custom domain is required to set up a TCPShield external server.

In TCPShield:

  1. Go to https://panel.tcpshield.com/register and sign up for an account or log in if you already have one.

  2. Add a network with a name of your choice.

  3. Navigate to “Backends” and set up your proxy server by adding a set with your proxy IP.

    1. Make sure you leave “Proxy Protocol” here as “Disabled”.

  4. Navigate to “Domains” and verify your custom domain.

  5. Navigate back to “Backends” and click "Add” for the backend you created earlier.

  6. Scroll back up and follow the steps provided.

In your External Server Settings:

  • IP: Use the domain pointing to the CNAME record as the IP.

  • TCPShield: Select "Configured Externally".

Save your changes, and if everything was done correctly your external server should now be properly configured behind TCPShield!

Customise Appearance

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 following:

  • Server Name

  • Server Icon

  • Message of the Day (MOTD)

  • Categories

  • Visibility

  • All standard Minehut rules apply.

  • You cannot connect the same external server to more than one Minehut server to have your server show up more than once in server lists.

  • This is the only official way to connect external servers to Minehut. Other ways are not supported and may be deprecated.

  • You cannot direct Minehut players to leave Minehut and direct join your server.

Last updated