Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Wowfunhappy

macrumors 68020
Original poster
Mar 12, 2019
2,120
2,265
You can buy lots of video games on Steam. Many of them support old versions of OS X! In fact, many of them only support old versions of OS X, because Apple removed 32-bit support in macOS 10.15 Catalina.

Too bad Steam only supports macOS 10.15 and above! And most Steam games need Steam to run. Oops.

Let's fix that. I managed to build a version of the "Goldberg Emulator" for Mac. This is a replacement library you can drop into a game's app bundle to make it work without Steam. Whenever the game asks Steam for a status update, the replacement library will pinky-promise that Steam is totally running right now, and everything is going just fine thank you very much. Source code (mostly recovered from a deleted gitlab branch) and build instructions are included in the package.

Download from: https://github.com/Wowfunhappy/Wowf...b2a621bf8bcb/downloads/steam-api-emulator.dmg. I compiled the libraries on Snow Leopard, which means they should work on OS X 10.6 and above.

(To be fair to Steam, at the moment it can still be used at least as far back as macOS 10.13 High Sierra; the client no longer receives updates but the old version still connects. But we don't know how long that will last, and older operating systems like OS X 10.9 Mavericks don't work at all.)

I must admit that I've only tested one game so far, Bit.Trip Flux. (This all started because I accidentally bought a Steam key for Bit.Trip Flux earlier this week; I'd thought the game would be DRM-Free like other entries in the series.) That said, it was also the first game I tried, and it worked perfectly. I don't particularly like Steam and don't own many Steam games, so I'd be delighted if others could help test more titles. I do expect the emulator to work with any single player game, unless it contains additional DRM beyond what Steam provides by default (which does exclude a lot of large titles). Please share your results!

Note: I do not like piracy. I am sharing this project so that people can play games they purchased on otherwise incompatible computers and operating systems. If anyone in this thread even hints at using this project to play games they did not pay for, I will personally report their post to the mods and reconsider whether I should share stuff like this in the future. Thanks.
 
Last edited:
Hi, I can definitely answer questions! What part are you having trouble following? Did you find "libsteam_api.dylib" and/or "steamclient.dylib" in the app bundle?
 
Hi, I can definitely answer questions! What part are you having trouble following? Did you find "libsteam_api.dylib" and/or "steamclient.dylib" in the app bundle?

I need some help with this as well. As you can see, I'm using Catalina for this scenario and although it's still supported by Steam, I'm eager to test the patching in preparation for the inevitable day when support ends.

Which .app bundle to you refer to, is this the Steam icon within Applications? If so, I looked in there and couldn't find those files to replace/overwrite.

aDhTbJZ.png


If they're not present, do you just go ahead and copy them and where exactly?
 
I need some help with this as well. As you can see, I'm using Catalina for this scenario and although it's still supported by Steam, I'm eager to test the patching in preparation for the inevitable day when support ends.

Which .app bundle to you refer to, is this the Steam icon within Applications? If so, I looked in there and couldn't find those files to replace/overwrite.

aDhTbJZ.png


If they're not present, do you just go ahead and copy them and where exactly?

You’re looking for the .app of your game, not Steam. Off the top of my head I don’t remember where Steam saves game downloads on macOS (can you tell I try to avoid using Steam?), maybe someone can chime in?

If the steamworks dylib is not present in the app bundle, then the game doesn’t use Steamworks and should work without an emulator (or it has some very bizarre DRM scheme). This is very unlikely!

Unfortunately, the exact location within the app bundle depends on the game. The canonical Mac location would be the Frameworks folder, but some games have really weird app bundle structures. I’d suggest checking Frameworks first, MacOS second, and Resources third. But I’ve even seen things like nested app bundles where the libraries are inside the inner bundle.
 
You’re looking for the .app of your game, not Steam. Off the top of my head I don’t remember where Steam saves game downloads on macOS

Neither of the games that I have installed contain those files. See for yourself in the MacOS and Resources folders:

arfvRnn.png

MsJq9x2.png

m9Unq13.png


If the steamworks dylib is not present in the app bundle, then the game doesn’t use Steamworks and should work without an emulator (or it has some very bizarre DRM scheme). This is very unlikely!

Unfortunately, the exact location within the app bundle depends on the game. The canonical Mac location would be the Frameworks folder, but some games have really weird app bundle structures. I’d suggest checking Frameworks first, MacOS second, and Resources third. But I’ve even seen things like nested app bundles where the libraries are inside the inner bundle.

I managed to find them using Finder's search function - they're not stored in the games. They're located elsewhere:

fJqzA9Y.png

Xm4i3k5.png


c29s7dz.png


Okay, so I've replaced steamclient.dylib but libsteam_api.dylib doesn't exist within the destination folder just "libsteam.dylib" so what's supposed to happen here and where should libprotobuflite go?
 
libprotobuflite goes in whatever directory the other dylibs are in.

Based on your screenshots, that can't be the right app bundle, it doesn't contain any graphics or anything, it looks like some kind of shortcut. Maybe the contents of run.sh will tell you where the real app is? Unless there's been some major change to how Steam works on macOS where it doesn't use standard app bundles anymore.
 
A quick Google search indicates Steam stores games in ~/Library/Application Support/Steam/steamapps/common, look in there.
 
  • Like
Reactions: TheShortTimer
A quick Google search indicates Steam stores games in ~/Library/Application Support/Steam/steamapps/common, look in there.

Thanks but that's not where the games are stored under Catalina because there's nothing in the respective folders that can be run.

The games are run from here:

arfvRnn.png

I copied over the files and there's no change, Steam is still activated and you have to sign in and select the title that you want to play. Perhaps the patch just doesn't work on later macOS versions?
 
Thanks but that's not where the games are stored under Catalina because there's nothing in the respective folders that can be run.

