#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"

: "${UA_PORT:=15050}"
: "${UA_PUBLIC_PORT:=$UA_PORT}"
: "${UA_MAP:=uamap1}"
: "${UA_MAX_CLIENTS:=8}"
: "${UA_NAME:=Ultrono Arena}"
: "${UA_SERVER_ID:=}"
: "${UA_NET_POLL_BUDGET:=1000}"
if [[ -z "${UA_MASTER+x}" ]]; then
  UA_MASTER=master.ultrono.com:15049
fi

if [[ -f REVISION ]]; then
  sed 's/^/ua-release /' REVISION >&2
fi
./uasv --version >&2 || true

args=(
  --bind "0.0.0.0:${UA_PORT}"
  --public-port "$UA_PUBLIC_PORT"
  --map "$UA_MAP"
  --no-startup-bots
  --max-clients "$UA_MAX_CLIENTS"
  --name "$UA_NAME"
  net_poll_budget "$UA_NET_POLL_BUDGET"
)
if [[ -n "$UA_SERVER_ID" ]]; then
  args+=(--server-id "$UA_SERVER_ID")
fi

if [[ -n "$UA_MASTER" ]]; then
  args+=(--master-addr "$UA_MASTER")
else
  args+=(--no-master)
fi

if [[ -n "${UA_ADMINPASS:-}" ]]; then
  args+=(--admin-password-env UA_ADMINPASS)
fi

exec ./uasv "${args[@]}" "$@"
