Add temporary autostart flag for restart commands and autostart commandline switch (#382)

Co-authored-by: Jimmacle <mindstorms11@cox.net>
This commit is contained in:
Brant Martin
2020-04-22 15:31:55 -04:00
committed by GitHub
parent 48ddc6389f
commit 29fcdc0bf8
3 changed files with 15 additions and 5 deletions

View File

@@ -145,8 +145,11 @@ quit";
{
_server.Init();
if (_config.Autostart)
if (_config.Autostart || _config.TempAutostart)
{
_config.TempAutostart = false;
_server.Start();
}
});
gameThread.Start();

View File

@@ -62,10 +62,17 @@ namespace Torch.Server
[XmlIgnore, Arg("forceupdate", "Manually check for and install updates.")]
public bool ForceUpdate { get; set; }
/// <inheritdoc />
[Arg("autostart", "Start the server immediately.")]
/// <summary>
/// Permanent flag to ALWAYS automatically start the server
/// </summary>
public bool Autostart { get; set; }
/// <summary>
/// Temporary flag to automatically start the server only on the next run
/// </summary>
[Arg("autostart", "Start the server immediately.")]
public bool TempAutostart { get; set; }
/// <inheritdoc />
[Arg("restartoncrash", "Automatically restart the server if it crashes.")]
public bool RestartOnCrash { get; set; }

View File

@@ -212,7 +212,7 @@ namespace Torch.Server
string exe = Assembly.GetExecutingAssembly().Location;
Debug.Assert(exe != null);
config.WaitForPID = Process.GetCurrentProcess().Id.ToString();
config.Autostart = true;
config.TempAutostart = true;
Process.Start(exe, config.ToString());
Process.GetCurrentProcess().Kill();