Steam Workshop Launches!

I’ve had a few workshop items on Steam for the last six or so years, and if I have learned anything, it’s that people sadly don’t read, and they don’t understand either. I couldn’t count how often I was asked something that was stated in the very first line of the description. After a while, I just stopped answering, which isn’t a nice thing to do I believe, but I just couldn’t be arsed anymore.

No disagreement about the difficulty - like I’ve written in the original post or so, Stonehearth still has a very long way to go. It was fun dabbling around when it was much smaller, simpler and could be overseen much easier, but right now, with all the hidden traps and pits that are in the game, I wouldn’t want to mod it anymroe. The time has passed, and I’m not sure if even a proper documentation could make up for it by now.

It’s a difficult choice regarding modders vs. users. I would argue that you can expect from a modder that things are a bit more rough, as they ought to be a bit more resilient to bumps in the road. Users on the other hand - and this isn’t meant as an insult - are mostly the last tech savy people you could imagine, so catering to them is more necessary. From an UX experience, Steam is probably as easy as you can get - which also means that some features (such as branches) are not available. Either because they wouldn’t be used, or would be too hard to understand - it’s certainly not a storage issue, because I’m pretty sure Steam keeps copies of everything you’ve uploaded nicely archived.

Ideally, it would be nice for both parts. From my experience with other games though, I can say that pure download portals survive a lot longer than communities catering to developers - probably because it’s such a volatile environment to be in. Just the jump from SVN to git, for example, probably killed quite a few sites.

What I can tell you here is that out of all platforms I’ve used, Steam - probably because it is a walled garden to some extent - is absolutely amazing for developers. I have stats and graphs that I absolutely adore. Thanks to these, I know that over 231k people are currently subscribed to one of my items, and 507k have been in total, as example. It’s quite a weird feeling to know that something I made has been downloaded by more accounts than there are people living in my vicinity.

At the same time though, various games that were available over multiple distribution channels have either stopped supporting non-Steam versions, or are not developing new content for it. It’s heading in both directions, I guess and the next few years will be very interesting in that regard - especially since VR is opening up and everyone and their mother is starting a new store for that.

I’ve never said that it should be one or the other. I think that it’s important to support manual installation of mods (which then kind of implies 3rd party applications as well). However, in terms of integration - unless Riot provides some sort of API for modders to use, 3rd party tools will - in terms of convenience for your average Joe - always be worse.

I’ve actually proposed an API, or rather requested a few methods, that would make such an integration possible in the past, but that was denied. The reasons back then weren’t satisfying at all, but basically I could imagine attaching any kind of mod manager if the SH API would offer the following:

  • A HTTP API to make HTTP calls, including setting verbs and headers as well as content (text/json and binary blobs)
  • A configurable whitelist of domains that HTTP calls are allowed to. This would avoid building weird stuff with it. A user would have to configure, for example, that calls to https://stonehearth.mysupernexus.io are allowed.
  • A method to get the binary content of .smods, and one to write .smods. Writing can have a validation (e.g. “it’s a valid zip file”, “it contains a manifest.json”, “it does not contain any executables”) to avoid writing arbitrary files
  • Something to restart the game/reload the mods/activate or deactivate mods. I think this is already handled with the built-in modding manager though.

Given these APIs, I could very well imagine writing an auto-mod-updater that works with a proprietary service and is not tied to Steam. Plus, everyone could write one (or an adapter to an existing one) if they pleased. HTTP calls would allow for quite amazing experiences too, especially if we could get Websockets to run - but now I’m being greedy. This is a pipe dream from the get-go.

3 Likes

Very quick response for clarification sake:

I apologize, I did not mean to implicate that you personally stated such.

It was aimed at the general sentiment to that extent, which has been lingering in the air around the Workshop and in the thread.

4 Likes

Yang & Co’s Mods Are now live on steam workshop!

Great working bringing the workshop for stonehearth!

3 Likes

Confused when i subscribe it downloads a tiny 50Kb file but no mods are found in the mod folder or ingame
Or does it perhaps not work with the Rickety_Building release?

