Achtung Mod oddity - doesnt fit in MODS section really

Started by atewithouttabIe, November 19, 2019, 04:10:09 AM

Previous topic - Next topic

atewithouttabIe

Is there a reason for including Redshell / treasuredata in said Mod other than being nosey / user data collection btw?

ForeverZer0

Where did you see this? I only did a precursory scan of the source files, referenced assemblies, etc. and saw nothing of it. There was some Steam promotion-related material, but I didn't notice anything regarding data mining for hardware, etc.

That said, if it is included and not prominently conveyed to the user and/or only enabled via agreement, it would be an ethical issue among the FOSS community.

Canute

At first you should include any proof's at your posting, or it would be the same as when i say "atewithouttabIe is definitiv eating all the time on a table on a chair !". :-)
If you can include a proof, next question, where did you got this mod. Steam,forum provided link or 3.party website.


Pangaea

There is a warning of sorts about some type of "phoning home". How much is sent I don't know, but based on the OP it sounds like it may be more than advertised?

QuoteAgreement: When you download and use this mod, you agree to the fact that my mods all connect to a central server to count anonymously how many times you start a game with them. No personal information is transferred in any way, no connection information is stored (the cloud I use does not expose this to me). The purpose is solely for keeping track of which mods are still used and which are popular (subscriptions don't show that).

atewithouttabIe

#4
Ech, take a network sniffer whatever, Fiddler etc doesnt matter as long as it can show connections by process et al - im using process hacker for this, have for years...and once Rimworld starts check open connections - Vanilla Rimworld w only "CORE" in mods, nothing - you put Achtung mod in and you get 3 connections under the Rimworld process ID - one changing adress presumably for the Cloud as  was said in the agreement - 2x  "in.treasuredata.com" connections....
And its the steam version considering the forum link has been closed / hidden for mere mortals

ForeverZer0

Quote from: atewithouttabIe on November 19, 2019, 11:27:28 AM
And its the steam version considering the forum link has been closed / hidden for mere mortals

Just look at the files it downloads in you mods folder, or use a website like http://steamworkshop.download to download them as a zip. The source code can be easily viewed with any decent IDE or decompiler if you feel the author uploaded alternative files to the Steam downloader, and would like to inquire into it. Its difficult to answer, as even portions of the actual Steam API being used within the project could be using such services, which cannot be seen in the project, and not technically being used by the actual mod.

atewithouttabIe

#6
Hm, i should have mentioned i dont play the actual "Steam" version of Rimworld but the DRM free version, never liked Steam and only got the account way back in the day for Red Orchestra, the original one -  but some mods you just have to get via steam if only cos some mod authors prefer to do updates there exclusively, hence the Steam version of Achtung mod...once the mod is on HD it will be renamed properly cos "18799367" is a tad shit when trying to find whats what and checked whats in there, defs etcetc and put in the actual rimworld play / mod folder so...

Edit, i was wrong, i got the 2.3.3 version of Achtung not from Steam but github/releases directly - just saw that so my bad

ForeverZer0

It is just the outward folder name, the contents is exactly the same. I am running DRM-free version on Arch Linux, I understand the differences. Being a "Steam" version or "non-Steam" version does not change the contents, the same files are still present, the Steam Workshop is simply a cloud service that stores the files in the appropriate place, there is nothing different about it than manually downloading and copying the files yourself, renaming to whatever you want. I use the download service I linked above all the time to manually get the files from Steam to use in my "non-Steam" RimWorld when I can't find an alternative mirror.

That said, the XML files and defs are not going to be what to look at, it is just markup, the only thing you need to view is the assemblies.

Brrainz

So what's the question about my mods, in particular Achtung? I was asked to respond to this thread but am unsure about what exactly.

ForeverZer0

Doesn't appear to be anything. I think OP was mistaking the Steam methods you use as your mod "phoning home" and data mining of some sort.

Canute

I think the OP want to know.
Why does Rimworld open 3 connection with active Achtung mod, while without Achtung there arn't any connections ?

Brrainz

Each of my mods does a simple http request to a cloud server for every game started. The only payload is the mod name. As a result I have a global counter per mod that is incremented and reset every day so I get the number of games started per mod per day. Not by user but in total.

This can easily be verified with a network sniffer or by disassembling the mod to verify that the source code is in fact what was compiled. Here is the function in all its glory:

https://github.com/pardeike/Achtung2/blob/master/Source/ModCounter.cs

atewithouttabIe

#12
Since there seems to be some confusion about what i mean - here, screenshot - that is a completely vanilla Rimworld w just CORE and Achtung in Mods folder...


The first Rimworld connection is a google address, corresponding w the brainz-central1 blabla cloud thing in modscounter.cs which is fine for what its worth

...the 2x "in.treasuredata.com" connections are more in line with this:
https://www.reddit.com/r/Steam/comments/8pud8b/psa_red_shell_spyware_holy_potatoes_were_in_space/

Removing Achtung from mods folder = no connections whatsoever from Rimworld process
...thats all

ForeverZer0

Red Shell, as you linked, seems to part of the Steam API, not the mod. The mod invokes some parts of the Steam API for promotion purposes, as can be seen here in the source. In it is very likely that those methods must trigger that aspect of it, which is more difficult to say definitively. The Steam API for C# is merely a wrapper around unmanaged code, so quickly decompiling and viewing the code is not really an option. I can say definitively that there is nothing in the decompiled source code of the mod itself that references or uses anything affiliated with Red Shell.

I am not very familiar with Red Shell, but some quick DuckDuckGo searches seem to indicate that it is part of Steam, and can be found within it. Yet another reason why I choose not use Steam.

Brrainz

The reason my mods use (or try to use) the steam api is that I patch in some cross promotion on the mod info page in RimWorld. It basically lists all my other mods by querying the steam api.

It was my assumption that the steam RimWorld version connects to it anyway and that the offline version would simply return empty results/errors when trying to use it.

The strange thing is that this is only used/activated when you go to the mod list and select one of my mods. Unless just liking to the steam dll itself does trigger the connections. Also: where did you get the Achtung binary from? I hope not from some of these shady mod websites but instead from my GitHub.

Suggestion: download the source of Achtung and just remove the file CrossPromotion.cs, then compile and use it. Probably want to remove the reference to Assembly-CSharp-firstpass.dll to be sure. Row 51-54 and 65 in https://github.com/pardeike/Achtung2/blob/master/Source/Achtung.csproj

If you want I can help you with that but it would need to wait until the weekend.

/Andreas