novetus development is getting back on track!
This commit is contained in:
parent
4c984ee5ed
commit
ebba6ca013
|
|
@ -94,12 +94,15 @@
|
|||
<PropertyGroup>
|
||||
<PostBuildEvent>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</PostBuildEvent>
|
||||
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"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -56,9 +56,9 @@
|
|||
<PostBuildEvent>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</PostBuildEvent>
|
||||
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</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -24,18 +24,16 @@ namespace NovetusCMD
|
|||
GlobalFuncs.ConsolePrint("-no3d | Launches server in NoGraphics mode", 4, true);
|
||||
GlobalFuncs.ConsolePrint("-script <path to 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 <map filename> | Sets the map.", 4, true);
|
||||
GlobalFuncs.ConsolePrint("-client <client name> | Sets the client.", 4, true);
|
||||
GlobalFuncs.ConsolePrint("-port <port number> | Sets the server port.", 4, true);
|
||||
GlobalFuncs.ConsolePrint("-maxplayers <number of players> | Sets the number of players.", 4, true);
|
||||
GlobalFuncs.ConsolePrint("-webserver <true/false> | Toggles launching of the web server.", 4, true);
|
||||
GlobalFuncs.ConsolePrint("---------", 1, true);
|
||||
GlobalFuncs.ConsolePrint("How to launch:", 3, true);
|
||||
GlobalFuncs.ConsolePrint("---------", 1, true);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -156,13 +156,16 @@
|
|||
<PropertyGroup>
|
||||
<PostBuildEvent>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</PostBuildEvent>
|
||||
move "%25path2%25"\* "%25path%25"\bin
|
||||
rd /s /q "%25path2%25"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -36,129 +36,130 @@ partial class ItemMaker
|
|||
/// </summary>
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -350,13 +350,16 @@
|
|||
<PropertyGroup>
|
||||
<PostBuildEvent>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</PostBuildEvent>
|
||||
move "%25path2%25"\* "%25path%25"\bin
|
||||
rd /s /q "%25path2%25"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||
|
|
|
|||
|
|
@ -176,13 +176,16 @@
|
|||
<PropertyGroup>
|
||||
<PostBuildEvent>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</PostBuildEvent>
|
||||
move "%25path2%25"\* "%25path%25"\bin
|
||||
rd /s /q "%25path2%25"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||
|
|
|
|||
Loading…
Reference in New Issue