# HG changeset patch # User Christophe Lincoln # Date 1489941415 -3600 # Node ID 0f84a16feb0f5026c9cc50c6dbfedc46661d5065 # Parent f369836fad7edd1477d1609324d8c1f1e979827e Fix to slitaz-release and improve tazcraft (work in progress, to be continued in it's own repo) diff -r f369836fad7e -r 0f84a16feb0f slitaz-release/Makefile --- a/slitaz-release/Makefile Sun Mar 19 10:00:19 2017 +0000 +++ b/slitaz-release/Makefile Sun Mar 19 17:36:55 2017 +0100 @@ -1,4 +1,4 @@ -# Makefile for Tazcraft +# Makefile for slitaz-release # PACKAGE=slitaz-release @@ -8,7 +8,6 @@ all: install: - install -m 0755 -d $(DESTDIR)$(PREFIX)/sbin install -m 0755 $(PACKAGE) $(DESTDIR)$(PREFIX)/sbin uninstall: diff -r f369836fad7e -r 0f84a16feb0f slitaz-release/slitaz-release --- a/slitaz-release/slitaz-release Sun Mar 19 10:00:19 2017 +0000 +++ b/slitaz-release/slitaz-release Sun Mar 19 17:36:55 2017 +0100 @@ -54,6 +54,10 @@ # Handle commands # case "$1" in + + info) + echo -n "Hostname:"; hostname ;; + "") help; exit 0 ;; esac @@ -86,7 +90,9 @@ title "Checking repo: wok" cd $repos/wok; hg up slitaz_release=$(hg parents --template '{latesttag}') - check_string "cooking wok is not yet ready to be copied" ;; + check_string "cooking wok is not yet ready to be copied" + + newline ;; *) # Local Hg repos: set stable string and Hg tags diff -r f369836fad7e -r 0f84a16feb0f tazcraft/README --- a/tazcraft/README Sun Mar 19 10:00:19 2017 +0000 +++ b/tazcraft/README Sun Mar 19 17:36:55 2017 +0100 @@ -6,6 +6,11 @@ also optionally install the Java Runtime Environment (JRE). +Server operator +--------------- +From the server console: /op username + + Server configuration -------------------- Config file: server.properties @@ -41,4 +46,8 @@ \u00A7n - Underline \u00A7o - Italic \u00A7r - Reset - + +Online resources +---------------- + +MOTD creator: https://mctools.org/motd-creator diff -r f369836fad7e -r 0f84a16feb0f tazcraft/tazcraft --- a/tazcraft/tazcraft Sun Mar 19 10:00:19 2017 +0000 +++ b/tazcraft/tazcraft Sun Mar 19 17:36:55 2017 +0100 @@ -1,10 +1,12 @@ #!/bin/sh # -# tazcraft - Your Minecraft server tiny configuration tool +# tazcraft - Minecraft server config & admin tool for SliTaz # # Authors: Kayam Lincoln-Vazquez, Christophe Lincoln # Copyright (C) 2017 SliTaz GNU/Linux - BSD License # +# TODO: add spigot support, rcon handler, properties settings +# . /lib/libtaz.sh version="1.11.2" @@ -15,6 +17,7 @@ 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" @@ -22,7 +25,7 @@ java_md5="e9e7ea248e2c4826b92b3f075a80e441" java_tarball="jre-$java_version-linux-i586.tar.gz" -# Prefer Sun Java JRE but let user use icedtea6-jre +# Prefer Sun Java JRE but support system wide icedtea6-jre if installed java="$home/jre/bin/java" if [ ! -x "$java" ]; then java="/usr/bin/java" @@ -42,6 +45,8 @@ -p play Launch the Minecraft client -j java Install Sun Java Runtime Environment -i info Display server and java information + motd Raw display of the Message Of The Day + ops Show server operators name $(colorize 032 Options:) --gui Run the server with a graphical user interface @@ -49,6 +54,11 @@ EOT } +# Commands +title() { + echo ""; colorize 032 "$@"; separator "-" +} + # Check if Java is installed check_java() { if [ ! -x "$java" ]; then @@ -57,10 +67,12 @@ } # Change default motd -check_motd() { - motd=$(grep ^motd= ${config} | sed s'/motd=//') - if [ "$motd" == "A Minecraft Server" ]; then - sed -i s'/motd=.*/motd=\u00A72A Tazcraft Server/' ${config} +defaut_motd() { + if [ -f "$config" ]; then + motd=$(grep ^motd= ${config} | sed s'/motd=//') + if [ "$motd" == "A Minecraft Server" ]; then + sed -i s'#motd=.*#motd=\\u00A72A Tazcraft Server#' ${config} + fi fi } @@ -88,7 +100,7 @@ -s|start) check_java || exit 1 - check_motd + defaut_motd colorize 032 "Starting Minecraft server..." [ ! "$gui" ] && opts="nogui" cd ${server} @@ -124,6 +136,53 @@ ${java} -version fi ;; + motd) + defaut_motd + motd=$(grep ^motd= ${config} | sed s'/motd=//') + title "Message Of The Day (motd)" + echo "$motd" + newline ;; + + -o|ops) + title "Server operators" + ops_json="$server/ops.json" + #echo "Config file: $server/ops.json" + fgrep name ${ops_json} | cut -d '"' -f 4 + newline ;; + + -w|white-list) + # Usage: tazcraft -w [username|--true|--false] + white_list="${server}/white-list.txt" + title "Minecraft server white list" + + case "$2" in + + --true) + echo "Activaction white list support..." + sed -i s'/white-list=*./white-list=true/' ${config} + touch ${white_list} ;; + + --false) ;; + *) ;; + esac + # Add/remove users + + + # --true + if [ "$true" ]; then + + fi + + # Display white list users or give settings info + if [ -f "$white_list" ]; then + cat ${white_list} + else + get_value "white-list" + colorize 031 "White list file is not activated $val" + fi + + newline ;; + -i|info) newline colorize 032 "Minecraft Server" @@ -132,7 +191,9 @@ newline colorize 032 "Server properties" - for var in gamemode server-port level-name difficulty max-players; do + for var in gamemode server-port level-name difficulty max-players \ + allow-flight + do get_value ${var} done newline