matchID is being initialized with a new value and then having its value overwritten by GameSettingsController via PersistentMatchSettings.
Previously, Engine.GetMatchID was called at game launch . This was changed in rP25077.
Because of this, matchID is being repeated over and over in the gamereports sent to the ratings service. The ratings service will not process the same matchID multiple times. Therefore, many gamereports were ignored.
Before rP25077, Engine.GetMatchID was called in gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Seed.js at the same time that new seeds were retrieved for the match as it was about to begin.
This patch restores the behaviour it had before and is based on the current code in gui/gamesettings/attributes/Seeds.js.
matchID is initially set to 0 in the same way the seeds are initialized. A new matchID will be generated at the start of a match by the pickRandomItems handler.