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

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

Discussion in 'Управление сервером Bukkit' started by robertono, Mar 2, 2013.

Thread Status:
Not open for further replies.
  1. Автор темы
    robertono

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

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


    Code:
    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
    Code:
     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. Хостинг MineCraft
    <
  3. DmitriyMX

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

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

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

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

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

    Trophy Points:
    103
    тема закрыта. я переписал код до нереального упрощения . Работает на 32 и 64 битной яве . Проще некуда :
    Code:
    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)
     
Thread Status:
Not open for further replies.

Share This Page