That version has no workshop.

2 Likes

@BrunoSupremo is correct my nephew could download them with version 811 but 815 did not have that functionality

I was talking about the mod’s license. While modding Starbound I’ve stumbled upon some “dead” mods I’d like to revive, and, understandably, to avoid any legal issues (google Minecraft modding copyright crisis) Chucklefish forbids such a thing without direct consent from the original author.
On the other hand, I understand that my modding adventures are sporadic at best, so my own mods can become abandoned at some point due to real life problems (I remember about all of my mods, sorry to keep you waiting folks!). That’s why I started including “zombie licenses” in all of my mod descriptions at some point. I don’t want things I’ve previously done to be a dead weight for the community.
Good thing with GitHub is, it provides licensing “from the box”, you can just slap GPL on top of your work and stop worrying about it.

Yep.

What I’m talking about is mostly Skyrim/TES/Fallout experience. For heavily modded games like these, Steam Workshop is virtually useless for a multitude of reasons. To name a few, some very framework-ish script extenders (like SKSE) that many mods are based on should be installed strictly manually, because they act as launchers and inject their code into game .exe during startup. Nexus understands and supports that (although a third-party Mod Organizer currently works even better). Steam, to my knowledge, does not and never will.

All and all, most of my arguments can be distilled into three:

  1. It requires an account to download it. Meaning closed infrastructure and DRM. DRM = bad.
  2. It is not transparent for both user and modder. If anything goes wrong (and it will go wrong for some), tracing the problem and debugging it becomes hell.
  3. I forgot this one.

Speaking about mod managing tools, I remember the times when Curse Client entered WoW modding. Everyone in the modding community fought against it - it did not support any form of monetizing for modders (ads and donations) while injecting its own ads, and since its idea was “one button to update them all”, it understandably quickly won popularity among casual users. Sure enough, it eventually won, fracturing the modding community, driving some devs away from it. An illustration for “road to hell is paved with good intentions” could hardly be better.
Then there’s now-dead Steam initiative to sell Skyrim mods, which infuriated common users, while also damaging other repositories (including Nexus), since some modders temporarily stopped uploading to them and switched to Steam in an attempt to get more money.

At the end of the day, the problem is more complex than it seems. Maintaining balance between users and modders and not becoming a money-hungry ripping-you-off monster in the process is hard. Users in their majority want convenience and simplicity. Advanced users and modders want control and tech transparency. Crippling user part damages the mod distribution, driving users away and reducing downloads. Crippling modder part drives modders away, making the repo empty.
Sounds like SimCity challenge, doesn’t it? :merry:

Welcome to Steam :slight_smile:
Unfortunately, making things easier for casual use tends to do attract that kind of users.
I don’t think it is a problem of Steam per se, more a problem of life itself. Some people just don’t want to be educated and RTFM. That’s the cause of frustration where many cynical computer experts come from.

PS. Speaking of Steam discussions, I’ve tried to use them for bug reporting in mods, but it quickly gets cumbersome after switching from Discourse. Kudos to Discourse devs - their system of tagging users and showing notifications when someone mentions/answers you is awesome. And while the number of downloads/subscriptions is gratifying, it is active users/bugtesters who make the difference. For me, it’s more about making a few new friends than a faceless number to be proud with.

PPS.

Just got an idea. It probably has lots of issues, but I’m throwing it in anyway, see how it bounces.
Thought about something as straightforward as GitHub integration. There are lots of GH clients (I personally use Tortoise Git) that are opensource. If one could take the core push/pull functionality from them and make a nice simplified frontend for Stonehearth, that would probably do the trick. The main issue I see is that I have no idea how difficult and time-consuming it is (meaning that it probably is hard enough, especially with a small team like Radiant itself).

1 Like

Unless it has been taken out of effect, Stonehearth has a rule that sounds very similar. You are not allowed to take another mod and continue it without consent of the original author, irrelevant of what the original mod was licensed under.

