Guest User

Untitled

a guest
Jun 21st, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #########################
  4. #### Author: Osguot ####
  5. #### Version: 0.1.3 ####
  6. #########################
  7.  
  8. #### CHANGELOG ####
  9. #
  10. # *0.1.2 - Added System Java support
  11. # - Small fixes
  12. # *0.1.3 - Added missed text strings
  13. #
  14. ####
  15.  
  16. #### TODO ####
  17. #
  18. # *Backup manager
  19. # *Launch Java through Screen and full input/output support
  20. # *Autodetect Java
  21. # *Changing runtime arguments (+-)
  22. #
  23. # *Make script "clean-start" compatible
  24. #
  25. ####
  26.  
  27. ## Variables
  28. SERVER_DIR="/media/SSD_Data/.minecraft/Servers/OSGMC_v2"
  29. TERMINAL="konsole"
  30. TERMINAL_ARGS="--hide-menubar --hide-tabbar"
  31. # Runtime
  32. JAVA_8="/usr/lib/jvm/java-8-jre/jre/bin/java"
  33. JAVA_8_OPENJDK="/usr/lib/jvm/java-8-openjdk/jre/bin/java"
  34. # JVM Arguments
  35. JVM_ARGS="-Xmx2500m -XX:MaxGCPauseMillis=500 -XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+AggressiveOpts"
  36. GAME_ARGS="nogui"
  37.  
  38. #########################
  39. ## Hello message
  40. zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="Hello!\n\nThis script allow you to configure and launch your Minecraft Server (WIP)"
  41.  
  42. ## Choosing runtime
  43. 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...")
  44. if [ $? -eq "0" ]
  45. then
  46. if [ "$run" = "Java 8" ]
  47. then
  48. RUNTIME=$JAVA_8
  49. elif [ "$run" = "Java 8 OpenJDK" ]
  50. then
  51. RUNTIME=$JAVA_8_OPENJDK
  52. elif [ "$run" = "System Default" ]
  53. then
  54. zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="Warning!\n\nMake sure your System Java is supported by Minecraft."
  55. RUNTIME="java"
  56. elif [ "$run" = "Choose..." ]
  57. then
  58. zenity --info --no-wrap --title="OSGMC Launch Server Script" --text="Choose Java Runtime Environment executable."
  59. RUNTIME=`zenity --file-selection --file-filter="java"`
  60. else
  61. end
  62. fi
  63. else
  64. end
  65. fi
  66.  
  67. # Detecting Server Version
  68. cd $SERVER_DIR
  69. motd="motd="
  70. SERVER_VERSION_FULL=$(grep "$motd" server.properties)
  71. SERVER_VERSION=$(echo $SERVER_VERSION_FULL | cut -c 6-)
  72.  
  73. ## Changing server version
  74. 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")
  75. if [ $? -eq "0" ]
  76. then
  77. if [ "$ver" != "No" ]
  78. then
  79. version=`zenity --forms --title="OSGMC Launch Server Script" --text="Type Server Version [Old: $SERVER_VERSION]" --add-entry="Server Version"`
  80. if [ $? -eq "0" ]
  81. then
  82. if [ -n "$version" ]
  83. then
  84. sed -i -e "s/$SERVER_VERSION_FULL/$motd$version/g" server.properties
  85. SERVER_VERSION=$version
  86. fi
  87. fi
  88. fi
  89. else
  90. end
  91. fi
  92.  
  93. ## Detecting Forge Version
  94. FORGE=$(find -maxdepth 1 -name "forge*" | cut -c 3-)
  95.  
  96. ## Launch server
  97. function launch {
  98. # Looping
  99. ON=true
  100. until [ $ON = false ]
  101. do
  102. $TERMINAL $TERMINAL_ARGS -e $RUNTIME $JVM_ARGS -jar $SERVER_DIR/$FORGE $GAME_ARGS
  103. 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")
  104. if [ $? -eq "0" ]
  105. then
  106. if [ "$loop" = "Restart" ]
  107. then
  108. ON=true
  109. else
  110. ON=false
  111. fi
  112. else
  113. ON=false
  114. fi
  115. done
  116.  
  117. end
  118. }
  119.  
  120. function end {
  121. ## DEBUG
  122. 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"
  123. exit 1
  124. }
  125.  
  126. launch
Add Comment
Please, Sign In to add comment