A powerful bash script for easy installation of a Minecraft server (Vanilla, Forge, Spigot & Paper)
With this project, my goal was to make installing Minecraft servers, no matter if they are Vanilla, Forge, Spigot or Paper, as easy and beginner-friendly as possible. After making some Tutorials on my YouTube Channel and providing a detailed Documentation for them, there were still questions and problems on how to install a Minecraft Server on a Linux-Server. Thats why I created this All-in-One solution for installing a Minecraft Server (Forge, Vanilla, Spigot & Paper).
Prerequisites:
apt install git
Downloading the script:
git clone https://github.com/officialrealTM/mcserver_installer.git
Go into the downloaded folder:
cd mcserver_installer
Start the Script:
./mcserver_installer.sh
No. At least not yet. The Script has been developed and tested on --> Supported Distros. To disable the Distro check see: Experimental Settings
You Minecraft Server files will get stored in /Servers/Minecraft-<versionnumber>
When installing multiple servers of the same type (e.g. two Minecraft 1.8.9 Servers) the second folder will be called Minecraft-<versionnumber>-1
(or 2 and so on)
Yes. But here you need to keep a few things in mind:
server.properties
fileYes. To do so go to your Server folder (cd /Servers/Minecraft-<versionnumber>
) and open the start.sh
file.
In the last line of this file you can adjust the number after -Xmx
to adjust more or less ram.
No. This script can only install full game versions. Snapshot Versions are not supported!
Dont worry, the console will kept open in the background using screen.
Use this command, to show all active screen sessions:screen -ls
If only one Sessions is active you can use this command, to open it: screen -rx
If multiple Sessions are active use this command: screen -rx <Name of screen session>
To close (detach) you Minecraft Console press [CTRL]+[A] and than [CTRL]+[D]
Feel free to ask me questions on my Discord.
You are very welcome to contribute to this project!
To do so, just create a Pull Request and describe your additions as accurate as possible! Feel free to join my Discord to ask questions about the code's structure etc.
These are all the packages used in this script:
Used Packages: dialog, sudo, wget, screen, jq, Python3, Python3-pip, Pip3-Packaging
Python Script: mcurlgrabber.py (Thanks to Christian!)
Important: With these experimental settings you can disable certain functions of the script. Use them at your own risk and only if you know what you are doing!
How to use:
All these commands must be executed in the homedirectory of the script, namely: /mcserver_installer
Disable Distro-check:
touch .skip_distro_check
Disable Script Version check:
touch .skip_version_check
Disable Installed-check:
touch .installed
Disable caching/archiving of compiled Spigot.jar(s):
touch .disable_spigot_archive
Enable Distro-check:
rm .skip_distro_check
Enable Script Version check:
rm .skip_version_check
Enable Installed-check (can also be used to re-check installed packages):
rm .installed
Enable caching/archiving of compiled Spigot.jar(s):
rm .disable_spigot_archive
For support, join my Discord and create a Ticket. (Support in German and English)