#!/usr/bin/perl ### BEGIN INIT INFO # Provides: minetest # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Minetest service 1.0 # Description: Minetest service 1.0 # Documentation: https://minecity.online/index.php/forum/startup-scripts # Type: forking # X-Interactive: false ### END INIT INFO # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 1, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. my $MINETESTDIR = "/home/mtowner/minetest"; my $Command = $ARGV[0]; if ($Command eq "") { $Command = "NONE"; } my $running=`ps ax|grep minetestserver|grep -v grep`; if ($Command eq "start") { if ($running eq "") { print "Starting Minetest...\n"; if (-f "$MINETESTDIR/nostart") { print "Removing $MINETESTDIR/nostart\n"; # Remove the lock file if it exists unlink("$MINETESTDIR/nostart"); } # Start the screen process system("nohup $MINETESTDIR/startminetest > /tmp/MinetestStartup.log\&"); } } elsif ($Command eq "stop") { print "Stopping Minetest process...\n"; system("touch '$MINETESTDIR/nostart'"); if ($running ne "") { # Process is running, kill it system("killall minetestserver"); } } elsif ($Command eq "restart") { if (-f "$MINETESTDIR/nostart") { print("Removing $MINETESTDIR/nostart\n"); unlink("$MINETESTDIR/nostart"); } if ($running ne "") { system("killall minetestserver"); } } elsif ($Command eq "status") { if ($running ne "") { print("Minetest Server Running\n"); } else { print("Minetest Server Not Running\n"); } } else { print ("Uknown command '$Command'\n"); print ("Usage: $0 {start|status|stop|restart}\n"); exit(1); } exit(0);