1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. wsok
    Небольшой фикс скрипта оповещения о статусе сервера. Бывает, что даже тот хост, на котором будет лежать сей скрипт, вдруг может упасть (мало ли бывает, профилактика сети и т.д.) Вот как раз, если идут работы с сетью в том ДЦ, где находится хост на котором лежит скрипт статуса сервера, при его выполнении, скрипт соответственно не будет видеть Ваш проверяемый сервер и ошибочно полагая, что он упал, будет отсылать оповещение, но так как само собой доступа к интернету нету у хоста (как я писал, вдруг профилактика, работ с сетью), то неотправленный емайл скорее всего попадет в очередь отправки и представляете сколько таких оповещений может накопиться в очереди? Когда сеть появится, ваш телефон сильно заспамит СМСками(особенно если интервал проверки 5 минут), что будто Ваш сервер упал (хотя это не так скорее всего). Как избежать ложных оповещений, если вдруг у хоста временно недоступна сеть? Внести в скрипт проверку на доступность интернета для хоста. <? $inet = @fsockopen("ya.ru", "80", $errno, $errstr, 1); if($inet){ $to = "[email protected],"; //указываем почтовый адрес от сервиса МТС, с указанием вашего номера телефона. $to .= "[email protected]"; //Дополнительный почтовый адрес, например обычная ваша почта, куда будет дублироваться уведомление, либо для подстраховки другой сервис СМС оповещения через емайл. $datez = date("Y-m-d G:i:s"); //Время отправки уведомления $subject ='=?utf-8?B?'. base64_encode ("SERVER PW OFF").'?='; $m = $datez." SERVER PW OFF"; $headers = "MIME-Version: 1.0 \r\n"; $headers .= "Content-type: text/html; charset='utf-8' \r\n"; $headers .= "From: [email protected]\r\n"; //Вписываем адрес отправителя, раз уж от лица сервера, то имя почты можно задать [email protected] $ip1="demo.ru"; //хост сервера IP или домен, например demo.ru $port1="29000"; // Порт проверяемой службы, например 29000, т.е. проверяем статус игрового сервера PW. $fp = @fsockopen($ip1, $port1, $errno, $errstr, 1); //коннектимся и получаем денные if(!$fp) mail($to, $subject, $m, $headers); //если ничего не получили, отсылаем оповещение. }else{ print "inet no connect!"; } ?> Как многие из вас заметили, в скрипте в самом начале мы делаем проверку на доступность всеми известного yandex.ru (ya.ru), он то 100% всегда работает, и если скрипт вдруг его не увидит, значит на сервере проблема с доступом к интернету и в таком случае исключены ложные проверки Вашего сервера, а скрипт выведет сообщение inet no connect!. Если интернет есть, соответственно скрипт проверит и как обычно оповестит, если ваш сервер упал.
    Сообщение от: wsok, 26 авг 2013 в разделе: PHP
  2. wsok
  3. wsok
  4. wsok
    Продолжая тему Botchal`a, хотелось бы несколько расширить полезность приведенного там скрипта, возможно кто то скажет "вот мол открыл Америку!", ну а кому то эта информация окажется полезной... И так! Многим администраторам своих серверов видимо хочется быть всегда в курсе того, что происходит с сервером и при его отказе быстро получать об этом извещение. Как вариант настроить СМС оповещение (хотя у тех, где покупаете сервер часто такую услугу дают и так, но обычно ведется общий мониторинг сервера, а не отдельные его службы, вроде игр), но к сожалению реально бесплатных смс-шлюзов я так и не нашел (сервисы с капчей отправки смс не в счет). Но немного подумав, вспомнил про почтовые сервисы с оповещением по СМС, таковые есть и в МТС, Билайн и других мобильных операторов, а так же есть почтовые сервисы позволяющие уведомлять о новой почте об смс (например на mail.ru). Ну, а так как я абонент МТС, то рассмотрим на примере подключение сервиса с этого мобильного оператора. Что для этого понадобится? 1. Собственно быть абонентом МТС. 2. Иметь доступ в личный кабинет mts.ru 3. Иметь мобильный аппарат конечно =) 4. Сам скрипт. 5. Крон (CRON) планировщик задач на хосте где будет выполнятся скрипт по расписанию. И так, идем в ЛК МТС, заходим там в интернет-помощник, а там выбираем управление услугами, наша цель там, подключить такую услугу: SMS to e-mail/e-mail to SMS [ATTACH] И так, разобрались, подключили услугу? Т.е. Отображается в списке подключенных услуг, как на скрине? если нет, тогда кликаем по ссылке +Подключить новые услуги и там ищем и подключаем такую услугу. Ну я думаю, Вы все же разобрались и подключили её. Пришло время настроить PHP скрипт: <? $to = "[email protected],"; //указываем почтовый адрес от сервиса МТС, с указанием вашего номера телефона. $to .= "[email protected]"; //Дополнительный почтовый адрес, например обычная ваша почта, куда будет дублироваться уведомление, либо для подстраховки другой сервис СМС оповещения через емайл. $datez = date("Y-m-d G:i:s"); //Время отправки уведомления $subject ='=?utf-8?B?'. base64_encode ("SERVER PW OFF").'?='; $m = $datez." SERVER PW OFF"; $headers = "MIME-Version: 1.0 \r\n"; $headers .= "Content-type: text/html; charset='utf-8' \r\n"; $headers .= "From: [email protected]\r\n"; //Вписываем адрес отправителя, раз уж от лица сервера, то имя почты можно задать [email protected] $ip1="demo.ru"; //хост сервера IP или домен, например demo.ru $port1="29000"; // Порт проверяемой службы, например 29000, т.е. проверяем статус игрового сервера PW. $fp = @fsockopen($ip1, $port1, $errno, $errstr, 1); //коннектимся и получаем денные if(!$fp) mail($to, $subject, $m, $headers); //если ничего не получили, отсылаем оповещение. ?> все, можем считать, что скрипт настроен, и залит на хост. Кстати, рекомендую конечно чекать(проверять) статус сервера с другого хоста, а не с самого сервера где установлен ваш игровой сервер, ведь если вдруг будут траблы с самим физическим сервером, то и оповещения не получите. Сейчас практически любой хостинг, даже самый недорогой поддерживает крон, оттуда можно и чекать. Приступим к настройке задания крона, я это делал в отдельном хосте через ISPmanager [ATTACH] Установим например 5 минут, т.е. каждые 5 минут крон будет обращаться к скрипту, а тот в свою очередь и будет делать проверку и отсылать оповещение при необходимости. Конечно, способ команды обращения к скрипту можете сделать и по другому, но я решил обратится к нему через wget. Все, оповещение настроено! Можете конечно проверить работу, указав в скрипте порт, который заведомо не используется ничем, соответственно и ответа скрипт с него не получит, зато Вы получите оповещение. PS: Как я уже говорил, есть немало сервисов по оповещению на СМС, через емайл. На mail.ru например можно завести специальный ящик для таких уведомлений на смс.
    Автор темы: wsok, 23 авг 2013, ответов - 1, в разделе: PHP
  5. wsok
  6. wsok
    Программа удобная, управление сервером очень удобно управлять, все как на ладони, я уверен программа будет пополнятся новыми функциями, в частности, хотелось бы видеть такие: 1. Проверка на существование аккаунтов (бывают момент, когда разные бекапы ставишь и получается много персонажей без аккаунтов, и новые игроки получают чужих персонажей) потому хотелось бы функцию вроде сканнера на наличие персов без акков, и выбор действия с ними, удалить, забанить и т.д. 2. На сервере заметили многих игроков с дабл скилами (когда кроме ад скиллов, умудряются учить ещё и рай умения), исходя из такого, хотелось бы увидеть функцию сброса умений по выбору (глобально, на определенные расы, на определенного персонажа) Еще раз спасибо за сей продукт.
    Сообщение от: wsok, 22 авг 2013 в разделе: Продам
  7. wsok
  8. wsok
    ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 28533 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 28534 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 28611 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 28612 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 28955 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 28956 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 29719 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 30349 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 30350 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 32766 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 35506 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 35507 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 35508 ЙѕіэБЛГ»УРЙъІъЕд·ЅµДІрЅв¶ФПу 36517 ЧФ¶ЇЖҐЕдБЛ2969ІрЅвЕд·Ѕ,БнУР267ёцЧ°±ёГ»УРїЙТФЖҐЕдµДЕд·Ѕ ґнОуµДіиОпКэѕЭЈ¬іиОпid:10584 ґнОуµДіиОпКэѕЭЈ¬іиОпid:32103 ґнОуµДіиОпКэѕЭЈ¬іиОпid:32104 ґнОуµДіиОпКэѕЭЈ¬іиОпid:32105 ЧЬ№ІјУИлБЛ80ёцПЎУРОпЖ· ЧЬ№ІґжФЪ693ёцИЛГс±ТОпЖ· LUAД_±ѕ°ж±ѕ102 іхКј»Ї gs01 їЄКјКАЅзВЯјіхКј»Ї... ОпЖ·24347ОЄК±Р§ОпЖ· ОпЖ·24346ОЄК±Р§ОпЖ· ОпЖ·24345ОЄК±Р§ОпЖ· ОпЖ·24344ОЄК±Р§ОпЖ· ОпЖ·24343ОЄК±Р§ОпЖ· ОпЖ·24342ОЄК±Р§ОпЖ· ОпЖ·24341ОЄК±Р§ОпЖ· ОпЖ·27052ОЄК±Р§ОпЖ· ОпЖ·26640ОЄК±Р§ОпЖ· ОпЖ·34733ОЄК±Р§ОпЖ·,№эЖЪК±јд1355954400 ОпЖ·35234ОЄК±Р§ОпЖ·,№эЖЪК±јд1346450400 ОпЖ·36845ОЄК±Р§ОпЖ·,№эЖЪК±јд1354312800 ОпЖ·37533ОЄК±Р§ОпЖ·,№эЖЪК±јд1370037600 іБГФµДИэёцК±јдІОКэОЄ2,4,5 ,іБГФ»Цёґ·ЅКЅОЄ:'РЭПўК±јдµЅґп' ·АіБД繦ДЬПµНіїЄЖф ·ґНв№ТіН·Ј№¦ДЬїЄЖф К№УГ±кЧј°ж±ѕДЪИЭ К№УГ±кЧј°ж±ѕДЪИЭ Tue Aug 20 12:54:42 2013 Starting world No.1 Л«±¶ѕСйК±јдГїЦЬЖрКјК±јдОЄ:РЗЖЪТ» 01:00 ЧКФґёщДїВј:'/home/PW/gamed/config/world/' Create grid: 800*800 with step 25.000000 Grid Region: {-10000.00,-10000.00} - {10000.00,10000.00} Loca (самый конец) Проблема мне кажется в npcgen.data Только понять не могу, где именно. elements.data (нормально грузит) - Стало такое, после очередной обновы npcgen.data конкретнее в логах GS смотрите, очень помогает.
    Сообщение от: wsok, 20 авг 2013 в разделе: Архив
  9. wsok
  10. wsok
  11. wsok
  12. wsok
  13. wsok
  14. wsok
    В общем, суть проблемы в том, что хеши md5 не хотят совпадать, хоть тресни... Хоть и все настроено как положено... Форма запроса платежа как и положено отправляет данные... $output .= "<div class=w1 align=center>Пополнение баланса <img src='' border=0> <div class=multiple3> <form method='POST' action='https://merchant.webmoney.ru/lmi/payment.asp'> <input style=\"width: 15%; height: 35px; font-size:20px;\" type='text' name='LMI_PAYMENT_AMOUNT' value=''> <input type='hidden' name='LMI_PAYMENT_DESC_BASE64' value='".base64_encode("Пополнение баланса для ".$mkportals->member['name'])."'> <input type='hidden' name='LMI_PAYMENT_NO' value='{$mkportals->member['id']}'> <input type='hidden' name='LMI_PAYEE_PURSE' value='R850275512100'>"; $output .= "</select><input style=\"width: 20%; height: 35px; font-size:20px;\" type=submit value='Пополнить'> </form></div></div>"; Все данные проходят и успешно оплата производится (с кошелька покупателя списывается, продавцу зачисляется), но вот хеши не совпадают. Собственно использую такой код для результ обработчика: <?php //кошелек на который будут перечислены средства $wm_purce = "R850275512100"; if( isset($_POST['LMI_PREREQUEST']) && $_POST['LMI_PREREQUEST'] == 1) { $sql = "SELECT id,price FROM orders WHERE id=".$_POST['LMI_PAYMENT_NO']; $result = mysql_query($sql); $rows = mysql_num_rows($result); if ( $rows != 1 ) { exit('Order not faund'); } else { $row = mysql_fetch_array($result); if($_POST['LMI_PAYMENT_NO'] == $row['id'] && $_POST['LMI_PAYEE_PURSE'] == $wm_purce && $_POST['LMI_PAYMENT_AMOUNT'] == $row['price']) { echo 'YES'; } else { exit(); } } } else { $LMI_SECRET_KEY = "Тут мой секретный ключ, идентичный тому что установил в настройках кошелька"; $sql = "SELECT id,price FROM orders WHERE id=".$_POST['LMI_PAYMENT_NO']; $result = mysql_query($sql); $rows = mysql_num_rows($result); if ( $rows != 1 ) { exit('Order not faund'); } else { $row = mysql_fetch_array($result); $str_hash = $wm_purce. $row['price']. $row['id']. $_POST['LMI_MODE']. $_POST['LMI_SYS_INVS_NO']. $_POST['LMI_SYS_TRANS_NO']. $_POST['LMI_SYS_TRANS_DATE']. $LMI_SECRET_KEY. $_POST['LMI_PAYER_PURSE']. $_POST['LMI_PAYER_WM']; $str_hash = strtoupper(md5($str_hash)); if($str_hash == $_POST['LMI_HASH']) { //обновляем статус заказа - оплачен и //отправляем пользователю письмо о том что его оплата прошла. } else { exit(); } } } ?> Решил в код добавить запись в файл, чтобы понять, что действительно хеши разные $str_hash = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].$_POST['LMI_SYS_TRANS_DATE'].$LMI_SECRET_KEY.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM']; $str_hash = strtoupper(md5($str_hash)); $fp = fopen("t.txt", "a"); $mytext = $str_hash." - ".$_POST['LMI_HASH']."\r\n"; fwrite($fp, $mytext); fclose($fp); if($str_hash == $_POST['LMI_HASH']) { //обновляем статус заказа - оплачен и //отправляем пользователю письмо о том что его оплата прошла. } как видно из кода, весь порядок генерации хеша мною соблюден, но хеши получаются разные, это видно из файла Слева от дефиса хеш сгенерирован согласно тому порядку, что взят из официального источника, слева хеш, который присылает система, и как видно он совсем другой. В чем дело? F815E4EBB45A559431983B4E9DA1F60F - F38F2CFEC237D2E5C4CEE4B4A6E116C1 5298C17D649459D7310CDC3A7AE2E34A - 8917A7F68F92042C5163CF2B24258A49 398643F6AA5DCDB5428C3E5A8D3F16F0 - 4BC6C192CEAE2E3188C170DE0A5DEA98 197FA3A4061B44FA67268387ADB21FBC - 437169ED3EE0BB1BBB83A0AE4FB60E2F 183674E7ECB524C4B1420B6EEB69739F - 87572CF7BF952F383EF31669F63BF074 9393573DEAD6C63AD1B2FCB563BE8D32 - 898EC43A5857E35A626E7767058A2592
    Автор темы: wsok, 7 авг 2013, ответов - 5, в разделе: PHP
  15. wsok
  16. wsok
  17. wsok
  18. wsok
  19. wsok
  20. wsok