The games are run from here:

arfvRnn.png

I copied over the files and there's no change, Steam is still activated and you have to sign in and select the title that you want to play. Perhaps the patch just doesn't work on later macOS versions?
I do not know the right location for Catalina, but what you are showing me in these screenshots cannot possibly be the real app bundle. Just look at the size--only 396kb! Where is all the graphics and music?

Those app bundles have to be some sort of shortcut. You need to find the real one.
 
I do not know the right location for Catalina, but what you are showing me in these screenshots cannot possibly be the real app bundle. Just look at the size--only 396kb! Where is all the graphics and music?

Those app bundles have to be some sort of shortcut. You need to find the real one.

Now that I've managed to circumvent Imgur's UK geoblock (that was imposed without any warning, thanks so much!), I can share a screenshot of the location where you thought that the games would be stored.

To reiterate, of the two folders, only one has a file and as you can see, it's not executable.

m4RnCLt.png


I'm stumped as to where else they might be located and I don't know enough about Steam to work it out. You should add a disclaimer to the original post that the patching doesn't work on macOS versions beyond those that you've been able to test and list them.

If it helps to establish a list of versions where the patching will be successful, I could test Mojave for you at some point if you don't have an active installation.
 
Now that I've managed to circumvent Imgur's UK geoblock (that was imposed without any warning, thanks so much!), I can share a screenshot of the location where you thought that the games would be stored.

To reiterate, of the two folders, only one has a file and as you can see, it's not executable.

m4RnCLt.png


I'm stumped as to where else they might be located and I don't know enough about Steam to work it out. You should add a disclaimer to the original post that the patching doesn't work on macOS versions beyond those that you've been able to test and list them.

If it helps to establish a list of versions where the patching will be successful, I could test Mojave for you at some point if you don't have an active installation.
What's in Show Package Contents of dontstarve_steam?
 
Yes, and then what's in the Contents folder? Please look for "libsteam_api.dylib" and/or "steamclient.dylib".
 
Oh, sorry it looked like the folder just wasn't expanded. Well, your earlier screenshot showed the app bundle is 9.3 MB, which can't be true if it only contains an empty directory, so one or the other is lying to you.
 
Oh, sorry it looked like the folder just wasn't expanded. Well, your earlier screenshot showed the app bundle is 9.3 MB, which can't be true if it only contains an empty directory, so one or the other is lying to you.

I owe you the apology because I wasn't paying attention and showed you the wrong folder. This is the game folder that's empty - for Don't Starve, which is the single player version of Don't Starve Together:

See? Completely empty with 0 items under Finder.

1759274003916.png


Here's the contents of Don't Starve Together:

1759274149984.png

1759274183501.png

1759274227047.png

1759274246026.png

1759274264031.png

1759274280195.png

1759274319268.png

1759274335495.png

1759274352021.png


There are no copies of libsteam_api.dylib or steamclient.dylib in those folders.
 
Launch the game, then right-click its Dock icon and choose Show In Finder. Where does that take you?

Once I allowed Steam to go online, it re-installed the game and your instructions took me here:

1759279307946.png


1759279382872.png


1759279442602.png


1759279491802.png


I then copied the patching dylib files into "Library", ran dontstarve_steam and received the following error message:

1759279762919.png
 
Once I allowed Steam to go online, it re-installed the game and your instructions took me here:

View attachment 2561789

View attachment 2561790

View attachment 2561791

View attachment 2561792

I then copied the patching dylib files into "Library", ran dontstarve_steam and received the following error message:

View attachment 2561793
Yay, you finally found it! Did you also copy the protobuf dylib to the same directory as libsteam? If so, please press report and share the crash log.
 
Yay, you finally found it! Did you also copy the protobuf dylib to the same directory as libsteam?

Yes, of course. I explained that I copied all of them into the Library folder. ;)

After a nap, I had another crack at this as I suspected that on Catalina, protobuf probably needs to be placed elsewhere because the configuration is different from earlier macOS versions. So I copied it into two other locations:

1759324064543.png

1759324087959.png


Now, let's try again…

1759324168520.png


Yes, the patching is now working! :D

Do you notice that the Steam icon in the dock is inactive? That's confirmation that the game is no longer requiring Steam to run. It took me a few false starts but between you and @Nermal I got over the finish line eventually. I no longer have to worry about my OS being unsupported because I can purchase games and run them independently and it also means a lower system overhead on this particular computer (2GB 1.4Ghz C2D) because it no longer has to run both Steam and the game.

Please update the original post and the API emulator instructions to warn people that on later macOS versions the location for protobuf is different. :)
 
Great! I knew it could work!

Please update the original post and the API emulator instructions to warn people that on later macOS versions the location for protobuf is different.
I’m actually a little confused as to why the protobuf library needed to be in a different location. (I’m not entirely convinced it’s due to Catalina as opposed to something about this specific game.) Which of the locations ended up being necessary for the game to run?
 
  • Like
Reactions: TheShortTimer
Great! I knew it could work!

:D The first, of many success stories that I hope will be shared here.

When my life is less hectic, I'll try some more games and post the results.

I’m actually a little confused as to why the protobuf library needed to be in a different location. (I’m not entirely convinced it’s due to Catalina as opposed to something about this specific game.) Which of the locations ended up being necessary for the game to run?

In a while, I'll delete the file from both locations and then check which one works.
 
Last edited:
I can confirm that it's the MacOS folder because with the protobuf file deleted from "Library" and emptied from the bin, Don't Starve still runs without Steam
Thanks, that makes some sense, it probably has to do with how the game sets its paths. So for some games, protobuf needs to be with the other dynamic libraries, and for some it needs to be next to the game binary.
 
  • Like
Reactions: TheShortTimer
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.