private object GetServerItem(IManageableServer server) { if (server == null) { return(null); } if (server is IGameServer gameServer) { return(new GameServerInfo(gameServer)); } return(new ServerInfo(server)); }
private object StartServer(dynamic parameters) { IManageableServer server = null; try { Log.Info($"requested start for server {parameters.serverId}"); var serverId = (int)parameters.serverId; server = this.servers.FirstOrDefault(s => s.Id == serverId); server?.Start(); } catch (Exception ex) { Log.Error($"An unexpected exception occured during requested start of server {parameters.serverId}", ex); } return(this.Negotiate.WithModel(this.Response.AsRedirect("/admin")) .WithMediaRangeModel("application/json", this.GetServerItem(server))); }
private object GetServerItem(IManageableServer server) { if (server == null) { return(null); } if (server is IGameServer gameServer) { return(new ExtendedGameServerInfo(gameServer)); } return (new { State = server.ServerState, Description = server.Description, Id = server.Id, OnlinePlayerCount = server.CurrentConnections, MaximumPlayers = server.MaximumConnections }); }
/// <summary> /// Initializes a new instance of the <see cref="ServerInfo"/> class. /// </summary> /// <param name="server">The server.</param> public ServerInfo(IManageableServer server) { this.server = server; }