[WIP] Fix onlinefix achievements and SteamNetworkingSockets#54
[WIP] Fix onlinefix achievements and SteamNetworkingSockets#54JanitorialMess wants to merge 4 commits into
Conversation
|
I tried a solution for this, but yours is definitely better. Regarding playtime, we could create another pipe with the Real AppID idling after (Spacewar - 480) is launched, similar to how Gibbed’s SAM or SamRewritten handles it when we want to manage achievements. |
Before I look into playtime, I think this needs to be tested a lot more. My fix is insufficient and does not work for some games which may emit requests for I am not familiar with either project enough but I will definitely take a look! |
|
This has grown to cover a bit more than I initially intended and the code isn't the best it can be yet. Here is a breakdown of what is happening at different layers and why user stats are so tricky. Different games follow different paths and trigger different calls. Identity handling changes
|
Did this happen before or after the last commits I made?
Is this happening only on unlocked games? |
Sorry, but I only tested with the most recent commits. To make sure, I even compiled it together with the latest commit, and the same issues still occur.
Dying Light — Saves are stored under AppID 480 and the language stays only in English. Yes, apparently this only happens with unlocked games. If necessary, I can run more tests with other games. EDIT: I also forgot to mention: achievements are not unlocking either in unlocked games. I’m not sure if that’s because I’m using Steamless to bypass Steam DRM — could you confirm that for me, please? |
|
Thanks for the PR and for the detailed investigation. I appreciate the amount of testing across different games here. This makes me reconsider the current direction a bit. For lobby matchmaking support, I originally saw two possible approaches:
I chose the second approach because the NetPacket route involves many MMS messages, with more than twenty related message types: The second approach was simpler initially, but its side effects now look more complicated than expected. Besides achievements, it may also affect Workshop, cloud saves, and other Steam features. Because of that, I am not fully sure whether the second approach is still better than handling this at the NetPacket layer. Also, pattern rules are now fetched from |
I appreciate the testing and feedback; I was able to reproduce the language issue on Megabonk (a much smaller game). I will investigate. For cloud saves, I was not able to reproduce the issue yet. I get the regular cloud save error in steam and no new entries for Spacewar. My
I haven't looked into lobbies much yet. I just saw that From the little testing I did, Steam Workshop was working just fine with
Great work! I will try to resolve this PR's issues and conflicts whenever I have some more time available. |
|
can you guys analyze the online-fix dll and compare it, even if this is based of unsteam, the unsteam one has its own game save folder which does not clash with corrupt save error with this onlinefix. can you look intot the code of the unsteam and online-fix, i think that would help you move forward tremendously and i saw you throw shade by saying not put lua at st-plugin, hilarious. |
This approach operates at a higher level than Unsteam or CreamAPI. It does not touch the Steamworks API (
Also, please refrain from making unrelated inappropriate remarks. I am not the original creator of the project and this PR has nothing to do with LUA folder configuration. The instructions merely say to place lua files in a different directory. This is most likely to avoid any incompatibilities with other tools or drifts in the design of the LUA files. It also makes it easier to revert back to SteamTools if you need to. All you have to do is copy over files or change the TOML configuration to make it work. |
|
which drms? most of all online-fix on the original steamapi too. and anti cheats are only in online only games. maybe make 2 versions. online multiplayer is a big thing to make your mark. please consider some form of workaround, greenluma and other steamtools already exist. no one has done the multiplayer side of things |


This PR is a Work in Progress and attempts to fix achievements for
-onlinefixapps. I am also whitelisting build 1779486452 signatures so this change is testable while you decide on the best approach going forward.-onlinefixlaunches the game through app480, but achievements belong to the configured game app. Steamclient resolves the app used for user stats and achievement icon precaching from the current game pipe, so achievement calls were being processed against app480.Hooks_IPCnow scopes calls forwarded forIClientUserStats, andHooks_Miscreturns the configured game app fromGetAppIDForCurrentPipeonly within that scope. Other Steam traffic still uses app480, so the existing multiplayer path is unchanged.I noticed though that games relying on
SteamNetworkingSocketsdo not work with the-onlinefixand I am testing a fix for that.Please do not merge this yet until we get more testing done.
Testing
-onlinefix.SteamNetworkingSockets.480.Related issues
Known issues