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

Лаунчер C# код запуска minecraft 1.6.4

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

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

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

    Баллы:
    63
    Имя в Minecraft:
    N_V_7
    Всем здравствуйте! Я совсем новенький на вашем форуме. Хочу сделать лаунчер на C#, просьба - дайте пожалуйста код запуска версии 1.6.4. Заранее спасибо
     
    Последнее редактирование: 14 мар 2014
    eleon нравится это.
  2. Хостинг MineCraft
    <
  3. Nupke

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

    Баллы:
    88
    Не тот раздел
     
    eleon нравится это.
  4. Автор темы
    N_V_7

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

    Баллы:
    63
    Имя в Minecraft:
    N_V_7
    а куда писать-то?
     
    eleon нравится это.
  5. AlexMerser

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

    Баллы:
    173
    Помощь - подраздел "Управление сервером bukkit". Хотя я бы уже давно переделал структуру форума
     
    eleon нравится это.
  6. lexa_kiker

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

    Баллы:
    123
    Skype:
    lexa_kiker
    как ты напишешь лаунчер на шарпе когда ты не можешь написать функцию запуска?
     
    ПриветОтЛайки, dimon377 и eleon нравится это.
  7. DIMASIK1502

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

    Баллы:
    78
    Имя в Minecraft:
    DIMASIK1502
    Вот норм,он сам считывает все библиотеки.
    1.Это без Forge
    1. string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    2. string username = Login.Text;
    3. var dir = new DirectoryInfo(patch);
    4. var files = new List<string>();
    5. foreach (FileInfo file in dir.GetFiles("*.jar", SearchOption.AllDirectories))
    6. {
    7. files.Add(file.FullName);
    8. }
    9. string MineLib = string.Join(";", files.ToArray());
    10. Process.Start("java", string.Format("-Xms1024m -Xmx1024m -Djava.library.path=" + appData + "/.minecraft/natives" + "-cp " + appData +"/.minecraft/versions/1.6.2/1.6.2.jar;" + MineLib + " net.minecraft.launchwrapper.Launch --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --username Test --gameDir " + appData +"/.minecraft" + "--assetsDir " + appData + "/.minecraft/assets "))
    2.Это с Forge

    string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    string username = Login.Text;
    var dir = new DirectoryInfo(patch);
    var files = new List<string>();
    foreach (FileInfo file in dir.GetFiles("*.jar", SearchOption.AllDirectories))
    {
    files.Add(file.FullName);
    }
    string MineLib = string.Join(";", files.ToArray());
    Process.Start("java", string.Format("-Xms1024m -Xmx1024m -Djava.library.path=" + appData + "/.minecraft/natives" + "-cp " + appData +"/.minecraft/versions/1.6.2/1.6.2.jar;" + MineLib + " net.minecraft.launchwrapper.Launch --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --username Test --gameDir " + appData +"/.minecraft" + "--assetsDir " + appData + "/.minecraft/assets "))[DOUBLEPOST=1394826024,1394825876][/DOUBLEPOST]
    Ну ты как бы прав)[DOUBLEPOST=1394826146][/DOUBLEPOST]
    Лучше ещё подучи язык,сейчас ты нормальный продукт не напишешь.Но для саморазвития попробуй.
     
    nikolai2000_nik1 и lexa_kiker нравится это.
  8. lexa_kiker

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

    Баллы:
    123
    Skype:
    lexa_kiker
    dimon377 нравится это.
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Смысл писать на шарпе если он все равно ведет запуск через батник :D.
    Process.Start(
    Вы реально лузеры? Запускать нужно через jni.
     
    eleon нравится это.
  10. Автор темы
    N_V_7

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

    Баллы:
    63
    Имя в Minecraft:
    N_V_7
    а это уже, извините, не Ваши проблемы
     
  11. HoShiMin

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

    Баллы:
    173
    Ке? Он же не командную строку запускает с последующей передачей ей параметров, а сам процесс напрямую, если не учитывать переработку Process.Start в CrateProcess из WinAPI внутри .NET-машины. Что здесь плохого?
     
    kojan нравится это.
  12. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Процессхакер не? Подглядеть строку запуска. Еслиб запуск шел через jni, не подглядеть уже.
    Да и плюс мы можем делать свои вмешательства во время работы клиента, например патчить сессию прям на лету!
     
    eleon нравится это.
  13. HoShiMin

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

    Баллы:
    173
    А в чём разница между запуском через JNI и запуском через обёрткой над CreateProcess'ом? Всё равно все способы так или иначе сведутся к вызову NtCreateProcess'a из ntdll.
     
  14. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Нет, то идет подгрузка клиента в сам процесс лаунчера и мы можем управлять им из под лаунчера.[DOUBLEPOST=1394861933,1394861704][/DOUBLEPOST]Это равносильно запуску с java лаунчере через аплет, где мы можем патчить директорию игры в старых версиях и чекать хеши по времени и многое другое.
     
    eleon нравится это.
  15. HoShiMin

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

    Баллы:
    173
    А, точно, джава-то уже запущена. Но автору-то это не сильно поможет, он же на C# пишет.
     
    eleon нравится это.
  16. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    jni работает с C# и C++. Я бы выбрал 2е C++
     
    eleon и HoShiMin нравится это.
  17. Автор темы
    N_V_7

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

    Баллы:
    63
    Имя в Minecraft:
    N_V_7
    так короче этим запускать?
    1.Это без Forge
    1. string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    2. string username = Login.Text;
    3. var dir = new DirectoryInfo(patch);
    4. var files = new List<string>();
    5. foreach (FileInfo file in dir.GetFiles("*.jar", SearchOption.AllDirectories))
    6. {
    7. files.Add(file.FullName);
    8. }
    9. string MineLib = string.Join(";", files.ToArray());
    10. Process.Start("java", string.Format("-Xms1024m -Xmx1024m -Djava.library.path=" + appData + "/.minecraft/natives" + "-cp " + appData +"/.minecraft/versions/1.6.2/1.6.2.jar;" + MineLib + " net.minecraft.launchwrapper.Launch --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --username Test --gameDir " + appData +"/.minecraft" + "--assetsDir " + appData + "/.minecraft/assets "))
    2.Это с Forge

    string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    string username = Login.Text;
    var dir = new DirectoryInfo(patch);
    var files = new List<string>();
    foreach (FileInfo file in dir.GetFiles("*.jar", SearchOption.AllDirectories))
    {
    files.Add(file.FullName);
    }
    string MineLib = string.Join(";", files.ToArray());
    Process.Start("java", string.Format("-Xms1024m -Xmx1024m -Djava.library.path=" + appData + "/.minecraft/natives" + "-cp " + appData +"/.minecraft/versions/1.6.2/1.6.2.jar;" + MineLib + " net.minecraft.launchwrapper.Launch --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --username Test --gameDir " + appData +"/.minecraft" + "--assetsDir " + appData + "/.minecraft/assets "))
     
  18. Cyber Owl

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

    Баллы:
    153
    Да, объявите переменную $username и вставьте в аргумент --username.
     
    eleon нравится это.
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    N_V_7, Для простого лаунчера сойдет. А когда нужна будет защита изучай jni.
     
    eleon нравится это.
  20. Автор темы
    N_V_7

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

    Баллы:
    63
    Имя в Minecraft:
    N_V_7
    согласен
     
    eleon нравится это.
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    А чтоб каждый рас не рисовать аппдата+ поищите можно ли указать процесс директорию чтоб юзать относительный путь.
     
    eleon нравится это.

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