Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал Получаем инфо о сервере без сторонних плагинов

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Lazy, 9 дек 2011.

  1. IstominHero

    IstominHero Старожил Пользователь

    Баллы:
    103
    Хотел статью написать, да из-за подлости вашей...
     
    BuHgen нравится это.
  2. Хостинг MineCraft
    <
  3. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
    а терь у мя вопрос:
    почему [​IMG]
    когда серв робит?
     
  4. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
  5. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Зря вы картинки в php держите, зря зря зря.
     
    I-Am-Black-Overlord и Joomplix нравится это.
  6. Navarh

    Navarh Активный участник

    Баллы:
    68
    Почему?
     
  7. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Картинку надо делать раз в минуту и сохранять.
     
    GJEvolution нравится это.
  8. IstominHero

    IstominHero Старожил Пользователь

    Баллы:
    103
    Тоесть?
     
  9. Navarh

    Navarh Активный участник

    Баллы:
    68
    Тоже не понял?!
     
  10. Автор темы
    Lazy

    Lazy Старожил Пользователь

    Баллы:
    103
    Кеширование имеется в виду. Каждый раз, когда вы запрашиваете картинку - она генерируется заново, ensirius предлагает сгенерировать картинку, сохранить и каждую минуту обновлять. Если бы он еще подсказал как это можно сделать)
     
  11. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
    Кстати, вы мне так и не объяснили, что не так...
     
  12. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Ну вот смотрите, одновременно ваш сайт открывает 100 человек, каждый раз, картинку заного делает php скрипт, а это значит нагружать свой веб-сервер зря. Мне пришлось менять методы, когда наш сервер ддосили.Думаю тут все понятно, лучшее отдавать картинку через nginx, чем php через апачь.

    Что такое Cron пояснять не буду. imagePng имеет 2-ую функцию, сохранять картинку.

    PHP:
    imagePng($im,"/var/www/ensemplix.ru/online/sandbox.png");
    Если вы будете генерировать картинку через крон линукса, учтите что нужно указывать полные пути к шрифтам и картинкам( если вы используете ).Так же, нужно указывать полный путь куда сохранять, а то будет в /root/ лежать картинка.

    Ну и еще добавлю, что при выводе картинки нужно будет добавлять таймстемп, что бы браузер думал что это новая картинка. Браузеры думают что это статика и не обновляют картинку онлайна пока F5 не нажмешь.

    P.S: Для опытных юзеров.
     
    Joomplix, Lazy и IstominHero нравится это.
  13. IstominHero

    IstominHero Старожил Пользователь

    Баллы:
    103
    Все понятно, спасибо
     
    MineMan910 нравится это.
  14. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
    А для НЕ ОЧЕНЬ ОПЫТНЫХ :D?
     
  15. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
    А не все не надо...
    Вот только тот же вопрос:
    [​IMG] почему так, когда серв робит?
    Кто поможет разобраться?
     
  16. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Мы по кофейной гущи не гадаем, код в студию.
     
  17. IstominHero

    IstominHero Старожил Пользователь

    Баллы:
    103
    Код в этой теме, первое сообщение... Человек сделал как надо, вписал айпи и порт, а у него не работает
     
  18. Автор темы
    Lazy

    Lazy Старожил Пользователь

    Баллы:
    103
    он вписал не айпи, а доменное имя, причем, не указав http://
    Скорее всего дело в этом, и было бы лучше, если бы вы указали именно ip сервера.
     
  19. IstominHero

    IstominHero Старожил Пользователь

    Баллы:
    103
    Ахаха, мне изначально это показалось глупым
     
  20. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
    Код:
    <?php
    /**
    * Получение и вывод информации о сервере в картинку
    * Написал Лейз в безвозмездное пользование для всех
    * http://mineclub.ru/
    **/
    include('/home/user/public_html/online/MinecraftStatus.class.php'); // Подключаем MC-SS Class
    $Server = new MinecraftStatus($IP = 'play.bigcraft.tk', $Port = '25565'); // Создаем новый Server Object
    $players = $Server->CurPlayers. ' РёР· '.$Server->MaxPlayers; //Информация об подключенных игроках
    $font = '/home/user/public_html/online/arial.ttf'; //Подключаем шрифт
    $pltext = 'Онлайн: '; //Текст "Онлайн: ", как изменить: Пишем необходимую фразу в новом документе в программе notepad++, там нажимаем кодировка -> преобразовать в UTF-8, потом там же выбираем кодировать в ANSI, копируем кракозябры, вставляем в скрипт.
    $offtext = 'Недоступен.'; //Текст, когда сервер недоступен "Недоступен.", как изменить: Пишем необходимую фразу в новом документе в программе notepad++, там нажимаем кодировка -> преобразовать в UTF-8, потом там же выбираем кодировать в ANSI, копируем кракозябры, вставляем в скрипт.
    $im = imagecreate(125, 20); //размер изображения (здесь размер 125 на 20)
    $offl = imagecolorallocate ($im, 225, 0, 0); //Прописываем цвета фона при оффлайне
    $onl = imagecolorallocate ($im, 0, 175, 0); //Прописываем цвета при онлайне
    $color = imagecolorallocate($im, 0, 0, 0);  //Цвет текста
    $text = $Server->Online ?  $pltext.$players : $offtext; //Формируем текст в зависимости от статуса сервера (онлайн, оффлайн)
    $cvet = $Server->Online ?  $onl : $offl ; //Задаем фон в зависимости от статуса сервера (онлайн, оффлайн)
    imagefill ($im, 0, 0, $cvet); //Заливаем картинку цветом
    imagettftext($im, 10, 0, 10, 14, $color, $font, $text); //Собираем все параметры выше и формируем картинку
    header('Content-type: image/png'); //Указываем браузеру, что это - картинка
    imagepng($im);  //Создаем картинку
    ?>
     
  21. Theme

    Theme Старожил Девелопер Пользователь

    Баллы:
    173
    Йет ответ на пост @ensirius,
     

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