Created
January 13, 2013 20:16
-
-
Save evoL/4525968 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 | |
#### CONFIG | |
MC_PATH=/home/minecraft | |
SCREEN_NAME="minecraft" | |
USERNAME="minecraft" | |
MEMALLOC=512 | |
JAR_NAME="craftbukkit.jar" | |
WORLD_NAME="world" | |
#### END OF CONFIG | |
if [ -e $MC_PATH/server.log.lck ] | |
then | |
ONLINE=1 | |
else | |
ONLINE=0 | |
fi | |
display() { | |
# screen -R $SCREEN_NAME | |
sudo -u $USERNAME tmux attach -t $SCREEN_NAME | |
} | |
server_start() { | |
echo "Starting Minecraft..." | |
cd $MC_PATH | |
# screen -m -d -S $SCREEN_NAME java -Xmx${MEMALLOC}M -Xms${MEMALLOC}M -jar craftbukkit-1.1-R3.jar nogui | |
sudo -u $USERNAME tmux new-session -d -n $SCREEN_NAME -s $SCREEN_NAME "java -Xmx${MEMALLOC}M -Xms${MEMALLOC}M -jar ${JAR_NAME} nogui" | |
sleep 1 | |
} | |
server_stop() { | |
echo "Stopping Minecraft..." | |
# screen -S $SCREEN_NAME -p 0 -X stuff "`printf "stop.\r"`" | |
sudo -u $USERNAME tmux send -t $SCREEN_NAME stop ENTER | |
sleep 5 | |
} | |
if [ $# -gt 0 ] | |
then | |
case $1 in | |
"status") | |
if [ $ONLINE -eq 1 ] | |
then | |
echo "Minecraft seems to be ONLINE." | |
else | |
echo "Minecraft seems to be OFFLINE." | |
fi;; | |
"start") | |
if [ $ONLINE -eq 1 ] | |
then | |
echo "Minecraft is already running." | |
case $2 in | |
"-f") | |
sudo -u $USERNAME kill `ps -e | grep java | cut -d " " -f 1` | |
sudo -u $USERNAME rm -rf $MC_PATH/*.log.lck 2> /dev/null;; | |
esac | |
else | |
server_start | |
fi;; | |
"stop") | |
if [ $ONLINE -eq 1 ] | |
then | |
server_stop | |
else | |
case $2 in | |
"-f") | |
sudo -u $USERNAME kill `ps -e | grep java | cut -d " " -f 1` | |
sudo -u $USERNAME rm -rf $MC_PATH/*.log.lck 2> /dev/null;; | |
*) | |
echo "Minecraft is already offline." | |
esac | |
fi;; | |
"restart") | |
if [ $ONLINE -eq 1 ] | |
then | |
server_stop | |
fi | |
server_start;; | |
"display") | |
display;; | |
*) | |
echo "Usage: minecraft [<status | start [-f] | stop [-f] | restart | display>]"; | |
esac | |
else | |
echo "Usage: minecraft [<status | start [-f] | stop [-f] | restart | display>]" | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment