/// <summary> /// 初始化启动器 /// </summary> /// <param name="javaPath"></param> /// <param name="javaXmx"></param> /// <param name="userName"></param> /// <param name="name"></param> /// <param name="info"></param> /// <param name="extarg"></param> /// <param name="li"></param> public Launcher(string javaPath, string javaXmx, string userName, string name, gameinfo info, string extarg, LoginInfo li) { OnStateChangeEvent(LangManager.GetLangFromResource("LauncherCheckJava")); if (!File.Exists(javaPath)) { BMCLV2.Logger.log("找不到java", BMCLV2.Logger.LogType.Error); throw new NoJavaException(); } OnStateChangeEvent(LangManager.GetLangFromResource("LauncherCheckMem")); _javaxmx = javaXmx; _username = userName; _version = info.id; this._name = name; _game.StartInfo.FileName = javaPath; if (BMCLV2.Logger.debug) { _game.StartInfo.CreateNoWindow = true; _game.StartInfo.RedirectStandardOutput = true; _game.StartInfo.RedirectStandardError = true; } _info = info; this._li = li; this.Extarg = extarg; this._info = info; }
/// <summary> /// 初始化启动器 /// </summary> /// <param name="javaPath"></param> /// <param name="javaXmx"></param> /// <param name="userName"></param> /// <param name="name"></param> /// <param name="info"></param> /// <param name="extarg"></param> /// <param name="li"></param> public Launcher(string javaPath, string javaXmx, string userName, string name, gameinfo info, string[] extarg, LoginInfo li) { OnStateChangeEvent(LangManager.GetLangFromResource("LauncherCheckJava")); if (!File.Exists(javaPath)) { BMCLV2.Logger.log("找不到java",BMCLV2.Logger.LogType.Error); throw new NoJavaException(); } OnStateChangeEvent(LangManager.GetLangFromResource("LauncherCheckMem")); _javaxmx = javaXmx; _username = userName; _version = info.id; this._name = name; _game.StartInfo.FileName = javaPath; if (BMCLV2.Logger.debug) { _game.StartInfo.CreateNoWindow = true; _game.StartInfo.RedirectStandardOutput = true; _game.StartInfo.RedirectStandardError = true; } _info = info; this._li = li; this.Extarg = extarg; this._info = info; }
public Assets(gameinfo gameInfo, string urlDownloadBase = null, string urlResourceBase = null) { _gameInfo = gameInfo; _urlDownloadBase = urlDownloadBase ?? BmclCore.UrlDownloadBase; _urlResourceBase = urlResourceBase ?? BmclCore.UrlResourceBase; var thread = new Thread(Run); thread.Start(); }
public Assets(gameinfo gameInfo, string urlDownloadBase = null, string urlResourceBase = null) { _gameInfo = gameInfo; _urlResourceBase = urlResourceBase ?? BmclCore.UrlResourceBase; var thread = new Thread(Run); thread.Start(); }
public static void ImportOldMc(string importName, string importFrom, Delegate callback = null) { var thread = new Thread(() => { OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportMain")); Directory.CreateDirectory(".minecraft\\versions\\" + importName); File.Copy(importFrom + "\\bin\\minecraft.jar", ".minecraft\\versions\\" + importName + "\\" + importName + ".jar"); OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportCreateJson")); var info = new gameinfo { id = importName }; string timezone = DateTimeOffset.Now.Offset.ToString(); if (timezone[0] != '-') { timezone = "+" + timezone; } info.time = DateTime.Now.GetDateTimeFormats('s')[0] + timezone; info.releaseTime = DateTime.Now.GetDateTimeFormats('s')[0] + timezone; info.type = "Port By BMCL"; info.minecraftArguments = "${auth_player_name}"; info.mainClass = "net.minecraft.client.Minecraft"; OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportSolveNative")); var libs = new ArrayList(); var bin = new DirectoryInfo(importFrom + "\\bin"); foreach (FileInfo file in bin.GetFiles("*.jar")) { var libfile = new libraries.libraryies(); if (file.Name == "minecraft.jar") { continue; } if ( !Directory.Exists(".minecraft\\libraries\\" + importName + "\\" + file.Name.Substring(0, file.Name.Length - 4) + "\\BMCL\\")) { Directory.CreateDirectory(".minecraft\\libraries\\" + importName + "\\" + file.Name.Substring(0, file.Name.Length - 4) + "\\BMCL\\"); } File.Copy(file.FullName, ".minecraft\\libraries\\" + importName + "\\" + file.Name.Substring(0, file.Name.Length - 4) + "\\BMCL\\" + file.Name.Substring(0, file.Name.Length - 4) + "-BMCL.jar"); libfile.name = importName + ":" + file.Name.Substring(0, file.Name.Length - 4) + ":BMCL"; libs.Add(libfile); } FileHelper.CreateDirectoryIfNotExist(".minecraft\\libraries\\" + importName + "\\BMCL\\"); var nativejar = new ZipArchive( new FileStream( ".minecraft\\libraries\\" + importName + "\\native\\BMCL\\native-BMCL-natives-windows.jar", FileMode.OpenOrCreate)); var nativeInfo = new DirectoryInfo(importFrom + "\\bin\\natives").GetFiles("\\.dll$"); foreach (var fileInfo in nativeInfo) { nativejar.CreateEntryFromFile(fileInfo.FullName, fileInfo.Name); } var nativefile = new libraries.libraryies { name = importName + ":native:BMCL" }; var nativeos = new libraries.OS { windows = "natives-windows" }; nativefile.natives = nativeos; nativefile.extract = new libraries.extract(); libs.Add(nativefile); info.libraries = (libraries.libraryies[])libs.ToArray(typeof(libraries.libraryies)); OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportWriteJson")); var wcfg = new FileStream(".minecraft\\versions\\" + importName + "\\" + importName + ".json", FileMode.Create); var infojson = new DataContractJsonSerializer(typeof(gameinfo)); infojson.WriteObject(wcfg, info); wcfg.Close(); OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportSolveLib")); if (Directory.Exists(importFrom + "\\lib")) { if (!Directory.Exists(".minecraft\\lib")) { Directory.CreateDirectory(".minecraft\\lib"); } foreach ( string libfile in Directory.GetFiles(importFrom + "\\lib", "*", SearchOption.AllDirectories)) { if (!File.Exists(".minecraft\\lib\\" + System.IO.Path.GetFileName(libfile))) { File.Copy(libfile, ".minecraft\\lib\\" + System.IO.Path.GetFileName(libfile)); } } } OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportSolveMod")); if (Directory.Exists(importFrom + "\\mods")) { util.FileHelper.Dircopy(importFrom + "\\mods", ".minecraft\\versions\\" + importName + "\\mods"); } else { Directory.CreateDirectory(".minecraft\\versions\\" + importName + "\\mods"); } if (Directory.Exists(importFrom + "\\coremods")) { util.FileHelper.Dircopy(importFrom + "\\coremods", ".minecraft\\versions\\" + importName + "\\coremods"); } else { Directory.CreateDirectory(".minecraft\\versions\\" + importName + "\\coremods"); } if (Directory.Exists(importFrom + "\\config")) { util.FileHelper.Dircopy(importFrom + "\\config", ".minecraft\\versions\\" + importName + "\\config"); } else { Directory.CreateDirectory(".minecraft\\versions\\" + importName + "\\configmods"); } OnImportFinish(); if (callback != null) { BmclCore.Invoke(callback); } }); thread.Start(); }
public static void ImportOldMc(string importName, string importFrom, Delegate callback = null) { var thread = new Thread(() => { OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportMain")); Directory.CreateDirectory(".minecraft\\versions\\" + importName); File.Copy(importFrom + "\\bin\\minecraft.jar", ".minecraft\\versions\\" + importName + "\\" + importName + ".jar"); OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportCreateJson")); var info = new gameinfo {id = importName}; string timezone = DateTimeOffset.Now.Offset.ToString(); if (timezone[0] != '-') { timezone = "+" + timezone; } info.time = DateTime.Now.GetDateTimeFormats('s')[0] + timezone; info.releaseTime = DateTime.Now.GetDateTimeFormats('s')[0] + timezone; info.type = "Port By BMCL"; info.minecraftArguments = "${auth_player_name}"; info.mainClass = "net.minecraft.client.Minecraft"; OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportSolveNative")); var libs = new ArrayList(); var bin = new DirectoryInfo(importFrom + "\\bin"); foreach (FileInfo file in bin.GetFiles("*.jar")) { var libfile = new libraries.libraryies(); if (file.Name == "minecraft.jar") continue; if ( !Directory.Exists(".minecraft\\libraries\\" + importName + "\\" + file.Name.Substring(0, file.Name.Length - 4) + "\\BMCL\\")) { Directory.CreateDirectory(".minecraft\\libraries\\" + importName + "\\" + file.Name.Substring(0, file.Name.Length - 4) + "\\BMCL\\"); } File.Copy(file.FullName, ".minecraft\\libraries\\" + importName + "\\" + file.Name.Substring(0, file.Name.Length - 4) + "\\BMCL\\" + file.Name.Substring(0, file.Name.Length - 4) + "-BMCL.jar"); libfile.name = importName + ":" + file.Name.Substring(0, file.Name.Length - 4) + ":BMCL"; libs.Add(libfile); } var nativejar = new ICSharpCode.SharpZipLib.Zip.FastZip(); if (!Directory.Exists(".minecraft\\libraries\\" + importName + "\\BMCL\\")) { Directory.CreateDirectory(".minecraft\\libraries\\" + importName + "\\native\\BMCL\\"); } nativejar.CreateZip( ".minecraft\\libraries\\" + importName + "\\native\\BMCL\\native-BMCL-natives-windows.jar", importFrom + "\\bin\\natives", false, @"\.dll"); var nativefile = new libraries.libraryies {name = importName + ":native:BMCL"}; var nativeos = new libraries.OS {windows = "natives-windows"}; nativefile.natives = nativeos; nativefile.extract = new libraries.extract(); libs.Add(nativefile); info.libraries = (libraries.libraryies[]) libs.ToArray(typeof (libraries.libraryies)); OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportWriteJson")); var wcfg = new FileStream(".minecraft\\versions\\" + importName + "\\" + importName + ".json", FileMode.Create); var infojson = new DataContractJsonSerializer(typeof (gameinfo)); infojson.WriteObject(wcfg, info); wcfg.Close(); OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportSolveLib")); if (Directory.Exists(importFrom + "\\lib")) { if (!Directory.Exists(".minecraft\\lib")) { Directory.CreateDirectory(".minecraft\\lib"); } foreach ( string libfile in Directory.GetFiles(importFrom + "\\lib", "*", SearchOption.AllDirectories)) { if (!File.Exists(".minecraft\\lib\\" + System.IO.Path.GetFileName(libfile))) { File.Copy(libfile, ".minecraft\\lib\\" + System.IO.Path.GetFileName(libfile)); } } } OnImportProgressChangeEvent(LangManager.GetLangFromResource("ImportSolveMod")); if (Directory.Exists(importFrom + "\\mods")) util.FileHelper.dircopy(importFrom + "\\mods", ".minecraft\\versions\\" + importName + "\\mods"); else Directory.CreateDirectory(".minecraft\\versions\\" + importName + "\\mods"); if (Directory.Exists(importFrom + "\\coremods")) util.FileHelper.dircopy(importFrom + "\\coremods", ".minecraft\\versions\\" + importName + "\\coremods"); else Directory.CreateDirectory(".minecraft\\versions\\" + importName + "\\coremods"); if (Directory.Exists(importFrom + "\\config")) util.FileHelper.dircopy(importFrom + "\\config", ".minecraft\\versions\\" + importName + "\\config"); else Directory.CreateDirectory(".minecraft\\versions\\" + importName + "\\configmods"); OnImportFinish(); if (callback != null) { BmclCore.Invoke(callback); } }); thread.Start(); }
public ActionResult MemberManagementForDetails(Dictionary <string, string> queryvalues) { string _Value = queryvalues.ContainsKey("Value") ? queryvalues["Value"] : "0"; // string _SearchExt = queryvalues.ContainsKey("SearchExt") ? queryvalues["SearchExt"].ToString() : ""; ViewData["Value"] = _Value; Role model = new Role(); long a = 0; if (long.TryParse(_Value, out a) == false) { return(View(model)); } model = RoleBLL.GetVRoleByString(new Role() { ID = long.Parse(_Value) }); if (model == null) { return(View(model)); } else { Role role = RoleBLL.GetGiftByString(new Role { ID = long.Parse(_Value) }); model.Gift = role.Gift; model.GiftExpire = role.GiftExpire; if (model.ExtInfo == null) { return(View(model)); } else { //SystemType if (SystemType == "2") { ////////////////////////////////底层修改/////////////////////////////////// BExtInfo BExtInfo = BExtInfo.ParseFrom(model.ExtInfo); model.VipGrade = BExtInfo.VipInfo.Grade; //VIP等级 model.VipPoint = BExtInfo.VipInfo.Current; //VIP点数 model.LevelGrade = BExtInfo.LevelInfo.Level; //玩家等级 model.ItemCount = BExtInfo.ToolsInfo.ListToolsList.Count(); //道具 //IList<GameInfo> gameInfoList = BExtInfo.UserExData.ListInfoList; //德州扑克 //GameInfo game15 = gameInfoList.Where(m => m.GameID == 15).FirstOrDefault(); //gameinfo g15 = new gameinfo(); //if (game15 != null) //{ // g15.dwWin = Convert.ToInt32(game15.DwWin); // g15.dwTotal = Convert.ToInt32(game15.DwTotal); // g15.maxWinChip = game15.MaxWinChip; //} //else //{ // g15.dwWin = 0; // g15.dwTotal = 0; // g15.maxWinChip = 0; //} //model.GameInfo15 = g15; ////中发白 //GameInfo game13 = gameInfoList.Where(m => m.GameID == 15).FirstOrDefault(); //gameinfo g13 = new gameinfo(); //if (game13 != null) //{ // g13.dwWin = Convert.ToInt32(game13.DwWin); // g13.dwTotal = Convert.ToInt32(game13.DwTotal); // g13.maxWinChip = game13.MaxWinChip; //} //else //{ // g13.dwWin = 0; // g13.dwTotal = 0; // g13.maxWinChip = 0; //} //model.GameInfo13 = g13; //十二生肖 //GameInfo game14 = gameInfoList.Where(m => m.GameID == 15).FirstOrDefault(); //gameinfo g14 = new gameinfo(); //if (game14 != null) //{ // g14.dwWin = Convert.ToInt32(game14.DwWin); // g14.dwTotal = Convert.ToInt32(game14.DwTotal); // g14.maxWinChip = game14.MaxWinChip; //} //else //{ // g14.dwWin = 0; // g14.dwTotal = 0; // g14.maxWinChip = 0; //} //model.GameInfo14 = g14; model.Friend = (short)BExtInfo.UserExData.WMaxFriend; uint lastLoginTime = BExtInfo.UserExData.LastLoginTime; DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(lastLoginTime + "0000000"); TimeSpan toNow = new TimeSpan(lTime); dtStart = dtStart.Add(toNow); model.LastLoginTime = dtStart; model.lastMoney = BExtInfo.UserExData.LastMoney; } else if (SystemType == "1") { int indexData = 4; byte[] numData = new byte[4]; Array.Copy(model.ExtInfo, indexData, numData, 0, 4); int num = System.BitConverter.ToInt32(numData, 0); indexData = indexData + 4; byte[] DataInfo = new byte[num]; Array.Copy(model.ExtInfo, 0, DataInfo, 0, num); while (indexData < num) { //类型ID int typeid = System.BitConverter.ToInt32(DataInfo, indexData); indexData = indexData + 4; int datanum = System.BitConverter.ToInt32(DataInfo, indexData); indexData = indexData + 4; //VIP等级 if (typeid == 1) { model.VipGrade = System.BitConverter.ToInt32(DataInfo, indexData); model.VipPoint = System.BitConverter.ToInt32(DataInfo, indexData + 4); indexData = indexData + datanum; } //玩家等级 else if (typeid == 2) { model.LevelGrade = System.BitConverter.ToInt32(DataInfo, indexData); indexData = indexData + datanum; } //道具 else if (typeid == 4) { model.ItemCount = datanum / 24; indexData = indexData + datanum; } //牌局 else if (typeid == 9) { int flag = indexData + datanum; model.Friend = System.BitConverter.ToInt16(DataInfo, indexData); uint lastLoginTime = System.BitConverter.ToUInt32(DataInfo, indexData + 4); DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(lastLoginTime + "0000000"); TimeSpan toNow = new TimeSpan(lTime); dtStart = dtStart.Add(toNow); model.LastLoginTime = dtStart; //long lastMoney = System.BitConverter.ToInt32(DataInfo, indexData + 16); //model.lastMoney = lastMoney; indexData = indexData + 32; while (indexData < flag) { short gameid = System.BitConverter.ToInt16(DataInfo, indexData); indexData = indexData + 4; switch (gameid) { case 15: //德州 gameinfo gameinfo15 = new gameinfo(); gameinfo15.dwWin = System.BitConverter.ToInt32(DataInfo, indexData); gameinfo15.dwTotal = System.BitConverter.ToInt32(DataInfo, indexData + 4); gameinfo15.maxWinChip = System.BitConverter.ToInt32(DataInfo, indexData + 8); model.GameInfo15 = gameinfo15; indexData = indexData + 12; break; case 13: //中发白 gameinfo gameinfo13 = new gameinfo(); gameinfo13.dwWin = System.BitConverter.ToInt32(DataInfo, indexData); gameinfo13.dwTotal = System.BitConverter.ToInt32(DataInfo, indexData + 4); gameinfo13.maxWinChip = System.BitConverter.ToInt32(DataInfo, indexData + 8); model.GameInfo13 = gameinfo13; indexData = indexData + 12; break; case 14: //十二生肖 gameinfo gameinfo14 = new gameinfo(); gameinfo14.dwWin = System.BitConverter.ToInt32(DataInfo, indexData); gameinfo14.dwTotal = System.BitConverter.ToInt32(DataInfo, indexData + 4); gameinfo14.maxWinChip = System.BitConverter.ToInt32(DataInfo, indexData + 8); model.GameInfo14 = gameinfo14; indexData = indexData + 12; break; default: indexData = flag; break; } } } else { indexData = indexData + datanum; } } } else { } } // 计算在线状态 UserStateReq UserStateReq; // model.Minu 传一个时间长短给服务器 UserStateReq = UserStateReq.CreateBuilder() .SetUserId(Convert.ToInt32(model.ID)) .Build(); Bind tbind = Cmd.runClient(new Bind(ServiceCmd.SC_USER_STATE, UserStateReq.ToByteArray())); switch ((CenterCmd)tbind.header.CommandID) { case CenterCmd.CS_USER_STATE: UserStateRes UserStateRes = UserStateRes.ParseFrom(tbind.body.ToBytes()); int state = UserStateRes.State; int roomId = UserStateRes.RoomId; int roomtype = UserStateRes.RoomType; model.IsOnLine = state > 0 ? IsOnLine.在线 : IsOnLine.离线; model.RoomID = roomId; model.RoomType = (gameID)roomtype; break; case CenterCmd.CS_CONNECT_ERROR: break; } BaseDataView vbd = new BaseDataView { StartDate = DateTime.Now.AddDays(-10).Date.ToString(), ExpirationDate = DateTime.Now.AddDays(1).Date.ToString(), //Channels = _Channels, SearchExt = _Value }; IEnumerable <BaseDataInfo> ibd = BaseDataBLL.GetGameProfit(vbd); foreach (BaseDataInfo m in ibd) { model.tenDayYinkui = m.ProfitAdd1 + m.ProfitDel1 + m.ProfitAdd2 + m.ProfitDel2 + m.ProfitAdd3 + m.ProfitDel3 + m.ProfitAdd4 + m.ProfitDel4 + m.ProfitAdd5 + m.ProfitDel5 + m.ProfitAdd6 + m.ProfitDel6 + m.ProfitAdd7 + m.ProfitDel7 + m.ProfitAdd8 + m.ProfitDel8 + m.ProfitAdd9 + m.ProfitDel9 + m.ProfitAdd10 + m.ProfitDel10; } foreach (BaseDataInfo m in ibd) { model.tenDayChanchu = m.ProfitAdd1 + m.ProfitAdd2 + m.ProfitAdd3 + m.ProfitAdd4 + m.ProfitAdd5 + m.ProfitAdd6 + m.ProfitAdd7 + m.ProfitAdd8 + m.ProfitAdd9 + m.ProfitAdd10; } foreach (BaseDataInfo m in ibd) { model.tenDayXiaohao = m.ProfitDel1 + m.ProfitDel2 + m.ProfitDel3 + m.ProfitDel4 + m.ProfitDel5 + m.ProfitDel6 + m.ProfitDel7 + m.ProfitDel8 + m.ProfitDel9 + m.ProfitDel10; } model.RemarksName = MemberCenterBLL.GetRemarksNameByID(_Value); } BaseDataView vbd2 = new BaseDataView { StartDate = DateTime.Now.Date.ToString(), ExpirationDate = DateTime.Now.AddDays(1).Date.ToString(), //Channels = _Channels, SearchExt = _Value }; if (_Value != "") { //ViewData["DetailProfit"] = BaseDataBLL.GetGameOutputDetailUser(vbd); ViewData["GameProfit"] = BaseDataBLL.GetGameProfit(vbd2); } else { ViewData["GameProfit"] = ""; } Role rl = RoleBLL.GetModelByID(new Role { ID = Convert.ToInt64(_Value) }); if (rl != null) { string nikeName = rl.NickName; } model.SendEmailCount = MemberCenterBLL.GetSendEmailCount(_Value); int fishCount = 0; GameRecordView grv = new GameRecordView { SearchExt = _Value, StartDate = DateTime.Now.AddDays(-1).Date.ToString(), ExpirationDate = DateTime.Now.AddDays(1).Date.ToString() }; IEnumerable <UserFishInfo> Fishmodel = FishInfoBLL.GetUserInfo(grv); foreach (GL.Data.Model.UserFishInfo m in Fishmodel) { fishCount = fishCount + m.Fish1 * 200000; fishCount = fishCount + m.Fish2 * 1000000; fishCount = fishCount + m.Fish3 * 2000000; fishCount = fishCount + m.Fish4 * 5000000; fishCount = fishCount + m.Fish5 * 100000; fishCount = fishCount + m.Fish6 * 50000; } return(View(model)); }