Skip to content

Instantly share code, notes, and snippets.

@zax71
Last active December 4, 2021 14:07
Show Gist options
  • Save zax71/e49d95f1d459102ca6c44c3677211ea3 to your computer and use it in GitHub Desktop.
Save zax71/e49d95f1d459102ca6c44c3677211ea3 to your computer and use it in GitHub Desktop.
The issues with free hosting services

The issues with free hosting services

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

But i can't pay for a host

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.

Creating a local server

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

Creating a startup script

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

Saving the startup script

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

Finishing up

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.

My friends can't join

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.

Okay, i can pay. What is a good host

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment