2025-07-21 12:39 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002898Spring engineLuapublic2012-07-28 20:29
ReporterGoogle_Frog 
Assigned ToKloot 
PrioritynormalSeveritymajorReproducibilityrandom
StatusresolvedResolutionfixed 
Product Version85.0 
Target Version86.0Fixed in Version89.0.1+git 
Summary0002898: Game ends with no Spring.GameOver call
DescriptionThe attached game ends 10 seconds after it has started. This was thought to be a bug with our game over handling gadget but I have discovered that Spring.GameOver is never called.

At line 163 of the gadget is the old Spring.GameOver call that exists in the mod, directly before it is an echo which cannot be found in the infolog.
 
"function gadget:GameOver()" can be seen to have run as an associated echo occurs in the infolog.

As I far as I know the lua controllable game over system should cause "function gadget:GameOver()" to run only after a Spring.GameOver call.
Additional InformationGame: http://zero-k.info/Battles/Detail/45542

Gadget: http://code.google.com/p/zero-k/source/browse/trunk/mods/zk/LuaRules/Gadgets/game_over.lua?r=4801
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0008077

jK (developer)

It's an autohost issue, need its infolog/stdout for debugging.

~0008081

Google_Frog (reporter)

Springie infolog http://pastebin.com/CNy7S3i1

~0008082

Licho (reporter)

Its not autohost issue.

SERVER_GAMEOVER = 3 was sent through autohost interface to the autohost thats why it quit.

There is also (perhaps related) issue when dedicated sends multiple SERVER_GAMEOVER when game ends (as many as there are teams or players). This is new from 84 or 85

~0008104

zwzsg (reporter)

I had the same problem.

Here's how it goes:
- The isCommander tag has been removed from the engine
- My own game_over.lua gadget detect that no team has any units satisfying UnitDef.isCommander
- My own game_over.lua gadget thus Spring.KillTeam every team
- Spring.GameOver is NOT called because there are no winners! (everybody lose)

~0008127

Google_Frog (reporter)

If you Spring.KillTeam every team does 'function gadget:GameOver()' happen?

~0008128

FLOZi (reporter)

Not by the engine, depends on your gadget, afaik.

~0008129

Licho (reporter)

so spring can do game over and gadget gameover is not called? Yeah that would be consistent with what happens.

~0008131

SirMaverick (reporter)

> so spring can do game over and gadget gameover is not called?

I don't see that in source code. Only path I see: Spring.GameOver (LuaSyncedCtrl) -> Game::GameEnd -> GameOver (callin)

One possible explanation: someone is faking the GameEnd network message to server, which is broadcasting it.

~0009090

Kloot (developer)

assuming this was a duplicate of 0003193
+Notes

-Issue History
Date Modified Username Field Change
2012-01-03 01:19 Google_Frog New Issue
2012-01-03 06:28 jK Note Added: 0008077
2012-01-04 13:42 Google_Frog Note Added: 0008081
2012-01-04 13:55 Licho Note Added: 0008082
2012-01-09 22:14 zwzsg Note Added: 0008104
2012-01-09 23:09 abma Target Version => 86.0
2012-01-10 09:51 Google_Frog Note Added: 0008127
2012-01-10 10:58 FLOZi Note Added: 0008128
2012-01-10 13:57 Licho Note Added: 0008129
2012-01-11 11:27 SirMaverick Note Added: 0008131
2012-07-28 20:29 Kloot Note Added: 0009090
2012-07-28 20:29 Kloot Status new => resolved
2012-07-28 20:29 Kloot Fixed in Version => 89.0.1+git
2012-07-28 20:29 Kloot Resolution open => fixed
2012-07-28 20:29 Kloot Assigned To => Kloot
+Issue History