From 45cb29e6caf9ba15b57fa1ee9c4ee2250f345b89 Mon Sep 17 00:00:00 2001 From: Bitl Date: Sun, 17 Nov 2019 10:14:06 -0700 Subject: [PATCH] Tripcodes --- NovetusLauncher/NovetusCMD/Program.cs | 15 +- NovetusLauncher/NovetusFuncs/ClientScript.cs | 121 +++++----- NovetusLauncher/NovetusFuncs/GlobalVars.cs | 1 + NovetusLauncher/NovetusFuncs/LauncherFuncs.cs | 60 +++-- .../NovetusFuncs/ScriptGenerator.cs | 10 +- NovetusLauncher/NovetusFuncs/SecurityFuncs.cs | 6 +- .../NovetusLauncher/MainForm.Designer.cs | 35 ++- NovetusLauncher/NovetusLauncher/MainForm.cs | 40 ++-- NovetusLauncher/NovetusLauncher/MainForm.resx | 11 +- .../QuickConfigure.Designer.cs | 207 ++++++++++-------- .../NovetusLauncher/QuickConfigure.cs | 25 +-- 11 files changed, 285 insertions(+), 246 deletions(-) diff --git a/NovetusLauncher/NovetusCMD/Program.cs b/NovetusLauncher/NovetusCMD/Program.cs index 21681dc..d496f9a 100644 --- a/NovetusLauncher/NovetusCMD/Program.cs +++ b/NovetusLauncher/NovetusCMD/Program.cs @@ -156,20 +156,7 @@ namespace NovetusCMD static void ReadConfigValues() { LauncherFuncs.ReadConfigValues(GlobalVars.ConfigDir + "\\config.ini"); - - if (GlobalVars.UserID == 0) - { - LauncherFuncs.GeneratePlayerID(); - WriteConfigValues(); - } - - if (GlobalVars.PlayerLimit == 0) - { - //We need at least a limit of 12 players. - GlobalVars.PlayerLimit = 12; - } - - ConsolePrint("Config loaded.", 3); + ConsolePrint("Config loaded.", 3); ReadClientValues(GlobalVars.SelectedClient); } diff --git a/NovetusLauncher/NovetusFuncs/ClientScript.cs b/NovetusLauncher/NovetusFuncs/ClientScript.cs index 2a1b259..40c0d52 100644 --- a/NovetusLauncher/NovetusFuncs/ClientScript.cs +++ b/NovetusLauncher/NovetusFuncs/ClientScript.cs @@ -44,15 +44,15 @@ public class ClientScript { if (type == ScriptGenerator.ScriptType.Client) { if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) { - return "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ")"; + return "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true) { - return "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ")"; + return "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false) { - return "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ")"; + return "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false) { - return "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ")"; + return "dofile('" + luafile + "'); _G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else { - return "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ")"; + return "dofile('" + luafile + "'); _G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } } else if (type == ScriptGenerator.ScriptType.Server) { return "dofile('" + luafile + "'); _G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")"; @@ -128,60 +128,61 @@ public class ClientScript string md5script = GlobalVars.AlreadyHasSecurity != true ? SecurityFuncs.CalculateMD5(GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\content\\scripts\\" + GlobalVars.ScriptName + ".lua") : ""; string md5exe = GlobalVars.AlreadyHasSecurity != true ? SecurityFuncs.CalculateMD5(rbxexe) : ""; string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'"; - string compiled = extractedCode.Replace("%mapfile%", mapfile) - .Replace("%luafile%", luafile) - .Replace("%charapp%", GlobalVars.CharacterID) - .Replace("%ip%", GlobalVars.IP) - .Replace("%port%", GlobalVars.RobloxPort.ToString()) - .Replace("%name%", GlobalVars.PlayerName) - .Replace("%icone%", ConvertIconStringToInt().ToString()) - .Replace("%icon%", GlobalVars.Custom_Icon_Offline) - .Replace("%id%", GlobalVars.UserID.ToString()) - .Replace("%face%", GlobalVars.Custom_Face_Offline) - .Replace("%head%", GlobalVars.Custom_Head_Offline) - .Replace("%tshirt%", GlobalVars.Custom_T_Shirt_Offline) - .Replace("%shirt%", GlobalVars.Custom_Shirt_Offline) - .Replace("%pants%", GlobalVars.Custom_Pants_Offline) - .Replace("%hat1%", GlobalVars.Custom_Hat1ID_Offline) - .Replace("%hat2%", GlobalVars.Custom_Hat2ID_Offline) - .Replace("%hat3%", GlobalVars.Custom_Hat3ID_Offline) - .Replace("%faced%", GlobalVars.faceGameDir + GlobalVars.Custom_Face_Offline) - .Replace("%headd%", GlobalVars.headGameDir + GlobalVars.Custom_Head_Offline) - .Replace("%tshirtd%", GlobalVars.tshirtGameDir + GlobalVars.Custom_T_Shirt_Offline) - .Replace("%shirtd%", GlobalVars.shirtGameDir + GlobalVars.Custom_Shirt_Offline) - .Replace("%pantsd%", GlobalVars.pantsGameDir + GlobalVars.Custom_Pants_Offline) - .Replace("%hat1d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat1ID_Offline) - .Replace("%hat2d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat2ID_Offline) - .Replace("%hat3d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat3ID_Offline) - .Replace("%headcolor%", GlobalVars.HeadColorID.ToString()) - .Replace("%torsocolor%", GlobalVars.TorsoColorID.ToString()) - .Replace("%larmcolor%", GlobalVars.LeftArmColorID.ToString()) - .Replace("%llegcolor%", GlobalVars.LeftLegColorID.ToString()) - .Replace("%rarmcolor%", GlobalVars.RightArmColorID.ToString()) - .Replace("%rlegcolor%", GlobalVars.RightLegColorID.ToString()) - .Replace("%rlegcolor%", GlobalVars.SelectedClientMD5) - .Replace("%md5launcher%", md5dir) - .Replace("%md5script%", GlobalVars.SelectedClientMD5) - .Replace("%md5exe%", GlobalVars.SelectedClientScriptMD5) - .Replace("%md5scriptd%", md5script) - .Replace("%md5exed%", md5exe) - .Replace("%limit%", GlobalVars.PlayerLimit.ToString()) - .Replace("%extra%", GlobalVars.Custom_Extra) - .Replace("%extrad%", GlobalVars.extraGameDir + GlobalVars.Custom_Extra) - .Replace("%hat4d%", GlobalVars.hatGameDir + GlobalVars.Custom_Extra) - .Replace("%args%", GetRawArgsFromTag(tag, endtag, md5s, luafile)) - .Replace("%facews%", GlobalVars.WebServer_FaceDir + GlobalVars.Custom_Face_Offline) - .Replace("%headws%", GlobalVars.WebServer_HeadDir + GlobalVars.Custom_Head_Offline) - .Replace("%tshirtws%", GlobalVars.WebServer_TShirtDir + GlobalVars.Custom_T_Shirt_Offline) - .Replace("%shirtws%", GlobalVars.WebServer_ShirtDir + GlobalVars.Custom_Shirt_Offline) - .Replace("%pantsws%", GlobalVars.WebServer_PantsDir + GlobalVars.Custom_Pants_Offline) - .Replace("%hat1ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat1ID_Offline) - .Replace("%hat2ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat2ID_Offline) - .Replace("%hat3ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat3ID_Offline) - .Replace("%extraws%", GlobalVars.WebServer_ExtraDir + GlobalVars.Custom_Extra) - .Replace("%hat4ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Extra) - .Replace("%bodycolors%", GlobalVars.WebServer_BodyColors) - .Replace("%mapfiled%", GlobalVars.MapGameDir + GetFolderAndMapName(GlobalVars.Map)); - return compiled; + string compiled = extractedCode.Replace("%mapfile%", mapfile) + .Replace("%luafile%", luafile) + .Replace("%charapp%", GlobalVars.CharacterID) + .Replace("%ip%", GlobalVars.IP) + .Replace("%port%", GlobalVars.RobloxPort.ToString()) + .Replace("%name%", GlobalVars.PlayerName) + .Replace("%icone%", ConvertIconStringToInt().ToString()) + .Replace("%icon%", GlobalVars.Custom_Icon_Offline) + .Replace("%id%", GlobalVars.UserID.ToString()) + .Replace("%face%", GlobalVars.Custom_Face_Offline) + .Replace("%head%", GlobalVars.Custom_Head_Offline) + .Replace("%tshirt%", GlobalVars.Custom_T_Shirt_Offline) + .Replace("%shirt%", GlobalVars.Custom_Shirt_Offline) + .Replace("%pants%", GlobalVars.Custom_Pants_Offline) + .Replace("%hat1%", GlobalVars.Custom_Hat1ID_Offline) + .Replace("%hat2%", GlobalVars.Custom_Hat2ID_Offline) + .Replace("%hat3%", GlobalVars.Custom_Hat3ID_Offline) + .Replace("%faced%", GlobalVars.faceGameDir + GlobalVars.Custom_Face_Offline) + .Replace("%headd%", GlobalVars.headGameDir + GlobalVars.Custom_Head_Offline) + .Replace("%tshirtd%", GlobalVars.tshirtGameDir + GlobalVars.Custom_T_Shirt_Offline) + .Replace("%shirtd%", GlobalVars.shirtGameDir + GlobalVars.Custom_Shirt_Offline) + .Replace("%pantsd%", GlobalVars.pantsGameDir + GlobalVars.Custom_Pants_Offline) + .Replace("%hat1d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat1ID_Offline) + .Replace("%hat2d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat2ID_Offline) + .Replace("%hat3d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat3ID_Offline) + .Replace("%headcolor%", GlobalVars.HeadColorID.ToString()) + .Replace("%torsocolor%", GlobalVars.TorsoColorID.ToString()) + .Replace("%larmcolor%", GlobalVars.LeftArmColorID.ToString()) + .Replace("%llegcolor%", GlobalVars.LeftLegColorID.ToString()) + .Replace("%rarmcolor%", GlobalVars.RightArmColorID.ToString()) + .Replace("%rlegcolor%", GlobalVars.RightLegColorID.ToString()) + .Replace("%rlegcolor%", GlobalVars.SelectedClientMD5) + .Replace("%md5launcher%", md5dir) + .Replace("%md5script%", GlobalVars.SelectedClientMD5) + .Replace("%md5exe%", GlobalVars.SelectedClientScriptMD5) + .Replace("%md5scriptd%", md5script) + .Replace("%md5exed%", md5exe) + .Replace("%limit%", GlobalVars.PlayerLimit.ToString()) + .Replace("%extra%", GlobalVars.Custom_Extra) + .Replace("%extrad%", GlobalVars.extraGameDir + GlobalVars.Custom_Extra) + .Replace("%hat4d%", GlobalVars.hatGameDir + GlobalVars.Custom_Extra) + .Replace("%args%", GetRawArgsFromTag(tag, endtag, md5s, luafile)) + .Replace("%facews%", GlobalVars.WebServer_FaceDir + GlobalVars.Custom_Face_Offline) + .Replace("%headws%", GlobalVars.WebServer_HeadDir + GlobalVars.Custom_Head_Offline) + .Replace("%tshirtws%", GlobalVars.WebServer_TShirtDir + GlobalVars.Custom_T_Shirt_Offline) + .Replace("%shirtws%", GlobalVars.WebServer_ShirtDir + GlobalVars.Custom_Shirt_Offline) + .Replace("%pantsws%", GlobalVars.WebServer_PantsDir + GlobalVars.Custom_Pants_Offline) + .Replace("%hat1ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat1ID_Offline) + .Replace("%hat2ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat2ID_Offline) + .Replace("%hat3ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat3ID_Offline) + .Replace("%extraws%", GlobalVars.WebServer_ExtraDir + GlobalVars.Custom_Extra) + .Replace("%hat4ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Extra) + .Replace("%bodycolors%", GlobalVars.WebServer_BodyColors) + .Replace("%mapfiled%", GlobalVars.MapGameDir + GetFolderAndMapName(GlobalVars.Map)) + .Replace("%tripcode%", GlobalVars.PlayerTripcode); + return compiled; } } \ No newline at end of file diff --git a/NovetusLauncher/NovetusFuncs/GlobalVars.cs b/NovetusLauncher/NovetusFuncs/GlobalVars.cs index 7246de0..5a07b9d 100644 --- a/NovetusLauncher/NovetusFuncs/GlobalVars.cs +++ b/NovetusLauncher/NovetusFuncs/GlobalVars.cs @@ -144,6 +144,7 @@ public static class GlobalVars //player settings public static int UserID = 0; public static string PlayerName = "Player"; + public static string PlayerTripcode = ""; //launcher settings. public static bool CloseOnLaunch = false; public static bool LocalPlayMode = false; diff --git a/NovetusLauncher/NovetusFuncs/LauncherFuncs.cs b/NovetusLauncher/NovetusFuncs/LauncherFuncs.cs index 1410d53..5e470ec 100644 --- a/NovetusLauncher/NovetusFuncs/LauncherFuncs.cs +++ b/NovetusLauncher/NovetusFuncs/LauncherFuncs.cs @@ -19,7 +19,7 @@ public class LauncherFuncs public static void ReadConfigValues(string cfgpath) { - string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline9, Decryptline10, Decryptline11; + string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6, Decryptline7, Decryptline9, Decryptline10, Decryptline11, Decryptline12; IniFile ini = new IniFile(cfgpath); @@ -34,7 +34,7 @@ public class LauncherFuncs Decryptline2 = ini.IniReadValue(section, "UserID"); if (string.IsNullOrWhiteSpace(Decryptline2)) { - ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString()); + ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString()); } Decryptline3 = ini.IniReadValue(section, "PlayerName"); @@ -64,7 +64,7 @@ public class LauncherFuncs Decryptline7 = ini.IniReadValue(section, "PlayerLimit"); if (string.IsNullOrWhiteSpace(Decryptline7)) { - ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString()); + ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString()); } Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra"); @@ -84,12 +84,26 @@ public class LauncherFuncs if (string.IsNullOrWhiteSpace(Decryptline11)) { ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString()); } - - bool bline1 = Convert.ToBoolean(Decryptline1); + + Decryptline12 = ini.IniReadValue(section, "PlayerTripcode"); + + if (string.IsNullOrWhiteSpace(Decryptline12)) { + ini.IniWriteValue(section, "PlayerTripcode", SecurityFuncs.Base64Encode(GlobalVars.PlayerTripcode.ToString())); + } + + bool bline1 = Convert.ToBoolean(Decryptline1); GlobalVars.CloseOnLaunch = bline1; - - int iline2 = Convert.ToInt32(Decryptline2); - GlobalVars.UserID = iline2; + + if (Decryptline2.Equals("0")) + { + GeneratePlayerID(); + WriteConfigValues(GlobalVars.ConfigDir + "\\config.ini"); + } + else + { + int iline2 = Convert.ToInt32(Decryptline2); + GlobalVars.UserID = iline2; + } GlobalVars.PlayerName = Decryptline3; @@ -111,8 +125,19 @@ public class LauncherFuncs bool bline11 = Convert.ToBoolean(Decryptline11); GlobalVars.DisabledHelp = bline11; - - ReadCustomizationValues(cfgpath.Replace(".ini", "_customization.ini")); + + if (string.IsNullOrWhiteSpace(Decryptline12)) + { + GenerateTripcode(); + WriteConfigValues(GlobalVars.ConfigDir + "\\config.ini"); + } + else + { + string sdecrypt12 = SecurityFuncs.Base64Decode(Decryptline12); + GlobalVars.PlayerTripcode = sdecrypt12; + } + + ReadCustomizationValues(cfgpath.Replace(".ini", "_customization.ini")); } public static void WriteConfigValues(string cfgpath) @@ -131,7 +156,8 @@ public class LauncherFuncs ini.IniWriteValue(section, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString()); ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString()); ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString()); - WriteCustomizationValues(cfgpath.Replace(".ini", "_customization.ini")); + ini.IniWriteValue(section, "PlayerTripcode", SecurityFuncs.Base64Encode(GlobalVars.PlayerTripcode.ToString())); + WriteCustomizationValues(cfgpath.Replace(".ini", "_customization.ini")); } public static void ResetConfigValues() @@ -139,15 +165,16 @@ public class LauncherFuncs GlobalVars.SelectedClient = GlobalVars.DefaultClient; GlobalVars.Map = GlobalVars.DefaultMap; GlobalVars.CloseOnLaunch = false; - GlobalVars.UserID = 0; - GlobalVars.PlayerName = "Player"; + GeneratePlayerID(); + GlobalVars.PlayerName = "Player"; GlobalVars.SelectedClient = GlobalVars.DefaultClient; GlobalVars.Map = GlobalVars.DefaultMap; GlobalVars.RobloxPort = 53640; GlobalVars.PlayerLimit = 12; GlobalVars.Custom_Extra_ShowHats = false; GlobalVars.UPnP = false; - ResetCustomizationValues(); + GlobalVars.DisabledHelp = false; + ResetCustomizationValues(); } public static void ReadCustomizationValues(string cfgpath) @@ -583,6 +610,11 @@ public class LauncherFuncs GlobalVars.UserID = randomID; } + public static void GenerateTripcode() + { + GlobalVars.PlayerTripcode = SecurityFuncs.RandomString(); + } + public static Image LoadImage(string fileFullName) { Stream fileStream = File.OpenRead(fileFullName); diff --git a/NovetusLauncher/NovetusFuncs/ScriptGenerator.cs b/NovetusLauncher/NovetusFuncs/ScriptGenerator.cs index 8909d59..3ec268f 100644 --- a/NovetusLauncher/NovetusFuncs/ScriptGenerator.cs +++ b/NovetusLauncher/NovetusFuncs/ScriptGenerator.cs @@ -54,15 +54,15 @@ public class ScriptGenerator string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'"; if (type == ScriptType.Client) { if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) { - return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ")"; + return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true) { - return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ")"; + return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false) { - return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ")"; + return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false) { - return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ")"; + return "_G.CSConnect(0,'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'Player'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } else { - return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ")"; + return "_G.CSConnect(" + GlobalVars.UserID + ",'" + GlobalVars.IP + "'," + GlobalVars.RobloxPort + ",'" + GlobalVars.PlayerName + "'," + GlobalVars.loadtext + "," + md5s + ",'" + GlobalVars.PlayerTripcode + "')"; } } else if (type == ScriptType.Server) { return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")"; diff --git a/NovetusLauncher/NovetusFuncs/SecurityFuncs.cs b/NovetusLauncher/NovetusFuncs/SecurityFuncs.cs index 292669d..bfaa082 100644 --- a/NovetusLauncher/NovetusFuncs/SecurityFuncs.cs +++ b/NovetusLauncher/NovetusFuncs/SecurityFuncs.cs @@ -39,7 +39,7 @@ public class SecurityFuncs public static string RandomString() { CryptoRandom random = new CryptoRandom(); - return RandomString(random.Next(5, 20)); + return RandomString(20); } public static string Base64Decode(string base64EncodedData) @@ -149,8 +149,8 @@ public class SecurityFuncs CryptoRandom random = new CryptoRandom(); return new String(' ', random.Next(20)); } - - public static void RenameWindow(Process exe, ScriptGenerator.ScriptType type) + + public static void RenameWindow(Process exe, ScriptGenerator.ScriptType type) { if (GlobalVars.AlreadyHasSecurity != true) { int time = 500; diff --git a/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs b/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs index e459db8..d2a071e 100644 --- a/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs +++ b/NovetusLauncher/NovetusLauncher/MainForm.Designer.cs @@ -91,6 +91,7 @@ namespace NovetusLauncher this.tabPage8 = new System.Windows.Forms.TabPage(); this.richTextBox2 = new System.Windows.Forms.RichTextBox(); this.tabPage5 = new System.Windows.Forms.TabPage(); + this.button26 = new System.Windows.Forms.Button(); this.button25 = new System.Windows.Forms.Button(); this.label7 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); @@ -118,7 +119,7 @@ namespace NovetusLauncher this.label11 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label(); this.label16 = new System.Windows.Forms.Label(); - this.button26 = new System.Windows.Forms.Button(); + this.label18 = new System.Windows.Forms.Label(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); @@ -757,6 +758,7 @@ namespace NovetusLauncher // // tabPage5 // + this.tabPage5.Controls.Add(this.label18); this.tabPage5.Controls.Add(this.button26); this.tabPage5.Controls.Add(this.button25); this.tabPage5.Controls.Add(this.label7); @@ -777,6 +779,16 @@ namespace NovetusLauncher this.tabPage5.Text = "SETTINGS"; this.tabPage5.UseVisualStyleBackColor = true; // + // button26 + // + this.button26.Location = new System.Drawing.Point(262, 24); + this.button26.Name = "button26"; + this.button26.Size = new System.Drawing.Size(133, 19); + this.button26.TabIndex = 57; + this.button26.Text = "Clear Local Asset Cache"; + this.button26.UseVisualStyleBackColor = true; + this.button26.Click += new System.EventHandler(this.button26_Click); + // // button25 // this.button25.Location = new System.Drawing.Point(13, 24); @@ -791,7 +803,7 @@ namespace NovetusLauncher // this.label7.Location = new System.Drawing.Point(274, 237); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(121, 19); + this.label7.Size = new System.Drawing.Size(121, 16); this.label7.TabIndex = 54; this.label7.Text = "PROJECT STARLIGHT"; // @@ -845,9 +857,10 @@ namespace NovetusLauncher // this.label8.Location = new System.Drawing.Point(8, 237); this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(81, 16); + this.label8.Size = new System.Drawing.Size(99, 16); this.label8.TabIndex = 48; this.label8.Text = "0.13333337"; + this.label8.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // button9 // @@ -1033,15 +1046,14 @@ namespace NovetusLauncher this.label16.Size = new System.Drawing.Size(2, 65); this.label16.TabIndex = 51; // - // button26 + // label18 // - this.button26.Location = new System.Drawing.Point(262, 24); - this.button26.Name = "button26"; - this.button26.Size = new System.Drawing.Size(133, 19); - this.button26.TabIndex = 57; - this.button26.Text = "Clear Local Asset Cache"; - this.button26.UseVisualStyleBackColor = true; - this.button26.Click += new System.EventHandler(this.button26_Click); + this.label18.Location = new System.Drawing.Point(113, 237); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(155, 16); + this.label18.TabIndex = 58; + this.label18.Text = "qwertyuiopasdfghjklz"; + this.label18.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // MainForm // @@ -1176,5 +1188,6 @@ namespace NovetusLauncher private System.Windows.Forms.Button button24; private System.Windows.Forms.Button button25; private System.Windows.Forms.Button button26; + private System.Windows.Forms.Label label18; } } diff --git a/NovetusLauncher/NovetusLauncher/MainForm.cs b/NovetusLauncher/NovetusLauncher/MainForm.cs index ab72c76..06ce620 100644 --- a/NovetusLauncher/NovetusLauncher/MainForm.cs +++ b/NovetusLauncher/NovetusLauncher/MainForm.cs @@ -261,9 +261,13 @@ namespace NovetusLauncher if (GlobalVars.LocalPlayMode == true) { GeneratePlayerID(); - } + GenerateTripcode(); + } + else + { + WriteConfigValues(); + } - WriteConfigValues(); StartClient(); if (GlobalVars.CloseOnLaunch == true) @@ -385,28 +389,10 @@ namespace NovetusLauncher checkBox1.Checked = false; } - if (GlobalVars.UserID == 0) - { - GeneratePlayerID(); - WriteConfigValues(); - } - else - { - textBox5.Text = GlobalVars.UserID.ToString(); - } - - if (GlobalVars.PlayerLimit == 0) - { - //We need at least a limit of 12 players. - GlobalVars.PlayerLimit = 12; - numericUpDown3.Value = Convert.ToDecimal(GlobalVars.PlayerLimit); - } - else - { - numericUpDown3.Value = Convert.ToDecimal(GlobalVars.PlayerLimit); - } - - textBox2.Text = GlobalVars.PlayerName; + textBox5.Text = GlobalVars.UserID.ToString(); + label18.Text = GlobalVars.PlayerTripcode.ToString(); + numericUpDown3.Value = Convert.ToDecimal(GlobalVars.PlayerLimit); + textBox2.Text = GlobalVars.PlayerName; label26.Text = GlobalVars.SelectedClient; label28.Text = GlobalVars.Map; treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.Map, treeView1.Nodes); @@ -491,6 +477,12 @@ namespace NovetusLauncher LauncherFuncs.GeneratePlayerID(); textBox5.Text = Convert.ToString(GlobalVars.UserID); } + + void GenerateTripcode() + { + LauncherFuncs.GenerateTripcode(); + label18.Text = GlobalVars.PlayerTripcode; + } void TextBox1TextChanged(object sender, EventArgs e) { diff --git a/NovetusLauncher/NovetusLauncher/MainForm.resx b/NovetusLauncher/NovetusLauncher/MainForm.resx index 510551f..fc43fb1 100644 --- a/NovetusLauncher/NovetusLauncher/MainForm.resx +++ b/NovetusLauncher/NovetusLauncher/MainForm.resx @@ -117,16 +117,19 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ROBLOX and the ROBLOX Clients were made by the ROBLOX Corporation. The ROBLOX Corporation does not support or endorse the creation of Novetus. Bitl is not affiliated with the ROBLOX Corporation or its subsidiaries. Bitl does not own any of the content included with Novetus. LUA scripts were used to build a client that can connect to LAN and the Internet. The LUA scripts used were borrowed from the RBXPri client and modified for this project. All credit for the LUA code included with the RBXPri client goes to the RBXPri team. All credit for the LUA code used with "non-modern" clients goes to Scripter John and EnergyCell. All credit for the LUA code used for character customization goes to RBXBanLand. + + NOTE: - If you have a problem where you can't see your character, REGENERATE YOUR PLAYER ID THEN REJOIN THE SERVER. - If you tried to connect to the server and you get an error, REJOIN THE SERVER. - To reset your character, type !!!reset into chat. +- Your tripcode will only be seen by you and the server host of any server you join. It is used to verify that you are a unique player. + + - - - - ROBLOX and the ROBLOX Clients were made by the ROBLOX Corporation. The ROBLOX Corporation does not support or endorse the creation of Novetus. Bitl is not affiliated with the ROBLOX Corporation or its subsidiaries. Bitl does not own any of the content included with Novetus. LUA scripts were used to build a client that can connect to LAN and the Internet. The LUA scripts used were borrowed from the RBXPri client and modified for this project. All credit for the LUA code included with the RBXPri client goes to the RBXPri team. All credit for the LUA code used with "non-modern" clients goes to Scripter John and EnergyCell. All credit for the LUA code used for character customization goes to RBXBanLand. diff --git a/NovetusLauncher/NovetusLauncher/QuickConfigure.Designer.cs b/NovetusLauncher/NovetusLauncher/QuickConfigure.Designer.cs index 7e8f03a..0b3944c 100644 --- a/NovetusLauncher/NovetusLauncher/QuickConfigure.Designer.cs +++ b/NovetusLauncher/NovetusLauncher/QuickConfigure.Designer.cs @@ -36,102 +36,114 @@ namespace NovetusLauncher /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuickConfigure)); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.textBox2 = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.button1 = new System.Windows.Forms.Button(); - this.button2 = new System.Windows.Forms.Button(); - this.button3 = new System.Windows.Forms.Button(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.Location = new System.Drawing.Point(55, 12); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(217, 20); - this.textBox1.TabIndex = 0; - this.textBox1.Text = "Player"; - this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged); - // - // textBox2 - // - this.textBox2.Location = new System.Drawing.Point(55, 38); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(217, 20); - this.textBox2.TabIndex = 1; - this.textBox2.Text = "0"; - this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged); - // - // label1 - // - this.label1.Location = new System.Drawing.Point(12, 15); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(37, 17); - this.label1.TabIndex = 2; - this.label1.Text = "Name:"; - // - // label2 - // - this.label2.Location = new System.Drawing.Point(12, 38); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(20, 16); - this.label2.TabIndex = 3; - this.label2.Text = "ID"; - // - // button1 - // - this.button1.Location = new System.Drawing.Point(12, 64); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(124, 23); - this.button1.TabIndex = 4; - this.button1.Text = "Customize Character"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.Button1Click); - // - // button2 - // - this.button2.Location = new System.Drawing.Point(12, 93); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(260, 23); - this.button2.TabIndex = 5; - this.button2.Text = "Close"; - this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.Button2Click); - // - // button3 - // - this.button3.Location = new System.Drawing.Point(148, 64); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(124, 23); - this.button3.TabIndex = 6; - this.button3.Text = "Regenerate Player ID"; - this.button3.UseVisualStyleBackColor = true; - this.button3.Click += new System.EventHandler(this.Button3Click); - // - // QuickConfigure - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.ClientSize = new System.Drawing.Size(284, 124); - this.Controls.Add(this.button3); - this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.textBox2); - this.Controls.Add(this.textBox1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "QuickConfigure"; - this.Closing += new System.ComponentModel.CancelEventHandler(this.QuickConfigureClose); - this.Load += new System.EventHandler(this.QuickConfigureLoad); - this.ResumeLayout(false); - this.PerformLayout(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuickConfigure)); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.label3 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(55, 12); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(217, 20); + this.textBox1.TabIndex = 0; + this.textBox1.Text = "Player"; + this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged); + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(55, 38); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(217, 20); + this.textBox2.TabIndex = 1; + this.textBox2.Text = "0"; + this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged); + // + // label1 + // + this.label1.Location = new System.Drawing.Point(12, 15); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(37, 17); + this.label1.TabIndex = 2; + this.label1.Text = "Name:"; + // + // label2 + // + this.label2.Location = new System.Drawing.Point(12, 38); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(20, 16); + this.label2.TabIndex = 3; + this.label2.Text = "ID"; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(12, 64); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(124, 23); + this.button1.TabIndex = 4; + this.button1.Text = "Customize Character"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.Button1Click); + // + // button2 + // + this.button2.Location = new System.Drawing.Point(12, 93); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(260, 23); + this.button2.TabIndex = 5; + this.button2.Text = "Close"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.Button2Click); + // + // button3 + // + this.button3.Location = new System.Drawing.Point(148, 64); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(124, 23); + this.button3.TabIndex = 6; + this.button3.Text = "Regenerate Player ID"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.Button3Click); + // + // label3 + // + this.label3.Location = new System.Drawing.Point(12, 119); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(260, 18); + this.label3.TabIndex = 7; + this.label3.Text = "qwertyuiopasdfghjklz"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // QuickConfigure + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.ClientSize = new System.Drawing.Size(284, 139); + this.Controls.Add(this.label3); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBox2); + this.Controls.Add(this.textBox1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "QuickConfigure"; + this.Closing += new System.ComponentModel.CancelEventHandler(this.QuickConfigureClose); + this.Load += new System.EventHandler(this.QuickConfigureLoad); + this.ResumeLayout(false); + this.PerformLayout(); + } private System.Windows.Forms.Button button3; private System.Windows.Forms.Button button2; @@ -140,5 +152,6 @@ namespace NovetusLauncher private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.TextBox textBox1; - } + private System.Windows.Forms.Label label3; + } } diff --git a/NovetusLauncher/NovetusLauncher/QuickConfigure.cs b/NovetusLauncher/NovetusLauncher/QuickConfigure.cs index 2e1d194..5c19e9a 100644 --- a/NovetusLauncher/NovetusLauncher/QuickConfigure.cs +++ b/NovetusLauncher/NovetusLauncher/QuickConfigure.cs @@ -52,18 +52,9 @@ namespace NovetusLauncher void ReadConfigValues(string cfgpath) { LauncherFuncs.ReadConfigValues(cfgpath); - - if (GlobalVars.UserID == 0) - { - GeneratePlayerID(); - LauncherFuncs.WriteConfigValues(cfgpath); - } - else - { - textBox2.Text = GlobalVars.UserID.ToString(); - } - - textBox1.Text = GlobalVars.PlayerName; + textBox2.Text = GlobalVars.UserID.ToString(); + label3.Text = GlobalVars.PlayerTripcode.ToString(); + textBox1.Text = GlobalVars.PlayerName; } void GeneratePlayerID() @@ -71,8 +62,14 @@ namespace NovetusLauncher LauncherFuncs.GeneratePlayerID(); textBox2.Text = GlobalVars.UserID.ToString(); } - - void TextBox1TextChanged(object sender, EventArgs e) + + void GenerateTripcode() + { + LauncherFuncs.GenerateTripcode(); + label3.Text = GlobalVars.PlayerTripcode; + } + + void TextBox1TextChanged(object sender, EventArgs e) { GlobalVars.PlayerName = textBox1.Text; }