External Servers

A guide on how to set up external servers on MineKeep, allowing you to advertise your server hosted elsewhere to thousands of new players

The MineKeep session server is also compatible with Minehut. Thus, you can configure your backend to use the MineKeep session server, and point both your MineKeep and Minehut externals to it. This removes the need for having several proxies. Note, this does not work the other way around!

Step 1. Prepare your target server

In order to allow players to connect to your server through MineKeep, you'll have to configure your server to use MineKeep's session server, and optionally enable the PROXY protocol (recommended).

The exact configuration changes needed differ depending on what server software you run. Here are some examples for popular server softwares.

Velocity

If you wish to enable the PROXY protocol, set haproxy-protocol = true in velocity.toml.

Then, proceed to add the following command line option to your startup script:

-Dmojang.sessionserver=https://sessionserver.minekeep.net/session/minecraft/hasJoined

If added correctly, your startup script should look something like this:

java -Dmojang.sessionserver=https://sessionserver.minekeep.net/session/minecraft/hasJoined -jar velocity.jar

Waterfall

If you wish to enable the PROXY protocol, go to config.yml and set:

listeners:
- ...
  proxy_protocol: true

Then, proceed to add the following command line option to your startup script:

-Dwaterfall.auth.url="<https://sessionserver.minekeep.net/session/minecraft/hasJoined?username=%s&serverId=%s%s>"

If added correctly, your startup script should look something like this:

java -Dwaterfall.auth.url="<https://sessionserver.minekeep.net/session/minecraft/hasJoined?username=%s&serverId=%s%s>" -jar waterfall.jar

Bungeecord

Bungeecord is obsolete, and furthermore is not supported due to there not being a configurable session server property. You can switch to Waterfall if you still need the plugin ecosystem provided by Bungeecord. Otherwise, switching to Velocity is the recommended option.

Paper Standalone

If you wish to enable the PROXY protocol, go to config/paper-global.yml and set

proxies:
  proxy-protocol: true

Then, make sure to set enforce-secure-profile=false in server.properties.

Finally, add the following command line options to your startup 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://sessionserver.minekeep.net

If added correctly, your startup script should look something like this:

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://sessionserver.minekeep.net -jar paper.jar

Step 2. Create an external server

Start by creating a server. Open its panel, and click the Upgrade button.

A screenshot of the top of the server panel

Proceed to click Select on the external server plan.

The external upgrade button

After completing checkout, your server console will have been replaced by a configuration panel. Here, you enter the server address and port of your target server. Make sure to enable PROXY protocol if your server is configured to accept that.

The external server configuration panel

Step 3. Verify server connection

Everything is now set up. Now, verify that your external server is set up correctly by connecting to your server. This can be done either by joining <server name>.minekeep.gg or by running the command /join <server name>. If you need additional help, feel free to open a ticket on our Discord.

Rules and guidelines

These may change at any time. It is your responsibility to ensure continuous compliance.

  • All standard MineKeep rules apply

  • You cannot connect more than one MineKeep server to the same backend

  • Your cannot direct players to leave MineKeep, or directly join your server address

Last updated

Was this helpful?