Created
March 15, 2013 11:52
-
-
Save achimnol/5169375 to your computer and use it in GitHub Desktop.
An upstart configuration for Minecraft and mcbot (https://github.com/achimnol/mcbot) daemonization
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
description "Minecraft Chatting Bot Daemon" | |
start on started minecraft | |
stop on stopping minecraft | |
chdir /home/daybreaker/minecraft/bin/mcbot | |
console log | |
pre-start script | |
sleep 1 | |
end script | |
exec python bot.py <YOUR-IRC-SERVER> <YOUR-IRC-PORT> <BOT-NICK> "#<YOUR-CHANNEL>" ipc:///home/daybreaker/minecraft/mc_server.stdout.sock ipc:///home/daybreaker/minecraft/mc_server.stdin.sock | |
# vim: ft=upstart |
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
description "Minecraft Daemon" | |
start on (local-filesystems and net-device-up IFACE!=lo) | |
stop on runlevel [!2345] | |
chdir /home/daybreaker/minecraft | |
env MCPATH=/home/daybreaker/minecraft | |
env ZMQ=/home/daybreaker/minecraft/bin/0proxy | |
console log | |
pre-start script | |
rm -f stdin.fifo | |
rm -f stdout.fifo | |
mkfifo stdin.fifo | |
mkfifo stdout.fifo | |
chmod 600 *.fifo | |
$ZMQ -i ipc://$MCPATH/mc_server.stdin.sock > stdin.fifo & | |
stdin_0proxy_pid=$! | |
echo $stdin_0proxy_pid > 0proxy.stdin.pid | |
$ZMQ -o ipc://$MCPATH/mc_server.stdout.sock < stdout.fifo & | |
stdout_0proxy_pid=$! | |
echo $stdout_0proxy_pid > 0proxy.stdout.pid | |
sleep 1 | |
end script | |
script | |
exec 2>stdout.fifo | |
exec >stdout.fifo | |
exec java -Xms1024M -Xmx1536M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -Djava.net.preferIPv4Stack=true -Dfile.encoding=1208 -jar minecraft_server.jar nogui < stdin.fifo | |
end script | |
pre-stop script | |
echo 'save-all' > stdin.fifo | |
sleep 1 | |
end script | |
post-stop script | |
{ | |
stdin_0proxy_pid=`cat 0proxy.stdin.pid` | |
stdout_0proxy_pid=`cat 0proxy.stdout.pid` | |
kill $stdin_0proxy_pid | |
kill $stdout_0proxy_pid | |
} & | |
sleep 2 | |
rm -f *.pid | |
rm -f *.fifo | |
end script | |
# vim: ft=upstart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment