public String StartServer(ServerType type, String args)
{
if (!Authenticated)
{
return("You must be Authenticated to perform this task");
}
if (GetServerExists(type, args))
{
return("Server: " + type + " args:" + args + " process is already running. Please kill it before trying to run a new instance");
}
ProcessCaller pc = new ProcessCaller(monitor);
pc.Arguments = args;
pc.WorkingDirectory = monitor.GetWorkingDirectory() + "\\";
switch (type)
{
case ServerType.None:
return("Server Type: None is not a valid type to start");
case ServerType.ConnectionServer:
pc.FileName = monitor.GetWorkingDirectory() + "connectionserver.exe";
break;
case ServerType.ChatServer:
pc.FileName = monitor.GetWorkingDirectory() + "chatserver.exe";
break;
case ServerType.LoginServer:
pc.FileName = monitor.GetWorkingDirectory() + "loginserver.exe";
break;
case ServerType.ZoneServer:
pc.FileName = monitor.GetWorkingDirectory() + "zoneserver.exe";
break;
case ServerType.PingServer:
pc.FileName = monitor.GetWorkingDirectory() + "pingserver.exe";
break;
default:
return("Hey man some weird ass shit just happened. An enum wasn't handled properly");
}
Server s = new Server(pc);
s.args = args;
s.type = type;
return(monitor.AddServer(s));
}