Space Haven

Space Haven

non-Steam SH player? want Workshop mods? click here.
hey spacefarers.

what you need to do, check out a Valve tool called SteamCMD. available for Windows, OSX, and linux.

it gives people the ability to download various things, including Workshop items when they don't own the game on Steam, or that a project is now defunct but had a active Workshop community, so people can still get those mods.

https://developer.valvesoftware.com/wiki/SteamCMD

the command you'll use is 'workshop_download_item' followed by the game's AppID and the WorkshopID. the Steam AppID for Space Haven is 979110, so you don't need to look. and you'll notice up at the top of your Steam client while you're browsing any Workshop item (I'll use Echoes Through Haven since someone specifically asked about it) it shows a URL: https://steamcommunity.com/sharedfiles/filedetails/?id=3722400658

... that's it, steamcommunity sharedfiles filedetails ?id=3722400658, the id= number at the end, those 2 things are all you need.

so install SteamCMD from the first link and run it. it'll run an update process then drop you to a Steam> prompt.
[ 0%] Checking for available update... [ 0%] Downloading update (1,813 of 36,514 KB)... [ 4%] Downloading update (3,805 of 36,514 KB)... [ 10%] Downloading update (6,057 of 36,514 KB)... [ 16%] Downloading update (8,311 of 36,514 KB)... ... [----] Installing update... [----] Cleaning up... [----] Update complete, launching Steamcmd... [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation - version 1779493321 -- type 'quit' to exit -- Loading Steam API...OK Steam>

once you install and update, you use the 'login' command to log in, most Workshop items do not need your actual user account. (though some might)
Steam>login anonymous Connecting anonymously to Steam Public...OK Waiting for client config...OK Waiting for user info...OK

then it's just:
Steam>workshop_download_item 979110 3722400658 Downloading item 3722400658 ... Success. Downloaded item 3722400658 to "C:\Users\DeathApproaches\SSD2\SteamLibrary\steamapps\workshop\content\979110\3722400658" (378138 bytes)

now just type 'quit'
Steam>quit Unloading Steam API...OK
...and it told you right there where it was downloaded it to. (though yours won't be the same as mine, depends where Steam is installed)

so, go to that directory, and move/copy those files to your non-Steam game install location, into a subdirectory under \mods\, what you call it doesn't matter, but to keep your sanity, maybe call it "Echoes Through Haven".

and when you fire up the game, as long as modloader is enabled, there it is, and in the log after you load as save, you'll see "[Echoes Through Haven] v#.#.# active. Station visitor safety, hospitality, custody records and recovered logs are being monitored."

hey, you learn something new every day! have fun with ETH and other Steam Workshop mods for your various non-Steam games.
---
note: this is 100% legal and in no way sneaky or a workaround. the tool you're using is a Valve-provided text Steam API clent.

also, now that you know how to do it? there are GUI tools and frontends for SteamCMD, like https://github.com/imwaitingnow/WorkshopDL so you can avoid the console, and makes it faster. yes, I could have told you about that first. but I wanted you to understand what you were doing.

don't hate me. HAHA I MADE YOU LEARN! 😁

have a great day.
< >
Showing 1-5 of 5 comments
Edit:
So after some reading around, apparently this is because non-steam uses (GoG ahhhhm ahhhm) cannot download the steam workshop content (at least for this game.
So while the explanation is great, it seems to be irrelevant to SH unless something changes.

----------------------------------------------------------------

Thanks for the clear explanation!

I have tried the "direct" method you posted here, as well as the WorkshopDL (v2.0.4 with the various providers) and nothing works.

The "direct method" through SteamCMD results in:

>> Client version: 1779493321
>> Loading workshop items for 0 installed apps for user [a:1:2217695357]:
>> [AppID 979110] Loaded workshop items in "<LOCATION>\steamapps\workshop" (0 installed, 0 needed)
>> [AppID 979110] Download item 3722400658 requested by app
>> [AppID 979110] Starting Workshop download job (requested item 3722400658 )
>> [AppID 979110] Detected workshop change (latest from server) : changed cached item 3722400658, new manifest 9123486236227107993
>> [AppID 979110] Update canceled: Failed to initialize depot 979110, manifest 9123486236227107993 (Missing decryption key) (Missing decryption key)
>> [AppID 979110] Download item 3722400658 result : Failure
>> [AppID 979110] Updating workshop item details failed with Access Denied


And the WorkshopDL using the SteamCMD throws an error
"Download item XXYYZZ failed (Failure). Command not found: validate."

I tried using my account as well as anonymous on both 3722400658 and 3730262305.

Any idea what is the issue?
interesting! I do not get that, but then I own the game on the account I did it on... hmm maybe it requires changing your 'login' line to your steam account? it's not supposed to, but apparently some games can and do enable this. which would suck.

missing decryption key could be both, the depot reassign didn't have it, or the steamworks api won't let anonymous. we'll have to test and play around. I'ma go make a new steam account w/o SH on it to test exactly this...
so askel our on-the-ball moderator and wearer of many many BB task hats, went into the hosting side settings and fixed it for everyone. give it a shot now, should be good to go for anonymous mod downloads!

thanks again to captain askel! 🫡
Originally posted by Death Approaches:
give it a shot now, should be good to go for anonymous mod downloads!

Never! I aint letting myself be attacked with a python injection script disguising as itself as a mod:P
snarky but agreed it is definitely difficult to sandbox Python from clever types who really wanna be havoc-causers. but more on-point for our purposes, you've seen modloader, it's just .xml for the most part of the bulk so far, the variable tweaking kind of mods.

now... if it's code injection, we got to start a thing where it's a given that they should post source and checksums and from a verified account maybe, cause yeah you can certainly inject bytecode with AspectJ into running java code... that could spell doom, some dummy running it with privs it doesn't need or utilizing known exploits not patched... fun times!

maybe we'll start sandboxing the whole SH JRE if we get heavily into mods, who knows? should be another post to teach non-technicals, or at least show em how to run encapsulated VM images. but some clever so-n-so will always find a way. I guess on any given day, our OSes are tissue paper and we should just be glad we're not on any government watchlist. I think. I hope. :-)

hey Finland is quite well known as a mecca of cybersecurity firms too... maybe the whole game is just to spy on us! that's why it's java and OpenGL, they want to use our system resources for something nefarious! BugByte. they're bragging about it, right in our faces!

(ok better stop, someone will believe it eventually.)
< >
Showing 1-5 of 5 comments
Per page: 1530 50