The best way to quicky spin spin up a Minecraft server
Find a file
2023-09-08 15:08:50 +02:00
.github Create FUNDING.yml 2023-03-04 06:40:04 +01:00
.msman Fix: the selected version printed when migrating server versions 2023-04-10 20:57:54 +02:00
.gitignore Fi typo in Makefile and .gitignore 2023-02-27 03:07:54 +01:00
LICENSE Initial commit 2023-02-26 21:33:21 +01:00
Makefile Fix Makefile's version mismatch detection 2023-02-27 03:48:05 +01:00
msman.cfg Add initial support for Fabric 2023-02-27 05:39:44 +01:00
msman.sh Fix: the selected version printed when migrating server versions 2023-04-10 20:57:54 +02:00
README.md fix(README): grammar 2023-09-08 15:08:50 +02:00

MinecraftServerMANager

The best way to quicky spin spin up a Minecraft server

This project is a successor to start_papermc.sh specifically the v2.0.0 branch. The project grew out of the scope I envisioned at first, surprisingly quickly LOL, so I moved all my development here.

This project aims to support more Minecraft servers than just paper.

Features

Takes care of Java

  • Checks for the correct Java version installed
  • Enables you to download a download a portable Java version from Adoptium
    • The script downloads it to ~/.adoptium_java allowing you to use one Java downlaod across multiple server instances
    • It also allows you to use multiple Java versions allowing you to run multiple Minecraft servers requiring different Java versions

Simple setup

  • To setup your server you only need to change some values in msman.cfg
    • If you're starting a server just for you and your friends you don't need to change anything apart from the version and memory usage
  • Values like memory are easy to change without the need to undertand Java flags
  • Asks you if you want to accept the eula so you don't need to mess around with eula.txt

Sane defaults

Protections

  • Makes sure you really meant to update the Minecraft version

Self-update

  • This script can self-update itself without the need for user intervention

Currently supported servers

Dependencies

  • jq
  • awp
  • curl

Most, if not all, of these should be already available on your system if you're running something like Ubuntu.

Precautions

Warning

It is important to note that this script manages the server's .jar file, including its name.

Any modifications made to the .jar file outside of this script can lead to undefined behavior and may cause the script to crash or perform unexpected actions.

I strongly advise against making any modifications to the server's .jar file manually, as it may interfere with the functionality of this script.

Basic setup

  • Option 1: Oneliner
curl -sSL "https://raw.githubusercontent.com/jiriks74/msman.sh/main/msman.sh" -o msman.sh && chmod +x msman.sh && ./msman.sh
  • Option 2: Download msman.sh from release to where you want your minecraft server and start it with
chmod +x msman.sh
./msman.sh
  • Option 2: Clone the repository
git clone https://github.com/jiriks74/msman.sh minecraft_server
cd minecraft_server
chmod +x msman.sh
./msman.sh

Updating the server

Builds

This script can automatically update to the latest papermc build available for the Minecraft version you selected. If you want this behaviour, leave the select_build veriable empty. Otherwise select the build you want and the script will download it for you.

Default JVM flags used

By default this script uses Aikar's flags. It's set up so that it automatically modifies them if over 12GB of memory is set for the server so you shouldn't need to change them unless you want to swap them out for something else.