“Never will” is a bit a harsh word and I would dare say it could even be a developer issue: If you provide a tag for workshop items (i.e. “launcher”), the game could then enforce that only one launcher is loaded and otherwise throw an error at your head. In general though, Steam caters the general audience, that is true. The question is whether it’s a dead product by Valve (as in, left in the rain like so many other things), or if it’s being continuously developed to maybe amend for such things.

1 is technically not completely correct. For GMod, servers require addons too (of course) and can download them by providing a collection on the Steam Workshop - no account required. The download is done using an anonymous account on Steam (which means only public addons are possible, of course). This is not for end-users though. Plus I’ve also mentioned, uniquely identifying your users can also lead to neater telemetry and insights, something that other repositories can’t provide (because an account there is free and not tied to the game purchase at all).

At the end of the day, Steam is a store and as such it makes sense that they do not provide a repository for the whole world. As comparison, Twitch requires me to use a stupid account too, yet that doesn’t really count as DRM. We can argue whether the mere availability of non-account downloads turns the whole thing into a non-account situation, but for the sake of this conversation I would like to compare apples with apples and therefore go the automated update/one-click installation route (rather than “download a zip and DIY”)

2 I don’t know. I suppose a lot is left to the developer, because Steam offers more of a workshop than a one-stop solution. Personally, I never really had many issues with GMod six-or-so years ago, errors were somewhat easily logged or reported and the whole thing was a very smooth experience. Publishing tools were a bit rough, but after making a batch file/Perl script that wasn’t that bad either…

About the whole Skyrim debacle - I would like to think that this was more of Bethesda’s doing than Steam’s (seeing as they are now doing the exactly same thing on their own). The idea itself wasn’t bad and I would definitely consider making paid mods - I think the time wasn’t ready for it. Paid mods are a thing, it’s just that many take free mods for granted these days.

Setting up an own Discourse is more cumbersome (and expensive) than using something provided to you though. I haven’t extensively used the Steam discussion boards, but they’re better than nothing and definitely better than mere comments.

Git, not GitHub. git is a VCS, GitHub is a hoster. Nitpicking, but it’s an important difference.

It’s not “time consuming” at all, it’s not even difficult, there are libraries to control git (libgit2 I think?) that can be used and streamline most processes. However, git isn’t a simple protocol and it allows for many shenanigans - I would advise against it. On one hand, many of the features git offers won’t ever be needed - you don’t need a local history of the mod, nor do you need anything but the most recent version. On the other hand, since you’re pulling everything into a local workcopy (I assume), it also means that I can just put a FreeStuff.exe into my repository and easily ship that to everyone who has my mod - the control over what’s being downloaded is completely lost.

Plus, you have to (technically) deal with trusted hosts, credentials and all that jazz - it’s not exactly simple. In my opinion, it’s a complete overkill (and also quite proprietary).

A HTTP client on the other hand is relatively sleek to implement (… assuming there’s decent HTTP libraries out there) and they can “shift off” the whole work to another party. I might try to get one into the game myself.

@jomaxro On a completely unrelated note, how does “summoning a trader” work now? I see two practically identical buttons. One works as before, summoning a generic trader. The other one theoretically should call the one from trader pool. However,

  1. They look the same, so I’m not sure which does what
  2. When I press the second one, it seems nothing happens. After some time, I get visited by a trader, but I don’t know if these are connected.
    Also, it would be cool if we could “specialize” a trader stall somehow, increasing a chance to summon a specific trader we want.

There’s only one button, “call merchant”, which will summon a trader from the pool.

if you had a stall placed before the update it has two buttons, even after un-deploying and re-deploying, only newly crafted stalls have one button. at least thats what seems to be the case on my save.

2 Likes

Ah, good point! Technically both buttons should work, but there’s no guarantee on the old one.

1 Like

I don’t think it’s true. License is a legally binding document. It overrides any forum post.
Additionally, in essence, license is a permission (or a lack of it, depending on the license). Its main purpose is to avoid asking the author every time you want to do something with his stuff. If it is GPL, it’s basically “I give you my permission ahead of time, just credit me”.

