Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [1.1|0.2 + RSS]MCWLauncher (Web-часть)

danilko

Старожил
Пользователь
Баллы
103
Ну вот я и выкладываю web-часть для "кусочного" скачивания клиента с сайта.

Тему пока не обновил, версия 1.1 прикреплена к посту, настройка анологична, позже обновлю тему и все распишу

Перейдем сразу к делу.
Настройки скрипта(config.php):
client_dir - папка с клиентом (распакованным client.zip), можно не менять.
cache_dir - папка с кешем (кешированные блоки), можно не менять.
block_size - размер 1 блока(по умолчанию 1 МБайт), тут нужно сбалансировать, при слишком маленьких значениях лаунчер посылает много запросов и так можно случайно заддосить сайт, при слишком больших значениях кеш может занять много места на диске, лучше использовать размер по умолчанию.
cache_enabled - использовать кеш или нет. можно отключить, если вы не хотите, чтобы создавался кеш.(сэкономит дисковое пространство за счет уменьшения времени отклика) ПРИ ИЗМЕНЕНИИ ЭТОГО ПАРАМЕТРА ОБЯЗАТЕЛЬНО ЧИСТИТЬ КЕШ СКРИПТА

Создание кеша:
  1. После загрузки скрипта на сайт открываем download.php в браузере, если вы увидете только надпись "err", значит все ОК.
  2. Далее закидываем содержимое client.zip в папку client (client_dir)
  3. Удаляем папку "cache", если таковая имеется (мало ли что там лишнего)
  4. Настраиваем лаунчер (см. ниже) и запускаем скачивание
Если у вас хостинг с ограничением по нагрузке на процессор (напр. hostinger), то при создании кеша нужно следить за нагрузкой на сервер и при приближении к максимуму убивать процесс лаунчера (при закрытии окна процесс завершится только после окончания загрузки), хотя можно и не следить, но тогда сайт может быть закрыт на некоторое время, при этом лаунчер будет ждать пока сайт снова станет доступен. А лучше по возможности создать кеш на локальной машине, а позже закинуть на сайт.

Настройка лаунчера:
Находим строчку вида "launcher.startDownload('http://mcwl.esy.es/server/',1,'HTTP_MT');" в страничке-дизайне, где http://mcwl.esy.es/server/ меняем на путь до папки с файлом download.php (наличие http:// в начале и / в конце обязательно ), а 1 меняем на id вашего сервера (с сайта mcwl.esy.es, позже и ссылки на скачивание тоже будут браться оттуда, нужен будет тольк id сервера и режим скачивания), режим ("HTTP_MT") в нашем случае менять не надо.
Далее нужно убедиться, что лаунчер настроен верно (в id.txt верный id лаунчера и все ссылки верны)
Вот и все, нужнае файлы лежат в прикрепленном архиве, если возникнут вопросы - задавайте их ниже.

Настраиваем импорт новостей по RSS. (По умолчанию всего 5 новостей, длина "кратой новости" 80 символов, пока обрезка идет "тупая", позже сделаю чтоб до конца предложения или хотя-бы слова обрезало)
В архиве должен быть файл news.php, если его нет, то создаем новый.
Далее убираем все, что есть в этом файле и вставляем туда следующий код:
PHP:
<?php
$rss_link = "http://www.vesti.ru/vesti.rss";
$rss_mode = false;
if($rss_mode){
$news = array(
    array("title"=>"Пробная новость 1","content"=>"Содержимое пробной новости"),
    array("title"=>"Пробная новость 2","content"=>"Содержимое пробной новости"),
    array("title"=>"Пробная новость 3","content"=>"Содержимое пробной новости"),
    array("title"=>"Пробная новость 4","content"=>"Содержимое пробной новости")
);
$ret = "";
foreach($news as $post){

    ob_start();
    eval("?><h3><?=\$post['title'];?></h3><p><?=\$post['content'];?></p><a href=\"#\">Подробнее</a>");
    $ret .= ob_get_clean();//str_replace("'","&#8242;",str_replace('"',"&#8243;",ob_get_clean()));

}

?>
}else{
$xml = xml_parser_create();
xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($xml, file_get_contents($rss_link), $el, $fe);
xml_parser_free($xml);
//print_r($fe);
//print_r($el);
ob_start();
for($i=0; $i<5; $i++){
   $m = $fe['ITEM'][$i];
   $title = $el[$m+1]['value'];
   $link = $el[$m+2]['value'];
   $time = $el[$m+4]['value'];
   $desc = mb_substr( $el[$m+3]['value'], 0, 80, 'UTF-8');
   //echo '<br/><strong>'.$title.'</strong> <br/>['.$time.']<br/>'.$desc.'<br/><a href="'.$link.'">читать...</a>';
   echo "<h3>".$title."</h3><p>".$desc."</p><a href='".$link."'>Подробнее<a>";
}
$ret .= ob_get_clean();
}
?>

<script>
parent.document.getElementById("news").innerHTML = '<div style="position: inherit; height: inherit; overflow:auto" onmousedown="canmove = false;" onmouseup="canmove = true;"><?=$ret?></div>';
</script>
Для включения импорта rss заменяем "$rss_mode = false;" на "$rss_mode = true;" и на место "http://www.vesti.ru/vesti.rss" вставляете ссылку на нужный rss канал, после этого в оформлении лаунчера меняем ссылку с "http://mcwl.esy.es/server/news.php" на ссылку до вашего news.php. После этого ваш лаунчер будет выводить новости из указанного rss канала.

Дополнительные ссылки:
Тема с лаунчером: http://www.rubukkit.org/threads/78493/
UPD: новая версия с поддержкой HTTP_MT_ZIP прикреплена к посту, файл server_2.zip
UPD: поддержка RSS новостей (Спасибо @General за идею)
 

Вложения:

  • server.zip
    server.zip
    Размер файла
    1,4 КБ
    Просмотров
    21
  • server_2.zip
    server_2.zip
    Размер файла
    4,8 КБ
    Просмотров
    22
Последнее редактирование:
Не особо понял для чего это тут....:confused:
 
Чувак, у тя есть будущее, со следущей версии, начинай авторизацией :3
 
Это сарказм был или нет?)
Я сейчас сразу CMS делаю чтоб потом не связывать по отдельности кучу отдельных скриптов.
Та не, просто говорю займись более функциональным лаунчером, (такие как, Sashok724, JCR), надо помнить, что время изготовления лаунчера покажет его великолепие.
 
UPD добавлена поддержка rss новостей.
Итак, я добрался до разработки веб-части :)
Пишите чего сделать, что добавить, сегодня, надеюсь, уже какую-нибудь бетку сделаю.
Бетки сегодня не будет...
В общем взял за основу свою старую cms "MSC: WebSite Engine" и начал смотреть что вообще там есть, ну и собственно кроме кучи костылей и багов ничего путного не нашел )
Но нашел пару интересных багов при исправлении которых система просто падает или начинает себя вести не так как должна)
Сейчас поставил себе задачу исправить все баги, в том числе "магические" и оптимизировать все. (Да ещё и вытащить из БД половину системы)
P.s. Ну я и наговнокодил :-)
 

Поделиться этой страницей

Назад
Верх