Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

joined battle room, game is downloaded from rapid but user remains unsynced #118

Closed
springraaar opened this issue Aug 11, 2019 · 14 comments
Closed
Labels

Comments

@springraaar
Copy link

I've been having an issue with the latest metal factions builds (versions 1.1 and later, which I released on the past few weeks).

when i join the battle room (spads host 0.12.5), it prompts to download the game version and I accept, it downloads, but even after it completes I remain unsynced and can't start the game, although I can start the game on single player. It seems to happen for everyone else as well!

--- failed attempts to work around the sync issue

  • using reload maps/games on springlobby
  • removing the engine cache + restarting springlobby
  • removing the metalfactions directory on rapid/repos.springrts.com + restarting springlobby
    (doing both doesn't work either)
  • not uploading the .sdz to springfiles (i did this with v1.141)

--- successful attempts

  • manually placing the .sdz file + removing the engine cache + removing the pool + restarting springlobby
  • not using "http://repos.springrts.com/metalfactions/builds/", generating the .sdz locally and uploading it to springfiles, then auto-downloading it after joining the battle room (i did this with version v1.142)

NOTE: after I make the commit that triggers the generation of the game sdz here:
http://repos.springrts.com/metalfactions/builds/

I download from there and upload that sdz to springfiles and to the server running my spads hosts.

@abma
Copy link
Contributor

abma commented Aug 11, 2019

very likely there is a bug in generating the .sdz. can you try what happens when you use rapid for the spads autohost, too?

@abma abma added the bug label Aug 11, 2019
@abma
Copy link
Contributor

abma commented Aug 11, 2019

also, please paste springlobby.log: it should contain more info, i.e. the hashes.

@abma abma added the feedback label Aug 11, 2019
@springraaar
Copy link
Author

springraaar commented Aug 11, 2019

here's the springlobby log:
springlobby_mf1.141_not_sync.log

@springraaar
Copy link
Author

any news?

I haven't done the """can you try what happens when you use rapid for the spads autohost, too""", is it still important?

@abma
Copy link
Contributor

abma commented Aug 22, 2019

yes, because the generated .sdz maybe is invalid.

@springraaar
Copy link
Author

That's odd because i can play on single player using both the .sdz from the builds or the package downloaded through rapid.

i've put one of my spads hosts, nebula3, using the v1.141 (that's the one only generated through the rapid tag and without sdz uploaded to springfiles). The spads host is using the .sdz (i don't really know how to get it to download the file using the pool yet)

i've compared the spads server's archivecache with the one on my pc and the checksums don't match!
the "modified" field also doesn't match...is that relevant?

--- spads server (.sdz i got from http://repos.springrts.com/metalfactions/builds/)

.../var_normal2/cache/104dev-maintenance/ArchiveCache15.lua

                    name = "metalfactions-v1.141.sdz",
                    path = "/spring/spring/games/",
                    modified = "1565474586",
                    checksum = "21ec0030391c545d53d53ce0c8fb40719d8632c3190cd531e5a8bf5977d66f27fe0e2e64339a8b7a80718941cb312e71964759c6745f389f384f4dc4d3cebccb",
                    archivedata = {
                            description = "Metal Factions",
                            modtype = 1,
                            mutator = "Official",
                            name = "Metal Factions v1.141",
                            name_pure = "Metal Factions",
                            shortname = "metal_factions",
                            url = "www.metalfactions.pt",
                            version = "v1.141",

--- springlobby (auto-downloaded from rapid after joining the game room)

...\Documents\My Games\Spring\cache\104dev-maintenance\ArchiveCache15.lua

	{
		name = "22aa514dcf310f131f312b8718dc7e31.sdp",
		path = [[C:\Users\Rui\Documents\My Games\Spring\packages\]],
		modified = "1565474752",
		checksum = "9010c21ad37acd0c9608ac82fdaabfd035ed7341f783250dcd938edd5383547dd355b3325b27326960fe6593a38f38a071bd478b273c65a690f98ce753c839fc",
		archivedata = {
			description = "Metal Factions",
			modtype = 1,
			mutator = "Official",
			name = "Metal Factions v1.141",
			name_pure = "Metal Factions",
			shortname = "metal_factions",
			url = "www.metalfactions.pt",
			version = "v1.141",
		},
	},

@abma
Copy link
Contributor

abma commented Aug 23, 2019

i've compared the spads server's archivecache with the one on my pc and the checksums don't match!
the "modified" field also doesn't match...is that relevant?

the modified field doesn't matter, its basicly the date/time when the file was written / downloaded.

now the difficult part begins: why doesn't the checksum match :-/

@abma
Copy link
Contributor

abma commented Aug 23, 2019

IMHO the rapid file is the "reference" and the zip must match to it. so the bug could be in either:

https://github.com/spring/pr-downloader/blob/master/src/MakeZip.cpp

or in spring, when parsing the zip file.

@abma abma removed the feedback label Aug 23, 2019
@springraaar
Copy link
Author

springraaar commented Aug 23, 2019

I've tested touching or replacing the sdz file again on the spads server and indeed the "modified" changes but the "checksum" remains the same.

A thing to note is that the checksum matches the one from the previous version (1.14)

                    name = "metalfactions-v1.14.sdz",
                    path = "/spring/spring/games/",
                    modified = "1565467223",
                    checksum = "21ec0030391c545d53d53ce0c8fb40719d8632c3190cd531e5a8bf5977d66f27fe0e2e64339a8b7a80718941cb312e71964759c6745f389f384f4dc4d3cebccb",
                    archivedata = {
                            description = "Metal Factions",
                            modtype = 1,
                            mutator = "Official",
                            name = "Metal Factions v1.14",
                            name_pure = "Metal Factions",
                            shortname = "metal_factions",
                            url = "www.metalfactions.pt",
                            version = "v1.14",

this may be because the only file that changed was the changelog, though.

@springraaar
Copy link
Author

springraaar commented Aug 26, 2019

Thinksome set one of his spads hosts to get MF 1.141 through rapid, and there i'm shown as synced when i join the battle room from my springlobby client which has 1.141 downloaded from rapid also.

On both archivecaches the checksum is
checksum = "9010c21ad37acd0c9608ac82fdaabfd0..."

On Thinksome's springlobby pc, though, the archivecache shows that same checksum for 1.07 and 1.141, which makes no sense at all!

./ArchiveCache15.lua-803- {
./ArchiveCache15.lua-804- name = "22aa514dcf310f131f312b8718dc7e31.sdp",
./ArchiveCache15.lua-805- path = "/home/specing/.spring/packages/",
./ArchiveCache15.lua-806- modified = "1566775744",
./ArchiveCache15.lua-807- checksum = "9010c21ad37acd0c9608ac82fdaabfd035ed7341f783250dcd938edd5383547dd355b3325b27326960fe6593a38f38a071bd478b273c65a690f98ce753c839fc",
./ArchiveCache15.lua-808- archivedata = {
./ArchiveCache15.lua:809: description = "Metal Factions",
./ArchiveCache15.lua-810- modtype = 1,
./ArchiveCache15.lua-811- mutator = "Official",
./ArchiveCache15.lua:812: name = "Metal Factions v1.141",
./ArchiveCache15.lua:813: name_pure = "Metal Factions",
./ArchiveCache15.lua-814- shortname = "metal_factions",
./ArchiveCache15.lua-815- url = "www.metalfactions.pt",
./ArchiveCache15.lua-816- version = "v1.141",
./ArchiveCache15.lua-817- },
./ArchiveCache15.lua-818- },
./ArchiveCache15.lua-819- {
./ArchiveCache15.lua-820- name = "2486d5f1aff875f4f6b9a145b043f372.sdp",
./ArchiveCache15.lua-821- path = "/home/specing/.spring/packages/",
./ArchiveCache15.lua-822- modified = "1558217088",
./ArchiveCache15.lua-823- checksum = "9010c21ad37acd0c9608ac82fdaabfd035ed7341f783250dcd938edd5383547dd355b3325b27326960fe6593a38f38a071bd478b273c65a690f98ce753c839fc",
./ArchiveCache15.lua-824- archivedata = {
./ArchiveCache15.lua:825: description = "Metal Factions",
./ArchiveCache15.lua-826- modtype = 1,
./ArchiveCache15.lua-827- mutator = "Official",
./ArchiveCache15.lua:828: name = "Metal Factions v1.07",
./ArchiveCache15.lua:829: name_pure = "Metal Factions",
./ArchiveCache15.lua-830- shortname = "metal_factions",
./ArchiveCache15.lua-831- url = "www.metalfactions.pt",
./ArchiveCache15.lua-832- version = "v1.07",
./ArchiveCache15.lua-833- },
./ArchiveCache15.lua-834- },

I've also noticed that the checksums shown on the archivecache don't match the ones shown on the infolog when starting a game (this with engine 104.0.1.1327 maintenance). I checked some times with engine build 1370, but the checksums seem the same.

start mf 1.07, infolog
mod-checksum=8b15b156bd4bf07b3d2d95ecb0e7a962359d06474cde140bbcde9ea90746b9f8f49c02a26e3f6f48440004668f27af9aca130b08226b69c8211983c7f6d0788c

mf 1.07 archivecache15
5d9f60d9e72e9e566afc9be414d17e62776cd3796ed37e24e8de0a876383ff50d99c244ada56e2f2e50c95ec47c059c69442c845a2e67f03e7a839f3e0e8616d

start mf 1.141, infolog
mod-checksum=469a1395891fa321c1d9a28a599c68d0771ca67fd58e4f2299931af3374612d5fe5595daef4ebfd3c1f2f4196b68cefc2fec84c6a7b1736d564836d345f0201d

mf 1.141 archivecache15
checksum = "9010c21ad37acd0c9608ac82fdaabfd035ed7341f783250dcd938edd5383547dd355b3325b27326960fe6593a38f38a071bd478b273c65a690f98ce753c839fc",

@abma
Copy link
Contributor

abma commented Aug 26, 2019

ArchiveCache15.lua is created by spring/unitsync, so this looks like an engine bug.

@springraaar
Copy link
Author

is it reported on mantis?

@springraaar
Copy link
Author

i've reported it on spring's mantis
https://springrts.com/mantis/view.php?id=6286

@abma
Copy link
Contributor

abma commented Aug 27, 2019

ok, thanks! maybe already fixed spring/spring@4d672d0

@abma abma closed this as completed Aug 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants