# HG changeset patch # User Christophe Lincoln # Date 1489876306 -3600 # Node ID 51a2b0582a552853d63c5c019f81e29d6b90f600 # Parent d88854cffc106d81527bc7e267eb9b46954ed279 Add tazcraft utility, Makefile and cgi interface diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tazcraft/Makefile Sat Mar 18 23:31:46 2017 +0100 @@ -0,0 +1,24 @@ +# Makefile for Tazcraft +# + +PACKAGE=tazcraft +PREFIX?=/usr +DESTDIR?= + +all: + +# Installation + +install: + install -m 0755 -d $(DESTDIR)$(PREFIX)/bin + install -m 0755 -d $(DESTDIR)$(PREFIX)/share/applications + install -m 0755 -d $(DESTDIR)$(PREFIX)/share/pixmaps + install -m 0755 $(PACKAGE) $(DESTDIR)$(PREFIX)/bin + install data/minecraft.desktop $(DESTDIR)$(PREFIX)/share/applications + install images/minecraft.png $(DESTDIR)$(PREFIX)/share/pixmaps + +# Uninstallation + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/$(PACKAGE) + diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/README --- a/tazcraft/README Thu Mar 16 19:42:28 2017 +0100 +++ b/tazcraft/README Sat Mar 18 23:31:46 2017 +0100 @@ -1,9 +1,12 @@ -Minecraft custom tools for SliTaz GNU/Linux +Minecraft custom tools for SliTaz GNU/Linux. Tazcraft can install and run Minecraft server +as well as getting the client and starting to play. It can also optionaly install the Java +Runtime Environement (JRE) Server configuration -------------------- +Config file: server.properties gamemode= 0 - Survival diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/cgi-bin/minecraft.png Binary file tazcraft/cgi-bin/minecraft.png has changed diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/cgi-bin/tazcraft.cgi --- a/tazcraft/cgi-bin/tazcraft.cgi Thu Mar 16 19:42:28 2017 +0100 +++ b/tazcraft/cgi-bin/tazcraft.cgi Sat Mar 18 23:31:46 2017 +0100 @@ -1,7 +1,72 @@ #!/bin/sh # +# tazcraft.cgi - A Minecraft server info/admin CGI interface +# +# Authors: Kayam Lincoln-Vazquez, Christophe Lincoln +# Copyright (C) 2017 SliTaz GNU/Linux - BSD License +# . /usr/lib/slitaz/httphelper.sh header -echo "Comming soon..." +home="/home/minecraft" +server="$home/server" +config="$server/server.properties" + +# Get a value in +get_value() { + val=$(grep ^${1}= ${config} | cut -d "=" -f 2) + cat << EOT + + $1 + $val + +EOT +} + +# HTML header +cat << EOT + + + + + Tazcraft + + + +
+ + +

Tazcraft Server

+
+ +
+

Welcome to Tazcraft

+

A SliTaz GNU/Linux Minecraft server

+
+*Server address: play.slitaz.org
+
+

Configuration

+ + + + + +EOT + +for var in gamemode server-port level-name; do + get_value ${var} +done + +# HTML footer +cat << EOT +
$(gettext "Variable")$(gettext "Value")
+ +
+ + + +EOT exit 0 diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/data/minecraft.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tazcraft/data/minecraft.desktop Sat Mar 18 23:31:46 2017 +0100 @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=Minecraft +Exec=tazcraft -p +Icon=minecraft +Categories=Game; diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/images/minecraft.png Binary file tazcraft/images/minecraft.png has changed diff -r d88854cffc10 -r 51a2b0582a55 tazcraft/tazcraft --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tazcraft/tazcraft Sat Mar 18 23:31:46 2017 +0100 @@ -0,0 +1,138 @@ +#!/bin/sh +# +# tazcraft - Your Minecraft server tiny configuration tool +# +# Authors: Kayam Lincoln-Vazquez, Christophe Lincoln +# Copyright (C) 2017 SliTaz GNU/Linux - BSD License +# +. /lib/libtaz.sh + +version="1.11.2" +home="/home/minecraft" +server="$home/server" +config="$server/server.properties" + +server_jar="minecraft_server.${version}.jar" +client_jar="Minecraft.jar" +client_path="$HOME/.local/share/minecraft/$client_jar" +spigot_jar="spigot-${version}.jar" + +java_version="8u121" +java_id="218821" +java_md5="e9e7ea248e2c4826b92b3f075a80e441" +java_tarball="jre-$java_version-linux-i586.tar.gz" + +# Prefer Sun Java JRE but let user use icedtea6-jre +java="$home/jre/bin/java" +if [ ! -x "$java" ]; then + java="/usr/bin/java" +fi + +# +# Functions +# +help() { + cat << EOT + +$(colorize 032 Usage:) $(basename $0) command + +$(colorize 032 Commands:) + -d downlaod Download the Minecraft server + -s start Start your Minecraft server + -p play Launch the Minecraft client + -j java Install Sun Java Runtime Environment + -i info Display server and java informations + +$(colorize 032 Options:) + --gui Run the server with a graphical user interface + +EOT +} + +# Check if Java is installed +check_java() { + if [ ! -x "$java" ]; then + colorize 031 "Can't fin Java Runtime Environment (JRE)"; return 1 + fi +} + +# Get a value in +get_value() { + val=$(grep ^${1}= ${config} | cut -d "=" -f 2) + echo -n "$1"; indent 15 ": $val" +} + +# +# Commands +# +case "$1" in + + -d|downlaod) + if [ ! -f "$server/$jar" ]; then + echo "Downloading Minecraft..." + mkdir -p ${server} + wget --no-check-certificate \ + https://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar \ + -O ${server}/minecraft_server.${version}.jar + else + colorize 032 "Minecraft is already downladed :-)" + fi ;; + + -s|start) + check_java || exit 1 + colorize 032 "Starting Minecraft server..." + [ ! "$gui" ] && opts="nogui" + cd ${server} + ${java} -Xmx1024M -Xms1024M -jar ${server_jar} ${opts} ;; + + -p|play) + if [ ! -f "$client_path" ]; then + dest_dir="$(dirname $client_path)" + mkdir -p ${dest_dir} + xterm -e "wget \ + http://s3.amazonaws.com/Minecraft.Download/launcher/${client_jar} \ + -O $client_path" + fi + ${java} -jar ${client_path} & ;; + + -j|java) + if [ ! -x "$home/jre/bin/java" ]; then + echo "Installing Java Runtime Environment ($java_version)..." + + # Already downloaded + if [ ! -f "$home/$java_tarball" ]; then + wget \ + http://javadl.oracle.com/webapps/download/AutoDL?BundleId=${java_id}_${java_md5} \ + -O ${home}/${java_tarball} + fi + + echo "Extracting: ${java_tarball}..." + tar xzf ${home}/${java_tarball} -C ${home} || exit 1 + rm -rf jre 2>/dev/null && mv ${home}/jre*_*/ ${home}/jre + + else + colorize 032 "Java Runtime Environment is installed" + ${java} -version + fi ;; + + -i|info) + newline + colorize 032 "Minecraft Server" + echo "Version : $version" + echo "Home : $home" + + colorize 032 "Server properties" + for var in server-port level-name; do + get_value ${var} + done + + if check_java; then + colorize 032 "Java Runtime Environment" + echo "Java: $java" + ${java} -version + fi + newline ;; + + *) help ;; +esac +exit 0