Spielzeit:
762 Minuten
Wer sich wundert, warum Einzelspielertitel eine Verbindung ins Internet und damit Firewallfreigaben benötigen, bekommt hier die Antwort.
Das Review selbst ist kurz, aber mit einigen Codebeispielen zwecks Verständnis angereichert, sodass sich jeder ein eigenes Bild von dem Titel machen kann.
# Edit 04.04.2020:
Dem Entwicklerfeedback nach ist alles in Ordnung und sie beharren auf Anonymität und Sicherheit trotz widerlegten Fakten. Das Gute dabei ist, dass eine Diskussion stattfindet. Das Schlechte? Dass noch nicht ganz durchgesickert ist, dass sie nachbessern müssen.
[h1]Involvierte Dateien und weitere Details[/h1]
Produktname: Operencia: The Stolen Sun
Datei: operencia-win64-shipping.exe
Version: 4.24.2.0
Firma: Zen Studios Ltd.
[h1]Kontaktierte ipv4 Adressen und hostnamen[/h1]
[olist]
[*]94.130.71.66
[*]wt.zenstudios.com # Vollständig: http://wt.zenstudios.com/1/
[/olist]
Wem fällt hier etwas auf? Richtig! Für ein "s" hinter dem Http scheint das Budget von Epic Games wohl nicht mehr gereicht zu haben. Unsere Daten gehen ohne SSL Verschlüsselung auf Reisen \^.^/
https://steamcommunity.com/sharedfiles/filedetails/?id=2044339874
[h1]Eula[/h1]
Eine Eula und damit verbundene Datenschutzerklärung gibt es nur in englischer Sprache auf der Produktseite in Steam. Insbesondere der nichts sagende [url=https://store.steampowered.com//eula/985950_eula_0]Punkt 3[/url].
Alternativ gibt es eine detaillierte Version auf der Webseite von [url=https://blog.zenstudios.com/privacy_policy.html]Zen Studios Ltd.[/url]
[h1]Was steckt denn nun drin im Spiel?[/h1]
Livetracking oder wenn man so will eine Kamera, die einen auf Schritt und Tritt verfolgt und jede Spieleraktion und Fortschritt aufzeichnet. Mitsamt einmaligen Identifier, wie einer NutzerID und GeräteID. Weitere Werte sind z.b. Levelids, Itemnamen, Kampfids, Zeitstempel und einige weitere Dinge. Spieler sind komplett gläsern.
Werte sind durch entnommene Trackingdaten ersichtlich. Schwer ist es für Operencia nicht. Selbst Unerfahrene können hier sehen was von Statten geht ;]
[h1]Codebeispiele und Kurzbeschreibung[/h1]
[b]Headerbeispiel[/b]
[code]
POST /1/ HTTP/1.1
Host wt.zenstudios.com
URL http://wt.zenstudios.com/1/
Accept */*
Accept-Encoding deflate, gzip
User-Agent X-UnrealEngine-Agent
Content-Type application/json
Content-Length 333
Connection keep-alive
Remote Address wt.zenstudios.com/94.130.71.66:80
und Response
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 02 Apr 2020 00:48:08 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.30-0+deb8u1
[/code]
[b]Das Spiel startet - erstmal werden Hard,- Softwaredaten mit eindeutigen Identifier vom Spieler abzockt ;][/b]
So wirklich passen die Werte zwar nicht, aber gut, will mich nicht beklagen.
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.50.42",
"eventType": "SessionBegin",
"SessionId": "637213746428990000",
"platform": "Windows",
"OSVersion": "Windows 8.",
"CPU": "AMD Ryzen 5 2600X Six-Core Processor (6/12)",
"GPU": "NVIDIA GeForce GTX 1080",
"serial": 3,
"deviceId": "xxxxxxxx"
}[/code]
[b]Hauptmenü erreicht - Spielstart - Intro wird gezeigt[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.51.32",
"eventType": "LevelStart",
"GameId": "637213818903920000",
"GameTime": 0,
"LevelId": "prolog_intro",
"LevelTime": 0,
"platform": "Windows",
"serial": 5,
"deviceId": "xxxxxxxx"
}[/code]
[b]Eimer mit Wasser im Anfangsgebiet wird gefüllt (Was, kein Achievement?)[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.53.45",
"eventType": "InventoryIn",
"GameId": "637213818903920000",
"GameTime": 79,
"LevelId": "Level0_Prologue_T",
"LevelTime": 79,
"ItemName": "lv0_filled_bucket",
"Type": 0,
"Amount": 1,
"TotalAmount": 1,
"platform": "Windows",
"serial": 17,
"deviceId": "xxxxxxxx"
}[/code]
[b]Kampf gegen die ersten beiden Gegner (Echsen, Drachen was auch immer) mitsamt Gruppenkonstellation[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.54.27",
"eventType": "BattleStart",
"GameId": "637213818903920000",
"GameTime": 110,
"LevelId": "Level0_Prologue_T",
"LevelTime": 110,
"BattleId": "637213748674210000",
"CombatId": "lv_00_combat_group_dragonkin_01",
"PartyJson": [
["Attila", 292, 240, 120, 160, 40],
["Réka", 215, 280, 125, 150, 50],
["empty", 0, 0, 0, 0, 0],
["empty", 0, 0, 0, 0, 0]
],
"platform": "Windows",
"serial": 23,
"deviceId": "xxxxxxxx"
}[/code]
[b]Sieg für uns ^^ War ja auch ein einfacher Tutorialkampf gegen nur 2 Viecher...[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.57.22",
"eventType": "BattleEnd",
"GameId": "637213818903920000",
"GameTime": 250,
"LevelId": "Level0_Prologue_T",
"LevelTime": 250,
"BattleId": "637213748674210000",
"Result": 1,
"Duration": 175.19900512695313,
"PartyJson": [
["Attila", 292, 183, 120, 160, 40],
["Réka", 215, 225, 125, 150, 50],
["empty", 0, 0, 0, 0, 0],
["empty", 0, 0, 0, 0, 0]
],
"platform": "Windows",
"serial": 24,
"deviceId": "xxxxxxxx"
}[/code]
[b]Zwischensequenz fängt an und Spieler werden auf das erste Puzzle vorbereitet[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.57.36",
"eventType": "FullScreenDialogueEnd",
"GameId": "637213818903920000",
"GameTime": 254,
"LevelId": "Level0_Prologue_T",
"LevelTime": 254,
"DialogueId": "LV0_PRO_MAINPUZZLE_DIA1",
"SkippedAt": 0,
"Duration": 1.8309999704360962,
"platform": "Windows",
"serial": 25,
"deviceId": "xxxxxxxx"
}
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.59.43",
"eventType": "Interact",
"GameId": "637213818903920000",
"GameTime": 268,
"LevelId": "Level0_Prologue_T",
"LevelTime": 268,
"ActorName": "BP_MirrorPuzzle7",
"platform": "Windows",
"serial": 30,
"deviceId": "xxxxxxxx"
}
[/code]
[b]Genug getestet, Spiel wird gespeichert[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.01-23.59.43",
"eventType": "GameSaved",
"GameId": "637213818903920000",
"GameTime": 268,
"LevelId": "Level0_Prologue_T",
"LevelTime": 268,
"SecretsRemaining": 0,
"FirewoodAvailable": 0,
"ExplorationRate": 0.20999999344348907,
"platform": "Windows",
"serial": 33,
"deviceId": "xxxxxxxx"
}[/code]
[b]Und natürlich wird nach dem Spielen auch das Werk geschlossen. Auch das wird ganz genau protokolliert :D[/b]
[code]
{
"userId": "xxxxxxxx",
"appName": "ForgottenTales",
"appVersion": "1.3.0 (21540s)",
"localTimestamp": "2020.04.02-00.01.12",
"eventType": "SessionEnd",
"SessionId": "637213746428990000",
"Duration": 629.50201416015625,
"platform": "Windows",
"serial": 34,
"deviceId": "xxxxxxxx"
}[/code]
[h1]Fazit[/h1]
Der Dienst aktiviert sich natürlich in jeder Spielsitzung und sammelt unermüdlich neben Daten auch noch eine Menge Hintergrundtraffic an.
Immerhin gibt es bei der Steamversion von Operencia: The Stolen Sun nicht noch die Schnüffelei des [url=https://steamcommunity.com/groups/penguindome/discussions/6/1744479698800833681/]Epic Game Launcher[/url] als Bonus mit dazu
--
Wer in Ruhe zocken will ohne sich um derlei Kram Gedanken zu machen kann wahlweise die Ipv4 Adresse inkl. hostnamen bei Bedarf und zum Schutz eigener Privatsphäre während des Spielens blockieren. Die Funktionalität des Produktes wird dadurch nicht beeinträchtigt.
👍 : 248 |
😃 : 32