Multi-Player Bugs and Crashes, v39 & SVN after July, 20th 2019

Thunderbrd

C2C War Dog
Joined
Jan 2, 2010
Messages
29,543
Location
Las Vegas
Report any OOS errors or issues with Multi-Player simultaneous games here.

You CAN play Simultaneous Multi-player as a single player and get a semi-real time turn based game that processes turns a bit faster since the AI is moving when you do. We can also try to debug those as well.

If you are trying to play actual multi-player, the IP connection is the most valid but you're likely to hit some OOS errors. To minimize these,

1) Turn off events in the game options when you set things up - yes this negates flammability but you'll have lots of OOS errors all game if you don't.
2) Make sure Rev is off. This tends to cause some as well.
3) Make sure to try to avoid building any wonders other players are building, even if it lets you, especially if you are on the same team.
4) Avoid automating anything at all, including sending units beyond the reach of their movement for a turn. For some reason, this is a known issue.

Beyond that, when you DO get an OOS error (which sometimes happens in the first round even) you should:
1) report the autosave if you have one from the immediate round before the OOS takes place and you find you can repeatedly hit the same OOS error that round.

2) report the logs you get - you should have logging turned on for all systems through the config ini settings.

and more importantly:

3) save the game AFTER the OOS has taken place, have everyone get out entirely to desktop, all reload and reinitialize the game. If you try to shortcut this to get back on track, you will doom yourself to immediate OOS errors again.

If you're having a LOT of OOS errors, please post here to let me know to look into it. A 2 player game is something I can TRY to evaluate somewhat, and just knowing the era and when things are beginning to OOS a lot can help.

We're not totally clean with this yet but my wife and I can often get a pretty good game going without hitting all that many, or at least we were recently. It can only take one bad update to make everything go very south in this department. Keep me posted on your experiences here.
 

Thunderbrd

C2C War Dog
Joined
Jan 2, 2010
Messages
29,543
Location
Las Vegas
According to some discussions on Git, I'm posting some logs here. Checking the compare on the OOS logs I'm more confused than enlightened. Something is very wrong with those and you can see what I mean.
 

Attachments

  • TB's Logs.7z
    24.8 KB · Views: 151
  • Whisperr's Logs.7z
    39.5 KB · Views: 170

Toffer90

C2C Modder
Joined
Oct 16, 2011
Messages
8,154
Location
Norway
According to some discussions on Git, I'm posting some logs here. Checking the compare on the OOS logs I'm more confused than enlightened. Something is very wrong with those and you can see what I mean.
Yeah, this data is useless due to a bug in the OOSLogger that crash it quite early in the write process.
It's fixed on git now.

@alberts2, It's quite easy to check that the OOSLogger changes you make are working as expected. Just put in these two lines in the CvEventManager.gameStart function.
import OOSLogger
OOSLogger.writeLog()


And this will write out the log when you start any game.
 

Toffer90

C2C Modder
Joined
Oct 16, 2011
Messages
8,154
Location
Norway
@alberts2:
Why did you remove this city info from the OOS Log? (in this commit)

getProductionName() ▬ What is at the top of the build queue.
getProduction() ▬ Number of hammers progress on current production
getGreatPeopleProgress() ▬ Great person progress of city
getBaseGreatPeopleRate() ▬ Base GP rate per turn in city
getGreatPeopleRate() ▬ Effective GP rate per turn in city

Are all of these things irrelevant for debugging OOS errors?
 

alberts2

Emperor
Joined
Aug 16, 2012
Messages
1,947
Location
Germany
Are all of these things irrelevant for debugging OOS errors?

I made the OOSLogger match the checksum calculation in CvGame::calculateSyncChecksum it doesn't help to log things which aren't included in that calculation. The checksum calculation itself could need some more work to include more things.
 

Thunderbrd

C2C War Dog
Joined
Jan 2, 2010
Messages
29,543
Location
Las Vegas
@Whisperr is using a older version of C2C as you are. The python error in OOSLogger.writeLog on your side should be fixed now.
Maybe she didn't update properly. I'll take a look at how she goes about that next time. We'll try again tonight. Hopefully we can get a little further in to see if we can catch the root issue in the queue.
 

Toffer90

C2C Modder
Joined
Oct 16, 2011
Messages
8,154
Location
Norway
I made the OOSLogger match the checksum calculation in CvGame::calculateSyncChecksum it doesn't help to log things which aren't included in that calculation. The checksum calculation itself could need some more work to include more things.
Cool, thanks for explaining.
 
Top Bottom