Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #########################
- #### Author: Osguot ####
- #### Version: 0.1.3 ####
- #########################
- #### CHANGELOG ####
- #
- # *0.1.2 - Added System Java support
- # - Small fixes
- # *0.1.3 - Added missed text strings
- #
- ####
- #### TODO ####
- #
- # *Backup manager
- # *Launch Java through Screen and full input/output support
- # *Autodetect Java
- # *Changing runtime arguments (+-)
- #
- # *Make script "clean-start" compatible
- #
- ####
- ## Variables
- SERVER_DIR="/media/SSD_Data/.minecraft/Servers/OSGMC_v2"
- TERMINAL="konsole"
- TERMINAL_ARGS="--hide-menubar --hide-tabbar"
- # Runtime
- JAVA_8="/usr/lib/jvm/java-8-jre/jre/bin/java"
- JAVA_8_OPENJDK="/usr/lib/jvm/java-8-openjdk/jre/bin/java"
- # JVM Arguments
- JVM_ARGS="-Xmx2500m -XX:MaxGCPauseMillis=500 -XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+AggressiveOpts"
- GAME_ARGS="nogui"
- #########################
- ## Hello message
- zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="Hello!\n\nThis script allow you to configure and launch your Minecraft Server (WIP)"
- ## Choosing runtime
- run=$(zenity --list --width=300 --height=200 --radiolist --title="OSGMC Launch Server Script" --text="Please, choose Java Runtime Environment" --column="" --column="Runtime" TRUE "Java 8" FALSE "Java 8 OpenJDK" FALSE "System Default" FALSE "Choose...")
- if [ $? -eq "0" ]
- then
- if [ "$run" = "Java 8" ]
- then
- RUNTIME=$JAVA_8
- elif [ "$run" = "Java 8 OpenJDK" ]
- then
- RUNTIME=$JAVA_8_OPENJDK
- elif [ "$run" = "System Default" ]
- then
- zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="Warning!\n\nMake sure your System Java is supported by Minecraft."
- RUNTIME="java"
- elif [ "$run" = "Choose..." ]
- then
- zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="Choose Java Runtime Environment executable."
- RUNTIME=`zenity --file-selection --file-filter="java"`
- else
- end
- fi
- else
- end
- fi
- # Detecting Server Version
- cd $SERVER_DIR
- motd="motd="
- SERVER_VERSION_FULL=$(grep "$motd" server.properties)
- SERVER_VERSION=$(echo $SERVER_VERSION_FULL | cut -c 6-)
- ## Changing server version
- ver=$(zenity --list --width=300 --height=200 --radiolist --title="OSGMC Launch Server Script" --text="Do you want to change server version?\n\nCurrent version: $SERVER_VERSION" --column="" --column="" TRUE "No" FALSE "Yes")
- if [ $? -eq "0" ]
- then
- if [ "$ver" != "No" ]
- then
- version=`zenity --forms --title="OSGMC Launch Server Script" --text="Type Server Version [Old: $SERVER_VERSION]" --add-entry="Server Version"`
- if [ $? -eq "0" ]
- then
- if [ -n "$version" ]
- then
- sed -i -e "s/$SERVER_VERSION_FULL/$motd$version/g" server.properties
- SERVER_VERSION=$version
- fi
- fi
- fi
- else
- end
- fi
- ## Detecting Forge Version
- FORGE=$(find -maxdepth 1 -name "forge*" | cut -c 3-)
- ## Launch server
- function launch {
- # Looping
- ON=true
- until [ $ON = false ]
- do
- $TERMINAL $TERMINAL_ARGS -e $RUNTIME $JVM_ARGS -jar $SERVER_DIR/$FORGE $GAME_ARGS
- loop=$(zenity --list --width=300 --height=200 --radiolist --ok-label="OK" --cancel-label="Cancel" --title="OSGMC Launch Server Script" --text="Server was stopped. What do you do?" --column="" --column="Action" TRUE "Restart" FALSE "Exit")
- if [ $? -eq "0" ]
- then
- if [ "$loop" = "Restart" ]
- then
- ON=true
- else
- ON=false
- fi
- else
- ON=false
- fi
- done
- end
- }
- function end {
- ## DEBUG
- zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="$SERVER_DIR\n\n$JAVA_8\n\n$JAVA_8_OPENJDK\n\n$RUNTIME\n\n$JVM_ARGS\n\n$FORGE\n\n$GAME_ARGS\n\n$SERVER_VERSION"
- exit 1
- }
- launch
Add Comment
Please, Sign In to add comment