diff --git a/minecraft.service b/minecraft.service index 51fa21a..35e40e9 100644 --- a/minecraft.service +++ b/minecraft.service @@ -12,7 +12,7 @@ ProtectSystem=full PrivateDevices=true NoNewPrivileges=true WorkingDirectory=/opt/minecraft/server -ExecStart=/usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui +ExecStart=/usr/bin/java -Xmx768M -Xms512M -jar spigot.jar nogui ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop [Install] diff --git a/readme.md b/readme.md index f88bdab..499f72f 100644 --- a/readme.md +++ b/readme.md @@ -1,11 +1,59 @@ # Minecraft Server Tools -This is everything I will use to setup my Minecraft Server at kb01.de. +This is everything I will use to setup a Minecraft Server preconfigured with awesome plugins. +You will need a Debian based System to use this Script. + +You might need to manually adjust your System afterwards to run the Server automatically, if you're not using Debian 10. + + + +``` +git clone https://github.com/kb01guy/minecraft-server-tools +cd minecraft-server-tools + +# Make sure the Script is executable +chmod u+x setup.sh + +# DO NOT USE sh TO EXECUTE THIS SCRIPT! Some String Operations require bash. +./setup.sh + +# Some Plugins can't be downloaded with the latest Version, make sure you klick every Link in the Console and Download it from the Website. +``` + + ## 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/ +- 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 and a non privileged User. https://linuxize.com/post/how-to-install-minecraft-server-on-raspberry-pi/ -## Software I use to run my server +## Software I additionally use on my Server - strato-dns-updater https://github.com/aortmannm/strato-dns-updater + + +## Planned Features: +- Roles + - admin + - team + - player +- Lobby + - Tutorial + - Teleport +- Survival World + - Claiming (no one can destroy them) + - ChestShop (buy and sell Items from Users) + - Homes (Your Personal Teleport Places) + - Micro Blocks (You can Buy every Block as a Head from a Wandering Trader) + - Player Heads (If you kill a Player you get their Head as a Trophy) + - Mob Heads (Every Mob has a possibility to drop their Head) +- Minigames + - Bedwars (Destroy the Bed wich lets the other Players respawn) + - Quake (a fast paced non violent shooter) + - QuickSurvivalGames (Loot Chests and Fight until the last alive player wins) +- Creative World + - Plots (Buy square Land to build in) + - CreativeMode (use all Blocks to be crative) +- Compartibility + - Bedrock (PocketEdition, Windows10, Switch) + - Emotecraft + - ViveCraft (VR Minecraft) diff --git a/setup.sh b/setup.sh old mode 100644 new mode 100755 index f8e3dbf..698ccb6 --- a/setup.sh +++ b/setup.sh @@ -2,6 +2,8 @@ BASEDIR=$(pwd) +MANUAL_DOWNLOAD="\nPlease Download these Plugins manually! \n\n" + # 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 @@ -62,37 +64,38 @@ cd ${BASEDIR}/server && cp ${BASEDIR}/tools/buildtools/spigot*.jar ./spigot.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 + curl -OL https://github.com/EssentialsX/Essentials/releases/download/${LATEST}/EssentialsXChat-${LATEST}.0.jar # GriefPrevention https://www.curseforge.com/minecraft/bukkit-plugins/grief-prevention - curl -OL https://media.forgecdn.net/files/3173/411/GriefPrevention.jar + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}GriefPrevention: https://www.curseforge.com/minecraft/bukkit-plugins/grief-prevention \n" # 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 + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}ArmorStandEditor: https://www.curseforge.com/minecraft/bukkit-plugins/armor-stand-edit \n" # 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 + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}LuckPerms: https://ci.lucko.me/job/LuckPerms/lastSuccessfulBuild/artifact/bukkit/loader/build/libs/ \n" # 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-${LATEST:0:5}-bukkit.jar - # Multiverse https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-core - curl -OL https://media.forgecdn.net/files/3074/594/Multiverse-Core-4.2.2.jar - # MV-inventories https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-inventories - curl -OL https://media.forgecdn.net/files/3222/929/Multiverse-Inventories-4.2.2.jar - # MV-SignPortals https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-signportals - curl -OL https://media.forgecdn.net/files/3074/605/Multiverse-SignPortals-4.2.0.jar - # MV-Portals https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-portals - curl -OL https://media.forgecdn.net/files/3113/114/Multiverse-Portals-4.2.1.jar - # WorldEdit (Dependency for Plot²) https://www.curseforge.com/minecraft/bukkit-plugins/worldedit - curl -OL https://media.forgecdn.net/files/3283/695/worldedit-bukkit-7.2.5-dist.jar - # Plot² https://www.curseforge.com/minecraft/bukkit-plugins/plotsquared (Buyable for 15€ here: https://www.spigotmc.org/resources/plotsquared-v5.77506/ ) - curl -OL https://media.forgecdn.net/files/2932/66/PlotSquared-Bukkit-4.494.jar + # Multiverse: Core, Inventries, SignPortals, Portals https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-core + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}Multiverse: \n" + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD} - Core https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-core \n" + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD} - Inventories https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-inventories \n" + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD} - Portals https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-portals \n" + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD} - SignPortals https://www.curseforge.com/minecraft/bukkit-plugins/multiverse-signportals \n" + # Plot² Price: 15€ https://www.spigotmc.org/resources/plotsquared-v6.77506/ + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}Plot² (Payed!): \n" + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD} - Plugin https://www.spigotmc.org/resources/plotsquared-v6.77506 \n" + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD} - Dependency WorldEdit https://www.curseforge.com/minecraft/bukkit-plugins/worldedit \n" # ChestShop https://www.curseforge.com/minecraft/bukkit-plugins/chestshop LATEST=$(get_latest_release ChestShop-authors/ChestShop-3) curl -OL https://github.com/ChestShop-authors/ChestShop-3/releases/download/${LATEST}/ChestShop.jar # MoreMobHeads2 https://www.curseforge.com/minecraft/bukkit-plugins/moremobheads2 - curl -OL https://media.forgecdn.net/files/3350/35/MoreMobHeads-1.14_1.0.19.jar + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}MoreMobHeads2: https://www.curseforge.com/minecraft/bukkit-plugins/moremobheads2 \n" # Heart https://www.curseforge.com/minecraft/bukkit-plugins/heart - curl -OL https://media.forgecdn.net/files/3316/502/Heart-RELEASE-1.0.jar + MANUAL_DOWNLOAD="${MANUAL_DOWNLOAD}Heart: https://www.curseforge.com/minecraft/bukkit-plugins/heart \n" # ImageOnMap https://www.curseforge.com/minecraft/bukkit-plugins/imageonmap LATEST=$(get_latest_release zDevelopers/ImageOnMap) curl -OL https://github.com/zDevelopers/ImageOnMap/releases/download/${LATEST}/ImageOnMap-${LATEST[@]/v/}.jar + + printf "${MANUAL_DOWNLOAD}"