Major updates
parent
7d0b86e026
commit
9476e7f364
65
mmc
65
mmc
|
@ -11,6 +11,7 @@ use Number::Bytes::Human qw(format_bytes parse_bytes);
|
||||||
my $FileEditor = "/bin/nano";
|
my $FileEditor = "/bin/nano";
|
||||||
my $InitDName = "/etc/init.d/minetest";
|
my $InitDName = "/etc/init.d/minetest";
|
||||||
my $MINETESTDIR = "/root/minetest";
|
my $MINETESTDIR = "/root/minetest";
|
||||||
|
my $MINEHOME = "/root";
|
||||||
my $BackupCommand = "/root/MineBackup/minebackup.pl";
|
my $BackupCommand = "/root/MineBackup/minebackup.pl";
|
||||||
my $PagerCommand = "/usr/bin/less";
|
my $PagerCommand = "/usr/bin/less";
|
||||||
my $Logfile = "/root/minetest/debug.txt";
|
my $Logfile = "/root/minetest/debug.txt";
|
||||||
|
@ -19,6 +20,7 @@ my $MinetestConf = "/root/minetest/minetest.conf";
|
||||||
my $MinetestWorld = "/root/minetest/worlds/world/world.mt";
|
my $MinetestWorld = "/root/minetest/worlds/world/world.mt";
|
||||||
my $BACKUP_DIR = "/root/backups";
|
my $BACKUP_DIR = "/root/backups";
|
||||||
my $RestoreCommand = "tar xvzf";
|
my $RestoreCommand = "tar xvzf";
|
||||||
|
my $DEBUG_MODE = "off";
|
||||||
|
|
||||||
###################################################
|
###################################################
|
||||||
# No changes below here
|
# No changes below here
|
||||||
|
@ -39,6 +41,21 @@ if ($ENV{'EDITOR'})
|
||||||
$FileEditor = $ENV{'EDITOR'};
|
$FileEditor = $ENV{'EDITOR'};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $menuselection = "";
|
||||||
|
|
||||||
|
sub PrintDebugCommand
|
||||||
|
{
|
||||||
|
if ($DEBUG_MODE eq "off")
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
my $PassedString = shift;
|
||||||
|
print "About to run:\n$PassedString\n";
|
||||||
|
print "Press Enter To Run This:";
|
||||||
|
my $entered = <STDIN>;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
my $d = new UI::Dialog ( backtitle => "Minetest Management Console v$MMC_ver", height => 20, width => 65, listheight => 5,
|
my $d = new UI::Dialog ( backtitle => "Minetest Management Console v$MMC_ver", height => 20, width => 65, listheight => 5,
|
||||||
order => [ 'ascii', 'cdialog', 'xdialog' ]);
|
order => [ 'ascii', 'cdialog', 'xdialog' ]);
|
||||||
|
|
||||||
|
@ -112,6 +129,10 @@ if (-f $MySettings)
|
||||||
{
|
{
|
||||||
$RestoreCommand = $Setting;
|
$RestoreCommand = $Setting;
|
||||||
}
|
}
|
||||||
|
if ($Command eq "minehome")
|
||||||
|
{
|
||||||
|
$MINEHOME = $Setting;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
close($FH);
|
close($FH);
|
||||||
}
|
}
|
||||||
|
@ -124,19 +145,17 @@ else
|
||||||
print $FH "minetestdir=$MINETESTDIR\n";
|
print $FH "minetestdir=$MINETESTDIR\n";
|
||||||
print $FH "backupcommand=$BackupCommand\n";
|
print $FH "backupcommand=$BackupCommand\n";
|
||||||
print $FH "pagercommand=$PagerCommand\n";
|
print $FH "pagercommand=$PagerCommand\n";
|
||||||
print $FH "logfile=$LogFile\n";
|
print $FH "logfile=$Logfile\n";
|
||||||
print $FH "playerdir=$PlayersDir\n";
|
print $FH "playerdir=$PlayersDir\n";
|
||||||
print $FH "minetestconf=$MINETESTDIR/minetest.conf\n";
|
print $FH "minetestconf=$MINETESTDIR/minetest.conf\n";
|
||||||
print $FH "minetestworld=$MINETESTDIR/worlds/world/world.mt\n";
|
print $FH "minetestworld=$MINETESTDIR/worlds/world/world.mt\n";
|
||||||
print $FH "debugmode=$DEBUG_MODE\n";
|
print $FH "debugmode=$DEBUG_MODE\n";
|
||||||
print $FH "backupdir=$BACKUP_DIR\n";
|
print $FH "backupdir=$BACKUP_DIR\n";
|
||||||
print $FH "restorecommand=$RestoreCommand\n";
|
print $FH "restorecommand=$RestoreCommand\n";
|
||||||
|
print $FH "minehome=$MINEHOME\n";
|
||||||
close($FH);
|
close($FH);
|
||||||
}
|
}
|
||||||
|
|
||||||
my $menuselection = "";
|
|
||||||
|
|
||||||
|
|
||||||
sub CheckServerStatus
|
sub CheckServerStatus
|
||||||
{
|
{
|
||||||
my $running=`ps ax|grep minetestserver|grep -v grep`;
|
my $running=`ps ax|grep minetestserver|grep -v grep`;
|
||||||
|
@ -200,7 +219,7 @@ sub GetWhichBackup
|
||||||
#Ask user which one
|
#Ask user which one
|
||||||
while(-1)
|
while(-1)
|
||||||
{
|
{
|
||||||
print "Restore which backup? (1-5): ";
|
print "Restore which backup? (1-5) or \"quit\": ";
|
||||||
my $Chosen = <STDIN>;
|
my $Chosen = <STDIN>;
|
||||||
chop ($Chosen);
|
chop ($Chosen);
|
||||||
if ((lc($Chosen) eq "q") || (lc($Chosen) eq "quit") || ($Chosen eq ""))
|
if ((lc($Chosen) eq "q") || (lc($Chosen) eq "quit") || ($Chosen eq ""))
|
||||||
|
@ -224,8 +243,6 @@ sub DoRestore
|
||||||
if ($WhichBackup eq "")
|
if ($WhichBackup eq "")
|
||||||
{
|
{
|
||||||
print "No backup selected\n";
|
print "No backup selected\n";
|
||||||
print "Press Enter To Continue";
|
|
||||||
my $entered = <STDIN>;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
print "Using backup $WhichBackup...\n";
|
print "Using backup $WhichBackup...\n";
|
||||||
|
@ -234,28 +251,28 @@ sub DoRestore
|
||||||
PrintDebugCommand("touch $MINETESTDIR/nostart");
|
PrintDebugCommand("touch $MINETESTDIR/nostart");
|
||||||
system("touch $MINETESTDIR/nostart");
|
system("touch $MINETESTDIR/nostart");
|
||||||
# Kill the server process
|
# Kill the server process
|
||||||
print "Killing SBBS process, please wait...";
|
print "Killing Minetest process, please wait...\n";
|
||||||
KillBBS();
|
system("killall /root/minetest/bin/startminetest");
|
||||||
sleep(10);
|
sleep(5);
|
||||||
# Create new folder
|
# Create new folder
|
||||||
print "Creating new folder, please wait...";
|
print "Creating new folder, please wait...";
|
||||||
PrintDebugCommand("mkdir $MINETESTDIR-new");
|
PrintDebugCommand("mkdir $MINEHOME-new");
|
||||||
system("mkdir $MINETESTDIR-new");
|
system("mkdir $MINEHOME-new");
|
||||||
PrintDebugCommand("touch $MINETESTDIR-new/nostart");
|
PrintDebugCommand("touch $MINEHOME-new/nostart");
|
||||||
system("touch $MINETESTDIR-new/nostart");
|
system("touch $MINEHOME-new/nostart");
|
||||||
# Swap folders
|
# Swap folders
|
||||||
print "Swapping folders, please wait...";
|
print "Swapping folders, please wait...";
|
||||||
PrintDebugCommand("mv $MINETESTDIR $MINETESTDIR-keep");
|
PrintDebugCommand("mv $MINEHOME/minetest $MINEHOME/minetest-keep");
|
||||||
system("mv $MINETESTDIR $MINETESTDIR-keep");
|
system("mv $MINEHOME/minetest $MINEHOME/minetest-keep");
|
||||||
PrintDebugCommand("mv $MINETESTDIR-new $MINETESTDIR");
|
PrintDebugCommand("mv $MINEHOME/minetest-new $MINEHOME/minetest");
|
||||||
system("mv $MINETESTDIR-new $MINETESTDIR");
|
system("mv $MINEHOME-new $MINETESTDIR");
|
||||||
PrintDebugCommand("rm -r $MINETESTDIR-keep");
|
PrintDebugCommand("rm -r $MINEHOME/minetest-keep");
|
||||||
system("rm -r $MINETESTDIR-keep");
|
system("rm -r $MINEHOME/minetest-keep");
|
||||||
|
|
||||||
# Do the restore
|
# Do the restore
|
||||||
chdir ("/");
|
chdir ($MINEHOME);
|
||||||
PrintDebugCommand("$RESTORE_COMMAND $BACKUP_DIR/syncbackup-$WhichBackup.tgz");
|
PrintDebugCommand("$RestoreCommand $BACKUP_DIR/minebackup-$WhichBackup.tgz");
|
||||||
system("$RESTORE_COMMAND $BACKUP_DIR/syncbackup-$WhichBackup.tgz");
|
system("$RestoreCommand $BACKUP_DIR/minebackup-$WhichBackup.tgz");
|
||||||
unlink("$MINETESTDIR/nostart");
|
unlink("$MINETESTDIR/nostart");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,7 +347,7 @@ while (-1)
|
||||||
{
|
{
|
||||||
system("$InitDName stop");
|
system("$InitDName stop");
|
||||||
sleep(5);
|
sleep(5);
|
||||||
system("killall startminetest");
|
system("killall /root/minetest/bin/startminetest");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif ($menuselection eq "3")
|
elsif ($menuselection eq "3")
|
||||||
|
|
Loading…
Reference in New Issue