slitaz-dev-tools view tazcraft/tazcraft @ rev 290

tazcarft: small fixes and improvments
author Christophe Lincoln <pankso@slitaz.org>
date Sun Mar 19 03:22:26 2017 +0100 (2017-03-19)
parents 51a2b0582a55
children 29b50f284008
line source
1 #!/bin/sh
2 #
3 # tazcraft - Your Minecraft server tiny configuration tool
4 #
5 # Authors: Kayam Lincoln-Vazquez, Christophe Lincoln
6 # Copyright (C) 2017 SliTaz GNU/Linux - BSD License
7 #
8 . /lib/libtaz.sh
10 version="1.11.2"
11 home="/home/minecraft"
12 server="$home/server"
13 config="$server/server.properties"
15 server_jar="minecraft_server.${version}.jar"
16 client_jar="Minecraft.jar"
17 client_path="$HOME/.local/share/minecraft/$client_jar"
18 spigot_jar="spigot-${version}.jar"
20 java_version="8u121"
21 java_id="218821"
22 java_md5="e9e7ea248e2c4826b92b3f075a80e441"
23 java_tarball="jre-$java_version-linux-i586.tar.gz"
25 # Prefer Sun Java JRE but let user use icedtea6-jre
26 java="$home/jre/bin/java"
27 if [ ! -x "$java" ]; then
28 java="/usr/bin/java"
29 fi
31 #
32 # Functions
33 #
34 help() {
35 cat << EOT
37 $(colorize 032 Usage:) $(basename $0) command
39 $(colorize 032 Commands:)
40 -d downlaod Download the Minecraft server
41 -s start Start your Minecraft server
42 -p play Launch the Minecraft client
43 -j java Install Sun Java Runtime Environment
44 -i info Display server and java informations
46 $(colorize 032 Options:)
47 --gui Run the server with a graphical user interface
49 EOT
50 }
52 # Check if Java is installed
53 check_java() {
54 if [ ! -x "$java" ]; then
55 colorize 031 "Can't fin Java Runtime Environment (JRE)"; return 1
56 fi
57 }
59 # Change default motd
60 check_motd() {
61 motd=$(grep ^motd= ${config} | sed s'/motd=//')
62 if [ "$motd" == "A Minecraft Server" ]; then
63 sed -i s'/motd=.*/motd=\u00A72A Tazcraft Server/' ${config}
64 fi
65 }
67 # Get a value in
68 get_value() {
69 val=$(grep ^${1}= ${config} | cut -d "=" -f 2)
70 echo -n "$1"; indent 15 ": $val"
71 }
73 #
74 # Commands
75 #
76 case "$1" in
78 -d|downlaod)
79 if [ ! -f "$server/$jar" ]; then
80 echo "Downloading Minecraft..."
81 mkdir -p ${server}
82 wget --no-check-certificate \
83 https://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar \
84 -O ${server}/minecraft_server.${version}.jar
85 else
86 colorize 032 "Minecraft is already downladed :-)"
87 fi ;;
89 -s|start)
90 check_java || exit 1
91 check_motd
92 colorize 032 "Starting Minecraft server..."
93 [ ! "$gui" ] && opts="nogui"
94 cd ${server}
95 ${java} -Xmx1024M -Xms1024M -jar ${server_jar} ${opts} ;;
97 -p|play)
98 if [ ! -f "$client_path" ]; then
99 dest_dir="$(dirname $client_path)"
100 mkdir -p ${dest_dir}
101 xterm -e "wget \
102 http://s3.amazonaws.com/Minecraft.Download/launcher/${client_jar} \
103 -O $client_path"
104 fi
105 ${java} -jar ${client_path} & ;;
107 -j|java)
108 if [ ! -x "$home/jre/bin/java" ]; then
109 echo "Installing Java Runtime Environment ($java_version)..."
111 # Already downloaded
112 if [ ! -f "$home/$java_tarball" ]; then
113 wget \
114 http://javadl.oracle.com/webapps/download/AutoDL?BundleId=${java_id}_${java_md5} \
115 -O ${home}/${java_tarball}
116 fi
118 echo "Extracting: ${java_tarball}..."
119 tar xzf ${home}/${java_tarball} -C ${home} || exit 1
120 rm -rf jre 2>/dev/null && mv ${home}/jre*_*/ ${home}/jre
122 else
123 colorize 032 "Java Runtime Environment is installed"
124 ${java} -version
125 fi ;;
127 -i|info)
128 newline
129 colorize 032 "Minecraft Server"
130 echo "Version : $version"
131 echo "Home : $home"
132 newline
134 colorize 032 "Server properties"
135 for var in gamemode server-port level-name difficulty max-players; do
136 get_value ${var}
137 done
138 newline
140 if check_java; then
141 colorize 032 "Java Runtime Environment"
142 echo "Path: $java"
143 ${java} -version #2>&1 | grep "version"
144 fi
145 newline ;;
147 *) help ;;
148 esac
149 exit 0