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

Лаунчер [C#]LauncherAPI

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Xssnick, 21 дек 2012.

  1. Автор темы
    Xssnick

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

    Баллы:
    103
    4Main Launcher API [C#]

    Эта удобная библиотека поможет вам быстро написать собственный лаунчер.
    Все основные функции уже написаны за вас, например авторизация, хеширование и еще много вкусностей, это Alpha версия, существуют небольшие недоработки, просьба сообщать при нахождении.
    При использовании библиотеки вам не потребуются большие познания в с#, весь основной код уже написан, вам осталось только вызвать функции и добавить чуть воображения;) .

    Текущие возможности:
    • Обновление каждого файла по отдельности(md5)
    • Аутентификация используя php скрипты на сервере
    • Проверка свободной оперативной памяти на компьютере
    • Определение разрядности системы
    • Запуск minecraft с выделением оперативной памяти, сессией и ником
    В планах:
    • Аутентификация клиент-сервер
    • Клиент-серверный античит
    • Шифрование трафика
    • SHA256 хеширование
    • Обновление 1 архивом
    • Фоновая проверка цельности клиента при работе
    • Блокировка левых пакетов(серверная сторона)
    • Полное логирование действий
    • Регистрация
    • Загрузка скинов
    • Просмотр скинов в 3d/2d
    • Самообновление лаунчера
    Жду предложений и советов

    Документация(в написании)

    Функция обновления вызывается очень просто
    Код:
    Upd.EachFileUpdMD5("http://tstr.tw1.ru/api4main", "D:\\tst");
    http://tstr.tw1.ru/api4main - ссылка к папке с файлами для скачивания
    D:\\tst - папку куда будет все скачено

    Пример запуска Minecraft
    Код:
    Process.Start("javaw",Start.Minecraft("...//.minecraft", "ник", "сессия", 1024 память));
    Сессия и память - необязательные параметры

    Пример аутентификации
    Код:
    Login.Enter(textBox1.Text, textBox2.Text, "http://188.40.116.18/launcher/auth.php");
    1 - логин
    2 - пароль
    3 - ссылка к скрипту авторизации(пример скрипта выложу немного позже)

    Хеширование md5
    Код:
    Hash.md5("Привет");
    Подключение библиотеки к проекту(VS):
    1. В проекте жмем правой кнопкой по References
    2. Выбераем Добавить ссылку
    3. Жмем Обзор и выбераем библиотеку
    Пример php скрипта для аутентификации
    Код:
    <?php
    $db = mysql_connect('ип', 'логин', 'пароль');
     
    mysql_select_db("название бд", $db);
    $login1=$_GET['usr'];
    $password1=$_GET['pass'];
     
    $login = stripslashes($login1);
    $login = htmlspecialchars($login);
     
    $password = stripslashes($password1);
    $password = htmlspecialchars($password);
     
     
    function genSesId()
    {
    srand(time());
    $randNum = rand(1000000000, 2147483647).rand(1000000000, 2147483647).rand(0,9);
    return $randNum;
    }
     
     
    if(empty($_GET['usr']) or empty($_GET['pass']))
    {
    //echo " ";
    }
    else
    {
     
    $result = mysql_query("SELECT pass FROM таблица WHERE login='$login'") or die ("Ошибка соединения");
    $myrow = mysql_fetch_array($result);
    $realPass = $myrow[pass];
     
    if ($realPass == $password)
    {
    $result2 = mysql_query("SELECT login FROM таблица WHERE login='$login'") or die ("Ошибка соединения");
    $myrow2 = mysql_fetch_array($result2);
     
    $sesid = genSesId();
    mysql_query("UPDATE `таблица` SET sesid='$sesid' WHERE `login` = '$login'") or die ("Ошибка при запросе.");
    echo "$sesid:$myrow2[login]";
    mysql_close($db);
    }
    else {
    echo " ";
    }
    }
    ?>
    Саму библиотеку выложу к вечеру, как исправлю пару недоработок, её вес ~100кб
    Так же выложу пример лаунчера, описание всех функций и инструкцию по подключению библиотеки

    21.12.12 UPD: Добавил библиотеку во вложения


    22.12.12 UPD: Добавил пример лаунчера(APITEST) с использованием API
    Его функционал: аутентификация, загрузка обновления, вход в игру
    Логин test
    Пароль 123456
    Так же немного обновил библиотеку

    23.12.12 UPD: Добавил массовый Hasher для создания файла upd.txt
    Вводите путь к папке и жмете кнопку, получаете готовый файл со списком md5 файлов и их путей
     

    Вложения:

    • APITEST.zip
      Размер файла:
      61,8 КБ
      Просмотров:
      352
    • C#APILauncher.zip
      Размер файла:
      9,6 КБ
      Просмотров:
      401
    • 4MainHasher.zip
      Размер файла:
      7,5 КБ
      Просмотров:
      227
    Hephest, Randall, Sanchez218 и 5 другим нравится это.
  2. Хостинг MineCraft
    <
  3. Theme

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

    Баллы:
    173
    Исходнички еще подкинь. Эспешиалли фор ми. Разбазаривать не буду.
     
  4. Автор темы
    Xssnick

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

    Баллы:
    103
    @Theme, сори, пишу с другом, без его согласия не могу.
     
    Оригинало_о нравится это.
  5. Antivirus1221

    Antivirus1221 Активный участник Пользователь

    Баллы:
    93
    Skype:
    mr_samar
    Имя в Minecraft:
    Samar
    Смысл заранее создавать тему?
     
  6. 1lyaSweeper

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

    Баллы:
    173
    Skype:
    Iswperr
    Имя в Minecraft:
    1lyaSweeper
    :fp: ЧИТАЙ ТЕМУ:bm:!
    ЗДЕСЬ БУДЕТ АПИ!
     
  7. Автор темы
    Xssnick

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

    Баллы:
    103
    Библиотеку доработал, сейчас начну писать документацию.
     
  8. Theme

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

    Баллы:
    173
    Лучше найди на cyberforum.ru, FAQ в Visual Basic. Там есть скачивание через md5 файлов. И конвертером можно в шарп перевести. Могу помочь в лс.
     
    zuma2 нравится это.
  9. Автор темы
    Xssnick

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

    Баллы:
    103
    по мд5 я уже реализовал.
    • Обновление каждого файла по отдельности(md5)
    архивом - на любителя)
     
  10. Theme

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

    Баллы:
    173
    Ну как дополнительную тода сделай. А расскажи-ка ты мне отдельно в лс, как ты сделал это обновление.
     
  11. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    Вы меня уже ***** Какие нахер авторизации?? Вы идите почитайте что означает авторизация хреновы умники, еще и кодеры..
     
    Xakep_SDK и Antivirus1221 нравится это.
  12. Antivirus1221

    Antivirus1221 Активный участник Пользователь

    Баллы:
    93
    Skype:
    mr_samar
    Имя в Minecraft:
    Samar
    Ахах
     
  13. Автор темы
    Xssnick

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

    Баллы:
    103
    Авторизация (от англ. authorization — разрешение, уполномочивание) — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий.
    Ну и что не так?
     
  14. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
  15. Автор темы
    Xssnick

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

    Баллы:
    103
    По сути в данном случае эти понятия одинаковы
    P. S. предоставление определённому лицу или группе лиц прав на выполнение определённых действий
    Например разрешить вход и в игру и просматривать новости

    И к чему вообще "Mr.школьник"?
    Сам бы сначала разобрался в сути этих понятий.
     
  16. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    Я разобрался уже давно, а вот тебе не помешало бы.
     
    ВремяПриключений нравится это.
  17. Автор темы
    Xssnick

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

    Баллы:
    103
    Ок, в чем разница в данном случае?
     
  18. hummer

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

    Баллы:
    123
    Skype:
    bond_russia
    Авторизация называется в том случае если в лаунчере осуществляется разделение прав на админа и пользователя. Таже админ панель для админа для випа своя а для юзера своя это авторизация.

    Аунтификация Это проверка подлинности, игрок вел логин пароль все ок, он попал в лаунчер он может изменить себе скин и прочее, но лаунчер не занимается разделение прав на админа и юзера.

    Вызываю @TeHead, поправь меня если где то ошибся.. И вдолби этому юному человеку эти понятия..
     
    Mik1313, Xakep_SDK и Xssnick нравится это.
  19. Автор темы
    Xssnick

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

    Баллы:
    103
    Ок, убедил:confused:
     
  20. tipson

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

    Баллы:
    153
    Skype:
    T-oleg98
    Имя в Minecraft:
    Tipson
    Хорошо,что я с ним вчера не начал спорить:)
     
  21. Автор темы
    Xssnick

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

    Баллы:
    103
    UPD: Добавил пример лаунчера(APITEST) с использованием API
    Его функционал: аутентификация, загрузка обновления, вход в игру
    Логин test
    Пароль 123456
    Так же немного обновил библиотеку

    Никак не найду времени для написания документации, постараюсь к вечеру написать.
     

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