ChrisNZL / Tallowmere2

Changelog, issue tracker, and development knowledge for Tallowmere 2.
https://tallowmere2.com
13 stars 0 forks source link

Online Co-op: ArgumentOutOfRangeException: DungeonRoomObjectStruct constructor #1047

Closed ChrisNZL closed 2 years ago

ChrisNZL commented 2 years ago

Auto report. 0.3.5d. Steam. Feedback ID 20220527-FD46G

Error with DungeonRoomObjectStruct constructor, particularly the PeekUShort method. Expecting some length to exist.

Looking at other logs, particular user seems to have other weird bad packets for other message types.

Could be an issue with LiteNetLib 0.9.5.2, and/or user just has really bad malformed packets.

No errors server-side.

10:41:02, Frame 29812, LOG »  DungeonRoomTransitioner.BeginTransitioningToRoom: Departing Room 0, going to Room 1...
[[[ ^ REPEATING MESSAGE... ]]]

10:41:02, Frame 29937, EXCEPTION »  ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
>>>>> CRITICAL ERROR >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

System.BitConverter.ToInt16 (System.Byte[] value, System.Int32 startIndex)
System.BitConverter.ToUInt16 (System.Byte[] value, System.Int32 startIndex)
LiteNetLib.Utils.NetDataReader.PeekUShort ()
T2.DungeonRoomObjectStruct.NewFromReader (LiteNetLib.Utils.NetDataReader reader)
T2.NetworkedRoomStructBlob..ctor (LiteNetLib.Utils.NetDataReader reader, T2.GameStruct gameStruct)
T2.NetworkStruct_Byte_FractionBlob..ctor (LiteNetLib.Utils.NetDataReader reader, T2.GameStruct gameStruct)
T2.NetworkMessage_DungeonRoomTransitionHelper.ProcessReceivedPacket (T2.NetworkPeer recipient, LiteNetLib.NetPeer sender, LiteNetLib.Utils.NetDataReader reader, T2.GameStruct gameStruct)
T2.NetworkPeer.OnNetworkReceive (LiteNetLib.NetPeer peerThatSentMessage, LiteNetLib.NetPacketReader reader, LiteNetLib.DeliveryMethod deliveryMethod)
LiteNetLib.NetManager.ProcessEvent (LiteNetLib.NetEvent evt)
LiteNetLib.NetManager.PollEvents ()
T2.NetworkClient.Update ()

GameStates: InitialisingAsNetworkHost, RompingThroughDungeon, TransitioningToDungeonRoom
OnlineGameInfo: Device is online.
Server: Vultr-NewJersey-01
GameID: ZRHG8
GameSetupMode: NetworkCoop
Players: 2
DungeonRoomTransitioner.state: Online_WaitingForServer
DungeonRoom.state: Ready
Room: 0 / 0
RoomModifiers: None
YouHaveDiedState: Null
SystemPlayer InputDevice: XInput Controller
HumanPlayer 1 InputDevice: XInput Controller
ChrisNZL commented 2 years ago

0.3.5f: