Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Скрипт удаленной перезагрузки сервера. - Форум

  • Сторінка 1 з 1
  • 1
Скрипт удаленной перезагрузки сервера.
DarkensandДата: Середа, 16.03.2011, 17:37 | Сообщение # 1



Darkensand
Главный Админ
Лучший из лучших
Группа: Администратор
Сообщений: 8083



Оффлайн
Эта функция выполняет команду, заданную пользователем. Этот скрипт просто для удобства!

1. Создаете файл .php и заливаете

Code
перезагрузки серверной машины в случае сбоя в ОС.      
       
*/      
//--------------------------------      
//--------------------------------      
//--------------------------------     
//-- логин и пароль для доступа к скрипту:     
$login="";    
$pass="";    
//-- база:     
$dbhost="127.0.0.1";    
$dbuser="root";    
$dbpass="***";    
$db="realmd";    
$ipadmin = array(    
//--- Сдесь хранятся IP админов и игроков, которым разрешен доступ    
//-- ниже приведены 2 примера:    
"",    
"127.0.0.1", // admin      
);    
//--- Сдесь хранятся URL страницы форума и главной страницы вашего сайта    
$refresh="";    
$forum="";    
//--- Сдесь хранится адрес дерриктории ядра mangos    
$derrictory="c:\Mangos";    
//---------------------------------      
// Начало проверки IP, которым разрешен доступ      
//---------------------------------     
if (!in_array(getenv('REMOTE_ADDR'), $ipadmin)) {header("Location: $refresh"); exit();}    
//---------------------------------      
// конец проверки IP      
//---------------------------------      
//---------------------------------      
//--- Начало проверки по логину и пассу      
//---------------------------------     
if ($login!==false && (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!=$login || $_SERVER['PHP_AUTH_PW']!=$pass))    
       {    
       header("WWW-Authenticate: Basic realm=\"Vash IP proshel proverku. Teperi vvedite login i paroli.\"");    
       header("HTTP/1.0 401 Unauthorized");    
//---------------------------------      
//здесь заканчиваетя проверка на IP, если IP не совпал, то он перемещается на главную страницу //сайта      
//---------------------------------     
       exit("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL={$refresh}\"><h1>Сейчас вы будете перенесены на главную страницу.</h1>\n");    
       }    
       
$act =@$_GET["act"];    
//---------------------------------      
//--- Конец проверки по логину и пассу      
//---------------------------------     
//---------------------------------      
//--- Начало построения страницы      
//---------------------------------       
?>    
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">     
<style type="text/css">     
.btndepp{    
     width: 100px;    
     font-size: 19px;    
     color: black;    
     text-align:center;    
     border:5px solid blue;    
     background-color: black;    
     margin:0;    
}    
body {background-color: 000000;}    
BODY, TD {    
font-family : VERDANA ;    
font-size : 19px;    
color: darkviolet;     
}    
       
A {    
text-decoration: none;    
color: darkviolet;    
}    
       
