#! /bin/bash

cd ~/simutrans
wget -q -N http://bridgewater-brunel.me.uk/downloads/nightly/linux-x64/nettool
wget -q -N http://bridgewater-brunel.me.uk/downloads/nightly/linux-x64/command-line-server-build/simutrans-extended
wget -q -N http://bridgewater-brunel.me.uk/downloads/nightly/pakset/pak128.britain-ex-nightly.tar.gz
#wget -q -N http://bridgewater-brunel.me.uk/downloads/nightly/pakset/pak128.sweden-ex-nightly.tar.gz

cp -b simutrans-extended simutrans-server
chmod +x simutrans-server

mkdir -p ~/simutrans/Pak128.Britain-Ex/
cd ~/simutrans/Pak128.Britain-Ex/
rm -rf *
tar xzf ../pak128.britain-ex-nightly.tar.gz

#mkdir -p ~/simutrans/Pak128.Sweden-Ex/
#cd ~/simutrans/Pak128.Sweden-Ex/
#rm -rf *
#tar xzf ../pak128.sweden-ex-nightly.tar.gz

# Shell script to run a force-sync on the running Simutrans-Experimental server
# but only after warning players that it is about to do this and waiting 2 minutes.
# Written by James E. Petts, February 2017

cd ~/simutrans

objects[13353]="Pak128.Britain-Ex"
objects[13354]="Pak128.Britain-Ex"
objects[13355]="Pak128.Sweden-Ex"
name[13353]="Stephenson-Siemens"
name[13354]="British Sandbox"
name[13355]="Stora Skärgård"
pass=**********************

for port in 13353; do

	./nettool -q -s localhost:$port -p $pass say "WARNING: Server about to be reset and updated to the latest version. All changes after the next save will be lost. Will save in 1 minute from now. This is an automated message."
	sleep 1m
	./nettool -q -s localhost:$port -p $pass force-sync
	./nettool -q -s localhost:$port -p $pass say "WARNING: Server will shut down for restart and update to the latest version in 1 minute. No further progress will be saved. The server will restart within 1-2 minutes. You may need to download a new version to continue to connect. Download from http://bridgewater-brunel.me.uk/download/nightly. This is an automated message."
	sleep 1m
	./nettool -q -s localhost:$port -p $pass shutdown
	sleep 10s
	./simutrans-server -server $port -lang en -log -noaddons -nomidi -nosound -server_admin_pw $pass -objects ${objects[$port]} -server_name "${name[$port]}" > /dev/null &

done
