FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.76k stars 406 forks source link

Mission equality check failed is an ongoing issue #12774

Closed Raven3-14 closed 1 day ago

Raven3-14 commented 1 year ago

Disclaimers

What happened?

While playing, host starts new area, seems to be random chance of mission equality check failing, If it fails, connection fails and cannot rejoin until end of the round.

Had a level equality check failed before mission equality check failed, All attempts to rejoin during the round get to lobby, get a mission equality check failed upon trying to spectate

Adding some code to handle these errors might fix it Something like client tries regenerating level upon getting this error

Reproduction steps

Don't know what specifically causes this error, Some players have found specific sequences that can cause mission equality check failed, or level equality check failed

Bug prevalence

Happens every now and then

Single player or multiplayer?

Multiplayer hosted from the in-game menu (= using a listen server)

-

No response

Version

v1.0.21.0

-

No response

Which operating system did you encounter this bug on?

Windows

Relevant error messages and crash reports

Error while reading a message from server. 
Mission equality check failed. Mission count doesn't match the server. Server: pyromorphitecollection, killbombsharks1, quartzcollection, cargochemicals, cargoconstructionminerals, client: pyromorphitecollection, cargoconstructionminerals, game session: pyromorphitecollection, cargoconstructionminerals). Round init status: WaitingForStartGameFinalize. Round start save ID: 5, last save id: 5, pending save id: 5.
   at Barotrauma.Networking.GameClient.ReadStartGameFinalize(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 904
   at Barotrauma.Networking.GameClient.ReadDataMessage(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 748
   at Barotrauma.Networking.SteamP2PClientPeer.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\Primitives\Peers\SteamP2PClientPeer.cs:line 277
   at Barotrauma.Networking.GameClient.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 505
Raven3-14 commented 1 year ago

missing this, error in report is gotten on connection lost

this one happens after trying to spectate, goes to lobby, got error above after connection fail and dumped to server browser

Coroutine Barotrauma.Networking.GameClient+d__112 threw an exception: Mission equality check failed. Mission count doesn't match the server. Server: pyromorphitecollection, killbombsharks1, quartzcollection, cargochemicals, cargoconstructionminerals, client: pyromorphitecollection, cargoconstructionminerals, game session: pyromorphitecollection, cargoconstructionminerals). Round init status: WaitingForStartGameFinalize. Round start save ID: 5, last save id: 5, pending save id: 5. at Barotrauma.Networking.GameClient.ReadStartGameFinalize(IReadMessage inc) in \Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 904 at Barotrauma.Networking.GameClient.StartGame(IReadMessage inc)+MoveNext() in \Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 1571 at Barotrauma.CoroutineManager.PerformCoroutineStep(CoroutineHandle handle) in \Barotrauma\BarotraumaShared\SharedSource\CoroutineManager.cs:line 199 at Barotrauma.CoroutineManager.IsDone(CoroutineHandle handle) in \Barotrauma\BarotraumaShared\SharedSource\CoroutineManager.cs:line 257

Raven3-14 commented 1 year ago

Deleting the save file for the campaign in %path_to_game%\Barotrauma\Data\Saves did not fix it

Regalis11 commented 1 year ago

Thank you for the report!

Looking at the error message, it seems the clients are missing some modded missions that have been unlocked server-side. Which mods are you using, and would it be possible to send us the save file so we could try reproducing the issue? Thanks and sorry for the inconvenience!

Raven3-14 commented 1 year ago

I think this is the host's save file, from %pathtogame%\Barotrauma\Data\Saves(downloaded multiplayer I think?) Skrongly Spoober Wingal Tootis Beepon Roeepbes Scgroong Strdoohr.zip

Mod list is large, will send it if I can get it from the host, don't remember all of the specific ones I think most of these were used https://steamcommunity.com/workshop/filedetails/?id=2596988735, minus neurotrauma, along with a bunch of others Most of the time barotraumatic and barotraumatic creature pack is enabled

Usually only one client out of 3-5 gets mission equality failed, Sometimes can play for hours with no issues, other times get a mission equality check failed on the second or third round, I think it's always been when leaving a station, or moving to an area with no station.

Krzeszny commented 12 months ago

Here's another example:

Error while reading a message from server. 
Mission equality check failed. Mission count doesn't match the server. Server: salvageartifactcave, beaconnoreward, client: salvageartifactcave, game session: ). Round init status: WaitingForStartGameFinalize. Round start save ID: 6, last save id: 1, pending save id: 1.
   at Barotrauma.Networking.GameClient.ReadStartGameFinalize(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 908
   at Barotrauma.Networking.GameClient.ReadDataMessage(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 749
   at Barotrauma.Networking.SteamP2PClientPeer.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\Primitives\Peers\SteamP2PClientPeer.cs:line 277
   at Barotrauma.Networking.GameClient.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 504

I was able to join the same mission on a second try.

Krzeszny commented 10 months ago

bleh

Error while reading a message from server. 
Mission equality check failed. Mission count doesn't match the server. Server: , client: killmudraptors1, cargoweaponscoalition, game session: killmudraptors1, cargoweaponscoalition). Round init status: WaitingForStartGameFinalize. Round start save ID: 4, last save id: 4, pending save id: 4.
   at Barotrauma.Networking.GameClient.ReadStartGameFinalize(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 908
   at Barotrauma.Networking.GameClient.ReadDataMessage(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 749
   at Barotrauma.Networking.SteamP2PClientPeer.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\Primitives\Peers\SteamP2PClientPeer.cs:line 277
   at Barotrauma.Networking.GameClient.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 504

The real issue is that hosts are too lazy to find and forward me the save file, so I can never really report it properly.

pavel4win commented 7 months ago

I often have this error too. My Server have no mods. My client mods is only LUA mods with auto start option like Oxygen Reloader The error began to appear frequently after the latest updates. An error appears if you connect during a mission. The error does not appear if you connect in the lobby. Error description:

Error while reading a message from server. Mission equality check failed. Mission count doesn't match the server. Server: , client: killmudraptors2, game session: killmudraptors2). Round init status: WaitingForStartGameFinalize. Round start save ID: 7, last save id: 7, pending save id: 7. at Barotrauma.Networking.GameClient.ReadStartGameFinalize(IReadMessage inc) in \Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 917 at Barotrauma.Networking.GameClient.ReadDataMessage(IReadMessage inc) in \Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 755 at Barotrauma.Networking.LidgrenClientPeer.HandleDataMessage(NetIncomingMessage lidgrenMsg) in \Barotrauma\BarotraumaClient\ClientSource\Networking\Primitives\Peers\LidgrenClientPeer.cs:line 152 at Barotrauma.Networking.LidgrenClientPeer.Update(Single deltaTime) in \Barotrauma\BarotraumaClient\ClientSource\Networking\Primitives\Peers\LidgrenClientPeer.cs:line 129 at Barotrauma.Networking.GameClient.Update(Single deltaTime) in \Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 510

MariuszBielecki288728 commented 6 months ago

@Regalis11, I have also encountered this error:

Error while reading a message from server. 
Mission equality check failed. The mission selected at your end doesn't match the one loaded by the server Server: uraniumcollection_small, client: escort1, game session: escort1). Round init status: WaitingForStartGameFinalize. Round start save ID: 8, last save id: 8, pending save id: 8.
   at Barotrauma.Networking.GameClient.ReadStartGameFinalize(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 925
   at Barotrauma.Networking.GameClient.ReadDataMessage(IReadMessage inc) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 750
   at Barotrauma.Networking.P2PClientPeer.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\Primitives\Peers\P2PClientPeer.cs:line 255
   at Barotrauma.Networking.GameClient.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Networking\GameClient.cs:line 507

I think that the server and the client are both not modded.

Actually, before this error, something weird happened. In the previous round, we had 2 new bots join our crew and we started the new round where we got a notification that, again, two new bots joined our crew. On the left panel, it seemed that the crew indeed got bigger. We had 2 original bots and 2 additional bots with the same names. A few seconds after noticing that, the server crashed and I was back in the servers list, and since then, when trying to join this game, I get the Mission equality check. The other client player has no issues and can join the server.

I am attaching the host's save, please help. Z_Goski.zip

UPDATE: Hmm, it's working again, I have unsubscribed some mods like "MoreMissionsMod", maybe it was causing this issue.

Regalis11 commented 1 day ago

Closing as a duplicate of https://github.com/FakeFishGames/Barotrauma/issues/14526. The newer ticket contains repro steps for the issue, and it should be fixed as of the Unto the Breach update (v1.6.6.0).

It's possible there are some other situations in which the error can also occur, but I don't think we have gotten any new reports about it since that fix, nor seen the error in GameAnalytics, so I think it might be finally fixed?