View Issue Details

IDProjectCategoryLast Update
0023358AI War 2Bug - OtherJul 7, 2020 3:27 pm
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product Version2.090 Returning From Beta 
Fixed in Version2.093 Hotfixes and New Player Guidance 
Summary0023358: Problems with quickstarts on base game
DescriptionReported by Glowsun on discord here: https://discord.com/channels/240637654717300736/240637654717300736/729842201768624179

When this player tries to load a quickstart without having DLC1 installed they get error messages and can't start any games.
TagsNo tags attached.

Activities

BadgerBadger

Jul 6, 2020 7:38 pm

manager   ~0057503

Note that disabling the expansion inside the game won't reproduce this problem. See the discord link above fore more details

Chris_McElligottPark

Jul 6, 2020 8:45 pm

administrator   ~0057504

Thanks -- it's the beacons, will fix it.

Chris_McElligottPark

Jul 7, 2020 3:27 pm

administrator   ~0057506

Thanks! This was NOT simple, in the end.

* Fixed an issue in the new versions of the game where any quickstarts that had expansion factions in them (typically for beacons) were no longer able to be loaded by people without the expansions.
** The game now properly just discards those expansion factions from the quick start. This has been a hard thing to maintain, but goes back to us not being able to selectively disable expansions when we were originally creating the quick starts.

* All list-style xml attributes can now have [attributename]_ignore_errors="true" set on them in order to avoid any exceptions that would happen from missing or malformed data in them.
** Turns out this was a dead end and we don't need this right now, but it's useful to have in the future just in case.

* Prior to the recent changes to how we deserialize worlds, we had some logic in place for "if you can't find an entity to load as, then just load as a VWing" or something similar.
** This was a way to load incompatible savegames, but mostly it was a way to load them as quickstarts -- aka, loading a quickstart that has some DLC or mod content in there that your current configuration of the game doesn't have installed or active.
** We now have brought that general sort of logic back, although ONLY for purposes of loading quick starts. When loading a proper savegame, it should fail and tell you the content is missing, because otherwise you're just asking for strange trouble. A quickstart is different because it's about to regenerate the world and toss all the entities out anyway.

* UpdateVisualObj on Planet objects now catches exceptions when it tries to draw a planet and gives a debugIndex for useful debugging. This both prevents the game from stalling out when the data is bad, as well as gives us the information to fix whatever is wrong at a given time.
** This area has been very rare for errors but it has come up prior to now.
** Put in a bunch of fixes to places where the display mode could be null if the game only partially loaded properly, thus preventing error loops.

* In some of the various loading code that we have for "mod or dlc is not installed," we show a nice clean message without stack traces to the user.
** This is great, and is new and is a lot more clear to players. But when there is an actual problem (like the quickstarts thing), we need to actually see those stack traces and similar. It now does the full stack trace in the log, just not visibly to the player.

* Fleet memberships now use the same sort of "load as a vwing if we can't find the type we're talking about and this is a quick start load" logic that game entities now do.
** This was never done before, nor needed before, but with the stricter rules (read: more correctness, and better for multiplayer, under normal circumstances) on deserialization, it is now needed.

* Three other places that were deserializing entity types now just don't frankly care if they fail, since they have little consequence if they do.
** This prevents quick starts from failing to load if they had some extra dlc or mods around when they were saved, but also slightly malformed savegames (of which there should be none, but there's no worth to this particular distinction here).

* A smaller subset of quick starts couldn't load because of not finding an entity system by name. These are also now fixed to not care.
** In the end we've had to load every quick start and make sure that they all function.
** By now, all but one of them did. The Buggalactic War quick start had one more error that was an old form of viral shredders being present in the "drones that get built" part of fleets code. Things have been updated to not care about that, too, so now all of the quick starts load properly again.

Issue History

Date Modified Username Field Change
Jul 6, 2020 7:37 pm BadgerBadger New Issue
Jul 6, 2020 7:37 pm BadgerBadger Status new => assigned
Jul 6, 2020 7:37 pm BadgerBadger Assigned To => Chris_McElligottPark
Jul 6, 2020 7:38 pm BadgerBadger Note Added: 0057503
Jul 6, 2020 8:45 pm Chris_McElligottPark Note Added: 0057504
Jul 7, 2020 3:27 pm Chris_McElligottPark Status assigned => resolved
Jul 7, 2020 3:27 pm Chris_McElligottPark Resolution open => fixed
Jul 7, 2020 3:27 pm Chris_McElligottPark Fixed in Version => 2.093 Hotfixes and New Player Guidance
Jul 7, 2020 3:27 pm Chris_McElligottPark Note Added: 0057506