1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Лаунчер Империя

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

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

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

    Баллы:
    103
    Имя в Minecraft:
    Brhr
    [​IMG]
    Лаунчер от "Империи". Распространяется бесплатно, уже были случаи его продажи, причем этот человек даже не удосужился объяснять своим покупателям "как" и "что" настраивать.

    Лаунчер многофункционален:
    - Профиль
    - Показатель баланса (можно связать с ЛК Добрика)
    - Система скинов
    - Просмотр скина
    - Красивый дизайн
    - Мультиклиент
    - Проверка мд5
    - Хранение настроек лаунчера
    - Загрузка настроек с сайта если сайт не доступен ставятся настройки из лаунчера
    - Приветствие
    - Регистрация прямо в лаунчере

    Исходники лаунчера хорошо редактируются через NetBeans и Eclipse. Но вы можете использовать любую другую программную среду.
    Регистрация/авторизация работает с любыми CMS, но лучше всего использовать DLE (уже настроена авторизация).
    Туториалы по редактирования на NetBeans и Eclipse от Star Cheater.

    Как правильно все сделать в NetBeans:
    Запускаем NetBeans, жмем Файл -> Создать проект -> Проект Java с существующими исходными файлами -> Имя проекта [как назовете] - Существующие исходные файлы [Добавить папку - Путь до папки src с исходниками лаунчера] -> Готово. Потом в проекте есть папка Библиотеки - пкм по ней - Добавить архив jar или папку - указываете два файла commons-codec-1.6.jar и commons-io-2.3.jar - Open.
    Последний шаг - клик пкм на названии проекта - Свойства - первая вкладка Исходные файлы - в окне внизу Кодировка - windows-1251 - ОК.
    Все! Очистить и построить.
    PS. Возникла ошибка в LoginForm.java 41-43 строки. Можно смело закоментировать их - всеравно не используются.

    Как правильно все сделать в Eclipse:
    Запускаем Eclipse, запоминаем куда положили workspace
    File - New Java Project - Project name [как назовете проект], Use an execution environment JRE: [лучше JavaSE-1.7], Project layout - (*) Create separate folders for sources and class files -> Finish.
    Клик по [+] проекта. Открываем вторым окном папку с готовыми исходниками (внутри папки src), выделяем их, и зажав лкм переносим на папку src внутри Eclipse. Появится вопрос - File and Folder Operation, Select how files and folders should be imported into the project: Выбираем Copy files and folders - OK. Сразу появятся ошибки - это нормально.
    Теперь открываем архив с commons-codec-1.6.jar и commons-io-2.3.jar (они находятся в архиве lib или Libraries), выделяем их и переносим на папку проекта в Eclipse. В появившемся окне аналогично выбираем Copy files.
    Теперь кликаем пкм на имени проекта, Properties -> (слева в новом окне) Java Build Path -> (По центру в окне) Libraries -> Add Jar -> Кликаем по [+] Нашего проекта -> Выделяем наши библиотеки -> ОK -> OK.
    После этого ошибки должны исчезнуть. На Warnings можно смело плевать. Все!


    Скрины лаунчера:
    [​IMG]
    *DOWNLOAD скачать лаунчер*
    *DOWNLOAD веб часть*

    (для редактирования скина загрузите char.png вашего сервера или стандартный char.png который можно скачать на оф. сайте)

    char.png - ссылка.


    Веб часть для DLE (присутствуют файлы Webmcr, описание по настройке в архиве) - ссылка.
    Измененные, рабочие исходники лаунчера - ссылка.

    Доделанный лаунчер, предоставленный XeroXP - ссылка.

    Урезанная система авторизации от byxar'а + небольшой скрипт отладки от Star Cheater - позволяет посмотреть, как на самом деле на хостинге называются базы данных и что в них лежит.
    Для byxar'овской системы ОБЯЗАТЕЛЬНО настроить connect.php. лаунчер подключать к login.php - ссылка.

    P.S. Дабы автор не возникал - тема была взята и немного переоформлена с этого сайта.
     
    Lemz0, combat720, BrQ и 41 другим нравится это.
  2. Theme

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

    Баллы:
    173
    А п*здить и выкладывать в паблик не хорошо!
     
    Lemz0, Droid и enli нравится это.
  3. Rainbow_B0y

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

    Баллы:
    103
    Он и так в паблике :fp:
    И да тема 146% копия того что на рус*акките
     
    werg28 нравится это.
  4. Автор темы
    Brhr

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

    Баллы:
    103
    Имя в Minecraft:
    Brhr
    Я и написал о том, что тема слита снизу.
     
  5. Dj Arktic

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

    Баллы:
    93
    Skype:
    dj_arktic
    Имя в Minecraft:
    Dj_Arktic
    Можно у тебя заказать лаунчер?
    За деньги, конечно же.
     
  6. Black_NInja

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

    Баллы:
    63
    Имя в Minecraft:
    Black_NInja
    не работает:(
     
  7. oDD1

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

    Баллы:
    123
    Ну если он в паблике то я пожалуй видео-урок сделаю, как его поставить, думаю многим понравится :)
     
    MineMan910, appl3_w0rm, Sunr1sE и 14 другим нравится это.
  8. qLimeeZ

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

    Баллы:
    63
    когда начал редактировать
    в
    NetBeans

    с самого начала пишет ошибку в LoginForm.java на 67 строчке и на 1101

    ПОМОГИТЕ ПЛИЗ !
     
  9. AvengeR

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

    Баллы:
    88
  10. Автор темы
    Brhr

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

    Баллы:
    103
    Имя в Minecraft:
    Brhr
    не занимаюсь таковыми услугами, т.к. мало знаю в яве.
     
  11. Автор темы
    Brhr

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

    Баллы:
    103
    Имя в Minecraft:
    Brhr
    Было бы хорошо. ;)
     
  12. DeaD_XaKeP

    DeaD_XaKeP Старожил

    Баллы:
    123
    Skype:
    deadxakep
    Имя в Minecraft:
    DeaD_XaKeP
    Не правда! Мне он предоставил поддержку. И даже полностью его настроил.
     
  13. Автор темы
    Brhr

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

    Баллы:
    103
    Имя в Minecraft:
    Brhr
    Я скопировал статью с *********а. Вопросы не ко мне)
     
  14. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Порадовала картинка 228 в исходниках. :)
     
    slavik123123123 и Suzka нравится это.
  15. Star Cheater

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

    Баллы:
    78
    Skype:
    start_cheater
    Имя в Minecraft:
    starcheater
    писать самому) есть статьи по типу "Делаем свой статус\мониторинг сервера Minecraft", там сможешь сделать свой вывод.
    Для себя сделал формат Offline или 0:100 (онлайн:макс_колво_игроков), но для этого пришлось править LoginForm.java, конкретно функцию private JPanel buildMonitor()
    Код:
    try {
            localURL = new URL(setting.monitorLink);
            onofoff = 2;
            BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(localURL.openStream()));
            String result = localBufferedReader.readLine();
              text.setForeground(onColor);
            text.setFont(fontMonitor);
         
            if (result.equals("Offline")){
                text.setText("Сервер выключен");
                text.setForeground(offColor);
                onofoff = 2;
            } else {
                String[] values = result.split(":");
                String onlineUser = values[0];
                String allUser = values[1];
                if (result.contains(":")){
                    text.setText("Сервер включен, играют " + onlineUser + " из " + allUser + " возможных");
                    onofoff = 1;
                }
                else{
                    text.setText("Неизвестная ошибка");
                    text.setForeground(offColor);
                    onofoff = 2;
                }
            }
            } catch (Exception e) {
                  e.printStackTrace();
                  text.setText("Ошибка при подключении к серверу");
                  text.setForeground(offColor);
                  onofoff = 2;
            }
     
    REZAYS и Travis нравится это.
  16. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Вот оригинальный monitorLaunch.php
    <?php
    /**
    * Minecraft Server Status Class
    * @copyright© 2011 Nox Nebula - Patrick Kleinschmidt
    * @websitehttps://github.com/NoxNebula/MC-Server-Status
    * @licenseGNU Public Licence - Version 3
    * @authorNox Nebula - Patrick Kleinschmidt
    **/

    class MinecraftStatus {
    private $Socket, $Info;
    public $Online, $MOTD, $CurPlayers, $MaxPlayers, $IP, $Port, $Error;

    public function __construct($IP, $Port = '25565') {
    $this->IP = $IP;
    $this->Port = $Port;

    // Remove any protocols from serveraddress
    if(preg_match('/(.*):\/\//', $this->IP)) {
    $this->IP = preg_replace('/(.*):\/\//', '', $this->IP);
    }
    if(strpos($this->IP, '/') !== false) {
    $this->IP = rtrim($this->IP, '/');
    if(strpos($this->IP, '/') !== false) {
    $this->Failed();
    $this->Error = 'Unsupported IP/Domain format, no \'/\'s allowed';
    return;
    }
    }
    if(preg_match_all('/:/', $this->IP, $matches) > 1) {
    unset($matches);
    // IP6
    if(strpos($this->IP, '[') === false && strpos($this->IP, ']') === false)
    $this->IP = '['.$this->IP.']';
    } else if(strpos($this->IP, ':') !== false) {
    $this->Failed();
    $this->Error = 'Unsupported IP/Domain format';
    return;
    }

    if($this->Socket = @stream_socket_client('tcp://'.$this->IP.':'.$Port, $ErrNo, $ErrStr, 1)) {
    // If IP6 remove brackets
    if(strpos($this->IP, '[') === 0 && strpos($this->IP, ']') === (strlen($this->IP) - 1))
    $this->IP = trim($this->IP, '[]');

    $this->Online = true;

    fwrite($this->Socket, "\xfe");
    $Handle = fread($this->Socket, 2048);
    $Handle = str_replace("\x00", '', $Handle);
    $Handle = substr($Handle, 2);
    $this->Info = explode("\xa7", $Handle); // Separate Infos
    unset($Handle);
    fclose($this->Socket);

    if(sizeof($this->Info) == 3) {
    $this->MOTD = $this->Info[0];
    $this->CurPlayers = (int)$this->Info[1];
    $this->MaxPlayers = (int)$this->Info[2];
    $this->Error = false;
    } else if(sizeof($this->Info) > 3) { // Handle error, Minecraft don't handle this.
    $Temp = '';
    for($i = 0; $i < sizeof($this->Info) - 2; $i++) {
    $Temp .= ($i > 0 ? '§' : '').$this->Info[$i];
    }
    $this->MOTD = $Temp;
    $this->CurPlayers = (int)$this->Info[sizeof($this->Info) - 2];
    $this->MaxPlayers = (int)$this->Info[sizeof($this->Info) - 1];
    $this->Error = 'Faulty motd or outdated script';
    } else {
    $this->Failed();
    $this->Error = 'Unexpected error, cause may be an outdated script';
    }
    } else {
    $this->Online = false;
    $this->Failed();
    $this->Error = 'Can not reach the server';
    }
    }

    public function Info() {
    return array(
    'MOTD' => $this->MOTD,
    'CurPlayers' => $this->CurPlayers,
    'MaxPlayers' => $this->MaxPlayers
    );
    }

    private function Failed() {
    $this->MOTD = false;
    $this->CurPlayers = false;
    $this->MaxPlayers = false;
    }
    }
    ?>
    <?php
    header('charset: UTF-8;Content-Length:en-US;');
    $Server = new MinecraftStatus('IP');
    $online1 = $Server->Online ? 'ON' : 'OFF';

    if (!strcmp($online1, 'OFF')){
    die ("OFF");
    } else {
    echo "ON:".$Server->CurPlayers.":".$Server->MaxPlayers.":";
    }
    ?>
     
    Lemz0, REZAYS, Dereku и 3 другим нравится это.
  17. Star Cheater

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

    Баллы:
    78
    Skype:
    start_cheater
    Имя в Minecraft:
    starcheater
    Здорово, никаких доп плагинов не нужно. Можешь подсказать, где skinLoad.php еще можно найти?

    С учетом оригинального monitorLaunch.php, в моей правке строки
    Код:
     if (result.equals("Offline"))
    ...
    String onlineUser = values[0];
    String allUser = values[1];
    нужно заменить на
    Код:
    if (result.equals(" OFF"))
    ...
    String onlineUser = values[1];
    String allUser = values[2];
     
    Сникерсни и REZAYS нравится это.
  18. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Его нет к сожалению, исходники удалил с пк, еще давно. Но если найдете кидайте в тред, соберу заново исходники :)
     
  19. Star Cheater

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

    Баллы:
    78
    Skype:
    start_cheater
    Имя в Minecraft:
    starcheater
    печальные результаты копания показывают, что char.png с дефаултным скином должен быть обязательно в корне с прочими файлами web-обвязки.
    в mysql должна быть база base с таблицей accounts с полями
    id int(11) AUTO_INCREMENT
    playername text
    password text
    email text
    registerdate date

    в registerServer.php ошибка при создании пароля.
    нужно исправить
    PHP:
    $postPass 148822825634;
    на
    PHP:
    $postPass $password;
    В loginServer.php если не сделать обвязку с iconomy не позволит войти. как временное решение
    PHP:
    if($checkPass == $row[password])
    {
    $mysqlZapros2 "SELECT username, balance
    FROM iconomy
    WHERE username ='
    {$login2}'
    LIMIT 1"
    ;
    $resultMysql2 mysql_query($mysqlZapros2) or die("1:35b9fd01865fda9d70b157e244cf801c:$loginName:12345:0:");
    $row2 mysql_fetch_assoc($resultMysql2);
    $balance $row2[balance];
    echo 
    "1:35b9fd01865fda9d70b157e244cf801c:$loginName:12345:$balance:";
    }
    Как баг обнаружил, что даже при установке своего расположения папки в лаунчере, файлы ресурсов и сохранений все равно создаются в папке .minecraft
     
    ВремяПриключений нравится это.
  20. Linkinkov

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

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Я не помню что за класс отвечает за это, но это в minecraft.jar такое, а не от лаунчера.
     

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