diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs index 8ed3a004..0d9b2a62 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs @@ -78,7 +78,19 @@ internal abstract class InnerGameManager : InnerNetObject, IInnerGameManager continue; } - this._logicComponents[tag].Deserialize(innerReader, initialState); + var component = this._logicComponents[tag]; + + component.Deserialize(innerReader, initialState); + + if (innerReader.Position < innerReader.Length) + { + _logger.LogWarning( + "Server did not consume all bytes from {0} component {1} ({2} < {3}).", + nameof(InnerGameManager), + component.GetType().FullName, + reader.Position, + reader.Length); + } } return ValueTask.CompletedTask; diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs index 5e2b4d55..c2e0d33a 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs @@ -17,6 +17,5 @@ internal abstract class GameLogicComponent public virtual void Deserialize(IMessageReader reader, bool initialState) { - throw new NotImplementedException(); } }