Update setup_minecraft.sh
This commit is contained in:
parent
502266eb67
commit
a01ade7b32
1 changed files with 18 additions and 11 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Minecraft Java Server Installer for Proxmox LXC/VM
|
# Minecraft Java Server Installer for Proxmox VM
|
||||||
# Tested on Debian 11/12 and Ubuntu 24.04
|
# Tested on Debian 11/12 and Ubuntu 24.04
|
||||||
# Author: TimInTech
|
# Author: TimInTech
|
||||||
|
|
||||||
|
|
@ -8,7 +8,7 @@ set -e # Exit script on error
|
||||||
|
|
||||||
# Install required dependencies
|
# Install required dependencies
|
||||||
sudo apt update && sudo apt upgrade -y
|
sudo apt update && sudo apt upgrade -y
|
||||||
sudo apt install -y openjdk-17-jre-headless screen wget curl jq
|
sudo apt install -y openjdk-21-jre-headless screen wget curl jq unzip
|
||||||
|
|
||||||
# Set up server directory
|
# Set up server directory
|
||||||
sudo mkdir -p /opt/minecraft
|
sudo mkdir -p /opt/minecraft
|
||||||
|
|
@ -25,7 +25,7 @@ if [[ -z "$LATEST_VERSION" || -z "$LATEST_BUILD" ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Downloading PaperMC - Version: $LATEST_VERSION, Build: $LATEST_BUILD"
|
echo "📦 Downloading PaperMC - Version: $LATEST_VERSION, Build: $LATEST_BUILD"
|
||||||
wget -O server.jar "https://api.papermc.io/v2/projects/paper/versions/$LATEST_VERSION/builds/$LATEST_BUILD/downloads/paper-$LATEST_VERSION-$LATEST_BUILD.jar"
|
wget -O server.jar "https://api.papermc.io/v2/projects/paper/versions/$LATEST_VERSION/builds/$LATEST_BUILD/downloads/paper-$LATEST_VERSION-$LATEST_BUILD.jar"
|
||||||
|
|
||||||
# Accept the Minecraft EULA
|
# Accept the Minecraft EULA
|
||||||
|
|
@ -36,16 +36,23 @@ cat <<EOF > start.sh
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
java -Xms2G -Xmx4G -jar server.jar nogui
|
java -Xms2G -Xmx4G -jar server.jar nogui
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
chmod +x start.sh
|
chmod +x start.sh
|
||||||
|
|
||||||
# Ensure screen is installed before starting the server
|
# Create update script
|
||||||
if ! command -v screen &> /dev/null; then
|
cat <<EOF > update.sh
|
||||||
echo "ERROR: 'screen' is not installed. Install it with 'sudo apt install screen'."
|
#!/bin/bash
|
||||||
exit 1
|
cd /opt/minecraft || exit 1
|
||||||
fi
|
LATEST_VERSION=\$(curl -s https://api.papermc.io/v2/projects/paper | jq -r '.versions | last')
|
||||||
|
LATEST_BUILD=\$(curl -s https://api.papermc.io/v2/projects/paper/versions/\$LATEST_VERSION | jq -r '.builds | last')
|
||||||
|
|
||||||
# Start the server in a detached screen session
|
wget -O server.jar "https://api.papermc.io/v2/projects/paper/versions/\$LATEST_VERSION/builds/\$LATEST_BUILD/downloads/paper-\$LATEST_VERSION-\$LATEST_BUILD.jar"
|
||||||
|
echo "✅ Update complete."
|
||||||
|
EOF
|
||||||
|
chmod +x update.sh
|
||||||
|
|
||||||
|
# Start server in detached screen session
|
||||||
screen -dmS minecraft ./start.sh
|
screen -dmS minecraft ./start.sh
|
||||||
|
|
||||||
echo "Setup complete! Use 'screen -r minecraft' to open the console."
|
echo "✅ Minecraft Server setup complete!"
|
||||||
|
echo "To access console: sudo -u $(whoami) screen -r minecraft"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue