Advertisement
Guest User

Untitled

a guest
Jul 20th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Diagnostics;
  6. using System.Windows.Forms;
  7. using System.Net;
  8. using System.IO;
  9. using craftersmine.Launcher.Exceptions;
  10.  
  11. namespace craftersmine.Launcher.Core
  12. {
  13.     public sealed class Login
  14.     {
  15.         public static Session LoginSession(string user, string password)
  16.         {
  17.             Logger.Log("Logging in, " + user, "INFO");
  18.             try
  19.             {
  20.                 string[] resp = null;
  21.                 WebRequest _req = WebRequest.Create(LauncherSettings.Protocol + "://" + LauncherSettings.Domain + "/" + LauncherSettings.DirOnServer + "/login.php?user=" + user + "&pass=" + password);
  22.                 WebResponse _resp = _req.GetResponse();
  23.                 Stream _respStream = _resp.GetResponseStream();
  24.                 using (StreamReader _read = new StreamReader(_respStream))
  25.                 {
  26.                     string line;
  27.                     while ((line = _read.ReadLine()) != null)
  28.                     {
  29.                         Console.WriteLine(line);
  30.                         resp = line.Split(':');
  31.                     }
  32.                 }
  33.  
  34.                 if (resp.Length >= 1)
  35.                 {
  36.                     if (resp != null)
  37.                     {
  38.                         Session _session = new Session();
  39.                         if (resp[0] == "Bad login")
  40.                         {
  41.                             _session.GetBadLogin();
  42.                             Logger.Log("Bad login!", "WARN");
  43.                         }
  44.                         else { _session.GetSession(resp[0]); Logger.Log("Logged in, " + user, "INFO"); }
  45.                         return _session;
  46.                     }
  47.                     else throw new UnableGetSessionIDException("Нет ответа от сервера!");
  48.                 }
  49.                 else return new Session();
  50.             }
  51.             catch (WebException ex)
  52.             {
  53.                 Logger.Log(ex.Message + "\r\n" + ex.StackTrace, "ERROR");
  54.                 MessageBox.Show("Невозможно получить сессию! Продолжение невозможно!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
  55.                 Environment.Exit(0);
  56.                 Data.IsOffline = true;
  57.                 Session _sess = new Session();
  58.                 Data.Session = _sess.GetOffline();
  59.                 return _sess;
  60.             }
  61.             catch (UnableGetSessionIDException ex)
  62.             {
  63.                 Logger.Log(ex.Message + "\r\n" + ex.StackTrace, "ERROR");
  64.                 MessageBox.Show("Невозможно получить сессию! Продолжение невозможно!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
  65.                 Environment.Exit(0);
  66.                 Data.IsOffline = true;
  67.                 Session _sess = new Session();
  68.                 Data.Session = _sess.GetOffline();
  69.                 return _sess;
  70.             }
  71.             catch (Exception ex)
  72.             {
  73.                 Logger.Log(ex.Message + "\r\n" + ex.StackTrace, "ERROR");
  74.                 throw new Exception(ex.Message);
  75.             }
  76.         }
  77.  
  78.         public static void RunMinecraft(string name, Version version)
  79.         {
  80.             Logger.Log("Running Minecraft... " + name + " " + version.ToString(), "INFO");
  81.             try
  82.             {
  83.                 string javadir = Data.JavaBinDir;
  84.                 if (version.Major == 1 && version.Minor == 5 && version.Build == 2)
  85.                 {
  86.                     string str = Data.Folder + @"\" + name + @"\";
  87.                     string arguments = " -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -cp \"" + str + @"bin\minecraft.jar;" + str + @"bin\lwjgl.jar;" + str + @"bin\lwjgl_util.jar;" + str + "bin\\jinput.jar\" -Djava.library.path=\"" + str + "bin\\natives\" -Xmx" + Data.SettingsMngr.Memory + "M -Xms" + Data.SettingsMngr.Memory + "M net.minecraft.client.Minecraft " + Data.SettingsMngr.Login + " " + Data.Session + "";
  88.                     Process.Start(javadir + @"\javaw.exe", arguments);
  89.                     Application.Exit();
  90.                 }
  91.                 else if (version.Major == 1 && version.Minor == 7 && version.Build == 2)
  92.                 {
  93.                     string str3 = Data.Folder + @"\" + name + @"\";
  94.                     string str4 = "-Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Xmx" + Data.SettingsMngr.Memory + "M -Xms" + Data.SettingsMngr.Memory + "M -Djava.library.path=\"" + str3 + "natives\" -cp \"" + str3 + "bin\\optifine.jar\";\"" + str3 + "bin\\liteloader.jar\";\"" + str3 + "bin\\forge.jar\";\"" + str3 + "bin\\libs.jar\";\"" + str3 + "bin\\minecraft.jar\" net.minecraft.launchwrapper.Launch --version 1.7.2 --username " + Data.SettingsMngr.Login + " --uuid " + Data.SettingsMngr.Login + " --accessToken " + Data.Session + " --gameDir \"" + str3 + "saves\" --assetsDir \"" + str3 + "assets\" --tweakClass cpw.mods.fml.common.launcher.FMLTweaker";
  95.                     Process.Start(javadir + @"\javaw.exe", str4);
  96.                     Application.Exit();
  97.                 }
  98.                 else if (version.Major == 1 && version.Minor == 7 && version.Build == 10)
  99.                 {
  100.                     string str5 = Data.Folder + @"\" + name + @"\";
  101.                     string str6 = "-Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=256m -Xmx" + Data.SettingsMngr.Memory + "M -Xms" + Data.SettingsMngr.Memory + "M -Djava.library.path=\"" + str5 + "natives\" -cp \"" + str5 + "bin\\optifine.jar\";\"" + str5 + "bin\\liteloader.jar\";\"" + str5 + "bin\\forge.jar\";\"" + str5 + "bin\\libs.jar\";\"" + str5 + "bin\\minecraft.jar\" net.minecraft.launchwrapper.Launch --version 1.7.10 --username " + Data.SettingsMngr.Login + " --uuid " + Data.SettingsMngr.Login + " --accessToken " + Data.Session + " --gameDir \"" + str5 + "\\saves\" --assetsDir \"" + str5 + "\\assets\" --assetIndex 1.7.10 --userProperties {} --userType mojang --tweakClass com.mumfrey.liteloader.launch.LiteLoaderTweaker --tweakClass cpw.mods.fml.common.launcher.FMLTweaker";
  102.                     Process.Start(javadir + @"\javaw.exe", str6);
  103.                     Application.Exit();
  104.                 }
  105.                 else
  106.                 {
  107.                     string str7 = Data.Folder + @"\" + name + @"\";
  108.                     string str8 = "-Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true -Xmx" + Data.SettingsMngr.Memory + "M -Xms" + Data.SettingsMngr.Memory + "M -Djava.library.path=\"" + str7 + "natives\" -cp \"" + str7 + "bin\\optifine.jar\";\"" + str7 + "bin\\liteloader.jar\";\"" + str7 + "bin\\forge.jar\";\"" + str7 + "bin\\minecraft.jar\" net.minecraft.launchwrapper.Launch --username " + Data.SettingsMngr.Login + " --session " + Data.Session + " --version 1.6.4 --gameDir \"" + str7 + "saves\" --assetsDir \"" + str7 + "assets\" --tweakClass com.mumfrey.liteloader.launch.LiteLoaderTweaker --tweakClass cpw.mods.fml.common.launcher.FMLTweaker";
  109.                     Process.Start(javadir + @"\javaw.exe", str8);
  110.                     Application.Exit();
  111.                 }
  112.             }
  113.             catch
  114.             {
  115.                 Logger.Log("Unable to launch Minecraft!", "ERROR");
  116.                 var dlg = MessageBox.Show("Невозможно запустить Minecraft! Убедитесь что Java установлена на вашем компьютере! Перейти на сайт загрузки Java", "Ошибка запуска!", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
  117.                 switch (dlg)
  118.                 {
  119.                     case DialogResult.Yes:
  120.                         Process.Start("http://java.com/ru/download/");
  121.                         break;
  122.                     default:
  123.                         break;
  124.                 }
  125.             }
  126.         }
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement