Initial Commit
This commit is contained in:
commit
8e5b20fbb8
3 changed files with 106 additions and 0 deletions
19
minecraft.service
Normal file
19
minecraft.service
Normal file
|
@ -0,0 +1,19 @@
|
|||
[Unit]
|
||||
Description=Minecraft Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=minecraft
|
||||
Nice=1
|
||||
KillMode=none
|
||||
SuccessExitStatus=0 1
|
||||
ProtectHome=true
|
||||
ProtectSystem=full
|
||||
PrivateDevices=true
|
||||
NoNewPrivileges=true
|
||||
WorkingDirectory=/opt/minecraft/server
|
||||
ExecStart=/usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui
|
||||
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
11
readme.md
Normal file
11
readme.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Minecraft Server Tools
|
||||
|
||||
This is everything I will use to setup my Minecraft Server at kb01.de.
|
||||
|
||||
|
||||
## Tutorials
|
||||
This is a list of interesting Tutorials, wich will help you to set up your own Minecraft Server:
|
||||
- A Tutorial for setting up a Minecraft Server on a Raspberry Pi. It is helpful for showing how you can run your Server as a Systemd Service. https://linuxize.com/post/how-to-install-minecraft-server-on-raspberry-pi/
|
||||
|
||||
## Software I use to run my server
|
||||
- strato-dns-updater https://github.com/aortmannm/strato-dns-updater
|
76
setup.sh
Normal file
76
setup.sh
Normal file
|
@ -0,0 +1,76 @@
|
|||
#!/bin/bash
|
||||
|
||||
BASEDIR=$(pwd)
|
||||
|
||||
# Helper
|
||||
get_latest_release() { # Source: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
|
||||
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
|
||||
grep '"tag_name":' | # Get tag line
|
||||
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value
|
||||
}
|
||||
|
||||
|
||||
# Install Essentials
|
||||
sudo apt-get -yq install git build-essential gnupg curl
|
||||
|
||||
# Add Repositories
|
||||
# Azul Zulu OpenJDK
|
||||
#sudo apt-key adv \
|
||||
# --keyserver hkp://keyserver.ubuntu.com:80 \
|
||||
# --recv-keys 0xB1998361219BD9C9
|
||||
#curl -O https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-2_all.deb
|
||||
#sudo apt-get install ./zulu-repo_1.0.0-2_all.deb
|
||||
|
||||
#sudo apt-get update
|
||||
|
||||
|
||||
# Install Software
|
||||
#sudo apt-get install zulu16-jdk
|
||||
|
||||
|
||||
|
||||
|
||||
# Create File Structure
|
||||
mkdir -p ${BASEDIR}/tools/buildtools && \
|
||||
mkdir -p ${BASEDIR}/tools/java && \
|
||||
mkdir -p ${BASEDIR}/server/plugins
|
||||
|
||||
# Setup mcrcon
|
||||
cd ${BASEDIR}/tools && git clone https://github.com/Tiiffi/mcrcon.git \
|
||||
&& cd ${BASEDIR}/tools/mcrcon && gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
|
||||
|
||||
# Setup Java 16
|
||||
cd ${BASEDIR}/tools/java && curl -O https://cdn.azul.com/zulu/bin/zulu16.30.15-ca-jdk16.0.1-linux_amd64.deb \
|
||||
&& sudo apt -y install ./zulu16.30.15-ca-jdk16.0.1-linux_amd64.deb
|
||||
|
||||
# Setup Spigot
|
||||
cd ${BASEDIR}/tools/buildtools && curl -O https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar \
|
||||
&& java -jar BuildTools.jar --rev 1.17
|
||||
|
||||
# Setup Server-Space
|
||||
cd ${BASEDIR}/server && cp ${BASEDIR}/tools/buildtools/spigot-1.17.jar ./spigot.jar
|
||||
|
||||
# Download Plugins
|
||||
cd ${BASEDIR}/server/plugins
|
||||
|
||||
# BackupOnEvent https://www.curseforge.com/minecraft/bukkit-plugins/backuponevent
|
||||
LATEST=$(get_latest_release enayet123/BackupOnEventPlugin)
|
||||
curl -OL https://github.com/enayet123/BackupOnEventPlugin/releases/download/${LATEST}/BackupOnEvent.jar
|
||||
# Vault https://www.curseforge.com/minecraft/bukkit-plugins/vault
|
||||
LATEST=$(get_latest_release MilkBowl/Vault)
|
||||
curl -OL https://github.com/MilkBowl/Vault/releases/download/${LATEST}/Vault.jar
|
||||
# Essentials https://www.curseforge.com/minecraft/bukkit-plugins/essentialsx
|
||||
LATEST=$(get_latest_release EssentialsX/Essentials)
|
||||
curl -OL https://github.com/EssentialsX/Essentials/releases/download/${LATEST}/EssentialsX-${LATEST}.0.jar
|
||||
# GriefPrevention https://www.curseforge.com/minecraft/bukkit-plugins/grief-prevention
|
||||
curl -OL https://media.forgecdn.net/files/3173/411/GriefPrevention.jar
|
||||
# ArmorStandEditor https://www.curseforge.com/minecraft/bukkit-plugins/armor-stand-edit
|
||||
curl -OL https://media.forgecdn.net/files/2999/757/armorstandeditor-1.16-25.jar
|
||||
# LuckPerms https://github.com/lucko/LuckPerms
|
||||
wget https://ci.lucko.me/job/LuckPerms/1345/artifact/bukkit/loader/build/libs/LuckPerms-Bukkit-5.3.47.jar
|
||||
# floodgate-bukkit Geyser-Spigot https://geysermc.org/
|
||||
wget https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/target/Geyser-Spigot.jar
|
||||
wget https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/spigot/target/floodgate-spigot.jar
|
||||
# emotecraft https://www.curseforge.com/minecraft/bukkit-plugins/emotecraft-bukkit
|
||||
LATEST=$(get_latest_release KosmX/emotes)
|
||||
curl -OL https://github.com/KosmX/emotes/releases/download/${LATEST}/emotecraft-2.0.5-bukkit.jar
|
Reference in a new issue