--- title: "Troubleshooting: Making external servers on Minehut" --- # External Servers on Minehut I think creating external servers on Minehut is an advanced subject, and it is not documented well enough for the circumstances that might occur with server owners. This is a [extension/rephrasing of the offical wiki guide](https://minehut.wiki.gg/wiki/External). All points in **bold** are things you shouldn't miss, and are commonly misread.
_Note: This is an unoffical guide, but the offical way of connecting! This is safe!_ ## Getting started You must pick a host that allows the following when making external servers: - **Editing server flags** Editing flags for the server to run is essential. There are many cases where you were not able to continue because your provider was resetting your flags back - **A supported server software** For standalone servers, you must run on [Paper](https://papermc.io/software/paper). For proxy networks, you can use [Velocity](https://velocitypowered.com/), [Waterfall](https://papermc.io/software/waterfall) & [Lilypad](https://www.lilypadmc.org/). **BungeeCord is not supported by any means!** Minehut offically recommends Velocity, which you can find instructions [here](https://docs.papermc.io/velocity/getting-started) to get going! If you do not wish to use a proxy, using Paper is recommended, which you can find a guide [here](https://docs.papermc.io/paper/getting-started). Before doing below, **make sure your proxy _actually works!_** ## Changing flags To ensure that Minehut can properly connect your players to your server, you need to add flags when booting up your server. These are commonly in `start.bat` or `start.sh` for Linux-based hosts. **Players cannot join your server from Minehut without adding these flags!** ### Velocity Add the following `sessionserver` flag to your start script: ``` -Dmojang.sessionserver=https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined ``` All flags put together should look like the following: ``` java -Dmojang.sessionserver=https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined -jar velocity.jar ``` ### Paper - standalone Like said above, if you run a proxy, add the flags for Velocity. **Adding both the Velocity (or any other proxy server) & Paper flags will cause your server to be unauthenticatable!**
Add the following `auth.host`, `account.host`, `services.host` & `session.host` flags: ``` -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 ``` All the script together ``` 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 ``` **Along with this,** make sure to set the `enforce-secure-profile` flag in the `server.properties` file to `false`. ``` enable-status=true # Set this to false! enforce-secure-profile=false enforce-whitelist=false ``` ### Lilypad Set the following environment variable `LILYPAD_MOJANG_SESSIONSERVER_URL` to `https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined`. Environment variables are set as a seperate command in the start script: ``` LILYPAD_MOJANG_SESSIONSERVER_URL="https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined" ``` If above doesn't work, try this: ``` export LILYPAD_MOJANG_SESSIONSERVER_URL="https://api.minehut.com/mitm/proxy/session/minecraft/hasJoined" ``` ## Enable Proxy Protocol _Note: Skip this step if you're using [TCPShield](https://tcpshield.com/) 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 ``` ## Thats it! After this, there are mostly no more common issues. Continue on [the wiki](https://minehut.wiki.gg/wiki/External#Connect_Your_External_Server_Plan_on_Minehut)! ## Have any issues? Go to the offical Minehut Discord server and go into the [#ask-for-help](https://discord.com/channels/239599059415859200/1014801630295760897) channel and create a thread.