Workshop enabled on Steam

General discussion about anything related to Transcendence.
User avatar
Arkheias
Commonwealth Pilot
Commonwealth Pilot
Posts: 95
Joined: Mon Jun 02, 2014 8:06 pm

Tue Aug 02, 2016 11:41 pm

I keep getting the following error message when trying to use TransWorkshop to upload some .tdb files:

Code: Select all

ERROR: Unable to obtain info about extension.
I am testing out a version of Cabbage Corp in a format similar to Corporate Command. One .tdb is a library and another is an extension that depends on the library .tdb.

TransWorkshop.exe successfully creates two hidden pages for the .tdb files on the Workshop website but it doesn't seem to actually upload anything.

There does not seem to be a button or dropdown box to change the visibility of the mods either.
Cabbage Corp, the only mod with cabbages!

Please feel free to submit bug reports or issues related to the Cabbage Corp mod on the GitHub page, the forum thread, in a private message or even on the Xelerus page. Suggestions are fine too.

george moromisato
Developer
Developer
Posts: 2874
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Wed Aug 03, 2016 12:47 am

Arkheias wrote:I keep getting the following error message when trying to use TransWorkshop to upload some .tdb files:

Code: Select all

ERROR: Unable to obtain info about extension.
I am testing out a version of Cabbage Corp in a format similar to Corporate Command. One .tdb is a library and another is an extension that depends on the library .tdb.

TransWorkshop.exe successfully creates two hidden pages for the .tdb files on the Workshop website but it doesn't seem to actually upload anything.

There does not seem to be a button or dropdown box to change the visibility of the mods either.
Sorry about that. The documentation on this is non-existent and the errors are not helpful (which I need to fix).

It looks to me like TransWorkshop is having trouble finding the TDB for the library that you depend on. Here's how I would do it:

1. Use TransCompiler to create a TDB for the library.
2. Use TransCompiler to create a TDB for the extension.
3. Put both TDBs in the same folder (so that TransWorkshop can find the library).
4. Use TransWorkshop to upload the extension (this will automatically upload the library).

User avatar
Arkheias
Commonwealth Pilot
Commonwealth Pilot
Posts: 95
Joined: Mon Jun 02, 2014 8:06 pm

Wed Aug 03, 2016 3:00 am

In that case, my specific problem was that my mod requires CorporateHierarchyVol01.tdb in order to work. I managed to get the upload to work correctly by moving CorporateHierarchyVol01.tdb into the same folder as everything else.

My new problem is that Transcendence Steam mods are downloaded to "C:\..\Steam\steamapps\workshop\content\{Insert Transcendence Steam id here}\{Insert mod Steam id here}".

That's stupid, why can't they just be downloaded to "Transcendence\Collections" like how TDB files have traditionally been stored?


Also, CorporateHierarchyVol01.tdb now gets uploaded alongside the other TDB files.

How are we supposed to upload an extension that is dependent on someone else's libraries without also uploading those libraries?

The obvious copyright violations aside, this will inevitably cause further issues when the original library gets updated independent of any mods that require it. Which version will take precedence when the game is loaded?


Edit:
A Further issue is that any public Steam Workshop mod can be downloaded via scripts or websites like http://steamworkshopdownloader.com/ regardless of whether or not you own the corresponding game on Steam.

Due to the nature of how the official extensions are distributed and installed, this would effectively be giving away everything but the Corporate Command star systems, missions and playerships.
Cabbage Corp, the only mod with cabbages!

Please feel free to submit bug reports or issues related to the Cabbage Corp mod on the GitHub page, the forum thread, in a private message or even on the Xelerus page. Suggestions are fine too.

george moromisato
Developer
Developer
Posts: 2874
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Wed Aug 03, 2016 3:41 am

Arkheias wrote:In that case, my specific problem was that my mod requires CorporateHierarchyVol01.tdb in order to work. I managed to get the upload to work correctly by moving CorporateHierarchyVol01.tdb into the same folder as everything else.

