From 96f813a17b6a415f7ee127501c5446f3b7140d5f Mon Sep 17 00:00:00 2001 From: Tomas Blaho Date: Wed, 20 Sep 2017 12:34:09 +0200 Subject: [PATCH 1/4] IMultiplayerManager: added list of banned steam ID's --- Torch.API/Managers/IMultiplayerManager.cs | 5 +++++ Torch/Managers/MultiplayerManager.cs | 1 + 2 files changed, 6 insertions(+) diff --git a/Torch.API/Managers/IMultiplayerManager.cs b/Torch.API/Managers/IMultiplayerManager.cs index 509360d..2726cd2 100644 --- a/Torch.API/Managers/IMultiplayerManager.cs +++ b/Torch.API/Managers/IMultiplayerManager.cs @@ -33,6 +33,11 @@ namespace Torch.API.Managers /// event MessageReceivedDel MessageReceived; + /// + /// List of banned SteamID's + /// + List BannedPlayers { get; } + /// /// Send a chat message to all or one specific player. /// diff --git a/Torch/Managers/MultiplayerManager.cs b/Torch/Managers/MultiplayerManager.cs index ac1f09f..d4ee660 100644 --- a/Torch/Managers/MultiplayerManager.cs +++ b/Torch/Managers/MultiplayerManager.cs @@ -50,6 +50,7 @@ namespace Torch.Managers public IList ChatHistory { get; } = new ObservableList(); public ObservableDictionary Players { get; } = new ObservableDictionary(); + public List BannedPlayers => MySandboxGame.ConfigDedicated.Banned; public IMyPlayer LocalPlayer => MySession.Static.LocalHumanPlayer; private static readonly Logger Log = LogManager.GetLogger(nameof(MultiplayerManager)); private static readonly Logger ChatLog = LogManager.GetLogger("Chat"); From d8e2072493c61a7d36dd4cecda83cab9e1a6d308 Mon Sep 17 00:00:00 2001 From: Tomas Blaho Date: Wed, 20 Sep 2017 13:03:06 +0200 Subject: [PATCH 2/4] documentation added --- Torch.API/Managers/IMultiplayerManager.cs | 2 +- Torch/Managers/MultiplayerManager.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Torch.API/Managers/IMultiplayerManager.cs b/Torch.API/Managers/IMultiplayerManager.cs index 2726cd2..4dd5f0f 100644 --- a/Torch.API/Managers/IMultiplayerManager.cs +++ b/Torch.API/Managers/IMultiplayerManager.cs @@ -34,7 +34,7 @@ namespace Torch.API.Managers event MessageReceivedDel MessageReceived; /// - /// List of banned SteamID's + /// List of the banned SteamID's /// List BannedPlayers { get; } diff --git a/Torch/Managers/MultiplayerManager.cs b/Torch/Managers/MultiplayerManager.cs index d4ee660..e187eb3 100644 --- a/Torch/Managers/MultiplayerManager.cs +++ b/Torch/Managers/MultiplayerManager.cs @@ -50,7 +50,12 @@ namespace Torch.Managers public IList ChatHistory { get; } = new ObservableList(); public ObservableDictionary Players { get; } = new ObservableDictionary(); + + /// + /// List of the banned SteamID's + /// public List BannedPlayers => MySandboxGame.ConfigDedicated.Banned; + public IMyPlayer LocalPlayer => MySession.Static.LocalHumanPlayer; private static readonly Logger Log = LogManager.GetLogger(nameof(MultiplayerManager)); private static readonly Logger ChatLog = LogManager.GetLogger("Chat"); From eb7f7f42449eb5e310718ab7adcdbdc0acb3405d Mon Sep 17 00:00:00 2001 From: Tomas Blaho Date: Wed, 20 Sep 2017 17:05:23 +0200 Subject: [PATCH 3/4] MultiplayerManagerLobby doesn't implement IMultiplayerManagerServer --- Torch.Client/Manager/MultiplayerManagerLobby.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Torch.Client/Manager/MultiplayerManagerLobby.cs b/Torch.Client/Manager/MultiplayerManagerLobby.cs index 5ffd7e9..1013398 100644 --- a/Torch.Client/Manager/MultiplayerManagerLobby.cs +++ b/Torch.Client/Manager/MultiplayerManagerLobby.cs @@ -10,7 +10,7 @@ using Torch.Managers; namespace Torch.Client.Manager { - public class MultiplayerManagerLobby : MultiplayerManagerBase, IMultiplayerManagerServer + public class MultiplayerManagerLobby : MultiplayerManagerBase { /// public MultiplayerManagerLobby(ITorchBase torch) : base(torch) { } From 9c505c4f5de7ec1d064ce6137f29d16eefa6c4a2 Mon Sep 17 00:00:00 2001 From: Tomas Blaho Date: Wed, 20 Sep 2017 17:16:15 +0200 Subject: [PATCH 4/4] banned player list made readonly, lobby fakes support --- Torch.API/Managers/IMultiplayerManagerServer.cs | 2 +- Torch.Client/Manager/MultiplayerManagerLobby.cs | 8 +++++++- Torch.Server/Managers/MultiplayerManagerDedicated.cs | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Torch.API/Managers/IMultiplayerManagerServer.cs b/Torch.API/Managers/IMultiplayerManagerServer.cs index 82c7f42..31dadcd 100644 --- a/Torch.API/Managers/IMultiplayerManagerServer.cs +++ b/Torch.API/Managers/IMultiplayerManagerServer.cs @@ -24,7 +24,7 @@ namespace Torch.API.Managers /// /// List of the banned SteamID's /// - List BannedPlayers { get; } + IReadOnlyList BannedPlayers { get; } /// /// Checks if the player with the given SteamID is banned. diff --git a/Torch.Client/Manager/MultiplayerManagerLobby.cs b/Torch.Client/Manager/MultiplayerManagerLobby.cs index 1013398..1ef3e3f 100644 --- a/Torch.Client/Manager/MultiplayerManagerLobby.cs +++ b/Torch.Client/Manager/MultiplayerManagerLobby.cs @@ -10,8 +10,11 @@ using Torch.Managers; namespace Torch.Client.Manager { - public class MultiplayerManagerLobby : MultiplayerManagerBase + public class MultiplayerManagerLobby : MultiplayerManagerBase, IMultiplayerManagerServer { + /// + public IReadOnlyList BannedPlayers => new List(); + /// public MultiplayerManagerLobby(ITorchBase torch) : base(torch) { } @@ -21,6 +24,9 @@ namespace Torch.Client.Manager /// public void BanPlayer(ulong steamId, bool banned = true) => Torch.Invoke(() => MyMultiplayer.Static.BanClient(steamId, banned)); + /// + public bool IsBanned(ulong steamId) => false; + /// public override void Attach() { diff --git a/Torch.Server/Managers/MultiplayerManagerDedicated.cs b/Torch.Server/Managers/MultiplayerManagerDedicated.cs index 3f0b1b8..d8427fc 100644 --- a/Torch.Server/Managers/MultiplayerManagerDedicated.cs +++ b/Torch.Server/Managers/MultiplayerManagerDedicated.cs @@ -32,7 +32,7 @@ namespace Torch.Server.Managers #pragma warning restore 649 /// - public List BannedPlayers => MySandboxGame.ConfigDedicated.Banned; + public IReadOnlyList BannedPlayers => MySandboxGame.ConfigDedicated.Banned; private Dictionary _gameOwnerIds = new Dictionary();