Triggers, doesn’t it? Just as intended.
What I was trying to say, since Steam is a global service working in big numbers, it probably won’t change its policies for the sake of a single game. It they didn’t do it for an AAA game like Skyrim, it’s highly unlikely they will do it for anything else.

Perhaps that’s my lack of experience talking, but I have no clue what good telemetry is in case of freely distributed mods (aside from satisfying one’s own curiosity). I mean, it’s useful when you analyze ads effectiveness or cash flow or bandwidth/server load, but what use it is for a modder?

Woah! You must have gotten me wrong, I was talking about SH Discourse, not a separate server :slight_smile:
Of course, while having your very own Discourse is a cool experience, it’s too much trouble for a single mod.

Yeah, sorry. You’re correct.

Can’t you do the same with Steam? I mean, it probably can’t host EXEs at all as a precaution (leading so several vital Skyrim tools being unable to host on Steam), but “report inappropriate content, not pre-moderate” is probably a rule of thumb for any service, from Google Play to torrent trackers. “Provided AS IS”, “download at your own risk”, “we don’t officially endorse user generated content” + user ratings + reporting abuse is a system usually used in this case. I don’t think there is anything wrong with it, is there?

Yeah, it’s probably an overkill, and I know it. Just my own thing, I rather prefer to have options I don’t use than don’t have options I need and constantly dance around bottlenecks applying dirty patches.

Maybe @brad wants to chime in here. At the very least, I would expect the forum post to cover Discourse as well as Steam - I suppose they do not have jurisdiction over anything else.

Of the content itself, yes - but if the distribution platform (here Discourse/Steam) has a different set of rules, then so be it. I suppose at the end of the day, if you wish to be really sassy, they could easily shut down any platform that advertises itself as something with Stonehearth/the game related and violates this rule (or let it be violated). But a clarification would indeed be welcome.

They won’t do it for an individual game, but if there is a certain demand (either internally, or by a big publisher, or lots of smaller developers because let’s not pretend users have anything to say in this) I could imagine a change happening. Skyrim failed because it launched too specific, and with the wrong premise.

For example, it’s interesting to see spikes. One day, I had suddenly around 400-500% of the normal downloads of my content, and it wasn’t a free weekend or anything else. If suddenly 300-400 people download your stuff over a weekend, that does get very exciting. Maybe you were featured somewhere?

If you do an update, you can also see if it was successful or if it drove people away. Writing comments or constructive criticism is hard, pressing unsubscribe is easy.

Depends, but usually it’s much more difficult. You need a custom client to upload data to Steam, so you’ll need to bypass that first. After that, I’m not sure if or what kind of validation can be done before the content appears in the workshop, but I would expect some sort of filtering to be possible.

If that doesn’t work, then at the very least the client - who downloads the data - can do a final verification. Content that doesn’t match is immediately deleted or just not extracted. But this is all theory, I don’t have any deeper insight into the Steam workshop pipeline.

That’s not correct. Google Play is a very good example - whatever you upload there is thoroughly scanned and analysed (up to the point where other stores, like Apple’s, even forbids runtime compilation/scripting because of that, if I’m not mistaken). It’s difficult to upload an obvious malware to the Play Store, and if you bypass the security and you’re found out later, your app is remotely wiped from any device. If anything, the Play Store is much more secure than Steam.

There’s much wrong: End users are stupid. Even if you say “This CAN be harmful”, there will be people who ignore it, get burnt, and then complain anyway.

To be clear: the One Rule is still very much in effect, not just for Stonehearth mods posted through Discourse but anywhere, including Steam Workshop.

4 Likes

