From: js6pak Date: Fri, 5 Mar 2021 23:44:00 +0000 (+0100) Subject: 2021.3.5 X-Git-Tag: v1.3.0~13^2~7 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=9bd43b46293bcdd67a2696237ccc89e39b9c11dc;p=rhonda%2Fimpostor.git 2021.3.5 --- diff --git a/src/Impostor.Api/Innersloth/ChatType.cs b/src/Impostor.Api/Innersloth/ChatType.cs new file mode 100644 index 0000000..087c2b7 --- /dev/null +++ b/src/Impostor.Api/Innersloth/ChatType.cs @@ -0,0 +1,8 @@ +namespace Impostor.Api.Innersloth +{ + public enum ChatType + { + FreeChatOrQuickChat = 1, + QuickChatOnly = 2, + } +} diff --git a/src/Impostor.Api/Net/Messages/C2S/Message00HostGameC2S.cs b/src/Impostor.Api/Net/Messages/C2S/Message00HostGameC2S.cs index f90d7f5..86679fa 100644 --- a/src/Impostor.Api/Net/Messages/C2S/Message00HostGameC2S.cs +++ b/src/Impostor.Api/Net/Messages/C2S/Message00HostGameC2S.cs @@ -11,9 +11,12 @@ namespace Impostor.Api.Net.Messages.C2S writer.EndMessage(); } - public static GameOptionsData Deserialize(IMessageReader reader) + public static GameOptionsData Deserialize(IMessageReader reader, out ChatType chatType) { - return GameOptionsData.DeserializeCreate(reader); + var gameOptionsData = GameOptionsData.DeserializeCreate(reader); + chatType = (ChatType)reader.ReadByte(); + + return gameOptionsData; } } } diff --git a/src/Impostor.Api/Net/Messages/C2S/Message01JoinGameC2S.cs b/src/Impostor.Api/Net/Messages/C2S/Message01JoinGameC2S.cs index f121b97..4b25414 100644 --- a/src/Impostor.Api/Net/Messages/C2S/Message01JoinGameC2S.cs +++ b/src/Impostor.Api/Net/Messages/C2S/Message01JoinGameC2S.cs @@ -1,6 +1,4 @@ -using System; - -namespace Impostor.Api.Net.Messages.C2S +namespace Impostor.Api.Net.Messages.C2S { public static class Message01JoinGameC2S { @@ -9,12 +7,11 @@ namespace Impostor.Api.Net.Messages.C2S throw new System.NotImplementedException(); } - public static void Deserialize(IMessageReader reader, out int gameCode, out byte unknown) + public static void Deserialize(IMessageReader reader, out int gameCode) { - var slice = reader.ReadBytes(sizeof(Int32) + sizeof(byte)).Span; + var slice = reader.ReadBytes(sizeof(int)).Span; gameCode = slice.ReadInt32(); - unknown = slice.ReadByte(); } } -} \ No newline at end of file +} diff --git a/src/Impostor.Api/Net/Messages/C2S/Message16GetGameListC2S.cs b/src/Impostor.Api/Net/Messages/C2S/Message16GetGameListC2S.cs index 2b7e12a..bc32d5e 100644 --- a/src/Impostor.Api/Net/Messages/C2S/Message16GetGameListC2S.cs +++ b/src/Impostor.Api/Net/Messages/C2S/Message16GetGameListC2S.cs @@ -9,10 +9,11 @@ namespace Impostor.Api.Net.Messages.C2S throw new System.NotImplementedException(); } - public static void Deserialize(IMessageReader reader, out GameOptionsData options) + public static void Deserialize(IMessageReader reader, out GameOptionsData options, out ChatType chatType) { reader.ReadPackedInt32(); // Hardcoded 0. options = GameOptionsData.DeserializeCreate(reader); + chatType = (ChatType)reader.ReadByte(); } } -} \ No newline at end of file +} diff --git a/src/Impostor.Api/Net/Messages/S2C/Message16GetGameListS2C.cs b/src/Impostor.Api/Net/Messages/S2C/Message16GetGameListS2C.cs index 0d742ed..7b64192 100644 --- a/src/Impostor.Api/Net/Messages/S2C/Message16GetGameListS2C.cs +++ b/src/Impostor.Api/Net/Messages/S2C/Message16GetGameListS2C.cs @@ -5,17 +5,10 @@ namespace Impostor.Api.Net.Messages.S2C { public class Message16GetGameListS2C { - public static void Serialize(IMessageWriter writer, int skeldGameCount, int miraHqGameCount, int polusGameCount, IEnumerable games) + public static void Serialize(IMessageWriter writer, IEnumerable games) { writer.StartMessage(MessageFlags.GetGameListV2); - // Count - writer.StartMessage(1); - writer.Write(skeldGameCount); // The Skeld - writer.Write(miraHqGameCount); // Mira HQ - writer.Write(polusGameCount); // Polus - writer.EndMessage(); - // Listing writer.StartMessage(0); diff --git a/src/Impostor.Server/Net/Client.cs b/src/Impostor.Server/Net/Client.cs index 87fc56c..713ef88 100644 --- a/src/Impostor.Server/Net/Client.cs +++ b/src/Impostor.Server/Net/Client.cs @@ -63,7 +63,7 @@ namespace Impostor.Server.Net case MessageFlags.HostGame: { // Read game settings. - var gameInfo = Message00HostGameC2S.Deserialize(reader); + var gameInfo = Message00HostGameC2S.Deserialize(reader, out _); // Create game. var game = await _gameManager.CreateAsync(gameInfo); @@ -80,10 +80,7 @@ namespace Impostor.Server.Net case MessageFlags.JoinGame: { - Message01JoinGameC2S.Deserialize( - reader, - out var gameCode, - out _); + Message01JoinGameC2S.Deserialize(reader, out var gameCode); var game = _gameManager.Find(gameCode); if (game == null) @@ -248,7 +245,7 @@ namespace Impostor.Server.Net case MessageFlags.GetGameListV2: { - Message16GetGameListC2S.Deserialize(reader, out var options); + Message16GetGameListC2S.Deserialize(reader, out var options, out _); await OnRequestGameListAsync(options); break; } @@ -334,11 +331,7 @@ namespace Impostor.Server.Net var games = _gameManager.FindListings((MapFlags)options.Map, options.NumImpostors, options.Keywords); - var skeldGameCount = _gameManager.GetGameCount(MapFlags.Skeld); - var miraHqGameCount = _gameManager.GetGameCount(MapFlags.MiraHQ); - var polusGameCount = _gameManager.GetGameCount(MapFlags.Polus); - - Message16GetGameListS2C.Serialize(message, skeldGameCount, miraHqGameCount, polusGameCount, games); + Message16GetGameListS2C.Serialize(message, games); return Connection.SendAsync(message); } diff --git a/src/Impostor.Server/Net/Manager/ClientManager.cs b/src/Impostor.Server/Net/Manager/ClientManager.cs index cc7e46c..32359f8 100644 --- a/src/Impostor.Server/Net/Manager/ClientManager.cs +++ b/src/Impostor.Server/Net/Manager/ClientManager.cs @@ -20,9 +20,7 @@ namespace Impostor.Server.Net.Manager { private static HashSet SupportedVersions { get; } = new HashSet { - GameVersion.GetVersion(2020, 09, 07), // 2020.09.07 - 2020.09.22 - GameVersion.GetVersion(2020, 10, 08), // 2020.10.08 - GameVersion.GetVersion(2020, 11, 17), // 2020.11.17 + GameVersion.GetVersion(2021, 3, 5), // 2021.3.5 }; private static string ServerBrand { get; } = $"Impostor {DotnetUtils.GetVersion()}"; @@ -108,4 +106,4 @@ namespace Impostor.Server.Net.Manager && ReferenceEquals(client, registeredClient); } } -} \ No newline at end of file +} diff --git a/src/Impostor.Server/Net/Redirector/ClientRedirector.cs b/src/Impostor.Server/Net/Redirector/ClientRedirector.cs index bda07fd..9a4edcc 100644 --- a/src/Impostor.Server/Net/Redirector/ClientRedirector.cs +++ b/src/Impostor.Server/Net/Redirector/ClientRedirector.cs @@ -54,10 +54,7 @@ namespace Impostor.Server.Net.Redirector case MessageFlags.JoinGame: { - Message01JoinGameC2S.Deserialize( - reader, - out var gameCode, - out _); + Message01JoinGameC2S.Deserialize(reader, out var gameCode); using var packet = MessageWriter.Get(MessageType.Reliable); var endpoint = await _nodeLocator.FindAsync(GameCodeParser.IntToGameName(gameCode)); @@ -97,4 +94,4 @@ namespace Impostor.Server.Net.Redirector return default; } } -} \ No newline at end of file +}