Over my time i have used almost all the free hosts that exist. and they all had many issues that couldn't be resolved. including:
- limited number of plugins
- Outdated plugins
- Turns off after some time
- Low specs that can't run anything past 1.12
This is the common answer to why someone would use a free hosting service but there are solutions! with the one we'll describe here, hosting locally.
It is quite easy to make a local server. the first thing you would want to do is download a server jar, in this case we will use paper but you could use Purpur or any other paper fork. once you have that, put it in a folder somewhere and rename it to paper.jar
The next thing you need to do is get a startup script. in this case i will use startmc.sh to generate it. The server filename will be paper.jar
as thats what we called it earlier. Presuming you're on windows, the Script type will be Basic (Windows)
.
The next thing to configure is the RAM amount. you need to check that your computer has enough ram to run the operating system and your server. you can check this by navigating to Task manager>More details>Performance>Memory>
at the top of the graph it will say something like 11.9GB, this is how much total ram you have, as the operating system needs ~3GB and all the programs you will have open could use up to ~4GB we have a maximum of 5GB to play with, in this case i will give the server 4GB. to do this you need to convert it to megabytes in my case 4*1024
so 4096M
is what i put in to the ram field
Next we will create the .bat
file to run the server. in your server's folder make a text document and call it run. paste the code generated by startmc.sh in the previous step to there using notepad. now you need to save it as a .bat
file, to do this click File>Save as
, change the type to All files and set the file name to run.bat
and click save
We've got everything ready! Now all we need to do is start the server. to do this double click on the run.bat
file we made earlier. But you're not done! we need to accept the EULA by going to eula.txt
and changing eula = false
to eula = true
. now you should be able to join your server by connecting to localhost
in Minecraft.
This is because the server's port isn't exposed to the outside world. there are 2 ways to do this: Port forwarding and tunneling services. Here we will use the latter.
A good tunneling service for Minecraft is playit.gg to set this up you need to download the tunnel program. SmartScreen might show a warning but we can ignore this safely. once you have run up the tunnel program you can add a tunnel in the website. doing this is rather simple, the first thing you need to do is control+click the link in the terminal window that runs up when you start the program and then configure your tunnel once you log in with discord, I won't explain how to do this in this guide as it explains it well on their website.
All the well known hosting services out there are not dedicated, this means there other people are sharing your CPU cores and also expensive compared to the modern dedicated hosts. here are two i'd recommend:
- Bloom.host I use this one myself, just pick a Performance of Performance + plan for dedicated cores
- DedicatedMC This one is more expensive and has a few less features but is another option. just pick their "Premium" or "High-End" plans