mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 10:53:44 +00:00
Cars and rockets built before builds were recorded were saved with subkey 0 and have no ugc_modular_build row, so the client has no blueprint id to ask for their icon with. The runtime fix only reaches characters that load again. Migrations mysql 98 and sqlite 81 (98/81 because the guilds work takes 97/80) run ModularBuildIdMigration after the SQL: every saved item with modules (x@ma) and no subkey gets what a new build gets, as the character-load fix does: a persistent id from object_id_tracker (with the character bit) as its subkey and a ugc_modular_build row with its modules and the character as owner. The XML is written with UpdateCharacterXml. Tried on a copy of a server's database with a couple of thousand such items: every one got an id and a build row, in seconds. Check: after the migration, old cars and rockets show their icons in the backpack (the UGC server makes them like any build) and still work (equip, race, launch). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 lines
96 B
SQL
2 lines
96 B
SQL
/* Gives cars and rockets saved without a subkey a build id: see ModularBuildIdMigration.cpp */
|