PaulCombal / SamRewritten

Steam Achievement Manager For Linux. Rewritten in C++.
GNU General Public License v3.0
340 stars 32 forks source link

Why some games fail to lock or unlock achievements? #53

Closed felixsanz closed 4 years ago

felixsanz commented 4 years ago

Games like Minimum (appID 214190) fail to lock or unlock achievements:

Adding modification: BASETURRETKILL_10IAR_SERVER, to unlock
Adding modification: DEPLOYABLETURRETKILL_15IAR_SERVER, to unlock
Adding modification: HORDERAPTORKILL_50IAR_SERVER, to unlock
Adding modification: TITANKILL_11_SERVER, to unlock
key BASETURRETKILL_10IAR_SERVERval 1
key DEPLOYABLETURRETKILL_15IAR_SERVERval 1
key HORDERAPTORKILL_50IAR_SERVERval 1
key TITANKILL_11_SERVERval 1
Unlocking achievement BASETURRETKILL_10IAR_SERVER failed 
Unlocking achievement DEPLOYABLETURRETKILL_15IAR_SERVER failed 
Unlocking achievement HORDERAPTORKILL_50IAR_SERVER failed 
Unlocking achievement TITANKILL_11_SERVER failed

Is there any reason for that?

PaulCombal commented 4 years ago

I think some achievements are unlocked serverside, for which I haven't had time to find a solution. I think what I can try to do next is at least detecting them and showing it. But yeah, something has to be done about that.

felixsanz commented 4 years ago

too bad as this people closed the servers and you can't play anymore XD

wgpierce commented 4 years ago

Yeah it's a nasty problem. I believe at least CSGO, TF2, and Just Cause 2 Multiplayer Mod also have the same problem. In fact, for CSGO and TF2 at least, the stats parser encounters invalid types... maybe there's some extra data there. That or achievements named *_SERVER is probably enough to identify them.

Sometimes you can find a group of achievement hunters who either host servers or meet up on servers to get the achievements.

PaulCombal commented 4 years ago

@wgpierce Gibbed's SAM highlights serverside achievements in red afaik. Maybe we can have a glance to his code before finding a solution. What do you think?

wgpierce commented 4 years ago

Oh, didn't know it did that. Yeah, definitely have a look.

wgpierce commented 4 years ago

@felixsanz we're implementing permission parsing now to show the user what stats and achievements won't be able to be changed locally. Can you try out the feat-permissions branch: https://github.com/PaulCombal/SamRewritten/pull/59

Can you run ./bin/launch.sh --ls 214190 and see that the achievements you can't unlock show up as "Protected: Yes" in the output? (I haven't hooked them up to the GUI yet.) You could run it like this to parse for that actually: ./bin/launch.sh --ls 214190 | grep Yes$

On another note, I think the stats parsing error from a few comments ago got resolved when Paul implemented more of the stats parsing, including permissions.

wgpierce commented 4 years ago

I confirmed protected stats are detected in CS:GO and protected achievements are detected in Just Cause 2 Multiplayer Mod in that branch.

wgpierce commented 4 years ago

There's no way for SamRewritten to change these achievements, but now it displays an error if it detects a restricted permission or stat in the aforementioned permissions branch like the original SAM. There's nothing more we can do about this, so closing this issue.