#!/bin/sh
die() {	printf '%s\n' "$*" >&2; exit 1; }
notfound() { printf '%s not found, sending to the "%s".\n' "$fifo" "$1" >&2; fifo=$serverbase/$1/var/run/socket; }

[ $# -ge 1 ] || die "Syntax: $0 <server version> [<message>]"

server=$1
serverbase=$HOME/servers/$server
fifo=$serverbase/build/var/run/socket
shift

[ -d "$serverbase" ] || die "Server '$server' not found."

if [ "$*" = "" ]; then
	message="The server will get restarted now. Please don't forget to save your game!"
	printf 'Sending standard message: \n' "$message"
else
	message=$*
fi

[ -e "$fifo" ] || { notfound oldbuild; [ -e "$fifo" ] || notfound revertedbuild; }
[ -p "$fifo" ] || die "$fifo is not a named pipe (fifo).
Is the $server server running?"

printf 'msg %s\n' "$message" > "$fifo"
