slitaz-dev-tools diff tazcraft/tazcraft @ 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 | 29b50f284008 |
children |
line diff
1.1 --- a/tazcraft/tazcraft Sun Mar 19 08:50:48 2017 +0000 1.2 +++ b/tazcraft/tazcraft Sun Mar 19 17:36:55 2017 +0100 1.3 @@ -1,10 +1,12 @@ 1.4 #!/bin/sh 1.5 # 1.6 -# tazcraft - Your Minecraft server tiny configuration tool 1.7 +# tazcraft - Minecraft server config & admin tool for SliTaz 1.8 # 1.9 # Authors: Kayam Lincoln-Vazquez, Christophe Lincoln 1.10 # Copyright (C) 2017 SliTaz GNU/Linux - BSD License 1.11 # 1.12 +# TODO: add spigot support, rcon handler, properties settings 1.13 +# 1.14 . /lib/libtaz.sh 1.15 1.16 version="1.11.2" 1.17 @@ -15,6 +17,7 @@ 1.18 server_jar="minecraft_server.${version}.jar" 1.19 client_jar="Minecraft.jar" 1.20 client_path="$HOME/.local/share/minecraft/$client_jar" 1.21 + 1.22 spigot_jar="spigot-${version}.jar" 1.23 1.24 java_version="8u121" 1.25 @@ -22,7 +25,7 @@ 1.26 java_md5="e9e7ea248e2c4826b92b3f075a80e441" 1.27 java_tarball="jre-$java_version-linux-i586.tar.gz" 1.28 1.29 -# Prefer Sun Java JRE but let user use icedtea6-jre 1.30 +# Prefer Sun Java JRE but support system wide icedtea6-jre if installed 1.31 java="$home/jre/bin/java" 1.32 if [ ! -x "$java" ]; then 1.33 java="/usr/bin/java" 1.34 @@ -42,6 +45,8 @@ 1.35 -p play Launch the Minecraft client 1.36 -j java Install Sun Java Runtime Environment 1.37 -i info Display server and java information 1.38 + motd Raw display of the Message Of The Day 1.39 + ops Show server operators name 1.40 1.41 $(colorize 032 Options:) 1.42 --gui Run the server with a graphical user interface 1.43 @@ -49,6 +54,11 @@ 1.44 EOT 1.45 } 1.46 1.47 +# Commands 1.48 +title() { 1.49 + echo ""; colorize 032 "$@"; separator "-" 1.50 +} 1.51 + 1.52 # Check if Java is installed 1.53 check_java() { 1.54 if [ ! -x "$java" ]; then 1.55 @@ -57,10 +67,12 @@ 1.56 } 1.57 1.58 # Change default motd 1.59 -check_motd() { 1.60 - motd=$(grep ^motd= ${config} | sed s'/motd=//') 1.61 - if [ "$motd" == "A Minecraft Server" ]; then 1.62 - sed -i s'/motd=.*/motd=\u00A72A Tazcraft Server/' ${config} 1.63 +defaut_motd() { 1.64 + if [ -f "$config" ]; then 1.65 + motd=$(grep ^motd= ${config} | sed s'/motd=//') 1.66 + if [ "$motd" == "A Minecraft Server" ]; then 1.67 + sed -i s'#motd=.*#motd=\\u00A72A Tazcraft Server#' ${config} 1.68 + fi 1.69 fi 1.70 } 1.71 1.72 @@ -88,7 +100,7 @@ 1.73 1.74 -s|start) 1.75 check_java || exit 1 1.76 - check_motd 1.77 + defaut_motd 1.78 colorize 032 "Starting Minecraft server..." 1.79 [ ! "$gui" ] && opts="nogui" 1.80 cd ${server} 1.81 @@ -124,6 +136,53 @@ 1.82 ${java} -version 1.83 fi ;; 1.84 1.85 + motd) 1.86 + defaut_motd 1.87 + motd=$(grep ^motd= ${config} | sed s'/motd=//') 1.88 + title "Message Of The Day (motd)" 1.89 + echo "$motd" 1.90 + newline ;; 1.91 + 1.92 + -o|ops) 1.93 + title "Server operators" 1.94 + ops_json="$server/ops.json" 1.95 + #echo "Config file: $server/ops.json" 1.96 + fgrep name ${ops_json} | cut -d '"' -f 4 1.97 + newline ;; 1.98 + 1.99 + -w|white-list) 1.100 + # Usage: tazcraft -w [username|--true|--false] 1.101 + white_list="${server}/white-list.txt" 1.102 + title "Minecraft server white list" 1.103 + 1.104 + case "$2" in 1.105 + 1.106 + --true) 1.107 + echo "Activaction white list support..." 1.108 + sed -i s'/white-list=*./white-list=true/' ${config} 1.109 + touch ${white_list} ;; 1.110 + 1.111 + --false) ;; 1.112 + *) ;; 1.113 + esac 1.114 + # Add/remove users 1.115 + 1.116 + 1.117 + # --true 1.118 + if [ "$true" ]; then 1.119 + 1.120 + fi 1.121 + 1.122 + # Display white list users or give settings info 1.123 + if [ -f "$white_list" ]; then 1.124 + cat ${white_list} 1.125 + else 1.126 + get_value "white-list" 1.127 + colorize 031 "White list file is not activated $val" 1.128 + fi 1.129 + 1.130 + newline ;; 1.131 + 1.132 -i|info) 1.133 newline 1.134 colorize 032 "Minecraft Server" 1.135 @@ -132,7 +191,9 @@ 1.136 newline 1.137 1.138 colorize 032 "Server properties" 1.139 - for var in gamemode server-port level-name difficulty max-players; do 1.140 + for var in gamemode server-port level-name difficulty max-players \ 1.141 + allow-flight 1.142 + do 1.143 get_value ${var} 1.144 done 1.145 newline