public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (player.Status == SessionStatus.InGame) { player.JoinLobby(); } }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (args.Length < 1) { return; } if (int.TryParse(args[0], out var number)) { var players = IoCManager.Resolve <IPlayerManager>(); var index = new PlayerIndex(number); if (players.ValidSessionId(index)) { var network = IoCManager.Resolve <IServerNetManager>(); var targetPlyr = players.GetSessionById(index); var reason = "Kicked by console."; if (args.Length >= 2) { reason = reason + args[1]; } network.DisconnectChannel(targetPlyr.ConnectedClient, reason); } } }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { var sb = new StringBuilder(); var players = IoCManager.Resolve <IPlayerManager>().GetAllPlayers(); sb.AppendLine("Current Players:"); sb.AppendLine($"{"Index",1}{"Player Name",20}{"IP Address",16}{"Status",12}{"Playing Time",14}{"Ping",9}"); foreach (IPlayerSession p in players) { if (p == null) { continue; } sb.Append($" {p.Index,3}"); sb.Append($" {p.Name,20}"); sb.AppendLine(string.Format(" {0,16}{1,12}{2,14}{3,9}", p.ConnectedClient.RemoteAddress, p.Status.ToString(), (DateTime.Now - p.ConnectedTime).ToString(@"hh\:mm\:ss"), p.ConnectedClient.Ping + "ms")); } host.SendConsoleReply(player.ConnectedClient, sb.ToString()); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (player.Status != SessionStatus.InGame || player.AttachedEntity == null) { return; } if (args.Length < 2 || !float.TryParse(args[0], out var posX) || !float.TryParse(args[1], out var posY)) { return; } var mapMgr = IoCManager.Resolve <IMapManager>(); var position = new Vector2(posX, posY); var entity = player.AttachedEntity; var transform = entity.GetComponent <IServerTransformComponent>(); transform.DetachParent(); IMapGrid grid; if (args.Length == 3 && int.TryParse(args[2], out var mapId) && mapMgr.TryGetMap(new MapId(mapId), out var map)) { grid = map.FindGridAt(position); } else { grid = transform.LocalPosition.Map.FindGridAt(position); } transform.LocalPosition = new GridLocalCoordinates(position, grid); host.SendConsoleReply(player.ConnectedClient, $"Teleported {player} to {grid.MapID}:{posX},{posY}."); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { foreach (var targetPlayer in IoCManager.Resolve <IPlayerManager>().GetAllPlayers()) { targetPlayer.AddPostProcessingEffect(PostProcessingEffectType.Acid, 60); host.SendConsoleReply(player.ConnectedClient, "Okay then."); } }
public void Execute(IClientConsoleHost host, IClient client, params string[] args) { foreach (IPlayerSession playerfordrugs in IoCManager.Resolve <IPlayerManager>().GetAllPlayers()) { playerfordrugs.AddPostProcessingEffect(PostProcessingEffectType.Acid, 60); host.SendConsoleReply("Okay then.", client.NetConnection); } }
public EscapeMenu(IClientConsoleHost consoleHost) { _consoleHost = consoleHost; IoCManager.InjectDependencies(this); PerformLayout(); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { var baseServer = IoCManager.Resolve <IBaseServer>(); if (baseServer.RunLevel == ServerRunLevel.PostGame) { baseServer.RunLevel = ServerRunLevel.MapChange; } }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (player.AttachedEntity == null) { return; } var pos = player.AttachedEntity.GetComponent <ITransformComponent>().LocalPosition; host.SendConsoleReply(player.ConnectedClient, $"MapID:{pos.MapID} GridID:{pos.GridID} X:{pos.X:N2} Y:{pos.Y:N2}"); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { var builder = new StringBuilder("Available commands:\n"); foreach (var command in host.AvailableCommands.Values) { builder.AppendFormat("{0}: {1}\n", command.Command, command.Description); } var message = builder.ToString().Trim(' ', '\n'); host.SendConsoleReply(player.ConnectedClient, message); }
public EscapeMenu(IClientConsoleHost consoleHost) { _consoleHost = consoleHost; RobustXamlLoader.Load(this); _optionsMenu = new OptionsMenu(); OptionsButton.OnPressed += OnOptionsButtonClicked; QuitButton.OnPressed += OnQuitButtonClicked; DisconnectButton.OnPressed += OnDisconnectButtonClicked; }
public EscapeMenu(IClientConsoleHost consoleHost) { _consoleHost = consoleHost; RobustXamlLoader.Load(this); _optionsMenu = new OptionsMenu(); OptionsButton.OnPressed += OnOptionsButtonClicked; QuitButton.OnPressed += OnQuitButtonClicked; RulesButton.OnPressed += _ => new RulesAndInfoWindow().Open(); DisconnectButton.OnPressed += OnDisconnectButtonClicked; WikiButton.OnPressed += OnWikiButtonClicked; }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { var network = (NetManager)IoCManager.Resolve <INetManager>(); var callbacks = network.CallbackAudit; foreach (var kvCallback in callbacks) { var msgType = kvCallback.Key; var call = kvCallback.Value; var str = $"Type: {msgType.Name} Call:{call.Target}"; host.SendConsoleReply(player.ConnectedClient, str); } }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (player.Status != SessionStatus.InGame || !player.AttachedEntityUid.HasValue) { return; } var sessions = IoCManager.Resolve <IPlayerManager>(); var ents = IoCManager.Resolve <IEntityManager>(); var chat = IoCManager.Resolve <IChatManager>(); var pos = ents.GetEntity(player.AttachedEntityUid.Value).GetComponent <ITransformComponent>().LocalPosition; var clients = sessions.GetPlayersInRange(pos, WhisperRange).Select(p => p.ConnectedClient); chat.DispatchMessage(clients.ToList(), ChatChannel.Local, args[0], player.Index); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (player.Status != SessionStatus.InGame || !player.AttachedEntityUid.HasValue) { return; } if (args.Length < 1) { return; } var sessions = IoCManager.Resolve <IPlayerManager>(); var ents = IoCManager.Resolve <IEntityManager>(); var chat = IoCManager.Resolve <IChatManager>(); var message = args[0]; string text; if (message[0] == RadioChar) { // all they sent was the channel if (args.Length < 2) { return; } var channel = args[0]; var listArgs = args.ToList(); listArgs.RemoveAt(0); text = string.Concat(listArgs); //TODO: Parse channel and broadcast over radio. } else { text = string.Concat(args); } var pos = ents.GetEntity(player.AttachedEntityUid.Value).GetComponent <ITransformComponent>().LocalPosition; var clients = sessions.GetPlayersInRange(pos, VoiceRange).Select(p => p.ConnectedClient); chat.DispatchMessage(clients.ToList(), ChatChannel.Local, text, player.Index); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { var random = new System.Random(); foreach (var targetPlayer in IoCManager.Resolve <IPlayerManager>().GetAllPlayers()) { if (targetPlayer.AttachedEntity == null || !targetPlayer.AttachedEntity.TryGetComponent <SpriteComponent>(out var comp)) { continue; } var r = (float)random.NextDouble(); var g = (float)random.NextDouble(); var b = (float)random.NextDouble(); var col = new Color(r, g, b); comp.Color = col; } }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (args.Length < 1) { return; } var mapId = new MapId(int.Parse(args[0])); var mapMgr = IoCManager.Resolve <IMapManager>(); if (!mapMgr.MapExists(mapId)) { mapMgr.CreateMap(mapId); host.SendConsoleReply(player.ConnectedClient, $"Map with ID {mapId} created."); return; } host.SendConsoleReply(player.ConnectedClient, $"Map with ID {mapId} already exists!"); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { if (player.Status != SessionStatus.InGame || !player.AttachedEntityUid.HasValue) { return; } var sessions = IoCManager.Resolve <IPlayerManager>(); var ents = IoCManager.Resolve <IEntityManager>(); var chat = IoCManager.Resolve <IChatManager>(); if (chat.ExpandEmote(args[0], player, out var self, out var other)) { //TODO: Dispatch in PVS range instead var pos = ents.GetEntity(player.AttachedEntityUid.Value).GetComponent <ITransformComponent>().LocalPosition; var clients = sessions.GetPlayersInRange(pos, VoiceRange).Where(p => p != player).Select(p => p.ConnectedClient); chat.DispatchMessage(player.ConnectedClient, ChatChannel.Emote, self, player.Index); chat.DispatchMessage(clients.ToList(), ChatChannel.Emote, other, player.Index); }
public DebugConsoleLogHandler(IClientConsoleHost console) { Console = console; }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { var ent = IoCManager.Resolve <IServerEntityManager>(); ent.ForceSpawnEntityAt(args[0], player.AttachedEntity.GetComponent <IServerTransformComponent>().LocalPosition); }
public void Execute(IClientConsoleHost host, IPlayerSession player, params string[] args) { //TODO: Check permissions here. IoCManager.Resolve <IBaseServer>().Restart(); }