diff --git a/mcserver b/mcserver index 5569c74..d8a03ff 100755 --- a/mcserver +++ b/mcserver @@ -46,8 +46,17 @@ source ./vars # override value defined in vars for compatibility with old servers TMUX_SESSION=mcserver-"$instance" +_stop_and_wait () { + tmux send-keys -t "$TMUX_SESSION" -l "$code_clear" 'stop' "$code_send" + echo Waiting for session to exit... + while tmux has-session -t "$TMUX_SESSION" ; do + sleep 1 + done +} + + case "$cmd" in - stop) tmux send-keys -t "$TMUX_SESSION" -l "$code_clear" 'stop' "$code_send" ;; + stop) _stop_and_wait ;; command) tmux send-keys -t "$TMUX_SESSION" -l "$code_clear" "$*" "$code_send" ;; start|*) tmux new-window -t $TMUX_SESSION: "./start.sh" || tmux new-session -d -s $TMUX_SESSION "./start.sh";; esac