A:Hover {    
text-decoration: underline;    
color: blue;    
}    
</style>    
<h1><FONT COLOR="blue">Панель помошника администратора WoW <FONT COLOR="red">sarsen</FONT></FONT></h1>    
<hr>    
<A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>">Панель действий</A> | <A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=log">Лог</A> | <A HREF="<?php print $refresh; ?>" target="_blank">Главная страница</A> | <A HREF="<?php print $forum; ?>" target="_blank">Форум</A>    
<hr>    
<?php    
//---------------------------------      
//--- Главная страница действий      
//---------------------------------     
if (!isset($act))    
{    
?>    
<font color=red><B>    
Все действия фиксируются! Убедитесь перед тем как убивать сервер, что он в дауне или висит!<BR>    
Проверьте <A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=log">Лог</A> - сервер могли уже убить.    
</B></font><BR>    
<BR>    
<A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=km" class="btndepp">Убить TrinityCore.exe</A> - Убивает процесс TrinityCore.exe, если TrinityCore.exe "повис" или "в дауне".    
<BR><BR>    
<A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=kr" class="btndepp">Убить TrinityRealm.exe</A> - Убивает процесс TrinityRealm.exe, если TrinityRealm.exe "повис" или "в дауне".    
<BR><BR>    
<A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=sm" class="btndepp">Запустить TrinityCore.exe</A> - Запускает TrinityCore.exe, если TrinityCore.exe не запущен. Используйте, если сработало действие "Убить TrinityCore.exe" или сервер не запущен.     
<BR><BR>    
<A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=sr" class="btndepp">Запустить TrinityRealm.exe</A> - Запускает TrinityRealm.exe, если TrinityRealm.exe не запущен. Используйте, если сработало действие "Убить TrinityRealm.exe" или сервер не запущен.    
<BR><BR>    
<A HREF="<?php print $_SERVER["SCRIPT_NAME"]; ?>?act=rc" class="btndepp">Перезагрузить компьютер</A> - клавиша перегружает компьютер.    
<?php    
}    
//---------------------------------      
//--- Коннект к базе      
//---------------------------------     
$ms = mysql_connect($dbhost,$dbuser,$dbpass) or die(__LINE__." - Нет связи с БД");    
if (mysql_get_server_info()>"4.1")    
                       mysql_unbuffered_query("SET NAMES cp1251");    
mysql_select_db($db,$ms) or die(__LINE__."<BR>Нет базы ".DB);    
chdir ($derrictory);    
//---------------------------------      
//--- Функции вывода из зависания     
//---------------------------------     
function killmangosd() {shell_exec("taskkill /F /IM TrinityCore.exe /T");}    
function killrealmd() {shell_exec("taskkill /F /IM TrinityRealm.exe /T");}    
function startmangosd() {shell_exec("taskkill /F /IM TrinityCore.exe /T");shell_exec("start TrinityCore.exe");}    
function startrealmd() {shell_exec("taskkill /F /IM TrinityRealm.exe /T");shell_exec("start TrinityRealm.exe");}     
function restartcomp() {shell_exec("shutdown -r -t 1");}    
//---------------------------------     
//--- Вывод из зависания и лог доступа    
//---------------------------------     
if ($act=='km')    
       {    
       killmangosd();    
       $date=time();    
       $actfix=mysql_query("INSERT INTO `helpers` VALUES ('', '$_SERVER[REMOTE_ADDR]', '$date', '1');");     
       if ($actfix==1) {print "<BR><BR><font color=green><B>Действие \"Убить TrinityCore.exe\" зафиксировано.</B></font>";}     
       else { print "<BR><BR><font color=red><B>Действие \"Убить TrinityCore.exe\" не поможет, так как слетела база MySQL. Перегрузите компьютер.</B></font>"; }    
       }    
if ($act=='kr')    
       {    
       killrealmd();    
       $date=time();    
       $actfix=mysql_query("INSERT INTO `helpers` VALUES ('', '$_SERVER[REMOTE_ADDR]', '$date', '2');");     
       if ($actfix==1) {print "<BR><BR><font color=green><B>Действие \"Убить TrinityRealm.exe\" зафиксировано.</B></font>";}     
       else { print "<BR><BR><font color=red><B>Действие \"Убить TrinityRealm.exe\" не поможет, так как слетела база MySQL. Перегрузите компьютер.</B></font>"; }    
       }    
       
if ($act=='sm')    
       {    
       startmangosd();    
       $date=time();    
       $actfix=mysql_query("INSERT INTO `helpers` VALUES ('', '$_SERVER[REMOTE_ADDR]', '$date', '3');");     
       if ($actfix==1) {print "<BR><BR><font color=green><B>Действие \"Запустить TrinityCore.exe\" зафиксировано.</B></font>";}     
       }    
       
if ($act=='sr')    
       {    
       startrealmd();    
       $date=time();    
       $actfix=mysql_query("INSERT INTO `helpers` VALUES ('', '$_SERVER[REMOTE_ADDR]', '$date', '4');");     
       if ($actfix==1) {print "<BR><BR><font color=green><B>Действие \"Запустить TrinityRealm.exe\" зафиксировано.</B></font>";}     
       }    
       
