Last active
August 29, 2015 13:58
-
-
Save oberhamsi/10415802 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Reads the player position via telnet and writes it to tracks.csv. Can be | |
# sourced or executed. | |
# The tracks.csv file can be display in the map viewer https://github.com/nicolas-f/7DTD-leaflet/ | |
. /usr/local/lib/7dtd/common.sh | |
# @@ this should be a per instance config, not per server | |
SDTD_TRACKS_PATH=/path/to/tracks.csv | |
writeTracks() { | |
if [ $(isValidInstance $1) -eq 0 ]; then | |
echo "No instance given or not a valid instance!" | |
return | |
fi | |
if [ ! -w $2 ]; then | |
echo "Tracks.csv output file does not exist or is not writeable" | |
return | |
fi | |
# player name and position from telnet lp | |
regex="(, )([^,]+), pos=\(([0-9\.]*), ([0-9\.]*), ([0-9\.]*)\)" | |
if [ $(isRunning $1) -eq 1 ]; then | |
lines=$(telnetCommand $1 lp) | |
while read -r line; do | |
[[ $line =~ $regex ]] | |
if [[ ${BASH_REMATCH[0]} ]]; then | |
csvLine="${BASH_REMATCH[2]},${BASH_REMATCH[5]},${BASH_REMATCH[3]}" | |
echo "$csvLine" >> $2 | |
fi | |
done <<< "$lines" | |
else | |
echo "Instance $1 not running" | |
return | |
fi | |
} | |
if [[ $_ != $0 ]]; then | |
instance=${1} | |
tracksFile=${2:-$SDTD_TRACKS_PATH} | |
writeTracks $instance $tracksFile | |
exit 1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is there any help? it looks like the script needs two args, the 7dtd server manager instance, but I am not sure what the $tracksFile is for...