slitaz-dev-tools rev 295

Fix to slitaz-release and improve tazcraft (work in progress, to be continued in it's own repo)
author Christophe Lincoln <pankso@slitaz.org>
date Sun Mar 19 17:36:55 2017 +0100 (2017-03-19)
parents f369836fad7e
children 05111a5b9eda
files slitaz-release/Makefile slitaz-release/slitaz-release tazcraft/README tazcraft/tazcraft
line diff
     1.1 --- a/slitaz-release/Makefile	Sun Mar 19 10:00:19 2017 +0000
     1.2 +++ b/slitaz-release/Makefile	Sun Mar 19 17:36:55 2017 +0100
     1.3 @@ -1,4 +1,4 @@
     1.4 -# Makefile for Tazcraft
     1.5 +# Makefile for slitaz-release
     1.6  #
     1.7  
     1.8  PACKAGE=slitaz-release
     1.9 @@ -8,7 +8,6 @@
    1.10  all:
    1.11  
    1.12  install:
    1.13 -	install -m 0755 -d $(DESTDIR)$(PREFIX)/sbin
    1.14  	install -m 0755 $(PACKAGE) $(DESTDIR)$(PREFIX)/sbin
    1.15  
    1.16  uninstall:
     2.1 --- a/slitaz-release/slitaz-release	Sun Mar 19 10:00:19 2017 +0000
     2.2 +++ b/slitaz-release/slitaz-release	Sun Mar 19 17:36:55 2017 +0100
     2.3 @@ -54,6 +54,10 @@
     2.4  # Handle commands
     2.5  #
     2.6  case "$1" in
     2.7 +
     2.8 +	info)
     2.9 +		echo -n "Hostname:"; hostname ;;
    2.10 +		
    2.11  	"") help; exit 0 ;;
    2.12  esac
    2.13  
    2.14 @@ -86,7 +90,9 @@
    2.15  		title "Checking repo: wok"
    2.16  		cd $repos/wok; hg up
    2.17  		slitaz_release=$(hg parents --template '{latesttag}')
    2.18 -		check_string "cooking wok is not yet ready to be copied" ;;
    2.19 +		check_string "cooking wok is not yet ready to be copied" 
    2.20 +		
    2.21 +		newline ;;
    2.22  	
    2.23  	*)
    2.24  		# Local Hg repos: set stable string and Hg tags
     3.1 --- a/tazcraft/README	Sun Mar 19 10:00:19 2017 +0000
     3.2 +++ b/tazcraft/README	Sun Mar 19 17:36:55 2017 +0100
     3.3 @@ -6,6 +6,11 @@
     3.4  also optionally install the Java Runtime Environment (JRE).
     3.5  
     3.6  
     3.7 +Server operator
     3.8 +---------------
     3.9 +From the server console: /op username
    3.10 +
    3.11 +
    3.12  Server configuration
    3.13  --------------------
    3.14  Config file: server.properties
    3.15 @@ -41,4 +46,8 @@
    3.16  	\u00A7n - Underline
    3.17  	\u00A7o - Italic
    3.18  	\u00A7r - Reset
    3.19 -	
    3.20 +
    3.21 +Online resources
    3.22 +----------------
    3.23 +
    3.24 +MOTD creator: https://mctools.org/motd-creator
     4.1 --- a/tazcraft/tazcraft	Sun Mar 19 10:00:19 2017 +0000
     4.2 +++ b/tazcraft/tazcraft	Sun Mar 19 17:36:55 2017 +0100
     4.3 @@ -1,10 +1,12 @@
     4.4  #!/bin/sh
     4.5  #
     4.6 -# tazcraft - Your Minecraft server tiny configuration tool
     4.7 +# tazcraft - Minecraft server config & admin tool for SliTaz
     4.8  #
     4.9  # Authors: Kayam Lincoln-Vazquez, Christophe Lincoln
    4.10  # Copyright (C) 2017 SliTaz GNU/Linux - BSD License
    4.11  #
    4.12 +# TODO: add spigot support, rcon handler, properties settings
    4.13 +#
    4.14  . /lib/libtaz.sh
    4.15  
    4.16  version="1.11.2"
    4.17 @@ -15,6 +17,7 @@
    4.18  server_jar="minecraft_server.${version}.jar"
    4.19  client_jar="Minecraft.jar"
    4.20  client_path="$HOME/.local/share/minecraft/$client_jar"
    4.21 +
    4.22  spigot_jar="spigot-${version}.jar"
    4.23  
    4.24  java_version="8u121"
    4.25 @@ -22,7 +25,7 @@
    4.26  java_md5="e9e7ea248e2c4826b92b3f075a80e441"
    4.27  java_tarball="jre-$java_version-linux-i586.tar.gz"
    4.28  
    4.29 -# Prefer Sun Java JRE but let user use icedtea6-jre
    4.30 +# Prefer Sun Java JRE but support system wide icedtea6-jre if installed
    4.31  java="$home/jre/bin/java"
    4.32  if [ ! -x "$java" ]; then
    4.33  	java="/usr/bin/java"
    4.34 @@ -42,6 +45,8 @@
    4.35    -p  play          Launch the Minecraft client
    4.36    -j  java          Install Sun Java Runtime Environment
    4.37    -i  info          Display server and java information
    4.38 +      motd          Raw display of the Message Of The Day
    4.39 +      ops           Show server operators name
    4.40  
    4.41  $(colorize 032 Options:)
    4.42    --gui             Run the server with a graphical user interface
    4.43 @@ -49,6 +54,11 @@
    4.44  EOT
    4.45  }
    4.46  
    4.47 +# Commands
    4.48 +title() {
    4.49 +	echo ""; colorize 032 "$@"; separator "-"
    4.50 +}
    4.51 +
    4.52  # Check if Java is installed
    4.53  check_java() {
    4.54  	if [ ! -x "$java" ]; then
    4.55 @@ -57,10 +67,12 @@
    4.56  }
    4.57  
    4.58  # Change default motd
    4.59 -check_motd() {
    4.60 -	motd=$(grep ^motd= ${config} | sed s'/motd=//')
    4.61 -	if [ "$motd" == "A Minecraft Server" ]; then
    4.62 -		sed -i s'/motd=.*/motd=\u00A72A Tazcraft Server/' ${config}
    4.63 +defaut_motd() {
    4.64 +	if [ -f "$config" ]; then
    4.65 +		motd=$(grep ^motd= ${config} | sed s'/motd=//')
    4.66 +		if [ "$motd" == "A Minecraft Server" ]; then
    4.67 +			sed -i s'#motd=.*#motd=\\u00A72A Tazcraft Server#' ${config}
    4.68 +		fi
    4.69  	fi
    4.70  }
    4.71  
    4.72 @@ -88,7 +100,7 @@
    4.73  	
    4.74  	-s|start)
    4.75  		check_java || exit 1
    4.76 -		check_motd
    4.77 +		defaut_motd
    4.78  		colorize 032 "Starting Minecraft server..."
    4.79  		[ ! "$gui" ] && opts="nogui"
    4.80  		cd ${server}
    4.81 @@ -124,6 +136,53 @@
    4.82  			${java} -version
    4.83  		fi ;;
    4.84  	
    4.85 +	motd)
    4.86 +		defaut_motd 
    4.87 +		motd=$(grep ^motd= ${config} | sed s'/motd=//')
    4.88 +		title "Message Of The Day (motd)"
    4.89 +		echo  "$motd" 
    4.90 +		newline ;;
    4.91 +	
    4.92 +	-o|ops)
    4.93 +		title "Server operators"
    4.94 +		ops_json="$server/ops.json"
    4.95 +		#echo "Config file: $server/ops.json"
    4.96 +		fgrep name ${ops_json} | cut -d '"' -f 4
    4.97 +		newline ;;
    4.98 +	
    4.99 +	-w|white-list)
   4.100 +		# Usage: tazcraft -w [username|--true|--false]
   4.101 +		white_list="${server}/white-list.txt"
   4.102 +		title "Minecraft server white list"
   4.103 +		
   4.104 +		case "$2" in
   4.105 +		
   4.106 +			--true) 
   4.107 +				echo "Activaction white list support..."
   4.108 +				sed -i s'/white-list=*./white-list=true/' ${config}
   4.109 +				touch ${white_list} ;;
   4.110 +				
   4.111 +			--false) ;;
   4.112 +			*) ;;
   4.113 +		esac
   4.114 +		# Add/remove users
   4.115 +		
   4.116 +		
   4.117 +		# --true
   4.118 +		if [ "$true" ]; then
   4.119 +			
   4.120 +		fi
   4.121 +		
   4.122 +		# Display white list users or give settings info
   4.123 +		if [ -f "$white_list" ]; then
   4.124 +			cat  ${white_list}
   4.125 +		else
   4.126 +			get_value "white-list"
   4.127 +			colorize 031 "White list file is not activated $val"
   4.128 +		fi
   4.129 +		
   4.130 +		newline ;;
   4.131 +	
   4.132  	-i|info)
   4.133  		newline
   4.134  		colorize 032 "Minecraft Server"
   4.135 @@ -132,7 +191,9 @@
   4.136  		newline
   4.137  		
   4.138  		colorize 032 "Server properties"
   4.139 -		for var in gamemode server-port level-name difficulty max-players; do
   4.140 +		for var in gamemode server-port level-name difficulty max-players \
   4.141 +			allow-flight
   4.142 +		do
   4.143  			get_value ${var}
   4.144  		done
   4.145  		newline