Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Steam API for getting Mod locations from Steam. #152

Open
rglx opened this issue Jan 21, 2019 · 6 comments
Open

Integrate Steam API for getting Mod locations from Steam. #152

rglx opened this issue Jan 21, 2019 · 6 comments

Comments

@rglx
Copy link

rglx commented Jan 21, 2019

Not so much a crash being produced by this, fortunately it's just showing the blocks as unnamed. I can still modify the ship and do things with it without anything untoward happening.

Anyways with the latest few changes to the way Space Engineers handles acquisition of mods from the Workshop... rather, how Steam now handles it, rather than Space Engineers retrieving them itself, the Mods folder in %APPDATA% no longer houses the mods. Of course, you still create and develop your mods from there, but Workshop mods are now stored in the following locations:

First location (the new system):

C:\Program Files (x86)\Steam\steamapps\workshop\content\244850\<mod ID>\

This is for mods published or updated after the change-over to the new Workshop system. The mod files reside there directly, not compressed, complete with a new file called metadata.mod, which is an XML file containing a single directive. Mods updated after this change-over won't contain the old modinfo.sbmi file here (since that's only used for publishing), but they WILL contain an outdated version of the below type of mod for anyone who was subscribed to the mod during the changeover, and after the author updated it! Updating the mod via ingame will automagically change the mod to this type from the outdated type below, but won't remove this stale file.

-- OR --

The second location (the old system, adapted slightly):

C:\Program Files (x86)\Steam\steamapps\workshop\content\244850\<mod ID>\<some numbers>_legacy.bin

This is just the old ZIP file mods used to come in. No metadata or anything within it, or in the same directory. Don't know what the numbers mean yet. Doesn't seem to show up in the Workshop page for the mod in question, nor in the author's Steam profile page either.

Anyways, hoping SEtoolbox gets updated to support this. For now I think I'll try zipping everything (or in the case of the older mods, renaming the existing ZIPs) and then moving them in to the %APPDATA% folder and seeing if it works or not.

@midspace
Copy link
Owner

This comes down to the new SteamAPI that SE is using since 1.188

It requires integration to Steam, which I'm loath to do, but there isn't any other way.
But, I don't know how it get it working.

@rglx
Copy link
Author

rglx commented Jan 30, 2019

Well, I guess one way to do it would be to load the mod files directly from disk, unzipping wherever neccessary... but, I would understand your reluctance to do that, and it probably wouldn't play nicely with the way that you're loading the world currently.

An interim fix until someone can actually put Steam support into the toolbox is to just show the block ID from the worldfile directly if it can't get the information from the mods, but for the production breakdown, block size (for mirroring) and modded voxels... I couldn't say

Also, my attempt to re-package the mods backwards into the Mods/ directory was met with mixed results. If you tried to load more than a certain number of modded blocks (about 15 or 20 total blocks) the Cubes page for anything large wouldn't ever show up. The ship I was testing had 17k blocks, but it would do the same thing from a 2.5k-block ship. That little blue circle just kept on spinning... I couldn't find any way to debug it either; no logs or anything else I could discern or locate.

@midspace midspace changed the title Mod blocks' name no longer being shown. Integrate Steam API for getting Mod locations from Steam. Feb 1, 2019
midspace added a commit that referenced this issue Feb 1, 2019
It does connect to Steam.
It's the GetItemsBlockingUGC call which isn't working.

Some code from SEWorkshopTool, and some from SE itself. Needs to be reduced.
@Demolish50
Copy link

Ran into the same issue, did you ever figure out a way to manually move the mods and make it work as a workaround?

@rglx
Copy link
Author

rglx commented Jul 3, 2019 via email

midspace added a commit that referenced this issue Jul 4, 2019
…it is connecting to Steam, however fetching the locations of Mods for the user is not working.
midspace added a commit that referenced this issue Jul 9, 2019
* Loads mod information for the apps from Steam.
* Doesn't download the mods, but it doesn't break when the mods are not present.
* Works when Steam is not running.

Not done.
* Should inform user if mods could not be found.
* Checking for working against DS. (Steam is required after all).
* loading the steam service only when required, as it will block the game from loading while running.
* Other protection checks to prevent actions when the relevent mod is not loaded.
@thorman123
Copy link

i know this program is not being updated with new features but at the very least can we please get this working before you call it quits?

@WaGi-Coding
Copy link

i won't be necro, but anyone figured that out in all the years? ._.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants