Bugfix + Cleaner server_command handling

Fix a bug which was introduced by the new indentation (cat EOF).
Tailf which is used to retrieve the server output closes itself as
soon as the minecraft command is triggered. Since this functionality
is build into tailf there is no need to reinvent the wheel.
master
Gordian Edenhofer 2015-12-14 11:51:31 +01:00
parent 761f7b2418
commit 2d367a746a
3 changed files with 12 additions and 15 deletions

View File

@ -27,7 +27,7 @@ pkgbase = minecraft-server
md5sums = c644abdf293c2f98033a64d732a4945c
md5sums = 5ed78e366146e47f8498347e93ad5423
md5sums = d4656f27716fd78ab64344a517b07443
md5sums = 1991eb0aedeba1dab2371f22a6736b47
md5sums = 9011b19dc6218d41989835a6bba033e0
pkgname = minecraft-server

View File

@ -26,7 +26,7 @@ md5sums=('a0671390aa0691e70a950155aab06ffb'
'c644abdf293c2f98033a64d732a4945c'
'5ed78e366146e47f8498347e93ad5423'
'd4656f27716fd78ab64344a517b07443'
'1991eb0aedeba1dab2371f22a6736b47')
'9011b19dc6218d41989835a6bba033e0')
package() {
install -Dm644 minecraftd.conf "${pkgdir}/etc/conf.d/minecraft"

23
minecraftd.sh Normal file → Executable file
View File

@ -130,11 +130,8 @@ server_command() {
sudo -u ${MC_USER} screen -S ${SESSION_NAME} -Q select . > /dev/null
if [ $? -eq 0 ]; then
mc_command "$@"
tailf -n 0 ${LOGPATH}/latest.log &
TAILFPID=$! # Process id of tailf command
sleep 0.1
kill ${TAILFPID}
mc_command "$@" &
tailf --pid=$! -n 0 ${LOGPATH}/latest.log &
else
echo "There is no ${SESSION_NAME} session to connect to."
fi
@ -152,18 +149,18 @@ server_console() {
# Help function, no arguments required
help() {
cat << 'EOF'
cat <<- 'EOF'
This script was design to easily control any minecraft server. Quite every parameter for a given
minecraft server derivative can be altered by editing the variables in the configuration file.
Usage: minecraftd {start|stop|status|backup|command <command>|console}
start Start the minecraft server
stop Stop the minecraft server
restart Restart the minecraft server
status Print some status information
backup Backup the world data
command <command> Run the given comman at the minecraft server console
console Enter the server console through a screen session
start Start the minecraft server
stop Stop the minecraft server
restart Restart the minecraft server
status Print some status information
backup Backup the world data
command <command> Run the given comman at the minecraft server console
console Enter the server console through a screen session
Copyright (c) Gordian Edenhofer <gordian.edenhofer@gmail.com>
EOF