1
0

Merge pull request #2182 from birkett/master

Use the new style command line parameters for Windows Service support.
This commit is contained in:
Mattes D 2015-06-02 15:05:05 +02:00
commit a42daecd0b
3 changed files with 11 additions and 11 deletions

View File

@ -3,6 +3,7 @@ Many people have contributed to MCServer, and this list attempts to broadcast at
BasedDoge (Donated AlchemistVillage prefabs)
bearbin (Alexander Harkness)
beeduck
birkett (Anthony Birkett)
derouinw
Diusrex
Duralex

View File

@ -3,5 +3,5 @@ rem Alter this if you need to install multiple instances.
set SERVICENAME="MCServer"
set CURRENTDIR=%CD%
sc create %SERVICENAME% binPath= "%CURRENTDIR%\MCServer.exe /service" start= auto DisplayName= %SERVICENAME%
sc create %SERVICENAME% binPath= "%CURRENTDIR%\MCServer.exe -d" start= auto DisplayName= %SERVICENAME%
sc description %SERVICENAME% "Minecraft server instance"

View File

@ -382,6 +382,10 @@ std::unique_ptr<cMemorySettingsRepository> parseArguments(int argc, char **argv)
TCLAP::SwitchArg noBufArg("", "no-output-buffering", "Disable output buffering", cmd);
TCLAP::SwitchArg runAsServiceArg("d", "run-as-service", "Run as a service on Windows", cmd);
cmd.ignoreUnmatched(true);
cmd.parse(argc, argv);
auto repo = cpp14::make_unique<cMemorySettingsRepository>();
@ -420,6 +424,11 @@ std::unique_ptr<cMemorySettingsRepository> parseArguments(int argc, char **argv)
setvbuf(stdout, nullptr, _IONBF, 0);
}
if (runAsServiceArg.getValue())
{
cRoot::m_RunAsService = true;
}
repo->SetReadOnly();
return repo;
@ -493,16 +502,6 @@ int main(int argc, char **argv)
auto argsRepo = parseArguments(argc, argv);
// Check if comm logging is to be enabled:
for (int i = 0; i < argc; i++)
{
AString Arg(argv[i]);
if (NoCaseCompare(Arg, "/service") == 0)
{
cRoot::m_RunAsService = true;
}
} // for i - argv[]
#if defined(_WIN32)
// Attempt to run as a service
if (cRoot::m_RunAsService)