Yves-Marie Haussonne 6179db0165 Add client dockerfile
2024-09-30 15:22:43 +02:00

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