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)); }