External Proxies

This guide shows how to connect external servers to Minehut with Velocity using 1.13 or above.

Minehut External Servers (Velocity)

Official Document (Minehut External Server Rules and Set Up) READ THE RULES! But preferably, read it fully

Requirements

  • Have PaperMC (or forks) servers not hosted on Minehut (!) Minehut is hosted in New York, get your servers close to this location for better ping

  • One server on Minehut (not on free plan) that will be used as the proxy

Steps

Steps for the Minehut server

Here we will create a Velocity proxy and tell it which servers we have, and how to handle the players

  1. Select type Velocity (Proxy) (Unstable)

  2. Reset/Restart the server to generate the files

  3. Create a file called external_servers.json

  4. Paste the following example json inside

{
	"secret": "<YOUR SECRET>",
	"forwarding": "MODERN",
	"try": [
		"hub",
		"server1"
	],
	"servers": {
		"hub": "example.com:25565",
		"server1": "example.com:25566",
		"server2": "1.202.33.404:25567"
	}
}
  1. Use a [password] generator to create a random string of text (like z9Hawx6MdowP4qx4aExeEEJibdhotRHh) that will be used as the secret (=DON'T SHOW IT TO ANYONE) Replace <YOUR SECRET> with the generated string Save the secret somewhere, we will need it later

  2. Configure the try-list and servers to how you need them. The try list specifies which servers (in order) Velocity should try to connect players to when joining, or getting kicked.

  3. Save the file and restart the proxy

Steps for the External servers

Now we will set up our backend server to accept connections from the Velocity server on Minehut

  1. In server.properties, disable online-mode (online-mode=false)

  2. Go to paper.yml or /config/paper-global.yml if you are on 1.19+

  3. Find the "proxies" -> "velocity" configuration section

  4. Set "enabled" and "online-mode" to true

  5. Paste the secret you generated earlier next to the "secret" option

  6. Save your edits and start the server

  • Repeat this on all the backend servers you want to connect

  • Double-check that you can't directly connect to your backend servers

Troubleshooting

Error: "If you wish to use IP forwarding, please enable it in your BungeeCord config as well!" Fix: Disable "bungeecord" in spigot.yml

Error: "Unable to authenticate - no data was forwarded by the proxy." Fix: Uninstall BungeeGuard

Error: "This server requires you to connect with Velocity." Fix:

  • If you're trying to directly connect to a backend server, this is intentionally not possible, you have to connect using the proxy.

  • If you ARE using the proxy to connect, make sure the secret in external_servers.json of the proxy matches the one in config/paper-global.yml of your backend server

Error: "Unable to read/load/save your velocity.toml. The server will shut down." Possible Fix: Make sure the json of your external_servers.json is formatted correctly, a common mistake is leaving comments in the file (//), use a json parser tool if you're unsure

glhf

Made by MrTibo#9659

Last updated