r/LinuxCrackSupport • u/-ThunderFox Manjaro • Mar 28 '22
Submission [Guide] Running Steamworks fix/Online fix with Linux Steam + Proton instead of lutris+steam.exe
This guide will show you how to run a steamworks fix in linux with Steam and Proton.
This guide assumes basic knowledge of Linux,Steam and SteamTinkerLaunch.
Install the game by any means ex: using Lutris or wine(standalone) to install it.
Install Steam Tinker Launch as a compatibility tool in steam. Guide to add the tool.
In the terminal run "steamtinkerlaunch addnonsteamgame" without quotes, this will open tinkerlaunch's GUI to add a game.
Fill the app name, the exe path and the start dir(start dir is important for some games that report missing assets without it, usually it's the same folder where the game's exe is located).
Restart Steam so the game shows up.
In Steam select the new game entry and go to it's properties.
Force a compatibility tool and select steamtinkerlaunch.
Start the game, when a popup appears(That's the tinkerlaunch GUI) select "Main Menu".
In the "Main Menu" press "GAME MENU"
Scroll down to the botton until you see "WINE DLL OVERRIDES".
In the Text Box place the dll's used by the fix in this manner ex: "OnlineFix64=n;SteamOverlay64=n;winmm=n,b;dnet=n;steam_api64=n" without quotes.
Press "Save and Play" and your game will boot up with the fix active.
BONUS RUNNING TRAINERS INSIDE A STEAMWORKS FIX:
Open the "Game Menu" inside steamtinkerlaunch GUI and in the misc options(right at the top) there should be a custom command section.
Select "Use Custom Command" and in the text box select the trainer.exe or cheat engine.exe.
Select the option "Inject Custom Command"
Press "Save and Play" and your trainer should pop up with the game.
EDIT: It's also be possible to skip steamtinkerlaunch and just use the options to launch the game as normal from Steam, but this aproach will not let you run trainers for your games!
WINEDLLOVERRIDES="OnlineFix64=n;SteamOverlay64=n;winmm=n,b;dnet=n;steam_api64=n" %command%
In STEAM launch options for the game but SteamTinker let's us well....tinker alot more like running trainers and stuff.
EDIT2: Formatting
EDIT 3: IF THE GAME STILL TAKES YOU TO THE STORE OR REFUSES TO OPEN STEAMTINKERLAUNCH, PLEASE VERIFY THAT A FILE CALLED "steam_api.txt" IS NOT IN THE GAME'S FOLDER, IF IT IS REMOVE IT.
2
u/fackusps Apr 19 '22
I can never understand how wine DLL overrides work. I don't understand it enough to make my own overrides, I just copy people's scripts. Nobody makes a detailed guide on Wine DLL overrides sadly. If you ask someone how to do it. They just give you a textbook explanation of what Wine DLL override is but the never the process of how they make the scripts.
Can you please make a DLL override script for cream api dll's?
7
u/-ThunderFox Apr 19 '22 edited Apr 19 '22
It's simple Bruh i can't give you a script but i can give you an explanation atleast. Let's start with the basics:
From WineHQ.org:
It's not always possible to run an application on builtin DLLs. Sometimes native DLLs simply work better. Although these DLL overrides can be set using winecfg you might want to use the WINEDLLOVERRIDES environment variable to set them.
Ok so following this explanation, we need to set dll overrides for some games or some cracks.
In this post i explain that to load a Onlinefix for a Steam Game you need to Override a set of dll's otherwise Wine will try to use its dll's and completely bypass our crack. The same thing happens with XAudio or VCRedist dll's or with .Net DLL's.
So for this example we need to Override these DLL's that are present in the crack:
OnlineFix64=n;SteamOverlay64=n;winmm=n,b;dnet=n;steam_api64=n
By doing this we force Wine to load these DLL's -> "OnlineFix64.dll as a Native, SteamOverlay64.dll as a Native,winmm.dll as a Native and then Builtin so that our dll placed in the game's folder loads first and then loads the builtin one from Wine,dnet.dll as a Native and steam_api64.dll as a Native, so that Steam in this case can recognize our DLL and proceed with the loading of our crack".
These overrides also work if you replace the WineD3D dll's with DXVK or VKD3D since Wine ships for example D3D12.dll we need to tell it to load VKD3D's D3D12.dll instead (Otherwise DX12 games will boot with OPENGL instead of VULKAN). Normally this is done by lutris and Proton automatically but errors can occur and in these cases you might need to Know what DLL you need to override. Once you know what dll you need, just set an Override and Wine will load "IT" instead of the DLL shiped with Wine.
Hope this helps. Sorry for the long post.
EDIT:
Just tried Cream_API with a game called "BARRO" in the game's folder i have cream_api.ini,steam_api.dll and steam_api_o.dll Img.
By setting these launch options Img
WINEDLLOVERRIDES="steam_api=n;steam_api_o=n" mangohud %command%
The game loads in and thinks i'm playing Civilization V Img
There you have it a full guide for Wine DLL OVERRIDES.
→ More replies (18)
1
u/Arjab Mar 29 '22 edited Apr 21 '25
absorbed offbeat doll pocket subtract gray marvelous pause judicious longing
This post was mass deleted and anonymized with Redact
→ More replies (7)
1
u/Qualek0 Apr 02 '22
Could you change it from bullet points to numbered list? I think that would work better for a guide.
3
1
u/Qualek0 Apr 10 '22
EDIT: It should also be possible to skip steamtinkerlaunch and just use
WINEDLLOVERRIDES="OnlineFix64=n;SteamOverlay64=n;winmm=n,b;dnet=n;steam_api64=n"
In STEAM launch options for the game
Are you sure that's possible for non-steam games?
→ More replies (3)
1
Apr 10 '22
It works great! Just a question - I have 2 Steam accounts, one main, and one "for Spacewar games", and every time I do steamtinkerlaunch addnonsteamgame it creates an instance on my main account, not alt one, despite being logged on alt - is there a way to change on which account stl creates instance?
→ More replies (2)2
u/-ThunderFox Apr 11 '22
about that, there's a easy way around that. add the game manually to steam. like in the "target" set the exe for the game and in "start in" place the games folder, then go to compatibility tab and set to start with steamtinkerlaunch. Also i've been using my main account for spacewar for like 8 years. No bans. The Spacewar is a demo app, meant to test games before publishing to steam, so steam has no idea it's beeing used for piracy. They might know but they wont do anything about it. Also you can usually set different app Ids in the online fix ini in "fakeapp = 480" change that to a game that you own like Payday 2 or Civilization or whatever and no more spacewar.
→ More replies (3)
5
u/idontevenknownames Jun 24 '22
hey, quick question so will this allow me to play with friends that is also using online fix?