Jump to content

KSP 1.8 - No analytics, no game?


swjr-swis

Recommended Posts

4 hours ago, katateochi said:

I feel this thread isn't long for this world, but before it gets locked....

I cleared it with the mods.  There will be no locking.  There can also be no links to my work either though.  This is the policy.  So do that and I'll report you (with a sadface).

It's not illegal mind.  Not at all.  Clean Room Design is a proven legal technique and I am using it here (with my close friend Dan as the hapless spec writer).  They know that.  But it's their board and we can talk about only what they approve.  This probably would upset taketwo, if i had to guess.  It figured it would.  Also, I've upset them before so they won't hesitate to mess me up again if they can. :P

Again, if you really want it, the boilerplate statement is:

Go to the site of the makers of "GPU-Z" program (you should download that too, it's cool).

Go to their forum and open the "Games" section.

Look for me at the first dawn (go with it, it sounds cool).

I guess you could also try PMing me...  mods say if you don't like that idea.

4 hours ago, katateochi said:

Overall, I'm happy with what I've found.

I'm really not.  It's all configurable of course, but UnityAnalytics has a lot of bad stuff I had to template.  It sounds like a video game distopia just waiting to be turned on.  Ads?  Check.  Spying? check?  Checking how good a player you are and making you in game offers based on it?  Sure, we can do that too.

KSP obviously has none of that turned on.  But the idea of it bugs me.  Maybe it's for their phone platform.

Study my dummy classes on the source code thing discoverable via the above boilerplate text.  You'll see what I mean.  You can glean a lot.

2 hours ago, steve_v said:

A closed-source tool provided by microsoft perchance? That kinda comes back to trusting the spy to tell you what data they're collecting. My solution is simply not using Windows.

Indeed.  It tells you at least some of the stuff they report though, which is better than nothing.

Also, it's already pretty nosy, so it might be telling the truth.  If I was Microsoft, I'd never admit to all it says.  I think they just hope people don't notice it's there, and they can say "hey, we have x" in court.

4 hours ago, katateochi said:

I feel that by saying "No" to all analytics starves the developers of useful info and disconnects them from their project once it's out in the world.  In the end blocking all analytics doesn't benefit the community.
We want a well optimised program, well, then we need to allow the developers to collect data.

The thing that bugged me the most, is it looks like Unity tries to send data regardless, but if it's tagged for deletion with a simple boolean flag (if you opt-ed out), and then they supposedly "shred it" serverside.

That made me do this on principal, sorry.  And no good dev needs analytics, IMO.  It's a silly idea.

Edited by R-T-B
Link to comment
Share on other sites

Started working on the same classes in KSP 1.7.

 

Wow, they really are nice and unintrustive.  It wants almost nothing about you other than timeframe of gaming and crash reports.

I'd actually be chill with that.

It does beg the question:  Why the incredibly large change?

Anyhow I have succesful tests on 1.7 and 1.8.  I need someone with wireshark skills to confirm silence now.  Contact if you are able.

Edited by R-T-B
Link to comment
Share on other sites

What i dont get is why this is forced on everyone with no justifiable reason.  I can understand analytics in a multiplayer game (afterall, they can like track what you do on servers when playing anyways), but KSP is a single player game, and has no reason to track what you are doing offline in it whatsoever. 

 

Also, i dont care about the arguments that its anonymous, ANY data being sent to their servers about my machine, what im using it for, hardware i have on it, ect, is an automatic NO from me.  I believe there needs to be a way to opt out from client side and not have to send ANYTHING to any server to get it to be disabled (opting out via website is NOT opting out in my book, you still need to send data somewhere for that optout to be set, and there is no guarantee itll even be honored).

 

Anyways, my biggest complaint is the fact that the game nolonger even starts with analytics deleted.  So yeah, please listen to your customers devs/T2/unity/wheover is calling the shots, and make analytics a 100% OPTIONAL AND NOT REQUIRED THING TO RUN THIS GAME!!!!!!!!!!!!!

Link to comment
Share on other sites

7 minutes ago, panzer1b said:

What i dont get is why this is forced on everyone with no justifiable reason.  I can understand analytics in a multiplayer game (afterall, they can like track what you do on servers when playing anyways), but KSP is a single player game, and has no reason to track what you are doing offline in it whatsoever.

To be fair, the analytic dlls appear to have absoultely zilch intetest in what you do outside the game.

It's far more interested in what it can determine about you from inside the game.  (It even logs an "event" if you skip the intro screens, for example)  So if that doesn't bother you, don't worry.

Edited by R-T-B
Link to comment
Share on other sites

1 hour ago, panzer1b said:

Anyways, my biggest complaint is the fact that the game nolonger even starts with analytics deleted.  So yeah, please listen to your customers devs/T2/unity/wheover is calling the shots, and make analytics a 100% OPTIONAL AND NOT REQUIRED THING TO RUN THIS GAME!!!!!!!!!!!!!

Oh, totally.  I know.  I wouldn't even have done my project/solution had it not been for that.

TakeTwo/Unity, know this:  The day you make the dlls removable again, I'll take down my repos immediately.

I know, I'm acting like I matter... lol.  Just had to say it.  I've dealt with Taketwo in the past, they pretty much think I'm some kind of stinging insect they need to squash, but they don't have much desire to listen to me.  I mean, you don't negotiate with a fire ant.

Edited by R-T-B
Link to comment
Share on other sites

45 minutes ago, 5thHorseman said:

I would assume the Unity upgrade. Maybe they had things in there disabling this stuff and now they're gone. Or the new Unity checks more stuff than the old one did. Or both.

The UnityUpgrade is certainly part, but since I was targeting that question at Unity...

Sorry, was probably unclear.  Unity has me made me much more angry than Squad/taketwo.

Edited by R-T-B
Link to comment
Share on other sites

Let me be clear, I had way too much fun making this class substitution thing that kills telemetry.  When I started overriding functions that were pretty blatantly targeted at advertisements for users (disabled in KSP, but I target a broad range of Unity installs), I started getting more... interesting.

I can't link it but man, if anyone ever tries to claim copyright to my independent code (because of the fact it overrides classes, which legally, is a nonargument, some of our mods do that), they are going to have to claim they wrote some...  interesting pieces.  This is a comparably nice one.

NOTE TO MODS:  Mods, this is a screenshot of a source snippet of a completely independent work.  It does nothing on it's own, and is harmless and only provided for humor value.  No KSP code was altered, viewed, or otherwise harmed in the making of this code.  Be nice, I even edited out my foul language:

aseembly.png

Just having some fun...

Edited by R-T-B
Link to comment
Share on other sites

4 hours ago, R-T-B said:

Go to the site of the makers of "GPU-Z" program...

You Sir, are a gentleman and a scholar. I'll give it a spin shortly and let you know what I see.
 

3 hours ago, R-T-B said:

UnityAnalytics has a lot of bad stuff I had to template.  It sounds like a video game distopia just waiting to be turned on.  Ads?  Check.  Spying? check?  Checking how good a player you are and making you in game offers based on it?  Sure, we can do that too.

KSP obviously has none of that turned on. But the idea of it bugs me.

That's pretty much what I expected to be there TBH, and it bugs me too.
The fact that these features even exist is a concern, not because they are being used by KSP right now, but because they could be activated at any time without the customer's knowledge. IIRC T2's EULA allows them to collect pretty much whatever they want, and change what they collect without notice.
 

3 hours ago, R-T-B said:

It wants almost nothing about you other than timeframe of gaming and crash reports.

I'd actually be chill with that.

I'm chill with automated crash reporting, under the condition that I get to see the contents of the crash reports before they are sent. I'm not at all chill with it reporting when I play and for how long.

Link to comment
Share on other sites

1 hour ago, steve_v said:

You Sir, are a gentleman and a scholar. I'll give it a spin shortly and let you know what I see.

In it's current state, it still "pings" the servers at launch, one time.  But it doesn't really say anything to them (fields are blank).  After that it falls silent.  Seems to be working in initial test runs, in other words (I think, I suck at wireshark and am just tracking dns.a responses.  Sidenote:  Epic Games Store is really noisy!).

Oh, and it still shows the Unity Analytics opt-out at first launch, because why not?  No idea if it actually works since I have no idea what Unity expects, but you can try it. :lol:

I'd love to make it not even reach out to the servers but that appears to be in the Unity core itself, and there is absolutely no hope of reimplementing that.  I mean, I'd really just be better off writing my own game engine at that point.

Oh, and my product has a name.  Please don't say that name.  We have rule of law here. ;)

1 hour ago, steve_v said:

I'm chill with automated crash reporting, under the condition that I get to see the contents of the crash reports before they are sent. I'm not at all chill with it reporting when I play and for how long.

Same feels, basically.  I'm ok with even it reporting my playtime, if it asks.  It doesn't really ask though and that bugs me.  I mean, it pretends to ask, kinda...  but it's not enough for me.  I'm irritated that the opt out flag doesn't completely opt you out.  I think it just operates in a reduced capacity, and it tags your data for deletion.  Not enough, IMO.

This isn't even Taketwo's or Squad's fault, though...  this is 100% just how Unity does things.  I'd stop using their system pronto.

Edited by R-T-B
Link to comment
Share on other sites

2 hours ago, R-T-B said:

In it's current state, it still "pings" the servers at launch, one time.  But it doesn't really say anything to them (fields are blank).

Okay, so I dropped your secret sauce in the appropriate place, overwriting the shipped .dlls, then fired up KSP (1.8.0) via proxychains --> mitmproxy to see what's going on (I'm still figuring out this nifty tool, so bear with me).

