[Investigating] Silver/gold rewards are missing for most participants in kingdom defense

What’s happening is that unlike multiplayer runs, dragon defense runs are asynchronous. Therefore, the server does not communicate with players routinely to determine when a dragon has been defeated, or enough accumulated Kingdom damage has been done to it to “win” the defense. Dragon damage is only reported to the server upon the conclusion of any individual player’s asynchronous run.

The game’s logic appears to be that as soon as any kingdom defense run reports enough individual damage total needed to pass the damage threshold for a “win”, the game immediately evaluates the state of the guild leaderboard at that moment and sends out rewards to the kingdom based on that evaluation alone. The server ignores the scoring potential for upwards of 29 other guildmates whose runs are still in progress, as they are still fighting the dragon in their own asynchronous instances. When those players finish, their scores are added to the guild leaderboard, but are ignored for reward purposes because the server had already sent out the rewards packages to everyone and considers the event closed.