mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-20 01:46:11 +00:00
Adapt C2S / S2C for messages and move to Api namespace
This commit is contained in:
1 parent
e630863e72
commit
503cd221d5
35 files changed
+201
-97
No files matched your search
@@ -6,6 +6,8 @@ namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public class GameOptionsData
|
||||
{
|
||||
public const int LatestVersion = 2;
|
||||
|
||||
public byte Version { get; set; }
|
||||
public byte MaxPlayers { get; set; }
|
||||
public GameKeywords Keywords { get; set; }
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.IO;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
public static class Message00HostGameC2S
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, GameOptionsData gameOptionsData)
|
||||
{
|
||||
using (var memory = new MemoryStream())
|
||||
using (var writerBin = new BinaryWriter(memory))
|
||||
{
|
||||
gameOptionsData.Serialize(writerBin, GameOptionsData.LatestVersion);
|
||||
writer.WriteBytesAndSize(memory.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
public static GameOptionsData Deserialize(IMessageReader reader)
|
||||
{
|
||||
return GameOptionsData.Deserialize(reader.ReadBytesAndSize());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
public static class Message01JoinGameC2S
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int gameCode, out byte unknown)
|
||||
{
|
||||
gameCode = reader.ReadInt32();
|
||||
unknown = reader.ReadByte();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
public class Message04RemovePlayerC2S
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int playerId, out byte reason)
|
||||
{
|
||||
playerId = reader.ReadPackedInt32();
|
||||
reason = reader.ReadByte();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
public class Message10AlterGameC2S
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out AlterGameTags gameTag, out bool isPublic)
|
||||
{
|
||||
gameTag = (AlterGameTags)reader.ReadByte();
|
||||
isPublic = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
public class Message11KickPlayerC2S
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int playerId, out bool isBan)
|
||||
{
|
||||
playerId = reader.ReadPackedInt32();
|
||||
isBan = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Api.Net.Messages.C2S
|
||||
{
|
||||
public class Message16GetGameListC2S
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out GameOptionsData options)
|
||||
{
|
||||
reader.ReadPackedInt32(); // Hardcoded 0.
|
||||
options = GameOptionsData.Deserialize(reader.ReadBytesAndSize());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -101,6 +101,12 @@ namespace Impostor.Api.Net.Messages
|
||||
/// <param name="value">Value to write.</param>
|
||||
void Write(GameCode value);
|
||||
|
||||
void WriteBytesAndSize(byte[] bytes);
|
||||
|
||||
void WriteBytesAndSize(byte[] bytes, int length);
|
||||
|
||||
void WriteBytesAndSize(byte[] bytes, int offset, int length);
|
||||
|
||||
/// <summary>
|
||||
/// Starts a new message.
|
||||
/// </summary>
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages
|
||||
{
|
||||
internal static class MessageFlags
|
||||
public static class MessageFlags
|
||||
{
|
||||
public const byte HostGame = 0;
|
||||
public const byte JoinGame = 1;
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
|
||||
namespace Impostor.Api.Net.Messages
|
||||
{
|
||||
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using System;
|
||||
using Impostor.Api.Innersloth;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message00HostGame
|
||||
public static class Message00HostGameS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, int gameCode)
|
||||
{
|
||||
@@ -14,7 +14,7 @@ namespace Impostor.Server.Net.Messages
|
||||
|
||||
public static GameOptionsData Deserialize(IMessageReader reader)
|
||||
{
|
||||
return GameOptionsData.Deserialize(reader.ReadBytesAndSize());
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-6
@@ -1,10 +1,9 @@
|
||||
using System;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message01JoinGame
|
||||
public class Message01JoinGameS2C
|
||||
{
|
||||
public static void SerializeJoin(IMessageWriter writer, bool clear, int gameCode, int playerId, int hostId)
|
||||
{
|
||||
@@ -43,10 +42,9 @@ namespace Impostor.Server.Net.Messages
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int gameCode, out byte unknown)
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
gameCode = reader.ReadInt32();
|
||||
unknown = reader.ReadByte();
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-6
@@ -1,9 +1,8 @@
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message04RemovePlayer
|
||||
public class Message04RemovePlayerS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId, int hostId, DisconnectReason reason)
|
||||
{
|
||||
@@ -22,10 +21,9 @@ namespace Impostor.Server.Net.Messages
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int playerId, out byte reason)
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
playerId = reader.ReadPackedInt32();
|
||||
reason = reader.ReadByte();
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-4
@@ -1,8 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message07JoinedGame
|
||||
public static class Message07JoinedGameS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId, int hostId, int[] otherPlayerIds)
|
||||
{
|
||||
@@ -24,5 +22,10 @@ namespace Impostor.Server.Net.Messages
|
||||
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-6
@@ -1,9 +1,8 @@
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message10AlterGame
|
||||
public static class Message10AlterGameS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, bool isPublic)
|
||||
{
|
||||
@@ -19,10 +18,9 @@ namespace Impostor.Server.Net.Messages
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out AlterGameTags gameTag, out bool isPublic)
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
gameTag = (AlterGameTags) reader.ReadByte();
|
||||
isPublic = reader.ReadBoolean();
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-7
@@ -1,8 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message11KickPlayer
|
||||
public class Message11KickPlayerS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId, bool isBan)
|
||||
{
|
||||
@@ -18,10 +16,9 @@ namespace Impostor.Server.Net.Messages
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out int playerId, out bool isBan)
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
playerId = reader.ReadPackedInt32();
|
||||
isBan = reader.ReadBoolean();
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-4
@@ -1,8 +1,6 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message12WaitForHost
|
||||
public class Message12WaitForHostS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId)
|
||||
{
|
||||
@@ -16,5 +14,10 @@ namespace Impostor.Server.Net.Messages
|
||||
writer.Write(playerId);
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-3
@@ -1,9 +1,8 @@
|
||||
using System.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message13Redirect
|
||||
public class Message13RedirectS2C
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, bool clear, IPEndPoint ipEndPoint)
|
||||
{
|
||||
@@ -17,5 +16,10 @@ namespace Impostor.Server.Net.Messages
|
||||
writer.Write((ushort)ipEndPoint.Port);
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
-15
@@ -1,18 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.Messages
|
||||
namespace Impostor.Api.Net.Messages.S2C
|
||||
{
|
||||
internal static class Message16GetGameListV2
|
||||
public class Message16GetGameListS2C
|
||||
{
|
||||
public static void Deserialize(IMessageReader reader, out GameOptionsData options)
|
||||
{
|
||||
reader.ReadPackedInt32(); // Hardcoded 0.
|
||||
options = GameOptionsData.Deserialize(reader.ReadBytesAndSize());
|
||||
}
|
||||
|
||||
public static void Serialize(IMessageWriter writer, int skeldGameCount, int miraHqGameCount, int polusGameCount, IEnumerable<IGame> games)
|
||||
{
|
||||
writer.StartMessage(MessageFlags.GetGameListV2);
|
||||
@@ -31,19 +23,24 @@ namespace Impostor.Server.Net.Messages
|
||||
{
|
||||
writer.StartMessage(0);
|
||||
writer.Write(game.PublicIp.Address);
|
||||
writer.Write((ushort) game.PublicIp.Port);
|
||||
writer.Write((ushort)game.PublicIp.Port);
|
||||
writer.Write(game.Code);
|
||||
writer.Write(game.Host.Client.Name);
|
||||
writer.Write((byte) game.PlayerCount);
|
||||
writer.Write((byte)game.PlayerCount);
|
||||
writer.WritePacked(1); // TODO: What does Age do?
|
||||
writer.Write((byte) game.Options.MapId);
|
||||
writer.Write((byte) game.Options.NumImpostors);
|
||||
writer.Write((byte) game.Options.MaxPlayers);
|
||||
writer.Write((byte)game.Options.MapId);
|
||||
writer.Write((byte)game.Options.NumImpostors);
|
||||
writer.Write((byte)game.Options.MaxPlayers);
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
writer.EndMessage();
|
||||
writer.EndMessage();
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects.Components
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects.Components
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
{
|
||||
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.GameData.Objects.Components;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
{
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
{
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
{
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.GameData.Objects.Components;
|
||||
using Impostor.Server.Net.Messages;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.GameData.Objects
|
||||
{
|
||||
|
||||
@@ -5,10 +5,11 @@ using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.C2S;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Server.Data;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Manager;
|
||||
using Impostor.Server.Net.Messages;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Server.Net
|
||||
@@ -38,7 +39,7 @@ namespace Impostor.Server.Net
|
||||
case MessageFlags.HostGame:
|
||||
{
|
||||
// Read game settings.
|
||||
var gameInfo = Message00HostGame.Deserialize(reader);
|
||||
var gameInfo = Message00HostGameC2S.Deserialize(reader);
|
||||
|
||||
// Create game.
|
||||
var game = await _gameManager.CreateAsync(gameInfo);
|
||||
@@ -46,7 +47,7 @@ namespace Impostor.Server.Net
|
||||
// Code in the packet below will be used in JoinGame.
|
||||
using (var writer = MessageWriter.Get(MessageType.Reliable))
|
||||
{
|
||||
Message00HostGame.Serialize(writer, game.Code);
|
||||
Message00HostGameS2C.Serialize(writer, game.Code);
|
||||
await Connection.SendAsync(writer);
|
||||
}
|
||||
|
||||
@@ -55,7 +56,7 @@ namespace Impostor.Server.Net
|
||||
|
||||
case MessageFlags.JoinGame:
|
||||
{
|
||||
Message01JoinGame.Deserialize(
|
||||
Message01JoinGameC2S.Deserialize(
|
||||
reader,
|
||||
out var gameCode,
|
||||
out _);
|
||||
@@ -124,7 +125,7 @@ namespace Impostor.Server.Net
|
||||
return;
|
||||
}
|
||||
|
||||
Message04RemovePlayer.Deserialize(
|
||||
Message04RemovePlayerC2S.Deserialize(
|
||||
reader,
|
||||
out var playerId,
|
||||
out var reason);
|
||||
@@ -186,7 +187,7 @@ namespace Impostor.Server.Net
|
||||
return;
|
||||
}
|
||||
|
||||
Message10AlterGame.Deserialize(
|
||||
Message10AlterGameC2S.Deserialize(
|
||||
reader,
|
||||
out var gameTag,
|
||||
out var value);
|
||||
@@ -207,7 +208,7 @@ namespace Impostor.Server.Net
|
||||
return;
|
||||
}
|
||||
|
||||
Message11KickPlayer.Deserialize(
|
||||
Message11KickPlayerC2S.Deserialize(
|
||||
reader,
|
||||
out var playerId,
|
||||
out var isBan);
|
||||
@@ -218,7 +219,7 @@ namespace Impostor.Server.Net
|
||||
|
||||
case MessageFlags.GetGameListV2:
|
||||
{
|
||||
Message16GetGameListV2.Deserialize(reader, out var options);
|
||||
Message16GetGameListC2S.Deserialize(reader, out var options);
|
||||
await OnRequestGameList(options);
|
||||
break;
|
||||
}
|
||||
@@ -308,7 +309,7 @@ namespace Impostor.Server.Net
|
||||
var miraHqGameCount = _gameManager.GetGameCount(MapFlags.MiraHQ);
|
||||
var polusGameCount = _gameManager.GetGameCount(MapFlags.Polus);
|
||||
|
||||
Message16GetGameListV2.Serialize(message, skeldGameCount, miraHqGameCount, polusGameCount, games);
|
||||
Message16GetGameListS2C.Serialize(message, skeldGameCount, miraHqGameCount, polusGameCount, games);
|
||||
|
||||
return Connection.SendAsync(message);
|
||||
}
|
||||
@@ -321,7 +322,7 @@ namespace Impostor.Server.Net
|
||||
}
|
||||
|
||||
using var packet = MessageWriter.Get(MessageType.Reliable);
|
||||
Message01JoinGame.SerializeError(packet, false, reason, message);
|
||||
Message01JoinGameS2C.SerializeError(packet, false, reason, message);
|
||||
return Connection.SendAsync(packet);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Messages;
|
||||
using Impostor.Server.Net.State;
|
||||
|
||||
namespace Impostor.Server.Net
|
||||
|
||||
@@ -7,10 +7,10 @@ using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Server.Data;
|
||||
using Impostor.Server.Net.Factories;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Messages;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Server.Net.Manager
|
||||
@@ -58,7 +58,7 @@ namespace Impostor.Server.Net.Manager
|
||||
if (name.Length > 10)
|
||||
{
|
||||
using var packet = MessageWriter.Get(MessageType.Reliable);
|
||||
Message01JoinGame.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.UsernameLength);
|
||||
Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.UsernameLength);
|
||||
await connection.SendAsync(packet);
|
||||
return;
|
||||
}
|
||||
@@ -66,7 +66,7 @@ namespace Impostor.Server.Net.Manager
|
||||
if (!SupportedVersions.Contains(clientVersion))
|
||||
{
|
||||
using var packet = MessageWriter.Get(MessageType.Reliable);
|
||||
Message01JoinGame.SerializeError(packet, false, DisconnectReason.IncorrectVersion);
|
||||
Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.IncorrectVersion);
|
||||
await connection.SendAsync(packet);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3,10 +3,11 @@ using Hazel;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.C2S;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Server.Data;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Manager;
|
||||
using Impostor.Server.Net.Messages;
|
||||
using Serilog;
|
||||
using ILogger = Serilog.ILogger;
|
||||
|
||||
@@ -44,14 +45,14 @@ namespace Impostor.Server.Net.Redirector
|
||||
case MessageFlags.HostGame:
|
||||
{
|
||||
using var packet = MessageWriter.Get(MessageType.Reliable);
|
||||
Message13Redirect.Serialize(packet, false, _nodeProvider.Get());
|
||||
Message13RedirectS2C.Serialize(packet, false, _nodeProvider.Get());
|
||||
await Connection.SendAsync(packet);
|
||||
break;
|
||||
}
|
||||
|
||||
case MessageFlags.JoinGame:
|
||||
{
|
||||
Message01JoinGame.Deserialize(
|
||||
Message01JoinGameC2S.Deserialize(
|
||||
reader,
|
||||
out var gameCode,
|
||||
out _);
|
||||
@@ -60,11 +61,11 @@ namespace Impostor.Server.Net.Redirector
|
||||
var endpoint = _nodeLocator.Find(GameCodeParser.IntToGameName(gameCode));
|
||||
if (endpoint == null)
|
||||
{
|
||||
Message01JoinGame.SerializeError(packet, false, DisconnectReason.GameMissing);
|
||||
Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.GameMissing);
|
||||
}
|
||||
else
|
||||
{
|
||||
Message13Redirect.Serialize(packet, false, endpoint);
|
||||
Message13RedirectS2C.Serialize(packet, false, endpoint);
|
||||
}
|
||||
|
||||
await Connection.SendAsync(packet);
|
||||
@@ -75,7 +76,7 @@ namespace Impostor.Server.Net.Redirector
|
||||
{
|
||||
// TODO: Implement.
|
||||
using var packet = MessageWriter.Get(MessageType.Reliable);
|
||||
Message01JoinGame.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.NotImplemented);
|
||||
Message01JoinGameS2C.SerializeError(packet, false, DisconnectReason.Custom, DisconnectMessages.NotImplemented);
|
||||
await Connection.SendAsync(packet);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Messages;
|
||||
|
||||
namespace Impostor.Server.Net.State
|
||||
{
|
||||
@@ -44,7 +44,7 @@ namespace Impostor.Server.Net.State
|
||||
|
||||
private void WriteRemovePlayerMessage(IMessageWriter message, bool clear, int playerId, DisconnectReason reason)
|
||||
{
|
||||
Message04RemovePlayer.Serialize(message, clear, Code, playerId, HostId, reason);
|
||||
Message04RemovePlayerS2C.Serialize(message, clear, Code, playerId, HostId, reason);
|
||||
}
|
||||
|
||||
private void WriteJoinedGameMessage(IMessageWriter message, bool clear, IClientPlayer player)
|
||||
@@ -54,22 +54,22 @@ namespace Impostor.Server.Net.State
|
||||
.Select(x => x.Key)
|
||||
.ToArray();
|
||||
|
||||
Message07JoinedGame.Serialize(message, clear, Code, player.Client.Id, HostId, playerIds);
|
||||
Message07JoinedGameS2C.Serialize(message, clear, Code, player.Client.Id, HostId, playerIds);
|
||||
}
|
||||
|
||||
private void WriteAlterGameMessage(IMessageWriter message, bool clear, bool isPublic)
|
||||
{
|
||||
Message10AlterGame.Serialize(message, clear, Code, isPublic);
|
||||
Message10AlterGameS2C.Serialize(message, clear, Code, isPublic);
|
||||
}
|
||||
|
||||
private void WriteKickPlayerMessage(IMessageWriter message, bool clear, int playerId, bool isBan)
|
||||
{
|
||||
Message11KickPlayer.Serialize(message, clear, Code, playerId, isBan);
|
||||
Message11KickPlayerS2C.Serialize(message, clear, Code, playerId, isBan);
|
||||
}
|
||||
|
||||
private void WriteWaitForHostMessage(IMessageWriter message, bool clear, IClientPlayer player)
|
||||
{
|
||||
Message12WaitForHost.Serialize(message, clear, Code, player.Client.Id);
|
||||
Message12WaitForHostS2C.Serialize(message, clear, Code, player.Client.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,10 +11,10 @@ using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Data;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Messages;
|
||||
using Impostor.Api.Net.Messages.S2C;
|
||||
using Impostor.Server.Hazel;
|
||||
using Impostor.Server.Net.Hazel;
|
||||
using Impostor.Server.Net.Manager;
|
||||
using Impostor.Server.Net.Messages;
|
||||
using Impostor.Server.Net.Redirector;
|
||||
using Serilog;
|
||||
using ILogger = Serilog.ILogger;
|
||||
@@ -99,7 +99,7 @@ namespace Impostor.Server.Net.State
|
||||
|
||||
private ValueTask BroadcastJoinMessage(IMessageWriter message, bool clear, ClientPlayer player)
|
||||
{
|
||||
Message01JoinGame.SerializeJoin(message, clear, Code, player.Client.Id, HostId);
|
||||
Message01JoinGameS2C.SerializeJoin(message, clear, Code, player.Client.Id, HostId);
|
||||
|
||||
return SendToAllExceptAsync(message, player.Client.Id);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user