Looks very much like it's still phoning home to me:

Spoiler

POST https://config.uca.cloud.unity3d.com/
                         ← 200 OK application/json 192b 5.61s
Request                         
Host:             config.uca.cloud.unity3d.com                                                                    
User-Agent:       UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                                
Accept-Encoding:  deflate, gzip                                                                                   
Accept:           */*                                                                                             
Content-Type:     application/json                                                                                
X-Unity-Version:  2019.2.2f1                                                                                      
Content-Length:   365                                                                                             
JSON                                                                                                        [m:auto]
{
    "common": {
        "appid": "39811e89-d29d-4faa-bb01-997f3cda24f0",
        "build_guid": "15721da0da695412299517d99c2e4d2a",
        "deviceid": "unknown",
        "localprojectid": "5be2ef0cdad9b1344ae103b0d475456b",
        "platform": "LinuxPlayer",
        "platformid": 13,
        "sdk_ver": "u2019.2.2f1",
        "session_count": 14,
        "sessionid": 8372668789457274197,
        "t_since_start": 3118069,
        "userid": "1ddb05956cce640a48c123610a72c706"
    }
}

Response
Content-Type:                 application/json;charset=utf-8                                                      
Content-Length:               192                                                                                 
Server:                       Jetty(9.4.z-SNAPSHOT)                                                               
Via:                          1.1 google                                                                          
Alt-Svc:                      clear                                                                               
JSON                                                                                                        [m:auto]
{
    "analytics": {
        "enabled": true,
        "events": {
            "custom_event": {
                "max_event_per_hour": 350
            }
        }
    },
    "connect": {
        "enabled": true,
        "limit_user_tracking": true,
        "player_opted_out": true
    },
    "performance": {
        "enabled": true
    }
}

----

POST https://cdp.cloud.unity3d.com/v1/events
                         ← 200 OK [no content] 5.50s
Request
Host:                     cdp.cloud.unity3d.com                                                                   
User-Agent:               UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                        
Accept-Encoding:          deflate, gzip                                                                           
Accept:                   */*                                                                                     
Content-Type:             application/json                                                                        
event_count:              3                                                                                       
data_block_id:            5b41215cda230f561741ae80f0129763                                                        
expired_session_dropped:  0                                                                                       
data_retry_count:         1                                                                                       
continuous_request:       1                                                                                       
request_ts:               1571814732199                                                                           
X-Unity-Version:          2019.2.2f1                                                                              
Content-Length:           1474                                                                                    
Couldn't parse: falling back to Raw                                                                         [m:auto]
{"common":{"appid":"39811e89-d29d-4faa-bb01-997f3cda24f0","userid":"1ddb05956cce640a48c123610a72c706","sessionid":59
7582621905198435,"platform":"LinuxPlayer","platformid":13,"sdk_ver":"u2019.2.2f1","session_count":13,"localprojectid
":"5be2ef0cdad9b1344ae103b0d475456b","build_guid":"15721da0da695412299517d99c2e4d2a","deviceid":"unknown"}}
{"type":"analytics.appRunning.v1","msg":{"duration":21,"local_time_offset":-43200000,"ts":1571814630342,"t_since_sta
rt":24761317}}
{"type":"analytics.appStop.v1","msg":{"ts":1571814630342,"t_since_start":24761477}}
{"type":"analytics.dispatcherStats.v1","msg":{"config_response":200,"config_time_in_ms":5713,"archived_recent_contai
ners":3,"queued_events":4,"queued_event_names":{"analytics.appRunning.v1":1,"analytics.appStart.v1":1,"analytics.app
Stop.v1":1,"perf.startupTime.v1":1},"found_past_containers":2,"received_recent_containers":3,"dispatched_bytes":2422
,"min_dispatched_bytes":678,"max_dispatched_bytes":1744,"dispatched_events":7,"min_dispatched_events":2,"max_dispatc
hed_events":5,"dispatched_containers":4,"dispatched_sessions":0,"max_retries":1,"sessions":0,"containers":5,"events"
:9,"bad_containers":0,"expired_containers":0,"bad_events":0,"dropped_bad_events":0,"dropped_containers":0,"max_conti
nuous_request":2,"continuous_limit_reached":0,"response":{"0":1,"200":2},"min_response_in_ms":{"0":2239,"200":5641},
"max_response_in_ms":{"0":2239,"200":5702},"last_response":0,"ts":1571814632582,"t_since_start":27000714}}

Response
No content

----

POST https://cdp.cloud.unity3d.com/v1/events
                         ← 200 OK [no content] 5.63s
Request
Host:                     cdp.cloud.unity3d.com                                                                   
User-Agent:               UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                        
Accept-Encoding:          deflate, gzip                                                                           
Accept:                   */*                                                                                     
Content-Type:             application/json                                                                        
event_count:              2                                                                                       
data_block_id:            6924cda31697251c40e6cbad9d820681                                                        
expired_session_dropped:  0                                                                                       
data_retry_count:         1                                                                                       
continuous_request:       2                                                                                       
request_ts:               1571814737757                                                                           
X-Unity-Version:          2019.2.2f1                                                                              
Content-Length:           678                                                                                     
Couldn't parse: falling back to Raw                                                                         [m:auto]
{"common":{"appid":"39811e89-d29d-4faa-bb01-997f3cda24f0","userid":"1ddb05956cce640a48c123610a72c706","sessionid":83
72668789457274197,"platform":"LinuxPlayer","platformid":13,"sdk_ver":"u2019.2.2f1","session_count":14,"localprojecti
d":"5be2ef0cdad9b1344ae103b0d475456b","build_guid":"15721da0da695412299517d99c2e4d2a","deviceid":"unknown"}}
{"type":"analytics.appStart.v1","msg":{"previous_sessionid":597582621905198435,"ts":1571814732171,"t_since_start":88
31599}}
{"type":"perf.startupTime.v1","msg":{"ts":1571814726435,"t_since_start":3096100,"gfx_before_init":443243,"gfx_initia
lized":457432,"gfx_done":652999,"first_scene":661513,"scene_init":2979529,"scene_done":3096089}}

Response
No content

----

POST https://cdp.cloud.unity3d.com/v1/events
                         ← 200 OK [no content] 5.59s
                Request                               Response                                Detail
Host:                     cdp.cloud.unity3d.com                                                                   
User-Agent:               UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                        
Accept-Encoding:          deflate, gzip                                                                           
Accept:                   */*                                                                                     
Content-Type:             application/json                                                                        
event_count:              4                                                                                       
data_block_id:            112a3caaa267c730ec87831b51adb902                                                        
expired_session_dropped:  0                                                                                       
data_retry_count:         1                                                                                       
continuous_request:       1                                                                                       
request_ts:               1571814982274                                                                           
X-Unity-Version:          2019.2.2f1                                                                              
Content-Length:           823                                                                                     
Couldn't parse: falling back to Raw                                                                         [m:auto]
{"common":{"appid":"39811e89-d29d-4faa-bb01-997f3cda24f0","userid":"1ddb05956cce640a48c123610a72c706","sessionid":83
72668789457274197,"platform":"LinuxPlayer","platformid":13,"sdk_ver":"u2019.2.2f1","session_count":14,"localprojecti
d":"5be2ef0cdad9b1344ae103b0d475456b","build_guid":"15721da0da695412299517d99c2e4d2a","deviceid":"unknown"}}
{"type":"analytics.appRunning.v1","msg":{"duration":65,"local_time_offset":-43200000,"ts":1571814791351,"t_since_sta
rt":68012087}}
{"type":"analytics.appRunning.v1","msg":{"duration":185,"local_time_offset":-43200000,"ts":1571814911340,"t_since_st
art":188000890}}
{"type":"analytics.appRunning.v1","msg":{"duration":255,"local_time_offset":-43200000,"ts":1571814982273,"t_since_st
art":258934082}}
{"type":"analytics.appStop.v1","msg":{"ts":1571814982273,"t_since_start":258934241}}

Response
No content

 

So much for opting out actually opting you out of analytics, it's clearly still sending my userid and performance data.

Side note: I now know why KSP doesn't close immediately when I tell it to (with the in-game quit button)... It's phoning home again.

 

Guess I'll go back to firewalling it's traffic.

 

Edited by steve_v
Link to comment
Share on other sites

18 minutes ago, steve_v said:

Okay, so I dropped your secret sauce in the appropriate place, overwriting the shipped .dlls, then fired up KSP (1.8.0) via proxychains --> mitmproxy to see what's going on (I'm still figuring out this nifty tool, so bear with me).

Looks very much like it's still phoning home to me:

  Hide contents


POST https://config.uca.cloud.unity3d.com/
                         ← 200 OK application/json 192b 5.61s
Request                         
Host:             config.uca.cloud.unity3d.com                                                                    
User-Agent:       UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                                
Accept-Encoding:  deflate, gzip                                                                                   
Accept:           */*                                                                                             
Content-Type:     application/json                                                                                
X-Unity-Version:  2019.2.2f1                                                                                      
Content-Length:   365                                                                                             
JSON                                                                                                        [m:auto]
{
    "common": {
        "appid": "39811e89-d29d-4faa-bb01-997f3cda24f0",
        "build_guid": "15721da0da695412299517d99c2e4d2a",
        "deviceid": "unknown",
        "localprojectid": "5be2ef0cdad9b1344ae103b0d475456b",
        "platform": "LinuxPlayer",
        "platformid": 13,
        "sdk_ver": "u2019.2.2f1",
        "session_count": 14,
        "sessionid": 8372668789457274197,
        "t_since_start": 3118069,
        "userid": "1ddb05956cce640a48c123610a72c706"
    }
}

Response
Content-Type:                 application/json;charset=utf-8                                                      
Content-Length:               192                                                                                 
Server:                       Jetty(9.4.z-SNAPSHOT)                                                               
Via:                          1.1 google                                                                          
Alt-Svc:                      clear                                                                               
JSON                                                                                                        [m:auto]
{
    "analytics": {
        "enabled": true,
        "events": {
            "custom_event": {
                "max_event_per_hour": 350
            }
        }
    },
    "connect": {
        "enabled": true,
        "limit_user_tracking": true,
        "player_opted_out": true
    },
    "performance": {
        "enabled": true
    }
}

----

POST https://cdp.cloud.unity3d.com/v1/events
                         ← 200 OK [no content] 5.50s
Request
Host:                     cdp.cloud.unity3d.com                                                                   
User-Agent:               UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                        
Accept-Encoding:          deflate, gzip                                                                           
Accept:                   */*                                                                                     
Content-Type:             application/json                                                                        
event_count:              3                                                                                       
data_block_id:            5b41215cda230f561741ae80f0129763                                                        
expired_session_dropped:  0                                                                                       
data_retry_count:         1                                                                                       
continuous_request:       1                                                                                       
request_ts:               1571814732199                                                                           
X-Unity-Version:          2019.2.2f1                                                                              
Content-Length:           1474                                                                                    
Couldn't parse: falling back to Raw                                                                         [m:auto]
{"common":{"appid":"39811e89-d29d-4faa-bb01-997f3cda24f0","userid":"1ddb05956cce640a48c123610a72c706","sessionid":59
7582621905198435,"platform":"LinuxPlayer","platformid":13,"sdk_ver":"u2019.2.2f1","session_count":13,"localprojectid
":"5be2ef0cdad9b1344ae103b0d475456b","build_guid":"15721da0da695412299517d99c2e4d2a","deviceid":"unknown"}}
{"type":"analytics.appRunning.v1","msg":{"duration":21,"local_time_offset":-43200000,"ts":1571814630342,"t_since_sta
rt":24761317}}
{"type":"analytics.appStop.v1","msg":{"ts":1571814630342,"t_since_start":24761477}}
{"type":"analytics.dispatcherStats.v1","msg":{"config_response":200,"config_time_in_ms":5713,"archived_recent_contai
ners":3,"queued_events":4,"queued_event_names":{"analytics.appRunning.v1":1,"analytics.appStart.v1":1,"analytics.app
Stop.v1":1,"perf.startupTime.v1":1},"found_past_containers":2,"received_recent_containers":3,"dispatched_bytes":2422
,"min_dispatched_bytes":678,"max_dispatched_bytes":1744,"dispatched_events":7,"min_dispatched_events":2,"max_dispatc
hed_events":5,"dispatched_containers":4,"dispatched_sessions":0,"max_retries":1,"sessions":0,"containers":5,"events"
:9,"bad_containers":0,"expired_containers":0,"bad_events":0,"dropped_bad_events":0,"dropped_containers":0,"max_conti
nuous_request":2,"continuous_limit_reached":0,"response":{"0":1,"200":2},"min_response_in_ms":{"0":2239,"200":5641},
"max_response_in_ms":{"0":2239,"200":5702},"last_response":0,"ts":1571814632582,"t_since_start":27000714}}

Response
No content

----

POST https://cdp.cloud.unity3d.com/v1/events
                         ← 200 OK [no content] 5.63s
Request
Host:                     cdp.cloud.unity3d.com                                                                   
User-Agent:               UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                        
Accept-Encoding:          deflate, gzip                                                                           
Accept:                   */*                                                                                     
Content-Type:             application/json                                                                        
event_count:              2                                                                                       
data_block_id:            6924cda31697251c40e6cbad9d820681                                                        
expired_session_dropped:  0                                                                                       
data_retry_count:         1                                                                                       
continuous_request:       2                                                                                       
request_ts:               1571814737757                                                                           
X-Unity-Version:          2019.2.2f1                                                                              
Content-Length:           678                                                                                     
Couldn't parse: falling back to Raw                                                                         [m:auto]
{"common":{"appid":"39811e89-d29d-4faa-bb01-997f3cda24f0","userid":"1ddb05956cce640a48c123610a72c706","sessionid":83
72668789457274197,"platform":"LinuxPlayer","platformid":13,"sdk_ver":"u2019.2.2f1","session_count":14,"localprojecti
d":"5be2ef0cdad9b1344ae103b0d475456b","build_guid":"15721da0da695412299517d99c2e4d2a","deviceid":"unknown"}}
{"type":"analytics.appStart.v1","msg":{"previous_sessionid":597582621905198435,"ts":1571814732171,"t_since_start":88
31599}}
{"type":"perf.startupTime.v1","msg":{"ts":1571814726435,"t_since_start":3096100,"gfx_before_init":443243,"gfx_initia
lized":457432,"gfx_done":652999,"first_scene":661513,"scene_init":2979529,"scene_done":3096089}}

Response
No content

----

POST https://cdp.cloud.unity3d.com/v1/events
                         ← 200 OK [no content] 5.59s
                Request                               Response                                Detail
Host:                     cdp.cloud.unity3d.com                                                                   
User-Agent:               UnityPlayer/2019.2.2f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)                        
Accept-Encoding:          deflate, gzip                                                                           
Accept:                   */*                                                                                     
Content-Type:             application/json                                                                        
event_count:              4                                                                                       
data_block_id:            112a3caaa267c730ec87831b51adb902                                                        
expired_session_dropped:  0                                                                                       
data_retry_count:         1                                                                                       
continuous_request:       1                                                                                       
request_ts:               1571814982274                                                                           
X-Unity-Version:          2019.2.2f1                                                                              
Content-Length:           823                                                                                     
Couldn't parse: falling back to Raw                                                                         [m:auto]
{"common":{"appid":"39811e89-d29d-4faa-bb01-997f3cda24f0","userid":"1ddb05956cce640a48c123610a72c706","sessionid":83
72668789457274197,"platform":"LinuxPlayer","platformid":13,"sdk_ver":"u2019.2.2f1","session_count":14,"localprojecti
d":"5be2ef0cdad9b1344ae103b0d475456b","build_guid":"15721da0da695412299517d99c2e4d2a","deviceid":"unknown"}}
{"type":"analytics.appRunning.v1","msg":{"duration":65,"local_time_offset":-43200000,"ts":1571814791351,"t_since_sta
rt":68012087}}
{"type":"analytics.appRunning.v1","msg":{"duration":185,"local_time_offset":-43200000,"ts":1571814911340,"t_since_st
art":188000890}}
{"type":"analytics.appRunning.v1","msg":{"duration":255,"local_time_offset":-43200000,"ts":1571814982273,"t_since_st
art":258934082}}
{"type":"analytics.appStop.v1","msg":{"ts":1571814982273,"t_since_start":258934241}}

Response
No content

 

So much for opting out actually opting you out of analytics, it's clearly still sending my userid and performance data.


Side note: I now know why KSP doesn't close immediately when I tell it to (with the in-game quit button)... It's phoning home again.

 

Guess I'll go back to firewalling it's traffic.

 

 

Appreciate the report.  The fields should be completely null and empty as data collection has been killed (it's sending reports but they are empty, is the most likely situation).

I think my earlier optout with Unity Analytics may be why mine went silent for a longer period.

 

Still, that's a bug.  Will look at her again tomorrow to try and find what allows that to happen.

EDIT: That log is...  helpful.  In all the bad ways I don't want it to be, but yeah.  It shows some data fields are still slipping through the cracks.  Basically, your guid (a random number assigned to you) and a program name.  The rest of the payload looks empty, other than the duration which I think is wrong and perhaps random memory from a null.  The server end appears to keep moaning about "no content" which is a good thing, I think.

Still, sadly, it needs work.  Tomorrow I'll look at her again.  Fresh brain always helps.

I will open a bug for this in the meantime.  For v0.1, it doesn't do nothing at all, at least!  Just not enough! :lol:

We should probably let other discussion happen though.  I will PM you next build.

 

Edited by R-T-B
Link to comment
Share on other sites

29 minutes ago, R-T-B said:

Will look at her again tomorrow to try and find what allows that to happen.

Most excellent, most excellent indeed. :D

Not only are you doing the community and myself a huge favour with those libraries, you have also motivated me to figure out how to cap SSL traffic in a non-infuriating way, which I sincerely appreciate.

I have found TLS with wireshark to be a royal PITA, since it relies on secrets scraped hit-and-miss from another application, and that other application is usually an uncooperative web browser. Could be I'm just impatient, but even so, it's annoying.

mitmproxy not only provides a slick console (or web!) UI itself, it can get those secrets for wireshark without hassle. Shameless plug for a newly discovered toy this may be, but it's been a win all around over here.
Yeah yeah, it runs on Winblows too, if you're into wearing that particular hair-shirt. :P

Edited by steve_v
Link to comment
Share on other sites

1 hour ago, R-T-B said:

Basically, your guid (a random number assigned to you) and a program name.  The rest of the payload looks empty, other than the duration which I think is wrong and perhaps random memory from a null.  The server end appears to keep moaning about "no content" which is a good thing, I think.

Like I said, I'm not yet familiar with mitmproxy's output... Not arguing mind, but I took away something slightly different from that stream.

Looks to me like Unity is sending initialisation data (guid, platform, version, etc) and getting a reply with some settings (eg. that ID has opted out, but performance analytics are still enabled).
Then it reports 3 performance tracking events (corresponding with game loading, game loaded to menu scene, and game closed respectively, the timing fits nicely) to which it receives 200 OK responses from the server with no other payload.

I'm not sure if those 3 events are somehow corrupt or if it's just the built-in JSON parser barfing, but there does seem to be believable timing data in there, which fits with the "performance enabled" response from config.uca.cloud.unity3d.com.

 

@SQUAD,

    "connect": {
        "enabled": true,
        "limit_user_tracking": true,
        "player_opted_out": true
    },
    "performance": {
        "enabled": true
    }

as a response to me having opted out of analytics really, really doesn't reassure me that your opt-out actually opts me out at all. Sure as hell looks like analytics is still enabled to me.
I said no analytics, not some analytics. TURN. IT. OFF.

 

Aside, this all makes me wonder what would happen if I were to redirect config.uca.cloud.unity3d.com to my own webserver and have it include a little more ""enabled": false" in it's response... Oh for more hours in the day.

 

Edited by steve_v
Link to comment
Share on other sites

4 hours ago, Poodmund said:

Don't go taking credit for Dan's work now!

Someone misunderstands.  Dan writes nothing.  A particular post in a far away land clarified this quite a bit.

Dan just makes random notes that I find sometimes.  This helps me code.

Dan deserves no credit as Dan is a eula-breaking criminal...  lol. :lol:

5 hours ago, steve_v said:

Like I said, I'm not yet familiar with mitmproxy's output... Not arguing mind, but I took away something slightly different from that stream.

I was tired.  Your take is acurate.  Still, it can be dealt with.

 

I would ask kindly (not a mod so not right to demand) that discussion about this is moved to said far away land, for the mods sanity.  PMs might be ok, too.

Thanks.

Edited by R-T-B
Link to comment
Share on other sites

On 10/22/2019 at 9:40 AM, Syrius said:

I get behind the whole I don't want to line your pockets at my expense, and I hate that companies monetize my data.

Has anyone thought or is there a way to write a program that can be configured to look at this type of DNS info and then send randomized, factitious, data that is 100% incorrect. Even to the point that it gives data not even relevant to the pull. ie;

[...]

You all get the idea. If they want to collect data, just give them a bunch of BS they can't use. I am not a programmer so I have no clue if this is even possible. Also, it does not decrease the use of your bandwidth and would likely eat up computing cycles as the program would be the middle man between the program and the reporting so it could feed false data.

One of the pitfalls of this approach is that, while the information isn't useful per se, you do become identifiable as "that guy who sends random answers". Your protection is ultimately only as good as the proportion of people also doing the same thing. Ergo, counterintuitively, it's actually better to give very average answers, such as that you use a standard 1920x1080 monitor, have whatever the most common CPU is, etc.

Edited by Guest
Link to comment
Share on other sites

This crap had better not be in ksp 2. I’m getting real tired of this. 

I’m also pretty confident that Information is still being gathered and that when this comes to light the statement will look like this:

”Due to a bug in our software some users have had data collected despite their opt-out, we have identified a rogue engineer and have taken measures to not be caught make sure this doesn’t happen again.”

Does blocking ksp_x64.exe’s network access block all of this or are the connections established by another process?

Edited by Jognt
Link to comment
Share on other sites

Does blocking KSP in the firewall not solve this (yeah yeah, I know not the point, - I'm going to dig into this myself in a second) but just seems like messing around with hosts files may not be necessary when you can just throttle it at the source)

Edited by severedsolo
Link to comment
Share on other sites

1 hour ago, severedsolo said:

Does blocking KSP in the firewall not solve this (yeah yeah, I know not the point, - I'm going to dig into this myself in a second) but just seems like messing around with hosts files may not be necessary when you can just throttle it at the source)

It totally does, if you don't have any mods that need network and don't want them to autoupdate, etc.

It's a kludge of a fix but it does solve it.  Hosts file is a bit more elegant.  Best way is to have code that doesn't do it in the first place, though.

9 hours ago, steve_v said:

Aside, this all makes me wonder what would happen if I were to redirect config.uca.cloud.unity3d.com to my own webserver and have it include a little more ""enabled": false" in it's response...

 

This is actually a really clever idea if you have the ability to do the above.  It'd probably really truly make the program shut up, or at least go into some kind of "bare minimum" mode.

Edited by R-T-B
Link to comment
Share on other sites

16 hours ago, R-T-B said:

To be fair, the analytic dlls appear to have absoultely zilch intetest in what you do outside the game.

It's far more interested in what it can determine about you from inside the game.  (It even logs an "event" if you skip the intro screens, for example)  So if that doesn't bother you, don't worry.

You are awesome. I appreciate your logical and rational approach to this stuff, despite disagreeing with some of your sentiments.

Link to comment
Share on other sites

5 minutes ago, MechBFP said:

You are awesome. I appreciate your logical and rational approach to this stuff, despite disagreeing with some of your sentiments.

I mean, thanks.  That's very kind of you.  I just like people to know the facts then they can make their own decisions about the rest.

Link to comment
Share on other sites

2 minutes ago, Pecan said:

Take Two Interactive introduced it to KSP 1 when they bought it.  Why would they leave it out of their new cash-cow?

How very not surprising...  sorry, I have feelings about that.  I won't say more.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...