if ($act=='log') {    
       $sqlview=mysql_query("SELECT * FROM `helpers` ORDER BY `date` DESC LIMIT 10;");    
       if ($sqlview)    
       {    
       
if ($act=='rc')    
       {    
       restartcomp();    
       $date=time();    
       $actfix=mysql_query("INSERT INTO `helpers` VALUES ('', '$_SERVER[REMOTE_ADDR]', '$date', '5');");     
       if ($actfix==1) {print "<BR><BR><font color=green><B>Действие \"Перезагрузить компьютер\" зафиксировано.</B></font>";}     
       }    
?>    
<U><B>Лог действий</B></U> <font size="2"><I>(показано 10 последних)</I></font><U><B>:</B></U>    
       <TABLE width=350 cellpadding=0 cellspacing=0 border=0>    
           <TR><td>IP:</td><TD>Дата</TD><TD>Действие</TD></tr>    
<?php    
           while ($row = mysql_fetch_array($sqlview, MYSQL_ASSOC))    
               {    
               $show_date=date("d/m/Y - H:i:s", $row['date']);    
               switch ($row["act"])    
               {    
                   case "1": $action = "Убить TrinityCore.exe"; break;    
                   case "2": $action = "Убить TrinityRealm.exe"; break;    
                   case "3": $action = "Запустить TrinityCore.exe"; break;    
                   case "4": $action = "Запустить TrinityRealm.exe"; break;    
                   case "5": $action = "<font color=\"#993333\">Перезагрузка компьютера</font>"; break;    
               }    
               echo ("<tr>    
                       <TD width=100><font face=arial size=1>".$row["IP"]."</font></TD>    
                       <TD width=150><font face=arial size=1>".$show_date."</font></TD>    
                       <TD width=200><font face=arial size=1>".$action."</font></TD>    
                   </tr>"    
                   );    
               }    
?>    
       </TABLE>    
<?php    
       }    
else    
           {    
               print "<center><font color=red>Ошибка извлечения информации из базы данных!</font></center>";    
               echo("<BR>Ошибка: ".mysql_error()."!");    
           }    
       }    
mysql_close();    
//---------------------------------      
//--- Конец вывода из зависания и лога      
//---------------------------------     
//---------------------------------      
//--- конец построения документа:      
//---------------------------------     
?>    
<BR><BR>    
<center><font size=1>WoW © 2009</font></center>

Редактируете под себя !

Далее льем в базу realmd

Code
CREATE TABLE `helpers` (   
     `id` int(6) NOT NULL auto_increment,   
     `IP` varchar(15) NOT NULL,   
     `date` int(10) NOT NULL,   
     `act` int(1) NOT NULL,   
     PRIMARY KEY  (`id`)   
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

Все готово!

 
MuxaДата: Вівторок, 12.04.2011, 13:07 | Сообщение # 2



Muxa
Капрал
Группа: Пользователи
Сообщений: 50

Замечания:

Оффлайн
С одной стороны нормально, а вот с другой плохо потому как очень легко так сервер вскрыть!
 
LolkeeSДата: Вівторок, 12.04.2011, 14:10 | Сообщение # 3



LolkeeS
Когда истина убивает
Центурион
Группа: V.I.P
Сообщений: 388

Замечания:

Оффлайн
Молодец.


 
[FaNaT1K]Дата: П`ятниця, 15.04.2011, 19:18 | Сообщение # 4



[FaNaT1K]
Fan Guf_ZM Nation™
Командир
Группа: V.I.P
Сообщений: 638

Замечания:

Оффлайн
норма....толькоб побольше описал))



Мечтаете о собственном проекте?!
 
DreadlolДата: Неділя, 17.04.2011, 12:07 | Сообщение # 5



Dreadlol
Скаут
Группа: V.I.P
Сообщений: 1419

Замечания:

Оффлайн
HeisenBeRG, Молодец, хороший скрипт.
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2025 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz