42 lines
925 B
Bash
42 lines
925 B
Bash
#!/bin/bash
|
|
|
|
export DISPLAY=:99
|
|
|
|
rm -f /tmp/.X1-lock
|
|
|
|
# Start Xvfb
|
|
echo "Starting Xvfb"
|
|
Xvfb $DISPLAY -ac -screen 0 800x600x16 2>&1 &
|
|
xvfb_pid=$!
|
|
|
|
# prevent spikes if you spawn many containers simultaneously
|
|
sleep $((2 + $RANDOM % 6))
|
|
|
|
|
|
if [ "${PLAYERNAME,,}" == "random" ]
|
|
then
|
|
PLAYERNAME=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 8)
|
|
fi
|
|
|
|
if [ "$RANDOM_INPUT" == "1" ]
|
|
then
|
|
minetest --address "$SERVER" --port "$PORT" --name "$PLAYERNAME" --password "$PASSWORD" --go --random-input &
|
|
else
|
|
echo minetest --address "$SERVER" --port "$PORT" --name "$PLAYERNAME" --password "$PASSWORD" --go
|
|
minetest --address "$SERVER" --port "$PORT" --name "$PLAYERNAME" --password "$PASSWORD" --go &
|
|
fi
|
|
minetest_pid=$!
|
|
|
|
function finish {
|
|
kill -n 9 $minetest_pid & wait
|
|
kill -n 9 $xvfb_pid & wait
|
|
}
|
|
trap finish EXIT TERM INT QUIT
|
|
|
|
# Workaround to revive died players
|
|
while :
|
|
do
|
|
sleep 10
|
|
xdotool key --delay 100 KP_Enter
|
|
done
|