====== Install Minecraft Server ====== First, [[linux:install:java|Install OpenJDK]] Create a directory to store Minecraft sudo mkdir /opt cd /opt sudo mkdir minecraft Download Minecraft cd /opt/minecraft sudo wget https://launcher.mojang.com/v1/objects/f02f4473dbf152c23d7d484952121db0b36698cb/server.jar -O minecraft_server.1.16.3.jar if [ -h minecraft_server.jar ]; then sudo rm -f minecraft_server.jar fi sudo ln -s minecraft_server.1.16.3.jar minecraft_server.jar Start the server to generate all of the supporting files cat > /tmp/eula.txt << EOF eula=true EOF sudo mv /tmp/eula.txt /opt/minecraft/ cd /opt/minecraft sudo chmod o+w /opt/minecraft java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui # After the server startup is "done", stop the server by pressing Ctrl-C sudo chmod o-w /opt/minecraft Create a user for Minecraft to run under sudo useradd minecraft Make sure that the minecraft user owns all of the files... sudo chown -R minecraft:minecraft /opt/minecraft I also like to have plugins on my server so I use Spigot: cd /tmp wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar java -jar BuildTools.jar --rev 1.16.3 java -jar BuildTools.jar --rev 1.16.3 --compile craftbukkit sudo mv craftbukkit-1.16.3.jar spigot-1.16.3.jar /opt/minecraft/ cd /opt/minecraft if [ -h spigot.jar ]; then sudo rm -f spigot.jar fi sudo ln -s spigot-1.16.3.jar spigot.jar if [ -h craftbukkit.jar ]; then sudo rm -f craftbukkit.jar fi sudo ln -s craftbukkit-1.16.3.jar craftbukkit.jar ===== Plugins ===== cd /opt/minecraft/plugins #---------------------------------------------------- sudo rm worldedit-bukkit-*.jar sudo wget https://media.forgecdn.net/files/2869/453/worldedit-bukkit-7.1.0.jar sudo rm worldguard-*.jar sudo wget https://media.forgecdn.net/files/2855/477/worldguard-bukkit-7.0.2.jar sudo rm Multiverse-Core-*.jar sudo wget https://media.forgecdn.net/files/2768/599/Multiverse-Core-4.1.0.jar sudo rm Multiverse-Portals-*.jar sudo wget https://media.forgecdn.net/files/2768/601/Multiverse-Portals-4.1.0.jar sudo rm LaggRemover-*.jar sudo wget https://media.forgecdn.net/files/2744/510/LaggRemover-2.0.6.jar sudo rm AutoSaveWorld.jar sudo wget https://media.forgecdn.net/files/2365/294/AutoSaveWorld.jar ===== Configure a startup script ===== cat > /tmp/minecraft.service << EOF [Unit] Description=Minecraft Server Documentation= Wants=network.target After=network.target [Service] User=minecraft Group=minecraft KillMode=process SuccessExitStatus=0 1 143 ProtectHome=true ProtectSystem=full PrivateDevices=true NoNewPrivileges=true PrivateTmp=true ReadWriteDirectories=/opt/minecraft WorkingDirectory=/opt/minecraft ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui [Install] WantedBy=multi-user.target EOF sudo mv /tmp/minecraft.service /etc/systemd/system/ sudo chown root:root /etc/systemd/system/minecraft.service sudo systemctl enable minecraft.service ===== Start Minecraft Service ===== sudo service minecraft start