75 lines
2.0 KiB
Bash
Executable File
75 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
MAXLOAD="50"
|
|
|
|
case $1 in
|
|
status )
|
|
case $2 in
|
|
html )
|
|
if ps -p $(cat mtm_db/pids/$3.pid) > /dev/null
|
|
then
|
|
echo "<div style='display:inline;color:#00ff00;'>Running</div>"
|
|
else
|
|
echo "<div style='display:inline;color:#ff0000;'>Stopped</div>"
|
|
fi
|
|
;;
|
|
|
|
return )
|
|
if ps -p $(cat mtm_db/pids/$3.pid) > /dev/null
|
|
then
|
|
echo "1"
|
|
else
|
|
echo "0"
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
start-minetest )
|
|
((./mtm_db/worlds/$2/bin/minetestserver --logfile mtm_db/users/$2.slog --config mtm_db/worlds/$2/minetest.conf --world `pwd`/mtm_db/worlds/$2/worlds/world) & jobs -p > mtm_db/pids/$2.pid) &
|
|
|
|
sleep 10
|
|
|
|
./setcpulimit $(cat mtm_db/pids/$2.pid) $MAXLOAD > /dev/null &
|
|
|
|
mkdir -p mtm_db/worlds/$2/worlds/world/worldmods
|
|
;;
|
|
|
|
start-multicraft )
|
|
((./mtm_db/worlds/$2/bin/multicraftserver --logfile mtm_db/users/$2.slog --config mtm_db/worlds/$2/minetest.conf --world `pwd`/mtm_db/worlds/$2/worlds/world) & jobs -p > mtm_db/pids/$2.pid) &
|
|
|
|
sleep 20
|
|
|
|
./setcpulimit $(cat mtm_db/pids/$2.pid) $MAXLOAD > /dev/null &
|
|
|
|
mkdir -p mtm_db/worlds/$2/worlds/world/worldmods
|
|
;;
|
|
|
|
stopall )
|
|
killall minetestserver
|
|
killall multicraftserver
|
|
;;
|
|
stop )
|
|
kill -15 $(cat mtm_db/pids/$2.pid)
|
|
sleep 15
|
|
if ps -p $(cat mtm_db/pids/$2.pid) > /dev/null
|
|
then
|
|
kill -9 $(cat mtm_db/pids/$2.pid)
|
|
fi
|
|
;;
|
|
set-gamemode )
|
|
echo "gameid = $3" >> mtm_db/worlds/$2/worlds/world/world.mt
|
|
cp -a games/$3 mtm_db/worlds/$2/games/.
|
|
;;
|
|
del )
|
|
kill -9 $(cat mtm_db/pids/$2.pid)
|
|
rm -r mtm_db/worlds/$2
|
|
rm mtm_db/pids/$2.pid
|
|
echo "false" > mtm_db/users/$2.pid.statuscode
|
|
echo "<div style='display:inline;color:#ff0000;'>Stopped</div>" > mtm_db/users/$2.pid.status
|
|
;;
|
|
del-debug ) rm mtm_db/worlds/$2/debug.txt;;
|
|
mkmoddir ) mkdir mtm_db/worlds/$2/worlds/world/worldmods;;
|
|
* )
|
|
echo "Usage: machine {start-mini|start-large|status|stop|stopall} {_|html|return} [vm id]";;
|
|
esac
|