diff --git a/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj b/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj index af20bb2..825a223 100644 --- a/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj +++ b/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj @@ -94,12 +94,15 @@ SET path=$(SolutionDir)build if not exist "%25path%25" mkdir "%25path%25" -copy $(ProjectDir)$(OutDir) "%25path%25"\* -del "%25path%25"\*.vshost.exe -del "%25path%25"\*.vshost.exe.config -del "%25path%25"\*.vshost.exe.manifest -del "%25path%25"\*.xml -if not exist "%25path%25"\clients\ClientScriptTester mkdir "%25path%25"\clients\ClientScriptTester -move "%25path%25"\* "%25path%25"\clients\ClientScriptTester +SET path2=%25path%25\ClientScriptTester +if not exist "%25path2%25" mkdir "%25path2%25" +copy $(ProjectDir)$(OutDir) "%25path2%25"\* +del "%25path%25"\$(TargetName).vshost.exe +del "%25path%25"\$(TargetName).vshost.exe.config +del "%25path%25"\$(TargetName).vshost.exe.manifest +del "%25path%25"\$(TargetName).xml +if not exist "%25path%25"\bin mkdir "%25path%25"\clients\ClientScriptTester +move "%25path2%25"\* "%25path%25"\clients\ClientScriptTester +rd /s /q "%25path2%25" \ No newline at end of file diff --git a/Novetus/Novetus.ReleasePreparer/Novetus.ReleasePreparer.csproj b/Novetus/Novetus.ReleasePreparer/Novetus.ReleasePreparer.csproj index e50f61b..b8d7478 100644 --- a/Novetus/Novetus.ReleasePreparer/Novetus.ReleasePreparer.csproj +++ b/Novetus/Novetus.ReleasePreparer/Novetus.ReleasePreparer.csproj @@ -56,9 +56,9 @@ SET path=$(SolutionDir)build if not exist "%25path%25" mkdir "%25path%25" copy $(ProjectDir)$(OutDir) "%25path%25"\* -del "%25path%25"\*.vshost.exe -del "%25path%25"\*.vshost.exe.config -del "%25path%25"\*.vshost.exe.manifest -del "%25path%25"\*.xml +del "%25path%25"\$(TargetName).vshost.exe +del "%25path%25"\$(TargetName).vshost.exe.config +del "%25path%25"\$(TargetName).vshost.exe.manifest +del "%25path%25"\$(TargetName).xml \ No newline at end of file diff --git a/Novetus/NovetusCMD/Classes/LocalFuncs.cs b/Novetus/NovetusCMD/Classes/LocalFuncs.cs index aa47e94..3cca710 100644 --- a/Novetus/NovetusCMD/Classes/LocalFuncs.cs +++ b/Novetus/NovetusCMD/Classes/LocalFuncs.cs @@ -24,18 +24,16 @@ namespace NovetusCMD GlobalFuncs.ConsolePrint("-no3d | Launches server in NoGraphics mode", 4, true); GlobalFuncs.ConsolePrint("-script | Loads an additional server script.", 4, true); GlobalFuncs.ConsolePrint("-outputinfo | Outputs all information about the running server to a text file.", 4, true); - GlobalFuncs.ConsolePrint("-overrideconfig | Override the launcher settings.", 4, true); GlobalFuncs.ConsolePrint("-debug | Disables launching of the server for debugging purposes.", 4, true); - GlobalFuncs.ConsolePrint("-nowebserver | Disables launching of the web server.", 4, true); GlobalFuncs.ConsolePrint("---------", 1, true); GlobalFuncs.ConsolePrint("Custom server options", 3, true); GlobalFuncs.ConsolePrint("---------", 1, true); - GlobalFuncs.ConsolePrint("-overrideconfig must be added in order for the below commands to function.", 5, true); GlobalFuncs.ConsolePrint("-upnp | Turns on UPnP.", 4, true); GlobalFuncs.ConsolePrint("-map | Sets the map.", 4, true); GlobalFuncs.ConsolePrint("-client | Sets the client.", 4, true); GlobalFuncs.ConsolePrint("-port | Sets the server port.", 4, true); GlobalFuncs.ConsolePrint("-maxplayers | Sets the number of players.", 4, true); + GlobalFuncs.ConsolePrint("-webserver | Toggles launching of the web server.", 4, true); GlobalFuncs.ConsolePrint("---------", 1, true); GlobalFuncs.ConsolePrint("How to launch:", 3, true); GlobalFuncs.ConsolePrint("---------", 1, true); diff --git a/Novetus/NovetusCMD/Classes/LocalVars.cs b/Novetus/NovetusCMD/Classes/LocalVars.cs index 09da190..608f66a 100644 --- a/Novetus/NovetusCMD/Classes/LocalVars.cs +++ b/Novetus/NovetusCMD/Classes/LocalVars.cs @@ -6,7 +6,6 @@ public static bool StartInNo3D = false; public static bool OverrideINI = false; public static bool DebugMode = false; - public static bool NoWebServer = false; public static bool PrintHelp = false; } #endregion diff --git a/Novetus/NovetusCMD/Novetus.CMD.csproj b/Novetus/NovetusCMD/Novetus.CMD.csproj index 9df9d84..9ecf639 100644 --- a/Novetus/NovetusCMD/Novetus.CMD.csproj +++ b/Novetus/NovetusCMD/Novetus.CMD.csproj @@ -156,13 +156,16 @@ SET path=$(SolutionDir)build if not exist "%25path%25" mkdir "%25path%25" -copy $(ProjectDir)$(OutDir) "%25path%25"\* -del "%25path%25"\*.vshost.exe -del "%25path%25"\*.vshost.exe.config -del "%25path%25"\*.vshost.exe.manifest -del "%25path%25"\*.xml +SET path2=%25path%25\CMD +if not exist "%25path2%25" mkdir "%25path2%25" +copy $(ProjectDir)$(OutDir) "%25path2%25"\* +del "%25path%25"\$(TargetName).vshost.exe +del "%25path%25"\$(TargetName).vshost.exe.config +del "%25path%25"\$(TargetName).vshost.exe.manifest +del "%25path%25"\$(TargetName).xml if not exist "%25path%25"\bin mkdir "%25path%25"\bin -move "%25path%25"\* "%25path%25"\bin +move "%25path2%25"\* "%25path%25"\bin +rd /s /q "%25path2%25" diff --git a/Novetus/NovetusCMD/NovetusCMD.cs b/Novetus/NovetusCMD/NovetusCMD.cs index 3c3ad1c..e02a18b 100644 --- a/Novetus/NovetusCMD/NovetusCMD.cs +++ b/Novetus/NovetusCMD/NovetusCMD.cs @@ -69,8 +69,8 @@ namespace NovetusCMD GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3); StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); - StartUPnP(device, Protocol.Udp, GlobalVars.WebServerPort); - StartUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort); + StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.WebServerPort); + StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.WebServerPort); } catch (Exception ex) { @@ -86,8 +86,8 @@ namespace NovetusCMD GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3); StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); - StopUPnP(device, Protocol.Udp, GlobalVars.WebServerPort); - StopUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort); + StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.WebServerPort); + StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.WebServerPort); } catch (Exception ex) { @@ -103,7 +103,7 @@ namespace NovetusCMD { try { - GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.DataPath, GlobalVars.WebServerPort); + GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.DataPath, GlobalVars.UserConfiguration.WebServerPort); GlobalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3); } catch (Exception ex) @@ -174,89 +174,7 @@ namespace NovetusCMD log.Error("FOOTPRINTS: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.GetExceptionFootprints()) ? eventArgs.Exception.GetExceptionFootprints() : "N/A")); }; - if (args.Length > 0) - { - CommandLineArguments.Arguments CommandLine = new CommandLineArguments.Arguments(args); - - if (CommandLine["help"] != null) - { - LocalVars.PrintHelp = true; - } - - if (CommandLine["no3d"] != null) - { - LocalVars.StartInNo3D = true; - GlobalFuncs.ConsolePrint("NovetusCMD will now launch the server in No3D mode.", 4); - } - - if (CommandLine["overrideconfig"] != null) - { - LocalVars.OverrideINI = true; - GlobalFuncs.ConsolePrint("NovetusCMD will no longer grab values from the INI file.", 4); - - if (CommandLine["upnp"] != null) - { - GlobalVars.UserConfiguration.UPnP = true; - GlobalFuncs.ConsolePrint("NovetusCMD will now use UPnP for port forwarding.", 4); - } - - if (CommandLine["map"] != null) - { - GlobalVars.UserConfiguration.MapPath = CommandLine["map"]; - } - else - { - GlobalFuncs.ConsolePrint("NovetusCMD will launch the server with the default map.", 4); - } - - if (CommandLine["client"] != null) - { - GlobalVars.UserConfiguration.SelectedClient = CommandLine["client"]; - } - else - { - GlobalFuncs.ConsolePrint("NovetusCMD will launch the server with the default client.", 4); - } - - if (CommandLine["port"] != null) - { - GlobalVars.UserConfiguration.RobloxPort = Convert.ToInt32(CommandLine["port"]); - } - - if (CommandLine["maxplayers"] != null) - { - GlobalVars.UserConfiguration.PlayerLimit = Convert.ToInt32(CommandLine["maxplayers"]); - } - } - - if (CommandLine["outputinfo"] != null) - { - GlobalVars.RequestToOutputInfo = true; - } - - if (CommandLine["debug"] != null) - { - LocalVars.DebugMode = true; - } - - if (CommandLine["nowebserver"] != null) - { - LocalVars.NoWebServer = true; - } - - if (CommandLine["script"] != null) - { - if (CommandLine["script"].Contains("rbxasset:") || CommandLine["script"].Contains("http:")) - { - GlobalPaths.AddonScriptPath = CommandLine["script"].Replace(@"\", @"\\"); - GlobalFuncs.ConsolePrint("NovetusCMD detected a custom script. Loading " + GlobalPaths.AddonScriptPath, 4); - } - else - { - GlobalFuncs.ConsolePrint("NovetusCMD cannot load '" + CommandLine["script"] + "' as it doesn't use a rbxasset path or URL.", 2); - } - } - } + LoadCMDArgs(args); if (!LocalVars.PrintHelp) { @@ -266,26 +184,19 @@ namespace NovetusCMD GlobalFuncs.ConsolePrint("NovetusCMD version " + GlobalVars.ProgramInformation.Version + " loaded.", 1); GlobalFuncs.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 1); - if (!LocalVars.OverrideINI) - { - GlobalFuncs.ConsolePrint("NovetusCMD is now loading all server configurations from the INI file.", 5); + GlobalFuncs.ConsolePrint("NovetusCMD is now loading main server configurations from the INI file.", 5); - if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName)) - { - GlobalFuncs.ConsolePrint("WARNING 2 - " + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5); - WriteConfigValues(); - } - - ReadConfigValues(true); - } - else + if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName)) { - GlobalFuncs.ReadClientValues(true); + GlobalFuncs.ConsolePrint("WARNING 2 - " + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5); + WriteConfigValues(); } + ReadConfigValues(true); + LoadOverrideINIArgs(args); InitUPnP(); - if (!LocalVars.NoWebServer) + if (!GlobalVars.UserConfiguration.WebServer) { StartWebServer(); } @@ -315,7 +226,10 @@ namespace NovetusCMD static void ProgramClose(object sender, EventArgs e) { - WriteConfigValues(); + if (!LocalVars.OverrideINI) + { + WriteConfigValues(); + } if (GlobalVars.IsWebServerOn) { StopWebServer(); @@ -329,6 +243,111 @@ namespace NovetusCMD } } } + + static void LoadCMDArgs(string[] args) + { + if (args.Length > 0) + { + CommandLineArguments.Arguments CommandLine = new CommandLineArguments.Arguments(args); + + if (CommandLine["help"] != null) + { + LocalVars.PrintHelp = true; + } + + if (CommandLine["no3d"] != null) + { + LocalVars.StartInNo3D = true; + GlobalFuncs.ConsolePrint("NovetusCMD will now launch the server in No3D mode.", 4); + } + + if (CommandLine["outputinfo"] != null) + { + GlobalVars.RequestToOutputInfo = true; + } + + if (CommandLine["debug"] != null) + { + LocalVars.DebugMode = true; + } + + if (CommandLine["script"] != null) + { + if (CommandLine["script"].Contains("rbxasset:") || CommandLine["script"].Contains("http:")) + { + GlobalPaths.AddonScriptPath = CommandLine["script"].Replace(@"\", @"\\"); + GlobalFuncs.ConsolePrint("NovetusCMD detected a custom script. Loading " + GlobalPaths.AddonScriptPath, 4); + } + else + { + GlobalFuncs.ConsolePrint("NovetusCMD cannot load '" + CommandLine["script"] + "' as it doesn't use a rbxasset path or URL.", 2); + } + } + } + } + + static void LoadOverrideINIArgs(string[] args) + { + if (args.Length > 0) + { + CommandLineArguments.Arguments CommandLine = new CommandLineArguments.Arguments(args); + + if (CommandLine["upnp"] != null) + { + LocalVars.OverrideINI = true; + GlobalVars.UserConfiguration.UPnP = true; + GlobalFuncs.ConsolePrint("NovetusCMD will now use UPnP for port forwarding.", 4); + } + + if (CommandLine["webserver"] != null) + { + LocalVars.OverrideINI = true; + GlobalVars.UserConfiguration.WebServer = Convert.ToBoolean(CommandLine["webserver"]); + + if (GlobalVars.UserConfiguration.WebServer) + { + GlobalFuncs.ConsolePrint("NovetusCMD will now launch the Web Server.", 4); + } + else + { + GlobalFuncs.ConsolePrint("NovetusCMD no longer will launch the Web Server.", 4); + } + } + + if (CommandLine["map"] != null) + { + LocalVars.OverrideINI = true; + GlobalVars.UserConfiguration.MapPath = CommandLine["map"]; + GlobalFuncs.ConsolePrint("NovetusCMD will now launch the server with the map " + GlobalVars.UserConfiguration.MapPath, 4); + } + else + { + GlobalFuncs.ConsolePrint("NovetusCMD will launch the server with the default map.", 4); + } + + if (CommandLine["client"] != null) + { + LocalVars.OverrideINI = true; + GlobalVars.UserConfiguration.SelectedClient = CommandLine["client"]; + } + else + { + GlobalFuncs.ConsolePrint("NovetusCMD will launch the server with the default client.", 4); + } + + if (CommandLine["port"] != null) + { + LocalVars.OverrideINI = true; + GlobalVars.UserConfiguration.RobloxPort = Convert.ToInt32(CommandLine["port"]); + } + + if (CommandLine["maxplayers"] != null) + { + LocalVars.OverrideINI = true; + GlobalVars.UserConfiguration.PlayerLimit = Convert.ToInt32(CommandLine["maxplayers"]); + } + } + } #endregion #region Client Loading diff --git a/Novetus/NovetusCore/Classes/FileFormat.cs b/Novetus/NovetusCore/Classes/FileFormat.cs index 0399be8..e3bf6c0 100644 --- a/Novetus/NovetusCore/Classes/FileFormat.cs +++ b/Novetus/NovetusCore/Classes/FileFormat.cs @@ -59,6 +59,9 @@ public class FileFormat ReShadeFPSDisplay = false; ReShadePerformanceMode = false; AssetLocalizerSaveBackups = true; + AlternateServerIP = ""; + WebServerPort = 40735; + WebServer = true; } public string SelectedClient { get; set; } @@ -81,6 +84,9 @@ public class FileFormat public bool ReShadeFPSDisplay { get; set; } public bool ReShadePerformanceMode { get; set; } public bool AssetLocalizerSaveBackups { get; set; } + public string AlternateServerIP { get; set; } + public int WebServerPort { get; set; } + public bool WebServer { get; set; } } #endregion diff --git a/Novetus/NovetusCore/SDK/Forms/ItemMaker.Designer.cs b/Novetus/NovetusCore/SDK/Forms/ItemMaker.Designer.cs index ade46d2..f91a26d 100644 --- a/Novetus/NovetusCore/SDK/Forms/ItemMaker.Designer.cs +++ b/Novetus/NovetusCore/SDK/Forms/ItemMaker.Designer.cs @@ -36,129 +36,130 @@ partial class ItemMaker /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemMaker)); - this.button1 = new System.Windows.Forms.Button(); - this.textBox2 = new System.Windows.Forms.TextBox(); - this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.comboBox1 = new System.Windows.Forms.ComboBox(); - this.checkBox1 = new System.Windows.Forms.CheckBox(); - this.label1 = new System.Windows.Forms.Label(); - this.textBox1 = new System.Windows.Forms.TextBox(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); - this.SuspendLayout(); - // - // button1 - // - this.button1.Location = new System.Drawing.Point(3, 80); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(238, 23); - this.button1.TabIndex = 1; - this.button1.Text = "Create!"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.Button1Click); - // - // textBox2 - // - this.textBox2.Location = new System.Drawing.Point(98, 25); - this.textBox2.Name = "textBox2"; - this.textBox2.Size = new System.Drawing.Size(76, 20); - this.textBox2.TabIndex = 2; - // - // numericUpDown1 - // - this.numericUpDown1.Location = new System.Drawing.Point(193, 25); - this.numericUpDown1.Maximum = new decimal(new int[] { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemMaker)); + this.button1 = new System.Windows.Forms.Button(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(3, 80); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(238, 23); + this.button1.TabIndex = 1; + this.button1.Text = "Create!"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.Button1Click); + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(98, 25); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(76, 20); + this.textBox2.TabIndex = 2; + // + // numericUpDown1 + // + this.numericUpDown1.Location = new System.Drawing.Point(193, 25); + this.numericUpDown1.Maximum = new decimal(new int[] { 99, 0, 0, 0}); - this.numericUpDown1.Name = "numericUpDown1"; - this.numericUpDown1.Size = new System.Drawing.Size(36, 20); - this.numericUpDown1.TabIndex = 3; - // - // label2 - // - this.label2.Location = new System.Drawing.Point(116, 9); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(41, 14); - this.label2.TabIndex = 6; - this.label2.Text = "Item ID"; - // - // label3 - // - this.label3.Location = new System.Drawing.Point(190, 9); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(42, 14); - this.label3.TabIndex = 7; - this.label3.Text = "Version"; - this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter; - // - // comboBox1 - // - this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Items.AddRange(new object[] { + this.numericUpDown1.Name = "numericUpDown1"; + this.numericUpDown1.Size = new System.Drawing.Size(36, 20); + this.numericUpDown1.TabIndex = 3; + // + // label2 + // + this.label2.Location = new System.Drawing.Point(116, 9); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(41, 14); + this.label2.TabIndex = 6; + this.label2.Text = "Item ID"; + // + // label3 + // + this.label3.Location = new System.Drawing.Point(190, 9); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(42, 14); + this.label3.TabIndex = 7; + this.label3.Text = "Version"; + this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // comboBox1 + // + this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Items.AddRange(new object[] { "http://www.roblox.com/", "http://assetgame.roblox.com/", + "https://assetdelivery.roblox.com/", "https://www.roblox.com/catalog/", "https://www.roblox.com/library/"}); - this.comboBox1.Location = new System.Drawing.Point(3, 53); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(238, 21); - this.comboBox1.TabIndex = 8; - this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged); - // - // checkBox1 - // - this.checkBox1.Location = new System.Drawing.Point(12, 109); - this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(220, 24); - this.checkBox1.TabIndex = 9; - this.checkBox1.Text = "Disable Help Message on Item Creation"; - this.checkBox1.UseVisualStyleBackColor = true; - this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged); - // - // label1 - // - this.label1.Location = new System.Drawing.Point(33, 9); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(35, 14); - this.label1.TabIndex = 11; - this.label1.Text = "Name"; - // - // textBox1 - // - this.textBox1.Location = new System.Drawing.Point(12, 25); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(76, 20); - this.textBox1.TabIndex = 12; - // - // ItemMaker - // - 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(244, 136); - this.Controls.Add(this.textBox1); - this.Controls.Add(this.label1); - this.Controls.Add(this.checkBox1); - this.Controls.Add(this.comboBox1); - this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.numericUpDown1); - this.Controls.Add(this.textBox2); - this.Controls.Add(this.button1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.Name = "ItemMaker"; - this.Text = "Novetus Item SDK"; - this.Load += new System.EventHandler(this.ItemMakerLoad); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.comboBox1.Location = new System.Drawing.Point(3, 53); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(238, 21); + this.comboBox1.TabIndex = 8; + this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged); + // + // checkBox1 + // + this.checkBox1.Location = new System.Drawing.Point(12, 109); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(220, 24); + this.checkBox1.TabIndex = 9; + this.checkBox1.Text = "Disable Help Message on Item Creation"; + this.checkBox1.UseVisualStyleBackColor = true; + this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged); + // + // label1 + // + this.label1.Location = new System.Drawing.Point(33, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(35, 14); + this.label1.TabIndex = 11; + this.label1.Text = "Name"; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(12, 25); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(76, 20); + this.textBox1.TabIndex = 12; + // + // ItemMaker + // + 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(244, 136); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.label1); + this.Controls.Add(this.checkBox1); + this.Controls.Add(this.comboBox1); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.numericUpDown1); + this.Controls.Add(this.textBox2); + this.Controls.Add(this.button1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "ItemMaker"; + this.Text = "Novetus Item SDK"; + this.Load += new System.EventHandler(this.ItemMakerLoad); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } private System.Windows.Forms.ComboBox comboBox1; diff --git a/Novetus/NovetusCore/SDK/Forms/ItemMaker.cs b/Novetus/NovetusCore/SDK/Forms/ItemMaker.cs index 11a6278..6f8737f 100644 --- a/Novetus/NovetusCore/SDK/Forms/ItemMaker.cs +++ b/Novetus/NovetusCore/SDK/Forms/ItemMaker.cs @@ -33,10 +33,14 @@ using System.Windows.Forms; isWebSite = false; break; case 2: + url = "https://assetdelivery.roblox.com/v1/asset/?id="; + isWebSite = false; + break; + case 3: url = "https://www.roblox.com/catalog/"; isWebSite = true; break; - case 3: + case 4: url = "https://www.roblox.com/library/"; isWebSite = true; break; diff --git a/Novetus/NovetusCore/SDK/SDKFuncs.cs b/Novetus/NovetusCore/SDK/SDKFuncs.cs index e9985c7..edc34c9 100644 --- a/Novetus/NovetusCore/SDK/SDKFuncs.cs +++ b/Novetus/NovetusCore/SDK/SDKFuncs.cs @@ -32,7 +32,7 @@ class SDKFuncs { OpenFileDialog openFileDialog1 = new OpenFileDialog { - Filter = (type == RobloxFileType.RBXL) ? "ROBLOX Level (*.rbxl)|*.rbxl" : "ROBLOX Model (*.rbxm)|*.rbxm", + Filter = (type == RobloxFileType.RBXL) ? "ROBLOX Level (*.rbxl)|*.rbxl|ROBLOX Level (*.rbxlx)|*.rbxlx" : "ROBLOX Model (*.rbxm)|*.rbxm", Title = "Open ROBLOX level or model" }; diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs index 403eb2f..25f749b 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs @@ -119,6 +119,9 @@ public class GlobalFuncs ini.IniWriteValue(section, "QualityLevel", Settings.GraphicsOptions.GetIntForLevel(GlobalVars.UserConfiguration.QualityLevel).ToString()); ini.IniWriteValue(section, "Style", Settings.UIOptions.GetIntForStyle(GlobalVars.UserConfiguration.LauncherStyle).ToString()); ini.IniWriteValue(section, "AssetLocalizerSaveBackups", GlobalVars.UserConfiguration.AssetLocalizerSaveBackups.ToString()); + ini.IniWriteValue(section, "AlternateServerIP", GlobalVars.UserConfiguration.AlternateServerIP.ToString()); + ini.IniWriteValue(section, "WebServerPort", GlobalVars.UserConfiguration.WebServerPort.ToString()); + ini.IniWriteValue(section, "WebServer", GlobalVars.UserConfiguration.WebServer.ToString()); } else { @@ -128,7 +131,7 @@ public class GlobalFuncs string closeonlaunch, userid, name, selectedclient, map, port, limit, upnp, disablehelpmessage, tripcode, discord, mappath, mapsnip, - graphics, reshade, qualitylevel, style, savebackups; + graphics, reshade, qualitylevel, style, savebackups, altIP, WS, WSPort; INIFile ini = new INIFile(cfgpath); @@ -152,7 +155,10 @@ public class GlobalFuncs qualitylevel = ini.IniReadValue(section, "QualityLevel", Settings.GraphicsOptions.GetIntForLevel(GlobalVars.UserConfiguration.QualityLevel).ToString()); style = ini.IniReadValue(section, "Style", Settings.UIOptions.GetIntForStyle(GlobalVars.UserConfiguration.LauncherStyle).ToString()); savebackups = ini.IniReadValue(section, "AssetLocalizerSaveBackups", GlobalVars.UserConfiguration.AssetLocalizerSaveBackups.ToString()); - + altIP = ini.IniReadValue(section, "AlternateServerIP", GlobalVars.UserConfiguration.AlternateServerIP.ToString()); + WSPort = ini.IniReadValue(section, "WebServerPort", GlobalVars.UserConfiguration.WebServerPort.ToString()); + WS = ini.IniReadValue(section, "WebServer", GlobalVars.UserConfiguration.WebServer.ToString()); + GlobalVars.UserConfiguration.CloseOnLaunch = Convert.ToBoolean(closeonlaunch); if (userid.Equals("0")) @@ -202,6 +208,9 @@ public class GlobalFuncs GlobalVars.UserConfiguration.QualityLevel = Settings.GraphicsOptions.GetLevelForInt(Convert.ToInt32(qualitylevel)); GlobalVars.UserConfiguration.LauncherStyle = Settings.UIOptions.GetStyleForInt(Convert.ToInt32(style)); GlobalVars.UserConfiguration.AssetLocalizerSaveBackups = Convert.ToBoolean(savebackups); + GlobalVars.UserConfiguration.AlternateServerIP = altIP; + GlobalVars.UserConfiguration.WebServerPort = Convert.ToInt32(WSPort); + GlobalVars.UserConfiguration.WebServer = Convert.ToBoolean(WS); } catch (Exception) { @@ -1470,7 +1479,7 @@ public class GlobalFuncs { string IP = await SecurityFuncs.GetExternalIPAddressAsync(); string[] lines1 = { - SecurityFuncs.Base64Encode(IP), + SecurityFuncs.Base64Encode((!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP)), SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()), SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient) }; @@ -1488,7 +1497,7 @@ public class GlobalFuncs "--------------------", "Server Info:", "Client: " + GlobalVars.UserConfiguration.SelectedClient, - "IP: " + IP, + "IP: " + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP), "Port: " + GlobalVars.UserConfiguration.RobloxPort.ToString(), "Map: " + GlobalVars.UserConfiguration.Map, "Players: " + GlobalVars.UserConfiguration.PlayerLimit, @@ -1498,9 +1507,9 @@ public class GlobalFuncs "Local URI Link:", URI2, GlobalVars.IsWebServerOn ? "Web Server URL:" : "", - GlobalVars.IsWebServerOn ? "http://" + IP + ":" + GlobalVars.WebServer.Port.ToString() : "", + GlobalVars.IsWebServerOn ? "http://" + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP) + ":" + GlobalVars.WebServer.Port.ToString() : "", GlobalVars.IsWebServerOn ? "Local Web Server URL:" : "", - GlobalVars.IsWebServerOn ? GlobalVars.LocalWebServerURI : "" + GlobalVars.IsWebServerOn ? "http://localhost:" + (GlobalVars.WebServer.Port.ToString()).ToString() : "" ); File.WriteAllText(GlobalPaths.BasePath + "\\" + GlobalVars.ServerInfoFileName, GlobalFuncs.RemoveEmptyLines(text)); diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalPaths.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalPaths.cs index 19559a7..e2069b5 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/GlobalPaths.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalPaths.cs @@ -45,17 +45,6 @@ public class GlobalPaths public static readonly string extraGameDir = CharCustomGameDir + "custom/"; #endregion - #region Web Server Paths - public static string WebServer_CustomPlayerDir = GlobalVars.WebServerURI + "/charcustom/"; - public static string WebServer_HatDir = WebServer_CustomPlayerDir + "hats/"; - public static string WebServer_FaceDir = WebServer_CustomPlayerDir + "faces/"; - public static string WebServer_HeadDir = WebServer_CustomPlayerDir + "heads/"; - public static string WebServer_TShirtDir = WebServer_CustomPlayerDir + "tshirts/"; - public static string WebServer_ShirtDir = WebServer_CustomPlayerDir + "shirts/"; - public static string WebServer_PantsDir = WebServer_CustomPlayerDir + "pants/"; - public static string WebServer_ExtraDir = WebServer_CustomPlayerDir + "custom/"; - #endregion - #region Asset Cache Paths #region Base Paths diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs index 328aec8..01d9ac3 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalVars.cs @@ -55,12 +55,6 @@ public static class GlobalVars public static bool AdminMode = false; #endregion - #region Web Server Vars - public static int WebServerPort = 40735; - public static string LocalWebServerURI = "http://localhost:" + (WebServerPort).ToString(); - public static string WebServerURI = "http://" + IP + ":" + (WebServerPort).ToString(); - #endregion - #region Discord Variables //discord public static DiscordRPC.RichPresence presence; diff --git a/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs index c08d530..0ea0d05 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs @@ -294,6 +294,15 @@ public class ScriptFuncs return ""; } + string WebServer_CustomPlayerDir = "http://" + GlobalVars.IP + ":" + (GlobalVars.UserConfiguration.WebServerPort.ToString()).ToString() + "/charcustom/"; + string WebServer_HatDir = WebServer_CustomPlayerDir + "hats/"; + string WebServer_FaceDir = WebServer_CustomPlayerDir + "faces/"; + string WebServer_HeadDir = WebServer_CustomPlayerDir + "heads/"; + string WebServer_TShirtDir = WebServer_CustomPlayerDir + "tshirts/"; + string WebServer_ShirtDir = WebServer_CustomPlayerDir + "shirts/"; + string WebServer_PantsDir = WebServer_CustomPlayerDir + "pants/"; + string WebServer_ExtraDir = WebServer_CustomPlayerDir + "custom/"; + #if LAUNCHER string md5dir = !info.AlreadyHasSecurity ? SecurityFuncs.GenerateMD5(Assembly.GetExecutingAssembly().Location) : ""; #else @@ -345,16 +354,16 @@ public class ScriptFuncs .Replace("%extrad%", GlobalPaths.extraGameDir + GlobalVars.UserCustomization.Extra) .Replace("%hat4d%", GlobalPaths.hatGameDir + GlobalVars.UserCustomization.Extra) .Replace("%args%", GetRawArgsForType(type, md5s, luafile)) - .Replace("%facews%", GlobalVars.UserCustomization.Face.Contains("http://") ? GlobalVars.UserCustomization.Face : GlobalPaths.WebServer_FaceDir + GlobalVars.UserCustomization.Face) - .Replace("%headws%", GlobalPaths.WebServer_HeadDir + GlobalVars.UserCustomization.Head) - .Replace("%tshirtws%", GlobalVars.UserCustomization.TShirt.Contains("http://") ? GlobalVars.UserCustomization.TShirt : GlobalPaths.WebServer_TShirtDir + GlobalVars.UserCustomization.TShirt) - .Replace("%shirtws%", GlobalVars.UserCustomization.Shirt.Contains("http://") ? GlobalVars.UserCustomization.Shirt : GlobalPaths.WebServer_ShirtDir + GlobalVars.UserCustomization.Shirt) - .Replace("%pantsws%", GlobalVars.UserCustomization.Pants.Contains("http://") ? GlobalVars.UserCustomization.Pants : GlobalPaths.WebServer_PantsDir + GlobalVars.UserCustomization.Pants) - .Replace("%hat1ws%", GlobalPaths.WebServer_HatDir + GlobalVars.UserCustomization.Hat1) - .Replace("%hat2ws%", GlobalPaths.WebServer_HatDir + GlobalVars.UserCustomization.Hat2) - .Replace("%hat3ws%", GlobalPaths.WebServer_HatDir + GlobalVars.UserCustomization.Hat3) - .Replace("%extraws%", GlobalPaths.WebServer_ExtraDir + GlobalVars.UserCustomization.Extra) - .Replace("%hat4ws%", GlobalPaths.WebServer_HatDir + GlobalVars.UserCustomization.Extra) + .Replace("%facews%", GlobalVars.UserCustomization.Face.Contains("http://") ? GlobalVars.UserCustomization.Face : WebServer_FaceDir + GlobalVars.UserCustomization.Face) + .Replace("%headws%", WebServer_HeadDir + GlobalVars.UserCustomization.Head) + .Replace("%tshirtws%", GlobalVars.UserCustomization.TShirt.Contains("http://") ? GlobalVars.UserCustomization.TShirt : WebServer_TShirtDir + GlobalVars.UserCustomization.TShirt) + .Replace("%shirtws%", GlobalVars.UserCustomization.Shirt.Contains("http://") ? GlobalVars.UserCustomization.Shirt : WebServer_ShirtDir + GlobalVars.UserCustomization.Shirt) + .Replace("%pantsws%", GlobalVars.UserCustomization.Pants.Contains("http://") ? GlobalVars.UserCustomization.Pants : WebServer_PantsDir + GlobalVars.UserCustomization.Pants) + .Replace("%hat1ws%", WebServer_HatDir + GlobalVars.UserCustomization.Hat1) + .Replace("%hat2ws%", WebServer_HatDir + GlobalVars.UserCustomization.Hat2) + .Replace("%hat3ws%", WebServer_HatDir + GlobalVars.UserCustomization.Hat3) + .Replace("%extraws%", WebServer_ExtraDir + GlobalVars.UserCustomization.Extra) + .Replace("%hat4ws%", WebServer_HatDir + GlobalVars.UserCustomization.Extra) .Replace("%mapfiled%", GlobalPaths.BaseGameDir + GlobalVars.UserConfiguration.MapPathSnip.Replace(@"\\", @"\").Replace(@"/", @"\")) .Replace("%mapfilec%", GlobalFuncs.CopyMapToRBXAsset()) .Replace("%tripcode%", GlobalVars.UserConfiguration.PlayerTripcode) diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.Designer.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.Designer.cs index 13e9cb2..ca3b59d 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.Designer.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.Designer.cs @@ -59,7 +59,6 @@ namespace NovetusLauncher this.tabPage2 = new System.Windows.Forms.TabPage(); this.label19 = new System.Windows.Forms.Label(); this.textBox3 = new System.Windows.Forms.TextBox(); - this.label17 = new System.Windows.Forms.Label(); this.checkBox4 = new System.Windows.Forms.CheckBox(); this.button23 = new System.Windows.Forms.Button(); this.button22 = new System.Windows.Forms.Button(); @@ -74,6 +73,8 @@ namespace NovetusLauncher this.label30 = new System.Windows.Forms.Label(); this.listBox2 = new System.Windows.Forms.ListBox(); this.tabPage4 = new System.Windows.Forms.TabPage(); + this.SearchButton = new System.Windows.Forms.Button(); + this.SearchBar = new System.Windows.Forms.TextBox(); this.textBox4 = new System.Windows.Forms.TextBox(); this.button24 = new System.Windows.Forms.Button(); this.treeView1 = new System.Windows.Forms.TreeView(); @@ -153,8 +154,7 @@ namespace NovetusLauncher this.panel3 = new System.Windows.Forms.Panel(); this.panel4 = new System.Windows.Forms.Panel(); this.button35 = new System.Windows.Forms.Button(); - this.SearchBar = new System.Windows.Forms.TextBox(); - this.SearchButton = new System.Windows.Forms.Button(); + this.checkBox8 = new System.Windows.Forms.CheckBox(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); @@ -348,9 +348,9 @@ namespace NovetusLauncher // // tabPage2 // + this.tabPage2.Controls.Add(this.checkBox8); this.tabPage2.Controls.Add(this.label19); this.tabPage2.Controls.Add(this.textBox3); - this.tabPage2.Controls.Add(this.label17); this.tabPage2.Controls.Add(this.checkBox4); this.tabPage2.Controls.Add(this.button23); this.tabPage2.Controls.Add(this.button22); @@ -389,28 +389,17 @@ namespace NovetusLauncher this.textBox3.Name = "textBox3"; this.textBox3.ReadOnly = true; this.textBox3.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBox3.Size = new System.Drawing.Size(393, 117); + this.textBox3.Size = new System.Drawing.Size(393, 134); this.textBox3.TabIndex = 59; // - // label17 - // - this.label17.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label17.ForeColor = System.Drawing.Color.Red; - this.label17.Location = new System.Drawing.Point(10, 141); - this.label17.Name = "label17"; - this.label17.Size = new System.Drawing.Size(382, 19); - this.label17.TabIndex = 58; - this.label17.Text = "NOTE: The webserver port is static and it cannot be changed. It is 40735."; - this.label17.TextAlign = System.Drawing.ContentAlignment.TopCenter; - // // checkBox4 // this.checkBox4.AutoSize = true; this.checkBox4.Location = new System.Drawing.Point(204, 189); this.checkBox4.Name = "checkBox4"; - this.checkBox4.Size = new System.Drawing.Size(90, 17); + this.checkBox4.Size = new System.Drawing.Size(54, 17); this.checkBox4.TabIndex = 57; - this.checkBox4.Text = "Toggle UPnP"; + this.checkBox4.Text = "UPnP"; this.checkBox4.UseVisualStyleBackColor = true; this.checkBox4.CheckedChanged += new System.EventHandler(this.CheckBox4CheckedChanged); this.checkBox4.Click += new System.EventHandler(this.CheckBox4Click); @@ -580,6 +569,23 @@ namespace NovetusLauncher this.tabPage4.Text = "MAPS"; this.tabPage4.UseVisualStyleBackColor = true; // + // SearchButton + // + this.SearchButton.Location = new System.Drawing.Point(164, 3); + this.SearchButton.Name = "SearchButton"; + this.SearchButton.Size = new System.Drawing.Size(49, 23); + this.SearchButton.TabIndex = 69; + this.SearchButton.Text = "Search"; + this.SearchButton.UseVisualStyleBackColor = true; + this.SearchButton.Click += new System.EventHandler(this.SearchButton_Click); + // + // SearchBar + // + this.SearchBar.Location = new System.Drawing.Point(7, 5); + this.SearchBar.Name = "SearchBar"; + this.SearchBar.Size = new System.Drawing.Size(151, 20); + this.SearchBar.TabIndex = 68; + // // textBox4 // this.textBox4.BackColor = System.Drawing.SystemColors.ControlLightLight; @@ -1330,22 +1336,17 @@ namespace NovetusLauncher this.button35.Size = new System.Drawing.Size(75, 23); this.button35.TabIndex = 0; // - // SearchBar + // checkBox8 // - this.SearchBar.Location = new System.Drawing.Point(7, 5); - this.SearchBar.Name = "SearchBar"; - this.SearchBar.Size = new System.Drawing.Size(151, 20); - this.SearchBar.TabIndex = 68; - // - // SearchButton - // - this.SearchButton.Location = new System.Drawing.Point(164, 3); - this.SearchButton.Name = "SearchButton"; - this.SearchButton.Size = new System.Drawing.Size(49, 23); - this.SearchButton.TabIndex = 69; - this.SearchButton.Text = "Search"; - this.SearchButton.UseVisualStyleBackColor = true; - this.SearchButton.Click += new System.EventHandler(this.SearchButton_Click); + this.checkBox8.AutoSize = true; + this.checkBox8.Location = new System.Drawing.Point(265, 189); + this.checkBox8.Name = "checkBox8"; + this.checkBox8.Size = new System.Drawing.Size(83, 17); + this.checkBox8.TabIndex = 62; + this.checkBox8.Text = "Web Server"; + this.checkBox8.UseVisualStyleBackColor = true; + this.checkBox8.CheckedChanged += new System.EventHandler(this.checkBox8_CheckedChanged); + this.checkBox8.Click += new System.EventHandler(this.CheckBox8Click); // // LauncherFormCompact // @@ -1402,8 +1403,6 @@ namespace NovetusLauncher this.PerformLayout(); } - - private System.Windows.Forms.Label label17; private System.Windows.Forms.CheckBox checkBox4; private System.Windows.Forms.Button button6; private System.Windows.Forms.TreeView treeView1; @@ -1517,6 +1516,7 @@ namespace NovetusLauncher private System.Windows.Forms.Label label5; private System.Windows.Forms.TextBox SearchBar; private System.Windows.Forms.Button SearchButton; + private System.Windows.Forms.CheckBox checkBox8; //private System.Windows.Forms.CheckBox checkBox8; } } diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs index 56d7bc7..d677d76 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/Compact/LauncherFormCompact.cs @@ -87,8 +87,8 @@ namespace NovetusLauncher GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3, richTextBox1); StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); - StartUPnP(device, Protocol.Udp, GlobalVars.WebServerPort); - StartUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort); + StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.WebServerPort); + StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.WebServerPort); } catch (Exception ex) { @@ -104,8 +104,8 @@ namespace NovetusLauncher GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3, richTextBox1); StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); - StopUPnP(device, Protocol.Udp, GlobalVars.WebServerPort); - StopUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort); + StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.WebServerPort); + StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.WebServerPort); } catch (Exception ex) { @@ -168,19 +168,17 @@ namespace NovetusLauncher { try { - GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.DataPath, GlobalVars.WebServerPort); + GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.DataPath, GlobalVars.UserConfiguration.WebServerPort); GlobalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3, richTextBox1); } catch (Exception ex) { GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2, richTextBox1); - label17.Visible = false; } } else { GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2, richTextBox1); - label17.Visible = false; } } @@ -222,7 +220,7 @@ namespace NovetusLauncher string IP = await SecurityFuncs.GetExternalIPAddressAsync(); textBox3.Text = ""; string[] lines1 = { - SecurityFuncs.Base64Encode(IP), + SecurityFuncs.Base64Encode((!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP)), SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()), SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient) }; @@ -235,7 +233,7 @@ namespace NovetusLauncher string URI2 = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines2), true); string[] text = { "Client: " + GlobalVars.UserConfiguration.SelectedClient, - "IP: " + IP, + "IP: " + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP), "Port: " + GlobalVars.UserConfiguration.RobloxPort.ToString(), "Map: " + GlobalVars.UserConfiguration.Map, "Players: " + GlobalVars.UserConfiguration.PlayerLimit, @@ -245,9 +243,9 @@ namespace NovetusLauncher "Local URI Link:", URI2, GlobalVars.IsWebServerOn ? "Web Server URL:" : "", - GlobalVars.IsWebServerOn ? "http://" + IP + ":" + GlobalVars.WebServer.Port.ToString() : "", + GlobalVars.IsWebServerOn ? "http://" + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP) + ":" + GlobalVars.WebServer.Port.ToString() : "", GlobalVars.IsWebServerOn ? "Local Web Server URL:" : "", - GlobalVars.IsWebServerOn ? GlobalVars.LocalWebServerURI : "" + GlobalVars.IsWebServerOn ? "http://localhost:" + (GlobalVars.WebServer.Port.ToString()).ToString() : "" }; foreach (string str in text) @@ -263,6 +261,7 @@ namespace NovetusLauncher case TabPage pg4 when pg4 == tabControl1.TabPages["tabPage4"]: string mapdir = GlobalPaths.MapsDir; TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxl"); + TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxlx"); TreeNodeHelper.CopyNodes(treeView1.Nodes, _fieldsTreeCache.Nodes); treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.UserConfiguration.Map, treeView1.Nodes); treeView1.Focus(); @@ -420,7 +419,10 @@ namespace NovetusLauncher ReadConfigValues(true); InitUPnP(); StartDiscord(); - StartWebServer(); + if (!GlobalVars.UserConfiguration.WebServer) + { + StartWebServer(); + } } void MainFormClose(object sender, CancelEventArgs e) @@ -459,6 +461,16 @@ namespace NovetusLauncher checkBox2.Checked = GlobalVars.UserConfiguration.DiscordPresence; checkBox4.Checked = GlobalVars.UserConfiguration.UPnP; + if (SecurityFuncs.IsElevated) + { + checkBox8.Enabled = true; + checkBox8.Checked = GlobalVars.UserConfiguration.WebServer; + } + else + { + checkBox8.Enabled = false; + } + switch (GlobalVars.UserConfiguration.LauncherStyle) { case Settings.UIOptions.Style.Compact: @@ -1016,9 +1028,9 @@ namespace NovetusLauncher GlobalVars.UserConfiguration.MapPath = GlobalPaths.BasePath + @"\\" + GlobalVars.UserConfiguration.MapPathSnip; label28.Text = GlobalVars.UserConfiguration.Map; - if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt")) + if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt")) { - textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt"); + textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt"); } else { @@ -1059,12 +1071,13 @@ namespace NovetusLauncher _fieldsTreeCache.Nodes.Clear(); string mapdir = GlobalPaths.MapsDir; TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxl"); + TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxlx"); TreeNodeHelper.CopyNodes(treeView1.Nodes, _fieldsTreeCache.Nodes); treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.UserConfiguration.Map, treeView1.Nodes); treeView1.Focus(); - if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt")) + if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt")) { - textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt"); + textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt"); } else { @@ -1273,6 +1286,27 @@ namespace NovetusLauncher MessageBox.Show("The map '" + searchText + "' cannot be found. Please try another term."); } } + + private void checkBox8_CheckedChanged(object sender, EventArgs e) + { + GlobalVars.UserConfiguration.WebServer = checkBox8.Checked; + } + + void CheckBox8Click(object sender, EventArgs e) + { + switch (checkBox8.Checked) + { + case false: + MessageBox.Show("Novetus will now restart.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information); + break; + default: + MessageBox.Show("Novetus will now restart." + Environment.NewLine + "Make sure to check if your router has UPnP functionality enabled. Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol. This may not work for all users.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information); + break; + } + + WriteConfigValues(); + Application.Restart(); + } #endregion #region Functions diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.Designer.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.Designer.cs index 7094380..36f4a40 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.Designer.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.Designer.cs @@ -87,7 +87,6 @@ namespace NovetusLauncher this.tabPage2 = new System.Windows.Forms.TabPage(); this.label19 = new System.Windows.Forms.Label(); this.textBox3 = new System.Windows.Forms.TextBox(); - this.label17 = new System.Windows.Forms.Label(); this.checkBox4 = new System.Windows.Forms.CheckBox(); this.button23 = new System.Windows.Forms.Button(); this.button22 = new System.Windows.Forms.Button(); @@ -129,6 +128,7 @@ namespace NovetusLauncher this.richTextBox2 = new System.Windows.Forms.RichTextBox(); this.tabPage5 = new System.Windows.Forms.TabPage(); this.panel5 = new System.Windows.Forms.Panel(); + this.button36 = new System.Windows.Forms.Button(); this.label5 = new System.Windows.Forms.Label(); this.comboBox3 = new System.Windows.Forms.ComboBox(); this.comboBox2 = new System.Windows.Forms.ComboBox(); @@ -154,7 +154,7 @@ namespace NovetusLauncher this.panel4 = new System.Windows.Forms.Panel(); this.button35 = new System.Windows.Forms.Button(); this.UAButton = new System.Windows.Forms.Button(); - this.button36 = new System.Windows.Forms.Button(); + this.checkBox8 = new System.Windows.Forms.CheckBox(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); @@ -638,9 +638,9 @@ namespace NovetusLauncher // // tabPage2 // + this.tabPage2.Controls.Add(this.checkBox8); this.tabPage2.Controls.Add(this.label19); this.tabPage2.Controls.Add(this.textBox3); - this.tabPage2.Controls.Add(this.label17); this.tabPage2.Controls.Add(this.checkBox4); this.tabPage2.Controls.Add(this.button23); this.tabPage2.Controls.Add(this.button22); @@ -676,27 +676,16 @@ namespace NovetusLauncher this.textBox3.Name = "textBox3"; this.textBox3.ReadOnly = true; this.textBox3.ScrollBars = System.Windows.Forms.ScrollBars.Both; - this.textBox3.Size = new System.Drawing.Size(612, 113); + this.textBox3.Size = new System.Drawing.Size(612, 129); this.textBox3.TabIndex = 59; // - // label17 - // - this.label17.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label17.ForeColor = System.Drawing.Color.Red; - this.label17.Location = new System.Drawing.Point(116, 137); - this.label17.Name = "label17"; - this.label17.Size = new System.Drawing.Size(382, 14); - this.label17.TabIndex = 58; - this.label17.Text = "NOTE: The webserver port is static and it cannot be changed. It is 40735."; - this.label17.TextAlign = System.Drawing.ContentAlignment.TopCenter; - // // checkBox4 // this.checkBox4.Location = new System.Drawing.Point(321, 180); this.checkBox4.Name = "checkBox4"; - this.checkBox4.Size = new System.Drawing.Size(104, 17); + this.checkBox4.Size = new System.Drawing.Size(55, 17); this.checkBox4.TabIndex = 57; - this.checkBox4.Text = "Toggle UPnP"; + this.checkBox4.Text = "UPnP"; this.checkBox4.UseVisualStyleBackColor = true; this.checkBox4.CheckedChanged += new System.EventHandler(this.CheckBox4CheckedChanged); this.checkBox4.Click += new System.EventHandler(this.CheckBox4Click); @@ -1162,6 +1151,16 @@ namespace NovetusLauncher this.panel5.Size = new System.Drawing.Size(200, 259); this.panel5.TabIndex = 68; // + // button36 + // + this.button36.Location = new System.Drawing.Point(3, 161); + this.button36.Name = "button36"; + this.button36.Size = new System.Drawing.Size(190, 23); + this.button36.TabIndex = 77; + this.button36.Text = "Change custom graphics options"; + this.button36.UseVisualStyleBackColor = true; + this.button36.Click += new System.EventHandler(this.button36_Click); + // // label5 // this.label5.AutoSize = true; @@ -1440,15 +1439,17 @@ namespace NovetusLauncher this.UAButton.Size = new System.Drawing.Size(75, 23); this.UAButton.TabIndex = 0; // - // button36 + // checkBox8 // - this.button36.Location = new System.Drawing.Point(3, 161); - this.button36.Name = "button36"; - this.button36.Size = new System.Drawing.Size(190, 23); - this.button36.TabIndex = 77; - this.button36.Text = "Change custom graphics options"; - this.button36.UseVisualStyleBackColor = true; - this.button36.Click += new System.EventHandler(this.button36_Click); + this.checkBox8.AutoSize = true; + this.checkBox8.Location = new System.Drawing.Point(379, 180); + this.checkBox8.Name = "checkBox8"; + this.checkBox8.Size = new System.Drawing.Size(83, 17); + this.checkBox8.TabIndex = 61; + this.checkBox8.Text = "Web Server"; + this.checkBox8.UseVisualStyleBackColor = true; + this.checkBox8.CheckedChanged += new System.EventHandler(this.checkBox8_CheckedChanged); + this.checkBox8.Click += new System.EventHandler(this.CheckBox8Click); // // LauncherFormExtended // @@ -1500,8 +1501,6 @@ namespace NovetusLauncher this.ResumeLayout(false); } - - private System.Windows.Forms.Label label17; private System.Windows.Forms.CheckBox checkBox4; private System.Windows.Forms.Button button6; private System.Windows.Forms.TreeView treeView1; @@ -1615,6 +1614,7 @@ namespace NovetusLauncher private System.Windows.Forms.TextBox SearchBar; private System.Windows.Forms.Button SearchButton; private System.Windows.Forms.Button button36; + private System.Windows.Forms.CheckBox checkBox8; //private System.Windows.Forms.CheckBox checkBox8; } } diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs index 4479acf..efb46cc 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/Extended/LauncherFormExtended.cs @@ -91,8 +91,8 @@ namespace NovetusLauncher GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3, richTextBox1); StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); - StartUPnP(device, Protocol.Udp, GlobalVars.WebServerPort); - StartUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort); + StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.WebServerPort); + StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.WebServerPort); } catch (Exception ex) { @@ -108,8 +108,8 @@ namespace NovetusLauncher GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3, richTextBox1); StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); - StopUPnP(device, Protocol.Udp, GlobalVars.WebServerPort); - StopUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort); + StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.WebServerPort); + StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.WebServerPort); } catch (Exception ex) { @@ -172,19 +172,17 @@ namespace NovetusLauncher { try { - GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.DataPath, GlobalVars.WebServerPort); + GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.DataPath, GlobalVars.UserConfiguration.WebServerPort); GlobalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3, richTextBox1); } catch (Exception ex) { GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2, richTextBox1); - label17.Visible = false; } } else { GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2, richTextBox1); - label17.Visible = false; } } @@ -226,7 +224,7 @@ namespace NovetusLauncher string IP = await SecurityFuncs.GetExternalIPAddressAsync(); textBox3.Text = ""; string[] lines1 = { - SecurityFuncs.Base64Encode(IP), + SecurityFuncs.Base64Encode((!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP)), SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()), SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient) }; @@ -239,7 +237,7 @@ namespace NovetusLauncher string URI2 = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines2), true); string[] text = { "Client: " + GlobalVars.UserConfiguration.SelectedClient, - "IP: " + IP, + "IP: " + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP), "Port: " + GlobalVars.UserConfiguration.RobloxPort.ToString(), "Map: " + GlobalVars.UserConfiguration.Map, "Players: " + GlobalVars.UserConfiguration.PlayerLimit, @@ -249,9 +247,9 @@ namespace NovetusLauncher "Local URI Link:", URI2, GlobalVars.IsWebServerOn ? "Web Server URL:" : "", - GlobalVars.IsWebServerOn ? "http://" + IP + ":" + GlobalVars.WebServer.Port.ToString() : "", + GlobalVars.IsWebServerOn ? "http://" + (!string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : IP) + ":" + GlobalVars.WebServer.Port.ToString() : "", GlobalVars.IsWebServerOn ? "Local Web Server URL:" : "", - GlobalVars.IsWebServerOn ? GlobalVars.LocalWebServerURI : "" + GlobalVars.IsWebServerOn ? "http://localhost:" + (GlobalVars.WebServer.Port.ToString()).ToString() : "" }; foreach (string str in text) @@ -267,6 +265,7 @@ namespace NovetusLauncher case TabPage pg4 when pg4 == tabControl1.TabPages["tabPage4"]: string mapdir = GlobalPaths.MapsDir; TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxl"); + TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxlx"); TreeNodeHelper.CopyNodes(treeView1.Nodes, _fieldsTreeCache.Nodes); treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.UserConfiguration.Map, treeView1.Nodes); treeView1.Focus(); @@ -452,7 +451,10 @@ namespace NovetusLauncher ReadConfigValues(true); InitUPnP(); StartDiscord(); - StartWebServer(); + if (!GlobalVars.UserConfiguration.WebServer) + { + StartWebServer(); + } } void MainFormClose(object sender, CancelEventArgs e) @@ -494,6 +496,16 @@ namespace NovetusLauncher checkBox7.Checked = GlobalVars.UserConfiguration.ReShadePerformanceMode; checkBox4.Checked = GlobalVars.UserConfiguration.UPnP; + if (SecurityFuncs.IsElevated) + { + checkBox8.Enabled = true; + checkBox8.Checked = GlobalVars.UserConfiguration.WebServer; + } + else + { + checkBox8.Enabled = false; + } + switch (GlobalVars.UserConfiguration.GraphicsMode) { case Settings.GraphicsOptions.Mode.OpenGL: @@ -1089,9 +1101,9 @@ namespace NovetusLauncher GlobalVars.UserConfiguration.MapPath = GlobalPaths.BasePath + @"\\" + GlobalVars.UserConfiguration.MapPathSnip; label28.Text = GlobalVars.UserConfiguration.Map; - if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt")) + if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt")) { - textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt"); + textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt"); } else { @@ -1132,12 +1144,13 @@ namespace NovetusLauncher _fieldsTreeCache.Nodes.Clear(); string mapdir = GlobalPaths.MapsDir; TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxl"); + TreeNodeHelper.ListDirectory(treeView1, mapdir, ".rbxlx"); TreeNodeHelper.CopyNodes(treeView1.Nodes,_fieldsTreeCache.Nodes); treeView1.SelectedNode = TreeNodeHelper.SearchTreeView(GlobalVars.UserConfiguration.Map, treeView1.Nodes); treeView1.Focus(); - if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt")) + if (File.Exists(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt")) { - textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "") + "_desc.txt"); + textBox4.Text = File.ReadAllText(GlobalPaths.RootPath + @"\\" + treeView1.SelectedNode.FullPath.ToString().Replace(".rbxl", "").Replace(".rbxlx", "") + "_desc.txt"); } else { @@ -1443,6 +1456,27 @@ namespace NovetusLauncher MessageBox.Show("You do not have the 'Custom' option selected. Please select it before continuing."); } } + + private void checkBox8_CheckedChanged(object sender, EventArgs e) + { + GlobalVars.UserConfiguration.WebServer = checkBox8.Checked; + } + + void CheckBox8Click(object sender, EventArgs e) + { + switch (checkBox8.Checked) + { + case false: + MessageBox.Show("Novetus will now restart.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information); + break; + default: + MessageBox.Show("Novetus will now restart." + Environment.NewLine + "Make sure to check if your router has UPnP functionality enabled. Please note that some routers may not support UPnP, and some ISPs will block the UPnP protocol. This may not work for all users.", "Novetus - UPnP", MessageBoxButtons.OK, MessageBoxIcon.Information); + break; + } + + WriteConfigValues(); + Application.Restart(); + } #endregion #region Functions @@ -1462,7 +1496,7 @@ namespace NovetusLauncher }; } - #endregion - } + #endregion + } #endregion } diff --git a/Novetus/NovetusLauncher/Novetus.Launcher.csproj b/Novetus/NovetusLauncher/Novetus.Launcher.csproj index b4502c6..95acdce 100644 --- a/Novetus/NovetusLauncher/Novetus.Launcher.csproj +++ b/Novetus/NovetusLauncher/Novetus.Launcher.csproj @@ -350,13 +350,16 @@ SET path=$(SolutionDir)build if not exist "%25path%25" mkdir "%25path%25" -copy $(ProjectDir)$(OutDir) "%25path%25"\* -del "%25path%25"\*.vshost.exe -del "%25path%25"\*.vshost.exe.config -del "%25path%25"\*.vshost.exe.manifest -del "%25path%25"\*.xml +SET path2=%25path%25\Launcher +if not exist "%25path2%25" mkdir "%25path2%25" +copy $(ProjectDir)$(OutDir) "%25path2%25"\* +del "%25path%25"\$(TargetName).vshost.exe +del "%25path%25"\$(TargetName).vshost.exe.config +del "%25path%25"\$(TargetName).vshost.exe.manifest +del "%25path%25"\$(TargetName).xml if not exist "%25path%25"\bin mkdir "%25path%25"\bin -move "%25path%25"\* "%25path%25"\bin +move "%25path2%25"\* "%25path%25"\bin +rd /s /q "%25path2%25" diff --git a/Novetus/NovetusURI/Novetus.URI.csproj b/Novetus/NovetusURI/Novetus.URI.csproj index fdfecdb..3b551e9 100644 --- a/Novetus/NovetusURI/Novetus.URI.csproj +++ b/Novetus/NovetusURI/Novetus.URI.csproj @@ -176,13 +176,16 @@ SET path=$(SolutionDir)build if not exist "%25path%25" mkdir "%25path%25" -copy $(ProjectDir)$(OutDir) "%25path%25"\* -del "%25path%25"\*.vshost.exe -del "%25path%25"\*.vshost.exe.config -del "%25path%25"\*.vshost.exe.manifest -del "%25path%25"\*.xml +SET path2=%25path%25\URI +if not exist "%25path2%25" mkdir "%25path2%25" +copy $(ProjectDir)$(OutDir) "%25path2%25"\* +del "%25path%25"\$(TargetName).vshost.exe +del "%25path%25"\$(TargetName).vshost.exe.config +del "%25path%25"\$(TargetName).vshost.exe.manifest +del "%25path%25"\$(TargetName).xml if not exist "%25path%25"\bin mkdir "%25path%25"\bin -move "%25path%25"\* "%25path%25"\bin +move "%25path2%25"\* "%25path%25"\bin +rd /s /q "%25path2%25"