Tripcodes

This commit is contained in:
Bitl 2019-11-17 10:14:06 -07:00
parent 6671872469
commit 45cb29e6ca
11 changed files with 285 additions and 246 deletions

View File

@ -156,20 +156,7 @@ namespace NovetusCMD
static void ReadConfigValues() static void ReadConfigValues()
{ {
LauncherFuncs.ReadConfigValues(GlobalVars.ConfigDir + "\\config.ini"); LauncherFuncs.ReadConfigValues(GlobalVars.ConfigDir + "\\config.ini");
ConsolePrint("Config loaded.", 3);
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);
ReadClientValues(GlobalVars.SelectedClient); ReadClientValues(GlobalVars.SelectedClient);
} }

View File

@ -44,15 +44,15 @@ public class ClientScript
{ {
if (type == ScriptGenerator.ScriptType.Client) { if (type == ScriptGenerator.ScriptType.Client) {
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) { 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) { } 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) { } 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) { } 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 { } 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) { } else if (type == ScriptGenerator.ScriptType.Server) {
return "dofile('" + luafile + "'); _G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")"; 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 md5script = GlobalVars.AlreadyHasSecurity != true ? SecurityFuncs.CalculateMD5(GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\content\\scripts\\" + GlobalVars.ScriptName + ".lua") : "";
string md5exe = GlobalVars.AlreadyHasSecurity != true ? SecurityFuncs.CalculateMD5(rbxexe) : ""; string md5exe = GlobalVars.AlreadyHasSecurity != true ? SecurityFuncs.CalculateMD5(rbxexe) : "";
string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'"; string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'";
string compiled = extractedCode.Replace("%mapfile%", mapfile) string compiled = extractedCode.Replace("%mapfile%", mapfile)
.Replace("%luafile%", luafile) .Replace("%luafile%", luafile)
.Replace("%charapp%", GlobalVars.CharacterID) .Replace("%charapp%", GlobalVars.CharacterID)
.Replace("%ip%", GlobalVars.IP) .Replace("%ip%", GlobalVars.IP)
.Replace("%port%", GlobalVars.RobloxPort.ToString()) .Replace("%port%", GlobalVars.RobloxPort.ToString())
.Replace("%name%", GlobalVars.PlayerName) .Replace("%name%", GlobalVars.PlayerName)
.Replace("%icone%", ConvertIconStringToInt().ToString()) .Replace("%icone%", ConvertIconStringToInt().ToString())
.Replace("%icon%", GlobalVars.Custom_Icon_Offline) .Replace("%icon%", GlobalVars.Custom_Icon_Offline)
.Replace("%id%", GlobalVars.UserID.ToString()) .Replace("%id%", GlobalVars.UserID.ToString())
.Replace("%face%", GlobalVars.Custom_Face_Offline) .Replace("%face%", GlobalVars.Custom_Face_Offline)
.Replace("%head%", GlobalVars.Custom_Head_Offline) .Replace("%head%", GlobalVars.Custom_Head_Offline)
.Replace("%tshirt%", GlobalVars.Custom_T_Shirt_Offline) .Replace("%tshirt%", GlobalVars.Custom_T_Shirt_Offline)
.Replace("%shirt%", GlobalVars.Custom_Shirt_Offline) .Replace("%shirt%", GlobalVars.Custom_Shirt_Offline)
.Replace("%pants%", GlobalVars.Custom_Pants_Offline) .Replace("%pants%", GlobalVars.Custom_Pants_Offline)
.Replace("%hat1%", GlobalVars.Custom_Hat1ID_Offline) .Replace("%hat1%", GlobalVars.Custom_Hat1ID_Offline)
.Replace("%hat2%", GlobalVars.Custom_Hat2ID_Offline) .Replace("%hat2%", GlobalVars.Custom_Hat2ID_Offline)
.Replace("%hat3%", GlobalVars.Custom_Hat3ID_Offline) .Replace("%hat3%", GlobalVars.Custom_Hat3ID_Offline)
.Replace("%faced%", GlobalVars.faceGameDir + GlobalVars.Custom_Face_Offline) .Replace("%faced%", GlobalVars.faceGameDir + GlobalVars.Custom_Face_Offline)
.Replace("%headd%", GlobalVars.headGameDir + GlobalVars.Custom_Head_Offline) .Replace("%headd%", GlobalVars.headGameDir + GlobalVars.Custom_Head_Offline)
.Replace("%tshirtd%", GlobalVars.tshirtGameDir + GlobalVars.Custom_T_Shirt_Offline) .Replace("%tshirtd%", GlobalVars.tshirtGameDir + GlobalVars.Custom_T_Shirt_Offline)
.Replace("%shirtd%", GlobalVars.shirtGameDir + GlobalVars.Custom_Shirt_Offline) .Replace("%shirtd%", GlobalVars.shirtGameDir + GlobalVars.Custom_Shirt_Offline)
.Replace("%pantsd%", GlobalVars.pantsGameDir + GlobalVars.Custom_Pants_Offline) .Replace("%pantsd%", GlobalVars.pantsGameDir + GlobalVars.Custom_Pants_Offline)
.Replace("%hat1d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat1ID_Offline) .Replace("%hat1d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat1ID_Offline)
.Replace("%hat2d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat2ID_Offline) .Replace("%hat2d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat2ID_Offline)
.Replace("%hat3d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat3ID_Offline) .Replace("%hat3d%", GlobalVars.hatGameDir + GlobalVars.Custom_Hat3ID_Offline)
.Replace("%headcolor%", GlobalVars.HeadColorID.ToString()) .Replace("%headcolor%", GlobalVars.HeadColorID.ToString())
.Replace("%torsocolor%", GlobalVars.TorsoColorID.ToString()) .Replace("%torsocolor%", GlobalVars.TorsoColorID.ToString())
.Replace("%larmcolor%", GlobalVars.LeftArmColorID.ToString()) .Replace("%larmcolor%", GlobalVars.LeftArmColorID.ToString())
.Replace("%llegcolor%", GlobalVars.LeftLegColorID.ToString()) .Replace("%llegcolor%", GlobalVars.LeftLegColorID.ToString())
.Replace("%rarmcolor%", GlobalVars.RightArmColorID.ToString()) .Replace("%rarmcolor%", GlobalVars.RightArmColorID.ToString())
.Replace("%rlegcolor%", GlobalVars.RightLegColorID.ToString()) .Replace("%rlegcolor%", GlobalVars.RightLegColorID.ToString())
.Replace("%rlegcolor%", GlobalVars.SelectedClientMD5) .Replace("%rlegcolor%", GlobalVars.SelectedClientMD5)
.Replace("%md5launcher%", md5dir) .Replace("%md5launcher%", md5dir)
.Replace("%md5script%", GlobalVars.SelectedClientMD5) .Replace("%md5script%", GlobalVars.SelectedClientMD5)
.Replace("%md5exe%", GlobalVars.SelectedClientScriptMD5) .Replace("%md5exe%", GlobalVars.SelectedClientScriptMD5)
.Replace("%md5scriptd%", md5script) .Replace("%md5scriptd%", md5script)
.Replace("%md5exed%", md5exe) .Replace("%md5exed%", md5exe)
.Replace("%limit%", GlobalVars.PlayerLimit.ToString()) .Replace("%limit%", GlobalVars.PlayerLimit.ToString())
.Replace("%extra%", GlobalVars.Custom_Extra) .Replace("%extra%", GlobalVars.Custom_Extra)
.Replace("%extrad%", GlobalVars.extraGameDir + GlobalVars.Custom_Extra) .Replace("%extrad%", GlobalVars.extraGameDir + GlobalVars.Custom_Extra)
.Replace("%hat4d%", GlobalVars.hatGameDir + GlobalVars.Custom_Extra) .Replace("%hat4d%", GlobalVars.hatGameDir + GlobalVars.Custom_Extra)
.Replace("%args%", GetRawArgsFromTag(tag, endtag, md5s, luafile)) .Replace("%args%", GetRawArgsFromTag(tag, endtag, md5s, luafile))
.Replace("%facews%", GlobalVars.WebServer_FaceDir + GlobalVars.Custom_Face_Offline) .Replace("%facews%", GlobalVars.WebServer_FaceDir + GlobalVars.Custom_Face_Offline)
.Replace("%headws%", GlobalVars.WebServer_HeadDir + GlobalVars.Custom_Head_Offline) .Replace("%headws%", GlobalVars.WebServer_HeadDir + GlobalVars.Custom_Head_Offline)
.Replace("%tshirtws%", GlobalVars.WebServer_TShirtDir + GlobalVars.Custom_T_Shirt_Offline) .Replace("%tshirtws%", GlobalVars.WebServer_TShirtDir + GlobalVars.Custom_T_Shirt_Offline)
.Replace("%shirtws%", GlobalVars.WebServer_ShirtDir + GlobalVars.Custom_Shirt_Offline) .Replace("%shirtws%", GlobalVars.WebServer_ShirtDir + GlobalVars.Custom_Shirt_Offline)
.Replace("%pantsws%", GlobalVars.WebServer_PantsDir + GlobalVars.Custom_Pants_Offline) .Replace("%pantsws%", GlobalVars.WebServer_PantsDir + GlobalVars.Custom_Pants_Offline)
.Replace("%hat1ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat1ID_Offline) .Replace("%hat1ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat1ID_Offline)
.Replace("%hat2ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat2ID_Offline) .Replace("%hat2ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat2ID_Offline)
.Replace("%hat3ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat3ID_Offline) .Replace("%hat3ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Hat3ID_Offline)
.Replace("%extraws%", GlobalVars.WebServer_ExtraDir + GlobalVars.Custom_Extra) .Replace("%extraws%", GlobalVars.WebServer_ExtraDir + GlobalVars.Custom_Extra)
.Replace("%hat4ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Extra) .Replace("%hat4ws%", GlobalVars.WebServer_HatDir + GlobalVars.Custom_Extra)
.Replace("%bodycolors%", GlobalVars.WebServer_BodyColors) .Replace("%bodycolors%", GlobalVars.WebServer_BodyColors)
.Replace("%mapfiled%", GlobalVars.MapGameDir + GetFolderAndMapName(GlobalVars.Map)); .Replace("%mapfiled%", GlobalVars.MapGameDir + GetFolderAndMapName(GlobalVars.Map))
return compiled; .Replace("%tripcode%", GlobalVars.PlayerTripcode);
return compiled;
} }
} }

View File

@ -144,6 +144,7 @@ public static class GlobalVars
//player settings //player settings
public static int UserID = 0; public static int UserID = 0;
public static string PlayerName = "Player"; public static string PlayerName = "Player";
public static string PlayerTripcode = "";
//launcher settings. //launcher settings.
public static bool CloseOnLaunch = false; public static bool CloseOnLaunch = false;
public static bool LocalPlayMode = false; public static bool LocalPlayMode = false;

View File

@ -19,7 +19,7 @@ public class LauncherFuncs
public static void ReadConfigValues(string cfgpath) 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); IniFile ini = new IniFile(cfgpath);
@ -34,7 +34,7 @@ public class LauncherFuncs
Decryptline2 = ini.IniReadValue(section, "UserID"); Decryptline2 = ini.IniReadValue(section, "UserID");
if (string.IsNullOrWhiteSpace(Decryptline2)) { if (string.IsNullOrWhiteSpace(Decryptline2)) {
ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString()); ini.IniWriteValue(section, "UserID", GlobalVars.UserID.ToString());
} }
Decryptline3 = ini.IniReadValue(section, "PlayerName"); Decryptline3 = ini.IniReadValue(section, "PlayerName");
@ -64,7 +64,7 @@ public class LauncherFuncs
Decryptline7 = ini.IniReadValue(section, "PlayerLimit"); Decryptline7 = ini.IniReadValue(section, "PlayerLimit");
if (string.IsNullOrWhiteSpace(Decryptline7)) { if (string.IsNullOrWhiteSpace(Decryptline7)) {
ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString()); ini.IniWriteValue(section, "PlayerLimit", GlobalVars.PlayerLimit.ToString());
} }
Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra"); Decryptline9 = ini.IniReadValue(section, "ShowHatsOnExtra");
@ -85,11 +85,25 @@ public class LauncherFuncs
ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.ToString()); 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; GlobalVars.CloseOnLaunch = bline1;
int iline2 = Convert.ToInt32(Decryptline2); if (Decryptline2.Equals("0"))
GlobalVars.UserID = iline2; {
GeneratePlayerID();
WriteConfigValues(GlobalVars.ConfigDir + "\\config.ini");
}
else
{
int iline2 = Convert.ToInt32(Decryptline2);
GlobalVars.UserID = iline2;
}
GlobalVars.PlayerName = Decryptline3; GlobalVars.PlayerName = Decryptline3;
@ -112,7 +126,18 @@ public class LauncherFuncs
bool bline11 = Convert.ToBoolean(Decryptline11); bool bline11 = Convert.ToBoolean(Decryptline11);
GlobalVars.DisabledHelp = bline11; 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) 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, "ShowHatsOnExtra", GlobalVars.Custom_Extra_ShowHats.ToString());
ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString()); ini.IniWriteValue(section, "UPnP", GlobalVars.UPnP.ToString());
ini.IniWriteValue(section, "ItemMakerDisableHelpMessage", GlobalVars.DisabledHelp.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() public static void ResetConfigValues()
@ -139,15 +165,16 @@ public class LauncherFuncs
GlobalVars.SelectedClient = GlobalVars.DefaultClient; GlobalVars.SelectedClient = GlobalVars.DefaultClient;
GlobalVars.Map = GlobalVars.DefaultMap; GlobalVars.Map = GlobalVars.DefaultMap;
GlobalVars.CloseOnLaunch = false; GlobalVars.CloseOnLaunch = false;
GlobalVars.UserID = 0; GeneratePlayerID();
GlobalVars.PlayerName = "Player"; GlobalVars.PlayerName = "Player";
GlobalVars.SelectedClient = GlobalVars.DefaultClient; GlobalVars.SelectedClient = GlobalVars.DefaultClient;
GlobalVars.Map = GlobalVars.DefaultMap; GlobalVars.Map = GlobalVars.DefaultMap;
GlobalVars.RobloxPort = 53640; GlobalVars.RobloxPort = 53640;
GlobalVars.PlayerLimit = 12; GlobalVars.PlayerLimit = 12;
GlobalVars.Custom_Extra_ShowHats = false; GlobalVars.Custom_Extra_ShowHats = false;
GlobalVars.UPnP = false; GlobalVars.UPnP = false;
ResetCustomizationValues(); GlobalVars.DisabledHelp = false;
ResetCustomizationValues();
} }
public static void ReadCustomizationValues(string cfgpath) public static void ReadCustomizationValues(string cfgpath)
@ -583,6 +610,11 @@ public class LauncherFuncs
GlobalVars.UserID = randomID; GlobalVars.UserID = randomID;
} }
public static void GenerateTripcode()
{
GlobalVars.PlayerTripcode = SecurityFuncs.RandomString();
}
public static Image LoadImage(string fileFullName) public static Image LoadImage(string fileFullName)
{ {
Stream fileStream = File.OpenRead(fileFullName); Stream fileStream = File.OpenRead(fileFullName);

View File

@ -54,15 +54,15 @@ public class ScriptGenerator
string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'"; string md5s = "'" + md5exe + "','" + md5dir + "','" + md5script + "'";
if (type == ScriptType.Client) { if (type == ScriptType.Client) {
if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true) { 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) { } 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) { } 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) { } 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 { } 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) { } else if (type == ScriptType.Server) {
return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")"; return "_G.CSServer(" + GlobalVars.RobloxPort + "," + GlobalVars.PlayerLimit + "," + md5s + ")";

View File

@ -39,7 +39,7 @@ public class SecurityFuncs
public static string RandomString() public static string RandomString()
{ {
CryptoRandom random = new CryptoRandom(); CryptoRandom random = new CryptoRandom();
return RandomString(random.Next(5, 20)); return RandomString(20);
} }
public static string Base64Decode(string base64EncodedData) public static string Base64Decode(string base64EncodedData)
@ -150,7 +150,7 @@ public class SecurityFuncs
return new String(' ', random.Next(20)); 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) { if (GlobalVars.AlreadyHasSecurity != true) {
int time = 500; int time = 500;

View File

@ -91,6 +91,7 @@ namespace NovetusLauncher
this.tabPage8 = new System.Windows.Forms.TabPage(); this.tabPage8 = new System.Windows.Forms.TabPage();
this.richTextBox2 = new System.Windows.Forms.RichTextBox(); this.richTextBox2 = new System.Windows.Forms.RichTextBox();
this.tabPage5 = new System.Windows.Forms.TabPage(); this.tabPage5 = new System.Windows.Forms.TabPage();
this.button26 = new System.Windows.Forms.Button();
this.button25 = new System.Windows.Forms.Button(); this.button25 = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.label10 = 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.label11 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label();
this.label16 = 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.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
@ -757,6 +758,7 @@ namespace NovetusLauncher
// //
// tabPage5 // tabPage5
// //
this.tabPage5.Controls.Add(this.label18);
this.tabPage5.Controls.Add(this.button26); this.tabPage5.Controls.Add(this.button26);
this.tabPage5.Controls.Add(this.button25); this.tabPage5.Controls.Add(this.button25);
this.tabPage5.Controls.Add(this.label7); this.tabPage5.Controls.Add(this.label7);
@ -777,6 +779,16 @@ namespace NovetusLauncher
this.tabPage5.Text = "SETTINGS"; this.tabPage5.Text = "SETTINGS";
this.tabPage5.UseVisualStyleBackColor = true; 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 // button25
// //
this.button25.Location = new System.Drawing.Point(13, 24); 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.Location = new System.Drawing.Point(274, 237);
this.label7.Name = "label7"; 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.TabIndex = 54;
this.label7.Text = "PROJECT STARLIGHT"; this.label7.Text = "PROJECT STARLIGHT";
// //
@ -845,9 +857,10 @@ namespace NovetusLauncher
// //
this.label8.Location = new System.Drawing.Point(8, 237); this.label8.Location = new System.Drawing.Point(8, 237);
this.label8.Name = "label8"; 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.TabIndex = 48;
this.label8.Text = "0.13333337"; this.label8.Text = "0.13333337";
this.label8.TextAlign = System.Drawing.ContentAlignment.TopCenter;
// //
// button9 // button9
// //
@ -1033,15 +1046,14 @@ namespace NovetusLauncher
this.label16.Size = new System.Drawing.Size(2, 65); this.label16.Size = new System.Drawing.Size(2, 65);
this.label16.TabIndex = 51; this.label16.TabIndex = 51;
// //
// button26 // label18
// //
this.button26.Location = new System.Drawing.Point(262, 24); this.label18.Location = new System.Drawing.Point(113, 237);
this.button26.Name = "button26"; this.label18.Name = "label18";
this.button26.Size = new System.Drawing.Size(133, 19); this.label18.Size = new System.Drawing.Size(155, 16);
this.button26.TabIndex = 57; this.label18.TabIndex = 58;
this.button26.Text = "Clear Local Asset Cache"; this.label18.Text = "qwertyuiopasdfghjklz";
this.button26.UseVisualStyleBackColor = true; this.label18.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.button26.Click += new System.EventHandler(this.button26_Click);
// //
// MainForm // MainForm
// //
@ -1176,5 +1188,6 @@ namespace NovetusLauncher
private System.Windows.Forms.Button button24; private System.Windows.Forms.Button button24;
private System.Windows.Forms.Button button25; private System.Windows.Forms.Button button25;
private System.Windows.Forms.Button button26; private System.Windows.Forms.Button button26;
private System.Windows.Forms.Label label18;
} }
} }