I believe our seeming “disagreement” here is simply a misunderstanding. What I’ve ment, “The One Rule” covers situations where there is no license included in mod or its description. Because if there is one, it comprises the permission. GPL (or Creative Commons, when applicable) explicitly states how and under which conditions you can use content/code/modder resources.
When the site states its content is available under CC, it is enough for you to be able to repost it. If an author of the post explicitly states that his mod is licensed under GNU-GPL, it is enough for you to freely modify it (preserving attribution and other required things stated in the license). But since many modders don’t care about attaching licenses (and thus, don’t give their explicit permission), in this case it should be obtained on individual basis.
Mind you, I’m not Team Radiant, that’s only my interpretation. But it corresponds to the general practice of reusing content over teh Internetz.

I know, I know. This old story about “don’t dry your cat in a microwave”.
I sincerely tried to avoid this argument. While I tend to think bad of other people, I’m not fond of it. I’m not an expert on US legal system, and, if I remember correctly, the company lost the case in court. Still doesn’t make it any less stupid. Not sure about legal consequences, but if there are none at the moment, I personally don’t really care about stupid users misusing their hammers and hitting their thumbs.

Hmm. I guess I see your point. Can’t say I’m a big fan or a pro at this. It sounds like this is more about marketing and public relations than coding.
I feel conflicted about it.
On one hand, it helps fulfilling the demand and understanding the source of your popularity (and, eventually, understand the things you’ve done “right”).
On the other hand, modding for me was always about making something cool and sharing it, not about creating what others want. For artists, there is personal art and commissions. When you draw personal art, you create something you want and show it to the world. When you draw a commission, you get a list of what your client wants and get paid in the end. You may enjoy it as well, but if done wrong, it comes dangerously close to becoming work. And work tends to get tedious and tiresome and uninspired.
When you do art, there is nothing “wrong” and “right”. When you do commissions, “right” is what your client wants. And when we speak about what client wants…

Yes, Prime Minister is both hilarious and sad at the same time. So true.

I’ll let brad handle this, but from my point of view, the rule covers distribution, not the modification itself. It doesn’t matter what license the mod was under: Publishing modified mods without explicit consent of the mod author on this Discourse or the Steam Workshop is prohibited. It doesn’t matter if the mod was originally GPL, MIT, CC4 or public domain. The rule is in place independent of the content, because it’s regulating how the content is shared, not created or modified. As it’s more strict than GPL/MIT/CC4, it takes precedence.

I rarely do commissions, but for free stuff, it’s really nice knowing people use your stuff. Having nice graphs on Steam saying “Yepp, 800 people found your stuff interesting in the last week” is quite motivational.

Here’s another excerpt from what I found interesting (and why it’s nice that Steam’s stats are tied to accounts): While one of my workshop entries has had over 440k unique subscribers, only 66k people actually were on the page. Put differently, at best only 15% people ever read the description or looked at the page I made, whereas 85% just clicked the + in the game to add it immediately (or got it from collections). Boggles your mind quite a bit, especially since those 66k are not necessarily subscribers.

1 Like

Now that’s really strange. I believe you are mistaken here. I may write on my site anything I want, but if legal documents say otherwise…
Of course, the owners of any service can write in their EULA that “we don’t recognize GPL as a valid license and require additional proof” or even “we don’t adhere to US copyright laws”, but that doesn’t change the reality.

Besides, what kind of permission is even valid in this case? I know I start sounding awfully legalese here, but an email or a message in Skype probably won’t hold in court as a valid permission. Do we need to get it in writing or signed with a recognized e-signature?
Yeah, I’m intentionally blowing this thing out of proportion here. What I’m trying to say is, while current legal system is cumbersome and far from being perfect, it works, so there is no need to reinvent the wheel. That doesn’t really concern me, since I currently don’t use resources made by other people, and when I do, I tend to ask for permission anyway. It’s Internet etiquette. But if the author is unreachable and he explicitly allowed reusing by slapping a license on his work, I see nothing wrong in reusing.

No point posting here any more

The Android ecosystem is designed in such a way so as to a) make what you’re having a problem with possible and b) ensure that when anything does get deleted in this way, none of the user’s data is damaged. It would make poor business sense for Play Store to start wantonly censoring applications and breeding desire for competitors. So this power is only invoked when something is truly found to be harmful to the user or the user’s system, which why I believe Pan said it was more secure.