My new problem is that Transcendence Steam mods are downloaded to "C:\..\Steam\steamapps\workshop\content\{Insert Transcendence Steam id here}\{Insert mod Steam id here}".

That's stupid, why can't they just be downloaded to "Transcendence\Collections" like how TDB files have traditionally been stored?


Also, CorporateHierarchyVol01.tdb now gets uploaded alongside the other TDB files.

How are we supposed to upload an extension that is dependent on someone else's libraries without also uploading those libraries?

The obvious copyright violations aside, this will inevitably cause further issues when the original library gets updated independent of any mods that require it. Which version will take precedence when the game is loaded?


Edit:
A Further issue is that any public Steam Workshop mod can be downloaded via scripts or websites like http://steamworkshopdownloader.com/ regardless of whether or not you own the corresponding game on Steam.

Due to the nature of how the official extensions are distributed and installed, this would effectively be giving away everything but the Corporate Command star systems, missions and playerships.
I don't believe I can control where Steam downloads user-generated content. However, the engine is supposed to know where to look, so if that's not working, let me know.

I'll fix TransWorkshop so it doesn't upload core files (and doesn't require you to have them in the folder). The Steam release includes Corporate Command, so your mod should work without having to upload the libraries.

george moromisato
Developer
Developer
Posts: 2874
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Wed Aug 03, 2016 5:02 am

OK, I've updated TransWorkshop so it doesn't upload core files. You may need to delete the entry (on Steam) before running it again.

Let me know if it works.

User avatar
Arkheias
Commonwealth Pilot
Commonwealth Pilot
Posts: 95
Joined: Mon Jun 02, 2014 8:06 pm

Wed Aug 03, 2016 2:35 pm

george moromisato wrote:OK, I've updated TransWorkshop so it doesn't upload core files. You may need to delete the entry (on Steam) before running it again.

Let me know if it works.
It doesn't upload CorporateHierarchyVol01.tdb now, but it still requires it to be moved to the main folder.

It also doesn't solve the problem of TransWorkshop automatically including a copy of required libraries. If I create a mod that requires version 4 of some random mod's library and then the original creator of that mod updates the library to version 5, which version would take precedence if a user installs both of the mods?

As another example, any mod that adds ships that are compatible with Playership Drones will be forced to include its own personal copy of the Playership Drones library. Every one of these mods will have to be updated individually to implement any bugfixes that are made to the primary Playership Drones library. Even if there is no change to the Playership Drones API, these other mods will be forced to update just to maintain compatibility with each other.

At the very least, we need a way to specify which libraries will be uploaded alongside our extensions. I think that the simplest option would be to require us to specify /entities in TransWorkshop in the exact same way that TransCompiler currently requires it. This would also solve the problem of TransWorkshop uploading third party libraries alongside a mod without informing the mod author that they probably needed to get permission to include those libraries. It would probably be very easy to get banned from the Steam workshop because this system tricked you into uploading someone else's work.

Here's an example of what I'm suggesting:
Alternative TransWorkshop Instructions.jpg
Alternative TransWorkshop Instructions.jpg (155.54 KiB) Viewed 1371 times
Also, the Steam Workshop already allows us to add a list of required mods. I think it should just be up to us to inform a user if our mod requires additional libraries.
Cabbage Corp Requirements.jpg
Cabbage Corp Requirements.jpg (48.74 KiB) Viewed 1373 times
Cabbage Corp, the only mod with cabbages!

Please feel free to submit bug reports or issues related to the Cabbage Corp mod on the GitHub page, the forum thread, in a private message or even on the Xelerus page. Suggestions are fine too.

george moromisato
Developer
Developer
Posts: 2874
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Wed Aug 03, 2016 3:08 pm

Arkheias wrote: It doesn't upload CorporateHierarchyVol01.tdb now, but it still requires it to be moved to the main folder.

It also doesn't solve the problem of TransWorkshop automatically including a copy of required libraries. If I create a mod that requires version 4 of some random mod's library and then the original creator of that mod updates the library to version 5, which version would take precedence if a user installs both of the mods?
I'll fix TransWorkshop so it doesn't require it.

And I agree that we could add some way of specifying which libraries should not be uploaded. I'll add that too.

Thanks!

User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 799
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

Thu Aug 04, 2016 11:12 am

But but I don't have Transcendence on steam!

NMS
Militia Commander
Militia Commander
Posts: 379
Joined: Tue Mar 05, 2013 8:26 am

Fri Aug 05, 2016 1:12 am

Image

Well, that isn't the most convenient process, but it works!

TheLoneWolf wrote:But but I don't have Transcendence on steam!
If you've purchased CC and EP on Multiverse, George will give you a free Steam key.

User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 799
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

Fri Aug 05, 2016 12:03 pm

Got CC

george moromisato
Developer
Developer
Posts: 2874
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Sat Aug 06, 2016 9:15 pm

NMS wrote:Well, that isn't the most convenient process, but it works!
That's awesome! You'll have to fill in the image/description on the Steam site and then mark the entry as public (it defaults to private). Can't wait to see it on the Workshop.

I agree that the process is pretty raw right now, but it'll get better.

NMS
Militia Commander
Militia Commander
Posts: 379
Joined: Tue Mar 05, 2013 8:26 am

Sun Aug 07, 2016 4:12 am

I did set it to public. I have 2 unique views (so one of them isn't me, I think). You have to go to the game page -> Community Hub -> Workshop tab -> Browse menu -> Extensions

I uploaded an image, but there's no way to set the thumbnail image from within the Steam client. It appears to be the responsibility of the game developer to implement this feature in the game's Workshop Content Manager (which in our case is a command line program with 6 lines of documentation). It would also be good to have a way to set a short version of the description which will appear in-game.

... Now that I've investigated, it looks like the <AdventureDesc> element does these things for adventures. Is there an equivalent for extensions? And does Steam grab this data out of the .tdb?

User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2591
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

Sun Aug 07, 2016 1:30 pm

I did set it to public. I have 2 unique views (so one of them isn't me, I think)
It was me.
I saw the mod and could subscribe to it.

george moromisato
Developer
Developer
Posts: 2874
Joined: Thu Jul 24, 2003 9:53 pm
Contact:

Sun Aug 07, 2016 4:19 pm

NMS wrote:I did set it to public. I have 2 unique views (so one of them isn't me, I think). You have to go to the game page -> Community Hub -> Workshop tab -> Browse menu -> Extensions

I uploaded an image, but there's no way to set the thumbnail image from within the Steam client. It appears to be the responsibility of the game developer to implement this feature in the game's Workshop Content Manager (which in our case is a command line program with 6 lines of documentation). It would also be good to have a way to set a short version of the description which will appear in-game.

... Now that I've investigated, it looks like the <AdventureDesc> element does these things for adventures. Is there an equivalent for extensions? And does Steam grab this data out of the .tdb?
You're right, I thought you could set the thumbnail from the Steam web site.

You can specify an image for extensions with the coverImageID= attribute:

Code: Select all

<TranscendenceExtension unid="..."
     coverImageID="..."
>
I'll have TransWorkshop look at that setting and set the thumbnail on Steam.

User avatar
Shrike
Fleet Admiral
Fleet Admiral
Posts: 2689
Joined: Mon Aug 17, 2009 4:27 am
Location: Scouting the borders of sanity (there's a lovely view of the abyss).

Tue Dec 06, 2016 10:37 pm

I've just come back to trying this for SNAPSS, and I'm completely stuck with an 'Unable to open XML stream' error when Transcompiler starts trying to look through Transcendence.tbd (which...I have no idea if it should be doing).


....I think this needs some more usability upgrades before it goes live on steam. Or at the very least, an instructions guide that covers absolutely everything you need to do, with an example, to get something compiled and uploaded. Right now there's no clue as to what you're doing that's causing an error.
Your friendly local genderqueer weapons designer & forum moderator. My pronoun is "They".

Post Reply