View File

@ -261,9 +261,13 @@ namespace NovetusLauncher
if (GlobalVars.LocalPlayMode == true) if (GlobalVars.LocalPlayMode == true)
{ {
GeneratePlayerID(); GeneratePlayerID();
} GenerateTripcode();
}
else
{
WriteConfigValues();
}
WriteConfigValues();
StartClient(); StartClient();
if (GlobalVars.CloseOnLaunch == true) if (GlobalVars.CloseOnLaunch == true)
@ -385,28 +389,10 @@ namespace NovetusLauncher
checkBox1.Checked = false; checkBox1.Checked = false;
} }
if (GlobalVars.UserID == 0) textBox5.Text = GlobalVars.UserID.ToString();
{ label18.Text = GlobalVars.PlayerTripcode.ToString();
GeneratePlayerID(); numericUpDown3.Value = Convert.ToDecimal(GlobalVars.PlayerLimit);
WriteConfigValues(); textBox2.Text = GlobalVars.PlayerName;
}
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;
label26.Text = GlobalVars.SelectedClient; label26.Text = GlobalVars.SelectedClient;
label28.Text = GlobalVars.Map; label28.Text = GlobalVars.Map;
treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.Map, treeView1.Nodes); treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.Map, treeView1.Nodes);
@ -492,6 +478,12 @@ namespace NovetusLauncher
textBox5.Text = Convert.ToString(GlobalVars.UserID); textBox5.Text = Convert.ToString(GlobalVars.UserID);
} }
void GenerateTripcode()
{
LauncherFuncs.GenerateTripcode();
label18.Text = GlobalVars.PlayerTripcode;
}
void TextBox1TextChanged(object sender, EventArgs e) void TextBox1TextChanged(object sender, EventArgs e)
{ {
GlobalVars.IP = textBox1.Text; GlobalVars.IP = textBox1.Text;

View File

@ -117,16 +117,19 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="label9.Text" xml:space="preserve">
<value>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.
</value>
</data>
<data name="label4.Text" xml:space="preserve"> <data name="label4.Text" xml:space="preserve">
<value>NOTE: <value>NOTE:
- If you have a problem where you can't see your character, REGENERATE YOUR PLAYER ID THEN REJOIN THE SERVER. - 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. - If you tried to connect to the server and you get an error, REJOIN THE SERVER.
- To reset your character, type !!!reset into chat. - 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.
</value>
</data>
<data name="label9.Text" xml:space="preserve">
<value>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.
</value> </value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

View File

@ -36,102 +36,114 @@ namespace NovetusLauncher
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuickConfigure)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuickConfigure));
this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox(); this.textBox2 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button();
this.SuspendLayout(); this.label3 = new System.Windows.Forms.Label();
// this.SuspendLayout();
// textBox1 //
// // textBox1
this.textBox1.Location = new System.Drawing.Point(55, 12); //
this.textBox1.Name = "textBox1"; this.textBox1.Location = new System.Drawing.Point(55, 12);
this.textBox1.Size = new System.Drawing.Size(217, 20); this.textBox1.Name = "textBox1";
this.textBox1.TabIndex = 0; this.textBox1.Size = new System.Drawing.Size(217, 20);
this.textBox1.Text = "Player"; this.textBox1.TabIndex = 0;
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.textBox1.Text = "Player";
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged); this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
// textBox2 //
// // textBox2
this.textBox2.Location = new System.Drawing.Point(55, 38); //
this.textBox2.Name = "textBox2"; this.textBox2.Location = new System.Drawing.Point(55, 38);
this.textBox2.Size = new System.Drawing.Size(217, 20); this.textBox2.Name = "textBox2";
this.textBox2.TabIndex = 1; this.textBox2.Size = new System.Drawing.Size(217, 20);
this.textBox2.Text = "0"; this.textBox2.TabIndex = 1;
this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.textBox2.Text = "0";
this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged); this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// this.textBox2.TextChanged += new System.EventHandler(this.TextBox2TextChanged);
// label1 //
// // label1
this.label1.Location = new System.Drawing.Point(12, 15); //
this.label1.Name = "label1"; this.label1.Location = new System.Drawing.Point(12, 15);
this.label1.Size = new System.Drawing.Size(37, 17); this.label1.Name = "label1";
this.label1.TabIndex = 2; this.label1.Size = new System.Drawing.Size(37, 17);
this.label1.Text = "Name:"; this.label1.TabIndex = 2;
// this.label1.Text = "Name:";
// label2 //
// // label2
this.label2.Location = new System.Drawing.Point(12, 38); //
this.label2.Name = "label2"; this.label2.Location = new System.Drawing.Point(12, 38);
this.label2.Size = new System.Drawing.Size(20, 16); this.label2.Name = "label2";
this.label2.TabIndex = 3; this.label2.Size = new System.Drawing.Size(20, 16);
this.label2.Text = "ID"; this.label2.TabIndex = 3;
// this.label2.Text = "ID";
// button1 //
// // button1
this.button1.Location = new System.Drawing.Point(12, 64); //
this.button1.Name = "button1"; this.button1.Location = new System.Drawing.Point(12, 64);
this.button1.Size = new System.Drawing.Size(124, 23); this.button1.Name = "button1";
this.button1.TabIndex = 4; this.button1.Size = new System.Drawing.Size(124, 23);
this.button1.Text = "Customize Character"; this.button1.TabIndex = 4;
this.button1.UseVisualStyleBackColor = true; this.button1.Text = "Customize Character";
this.button1.Click += new System.EventHandler(this.Button1Click); this.button1.UseVisualStyleBackColor = true;
// this.button1.Click += new System.EventHandler(this.Button1Click);
// button2 //
// // button2
this.button2.Location = new System.Drawing.Point(12, 93); //
this.button2.Name = "button2"; this.button2.Location = new System.Drawing.Point(12, 93);
this.button2.Size = new System.Drawing.Size(260, 23); this.button2.Name = "button2";
this.button2.TabIndex = 5; this.button2.Size = new System.Drawing.Size(260, 23);
this.button2.Text = "Close"; this.button2.TabIndex = 5;
this.button2.UseVisualStyleBackColor = true; this.button2.Text = "Close";
this.button2.Click += new System.EventHandler(this.Button2Click); this.button2.UseVisualStyleBackColor = true;
// this.button2.Click += new System.EventHandler(this.Button2Click);
// button3 //
// // button3
this.button3.Location = new System.Drawing.Point(148, 64); //
this.button3.Name = "button3"; this.button3.Location = new System.Drawing.Point(148, 64);
this.button3.Size = new System.Drawing.Size(124, 23); this.button3.Name = "button3";
this.button3.TabIndex = 6; this.button3.Size = new System.Drawing.Size(124, 23);
this.button3.Text = "Regenerate Player ID"; this.button3.TabIndex = 6;
this.button3.UseVisualStyleBackColor = true; this.button3.Text = "Regenerate Player ID";
this.button3.Click += new System.EventHandler(this.Button3Click); this.button3.UseVisualStyleBackColor = true;
// this.button3.Click += new System.EventHandler(this.Button3Click);
// QuickConfigure //
// // label3
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.label3.Location = new System.Drawing.Point(12, 119);
this.BackColor = System.Drawing.SystemColors.ControlLightLight; this.label3.Name = "label3";
this.ClientSize = new System.Drawing.Size(284, 124); this.label3.Size = new System.Drawing.Size(260, 18);
this.Controls.Add(this.button3); this.label3.TabIndex = 7;
this.Controls.Add(this.button2); this.label3.Text = "qwertyuiopasdfghjklz";
this.Controls.Add(this.button1); this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.Controls.Add(this.label2); //
this.Controls.Add(this.label1); // QuickConfigure
this.Controls.Add(this.textBox2); //
this.Controls.Add(this.textBox1); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.Name = "QuickConfigure"; this.ClientSize = new System.Drawing.Size(284, 139);
this.Closing += new System.ComponentModel.CancelEventHandler(this.QuickConfigureClose); this.Controls.Add(this.label3);
this.Load += new System.EventHandler(this.QuickConfigureLoad); this.Controls.Add(this.button3);
this.ResumeLayout(false); this.Controls.Add(this.button2);
this.PerformLayout(); 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 button3;
private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button2;
@ -140,5 +152,6 @@ namespace NovetusLauncher
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.TextBox textBox1;
} private System.Windows.Forms.Label label3;
}
} }

View File

@ -52,18 +52,9 @@ namespace NovetusLauncher
void ReadConfigValues(string cfgpath) void ReadConfigValues(string cfgpath)
{ {
LauncherFuncs.ReadConfigValues(cfgpath); LauncherFuncs.ReadConfigValues(cfgpath);
textBox2.Text = GlobalVars.UserID.ToString();
if (GlobalVars.UserID == 0) label3.Text = GlobalVars.PlayerTripcode.ToString();
{ textBox1.Text = GlobalVars.PlayerName;
GeneratePlayerID();
LauncherFuncs.WriteConfigValues(cfgpath);
}
else
{
textBox2.Text = GlobalVars.UserID.ToString();
}
textBox1.Text = GlobalVars.PlayerName;
} }
void GeneratePlayerID() void GeneratePlayerID()
@ -72,7 +63,13 @@ namespace NovetusLauncher
textBox2.Text = GlobalVars.UserID.ToString(); 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; GlobalVars.PlayerName = textBox1.Text;
} }