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

Обсудим Способы запуска майнкрафта лаунчером на vb.net

Тема в разделе "Управление сервером Bukkit", создана пользователем robertono, 2 мар 2013.

Статус темы:
Закрыта.
  1. Автор темы
    robertono

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

    Баллы:
    103
    Вообщем, незнаю как запустить майнкрафт на vb.net языке.
    Использую такой вариант из This Craft Launcher :


    Код:
    Private Shared Sub StartJava(ByVal login As String, Optional ByVal memory As String = "1024", Optional ByVal session As String = "123456")
    Try
    Dim java As String = If(Settings.useJavaPath, SettingsInit.Get("javapath"), JavaPath.GetJavaHome & "\bin\javaw.exe")
    Debug("Поиск путей Java... Путь " & java)
    Dim path As String = Settings.mcpath & GetSelectedServer() & "/bin/"
    Debug("Установка путей к MineCraft")
    Dim param As String = "-cp " & """" & path & "minecraft.jar" & ";" & path & "lwjgl.jar;" & path & "lwjgl_util.jar;" & path & "jinput.jar""" & " -Djava.library.path=""" & "" & path & "natives" & """ -Xmx" & memory & "M -Xms" & memory & "M " & Settings.mcСlass & " " & login & " " & session & "" & ""
    Debug("Установка параметров " & param)
    Debug("Запуск с параметрами " & java & ":" & param)
    Process.Start(java, param)
    Debug("==========================Разделитель(Удалите этот файл!)==========================")
    If Settings.debug Then Debug("getLog")
    Application.Exit()
    Catch
    Debug("Java не найдена.")
    MessageBox.Show("Не удалось найти Java. Попробуйте установить Java 7 x86 или переустановите текущую." & vbLf & If(Settings.useJavaPath, "Настройте значение в 'Настройках'", Nothing))
    End Try
    End Sub
    Код:
     Private Shared Sub LaunchMineCraft(ByVal useGuard As Boolean, Optional ByVal useSession As Boolean = True, Optional ByVal session As String = "123456")
    Try
    Dim getInfo() As String
    getInfo = Split(sess, ":")
    If useSession Then : Debug("Получения ответа ауентификации... Ответ:" & sess) : Debug("Разделение ответа на части...") : End If
    If useSession And Not IsNothing(sess) Then
    session = If(getInfo Is Nothing, "12345", getInfo(1))
    Debug("Получена сессия... " & session & " => (Не говорите ее никому!!!)")
    End If
    If useGuard Then
    Dim path As String = Settings.mcpath & GetSelectedServer() & "/bin/"
    Debug("Установка путей к MineCraft " & path)
    Dim files(3) As String
    Dim enMd5s As String = post(Settings.launchLink, "action=guard&client=" & GetSelectedServer())
    Dim getmd5s() As String = Split(System.Text.ASCIIEncoding.ASCII.GetString(FromBase64(enMd5s)), ":")
    files(0) = path & "jinput.jar"
    files(1) = path & "lwjgl_util.jar"
    files(2) = path & "lwjgl.jar"
    files(3) = path & "minecraft.jar"
     
    For i As Integer = 0 To files.Length - 1
    Dim md5s As String = md5(IO.File.ReadAllText(files(i), System.Text.Encoding.Default))
    Debug("Проверка md5 файлов... Файл " & md5s & " : " & getmd5s(i))
    If Not md5s = getmd5s(i) Then
    Debug("Проверка не прошла успешно. md5: " & md5s & "!=" & getmd5s(i))
    Throw New Exception
    End If
    Next i
    Debug("StartJava, проверка успешна =>")
    StartJava(SettingsInit.Get("username"), SettingsInit.Get("memory"), session)
    Else
    Debug("StartJava, без проверки =>")
    StartJava(SettingsInit.Get("username"), SettingsInit.Get("memory"), session)
    End If
    Catch ex As Exception
    Debug("Ошибка выполнения операции: " & ex.ToString)
    MessageBox.Show("Невозможно запустить клиент на сервере " & GetSelectedServer() & ". Попробуйте:" _
    & vbLf & "-Перестать ломать защиту!" & vbLf & "-Перезапустить клиент" & vbLf & _
    "-Обновить/Скачать клиент в вкладке 'Настройки'" & vbLf & _
    "-Получить доступ к Интернету" & vbLf & "-Обратиться к Администрации сервера", "Сообщение")
    End Try
    Такой код работает, но только на 32 битной яве. Как можно сделать что бы на 64 битной тоже запускалось ?
    Заранее благодарен!
     
  2. DmitriyMX

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

    Баллы:
    153
    Skype:
    dmn550
    :confused: странно, что "только на 32-bit". А какие ошибки пишет в х64?
     
  3. Автор темы
    robertono

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

    Баллы:
    103
    Молчание... Сейчас ещё раз проверю
     
  4. Автор темы
    robertono

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

    Баллы:
    103
    тема закрыта. я переписал код до нереального упрощения . Работает на 32 и 64 битной яве . Проще некуда :
    Код:
    Dim java As String = "C:\Program Files\Java\jre7\bin\javaw.exe"
                Dim path As String = "C:\Users\RobertAnimation\AppData\Roaming\.minecraft\bin\"
                Dim mcClass As String = "net.minecraft.client.Minecraft"
                Dim param As String = "-cp " & """" & path & "minecraft.jar" & ";" & path & "lwjgl.jar;" & path & "lwjgl_util.jar;" & path & "jinput.jar""" & " -Djava.library.path=""" & "" & path & "natives" & """ -Xmx" & "512" & "M -Xms" & "512" & "M " & mcClass & " " & "ruzrobert" & " " & "123456" & "" & ""
                Process.Start(java, param)
     
    Сникерсни, ski, fles и ещё 1-му нравится это.
Статус темы:
Закрыта.

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