slitaz-dev-tools rev 287
Add tazcraft utility, Makefile and cgi interface
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sat Mar 18 23:31:46 2017 +0100 (2017-03-18) |
parents | d88854cffc10 |
children | 712d319dda48 |
files | tazcraft/Makefile tazcraft/README tazcraft/cgi-bin/minecraft.png tazcraft/cgi-bin/tazcraft.cgi tazcraft/data/minecraft.desktop tazcraft/images/minecraft.png tazcraft/tazcraft |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/tazcraft/Makefile Sat Mar 18 23:31:46 2017 +0100 1.3 @@ -0,0 +1,24 @@ 1.4 +# Makefile for Tazcraft 1.5 +# 1.6 + 1.7 +PACKAGE=tazcraft 1.8 +PREFIX?=/usr 1.9 +DESTDIR?= 1.10 + 1.11 +all: 1.12 + 1.13 +# Installation 1.14 + 1.15 +install: 1.16 + install -m 0755 -d $(DESTDIR)$(PREFIX)/bin 1.17 + install -m 0755 -d $(DESTDIR)$(PREFIX)/share/applications 1.18 + install -m 0755 -d $(DESTDIR)$(PREFIX)/share/pixmaps 1.19 + install -m 0755 $(PACKAGE) $(DESTDIR)$(PREFIX)/bin 1.20 + install data/minecraft.desktop $(DESTDIR)$(PREFIX)/share/applications 1.21 + install images/minecraft.png $(DESTDIR)$(PREFIX)/share/pixmaps 1.22 + 1.23 +# Uninstallation 1.24 + 1.25 +uninstall: 1.26 + rm -f $(DESTDIR)$(PREFIX)/bin/$(PACKAGE) 1.27 +
2.1 --- a/tazcraft/README Thu Mar 16 19:42:28 2017 +0100 2.2 +++ b/tazcraft/README Sat Mar 18 23:31:46 2017 +0100 2.3 @@ -1,9 +1,12 @@ 2.4 2.5 -Minecraft custom tools for SliTaz GNU/Linux 2.6 +Minecraft custom tools for SliTaz GNU/Linux. Tazcraft can install and run Minecraft server 2.7 +as well as getting the client and starting to play. It can also optionaly install the Java 2.8 +Runtime Environement (JRE) 2.9 2.10 2.11 Server configuration 2.12 -------------------- 2.13 +Config file: server.properties 2.14 2.15 gamemode= 2.16 0 - Survival
3.1 Binary file tazcraft/cgi-bin/minecraft.png has changed
4.1 --- a/tazcraft/cgi-bin/tazcraft.cgi Thu Mar 16 19:42:28 2017 +0100 4.2 +++ b/tazcraft/cgi-bin/tazcraft.cgi Sat Mar 18 23:31:46 2017 +0100 4.3 @@ -1,7 +1,72 @@ 4.4 #!/bin/sh 4.5 # 4.6 +# tazcraft.cgi - A Minecraft server info/admin CGI interface 4.7 +# 4.8 +# Authors: Kayam Lincoln-Vazquez, Christophe Lincoln 4.9 +# Copyright (C) 2017 SliTaz GNU/Linux - BSD License 4.10 +# 4.11 . /usr/lib/slitaz/httphelper.sh 4.12 header 4.13 4.14 -echo "Comming soon..." 4.15 +home="/home/minecraft" 4.16 +server="$home/server" 4.17 +config="$server/server.properties" 4.18 + 4.19 +# Get a value in 4.20 +get_value() { 4.21 + val=$(grep ^${1}= ${config} | cut -d "=" -f 2) 4.22 + cat << EOT 4.23 +<tr> 4.24 + <td>$1</td> 4.25 + <td>$val</td> 4.26 +</tr> 4.27 +EOT 4.28 +} 4.29 + 4.30 +# HTML header 4.31 +cat << EOT 4.32 +<!DOCTYPE html> 4.33 +<html> 4.34 +<head> 4.35 + <meta charset="utf-8" /> 4.36 + <title>Tazcraft</title> 4.37 + <link rel="stylesheet" href="/style.css" /> 4.38 +</head> 4.39 +<body> 4.40 +<header> 4.41 + <div id="logo"></div> 4.42 + <div id="network"> 4.43 + <a href="http://play.slitaz.me">play.SliTaz.me</a> 4.44 + <a href="http://www.slitaz.org">SliTaz.org</a> 4.45 + </div> 4.46 + <h1>Tazcraft Server</h1> 4.47 +</header> 4.48 + 4.49 +<div id="content"> 4.50 +<h2>Welcome to Tazcraft</h2> 4.51 +<p>A SliTaz GNU/Linux Minecraft server</p> 4.52 +<pre> 4.53 +<img src="minecraft.png" alt="*" />Server address: <b>play.slitaz.org</b> 4.54 +</pre> 4.55 +<h3>Configuration</h3> 4.56 +<table> 4.57 + <thead> 4.58 + <td>$(gettext "Variable")</td> 4.59 + <td>$(gettext "Value")</td> 4.60 + </thead> 4.61 +EOT 4.62 + 4.63 +for var in gamemode server-port level-name; do 4.64 + get_value ${var} 4.65 +done 4.66 + 4.67 +# HTML footer 4.68 +cat << EOT 4.69 +</table> 4.70 + 4.71 +</div> 4.72 +<footer></footer> 4.73 +</body> 4.74 +</htnl> 4.75 +EOT 4.76 exit 0
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/tazcraft/data/minecraft.desktop Sat Mar 18 23:31:46 2017 +0100 5.3 @@ -0,0 +1,6 @@ 5.4 +[Desktop Entry] 5.5 +Type=Application 5.6 +Name=Minecraft 5.7 +Exec=tazcraft -p 5.8 +Icon=minecraft 5.9 +Categories=Game;
6.1 Binary file tazcraft/images/minecraft.png has changed
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/tazcraft/tazcraft Sat Mar 18 23:31:46 2017 +0100 7.3 @@ -0,0 +1,138 @@ 7.4 +#!/bin/sh 7.5 +# 7.6 +# tazcraft - Your Minecraft server tiny configuration tool 7.7 +# 7.8 +# Authors: Kayam Lincoln-Vazquez, Christophe Lincoln 7.9 +# Copyright (C) 2017 SliTaz GNU/Linux - BSD License 7.10 +# 7.11 +. /lib/libtaz.sh 7.12 + 7.13 +version="1.11.2" 7.14 +home="/home/minecraft" 7.15 +server="$home/server" 7.16 +config="$server/server.properties" 7.17 + 7.18 +server_jar="minecraft_server.${version}.jar" 7.19 +client_jar="Minecraft.jar" 7.20 +client_path="$HOME/.local/share/minecraft/$client_jar" 7.21 +spigot_jar="spigot-${version}.jar" 7.22 + 7.23 +java_version="8u121" 7.24 +java_id="218821" 7.25 +java_md5="e9e7ea248e2c4826b92b3f075a80e441" 7.26 +java_tarball="jre-$java_version-linux-i586.tar.gz" 7.27 + 7.28 +# Prefer Sun Java JRE but let user use icedtea6-jre 7.29 +java="$home/jre/bin/java" 7.30 +if [ ! -x "$java" ]; then 7.31 + java="/usr/bin/java" 7.32 +fi 7.33 + 7.34 +# 7.35 +# Functions 7.36 +# 7.37 +help() { 7.38 + cat << EOT 7.39 + 7.40 +$(colorize 032 Usage:) $(basename $0) command 7.41 + 7.42 +$(colorize 032 Commands:) 7.43 + -d downlaod Download the Minecraft server 7.44 + -s start Start your Minecraft server 7.45 + -p play Launch the Minecraft client 7.46 + -j java Install Sun Java Runtime Environment 7.47 + -i info Display server and java informations 7.48 + 7.49 +$(colorize 032 Options:) 7.50 + --gui Run the server with a graphical user interface 7.51 + 7.52 +EOT 7.53 +} 7.54 + 7.55 +# Check if Java is installed 7.56 +check_java() { 7.57 + if [ ! -x "$java" ]; then 7.58 + colorize 031 "Can't fin Java Runtime Environment (JRE)"; return 1 7.59 + fi 7.60 +} 7.61 + 7.62 +# Get a value in 7.63 +get_value() { 7.64 + val=$(grep ^${1}= ${config} | cut -d "=" -f 2) 7.65 + echo -n "$1"; indent 15 ": $val" 7.66 +} 7.67 + 7.68 +# 7.69 +# Commands 7.70 +# 7.71 +case "$1" in 7.72 + 7.73 + -d|downlaod) 7.74 + if [ ! -f "$server/$jar" ]; then 7.75 + echo "Downloading Minecraft..." 7.76 + mkdir -p ${server} 7.77 + wget --no-check-certificate \ 7.78 + https://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar \ 7.79 + -O ${server}/minecraft_server.${version}.jar 7.80 + else 7.81 + colorize 032 "Minecraft is already downladed :-)" 7.82 + fi ;; 7.83 + 7.84 + -s|start) 7.85 + check_java || exit 1 7.86 + colorize 032 "Starting Minecraft server..." 7.87 + [ ! "$gui" ] && opts="nogui" 7.88 + cd ${server} 7.89 + ${java} -Xmx1024M -Xms1024M -jar ${server_jar} ${opts} ;; 7.90 + 7.91 + -p|play) 7.92 + if [ ! -f "$client_path" ]; then 7.93 + dest_dir="$(dirname $client_path)" 7.94 + mkdir -p ${dest_dir} 7.95 + xterm -e "wget \ 7.96 + http://s3.amazonaws.com/Minecraft.Download/launcher/${client_jar} \ 7.97 + -O $client_path" 7.98 + fi 7.99 + ${java} -jar ${client_path} & ;; 7.100 + 7.101 + -j|java) 7.102 + if [ ! -x "$home/jre/bin/java" ]; then 7.103 + echo "Installing Java Runtime Environment ($java_version)..." 7.104 + 7.105 + # Already downloaded 7.106 + if [ ! -f "$home/$java_tarball" ]; then 7.107 + wget \ 7.108 + http://javadl.oracle.com/webapps/download/AutoDL?BundleId=${java_id}_${java_md5} \ 7.109 + -O ${home}/${java_tarball} 7.110 + fi 7.111 + 7.112 + echo "Extracting: ${java_tarball}..." 7.113 + tar xzf ${home}/${java_tarball} -C ${home} || exit 1 7.114 + rm -rf jre 2>/dev/null && mv ${home}/jre*_*/ ${home}/jre 7.115 + 7.116 + else 7.117 + colorize 032 "Java Runtime Environment is installed" 7.118 + ${java} -version 7.119 + fi ;; 7.120 + 7.121 + -i|info) 7.122 + newline 7.123 + colorize 032 "Minecraft Server" 7.124 + echo "Version : $version" 7.125 + echo "Home : $home" 7.126 + 7.127 + colorize 032 "Server properties" 7.128 + for var in server-port level-name; do 7.129 + get_value ${var} 7.130 + done 7.131 + 7.132 + if check_java; then 7.133 + colorize 032 "Java Runtime Environment" 7.134 + echo "Java: $java" 7.135 + ${java} -version 7.136 + fi 7.137 + newline ;; 7.138 + 7.139 + *) help ;; 7.140 +esac 7.141 +exit 0