GameIndustry.eu /  Reviews / Immortal Realms: Vampire Wars
Extinction

Immortal Realms: Vampire Wars

Publisher: Kalypso Media Group GmbH
Released: 2020
Steam ID: 1024480
Genre: 4X
System:  
Hosts entries:

Screens:
realmforge
Bild
Immortal Realms: Vampire Wars is an engaging strategy game set in a dark vampire world in turmoil, that combines empire management and turn-based combat with unique card-game elements.

  Immortal Realms: Vampire Wars Review

Immortal Realms: Vampire Wars aus dem Hause Kalypso Media Digital ist ein kontaktfreudiger 4X Titel.

Wie man es von Kalypso-Produkten bisher auch kennt, kommt das Produkt zudem mit einem eigenen Launcher daher.

Dieser beinhaltet im Endeffekt nur Werbung und Affiliatelinks zur Einkaufsplattform von Amazon. Wer will, kann dort noch ein paar News lesen, aber im Endeffekt ist der Launcher überflüssig.

Für Telemetrie / Spyware ist wieder ein alter Bekannter zuständig. Unity Technologies mit integriertem Event-Tracking und Reports, welche durchgehend aktiv sind und ständig Rücksprache mit diversen Servern halten.

Kunden werden wie es in der Branche üblich ist nicht auf der Produktseite, geschweige denn ausreichend informiert.

Involvierte Dateien


kalypsolauncher.exe, immortal realms.exe

Ausgehender Verkehr



  • 35.241.26.53
  • 35.186.194.186
  • 35.190.88.234
  • 35.241.52.229
  • 35.190.78.8
  • 217.172.184.73
  • 82.165.136.129
  • launcher01.kalypsomedia.com
  • config.uca.cloud.unity3d.com
  • cdp.cloud.unity3d.com
  • remote-config-proxy-prd.uca.cloud.unity3d.com
  • thind-gke-euw.prd.data.corp.unity3d.com
  • thind-gke-usc.prd.data.corp.unity3d.com
  • thind-gke-ape.prd.data.corp.unity3d.com
  • 53.26.241.35.bc.googleusercontent.com
  • 186.194.186.35.bc.googleusercontent.com
  • perf-events.cloud.unity3d.com


Launcher


Affiliate Werbung und Verlinkung

 http://launcher01.kalypsomedia.com/api_1.2.0
http://82.165.136.129/LAUN/Banners/ba93ecb814b0e2635a60b12a9ee77c63.jpg

action news|banner|texts|resources|launcherPatchV2|canRegisterNewsletter
infoStoredLogin
api_apiver 1.2.0
api_token 0,740310389893274
cli_appname IR
cli_baselocale de-DE
cli_appver 0.1
cli_styxver 2.0.4.3
cli_guid eindeutiger ID Block
cli_uuid eindeutiger ID Block
fam_name STEAM

<banner>
<item image="http://82.165.136.129/LAUN/Banners/ba93ecb814b0e2635a60b12a9ee77c63.jpg" link="https://www.amazon.de/dp/B08B1JK2P3?tag=kalypso0d0-21"/>
</banner>

Wird der Launcher blockiert, Internet ist ist nicht verfügbar etc. wird dieser überprungen und wir landen direkt im Spiel.

Gibt zwar eine Fehlermeldung:
 action=log&OS=Microsoft+Windows+NT+6.2.9200.0&loCode=STYX_INIT_FAILED&loP0=Exception+System.Net.WebException%3a+Die+Verbindung+mit+dem+Remoteserver+kann+nicht+hergestellt+werden.+---%3e+System.Net.Sockets.SocketException%3a+Es+konnte+keine+Verbindung+hergestellt+werden%2c+da+der+Zielcomputer+die+Verbindung+verweigerte+217.172.184.73%3a80%0d%0a+++bei+System.Net.Sockets.Socket.DoConnect(EndPoint+endPointSnapshot%2c+SocketAddress+socketAddress)%0d%0a+++bei+System.Net.ServicePoint.ConnectSocketInternal(Boolean+connectFailure%2c+Socket+s4%2c+Socket+s6%2c+Socket%26+socket%2c+IPAddress%26+address%2c+ConnectSocketState+state%2c+IAsyncResult+asyncResult%2c+Exception%26+exception)%0d%0a+++---+Ende+der+internen+Ausnahmestapel%c3%bcberwachung+---%0d%0a+++bei+System.Net.HttpWebRequest.GetRequestStream(TransportContext%26+context)%0d%0a+++bei+System.Net.HttpWebRequest.GetRequestStream()%0d%0a+++bei+Com.Realmforgestudios.Styx.Api.PrepareApiRequest(Parameters+paras)%0d%0a+++bei+Com.Realmforgestudios.Styx.Api.SynchApiRequest(Parameters+paras%2c+Boolean%26+valid)%0d%0a+++bei+Com.Realmforgestudios.Styx.Styx.Init()&api_apiver=1.2.0&api_token=0%2c954508810748583&cli_appname=IR&cli_baselocale=de-DE&cli_appver=0.1&cli_styxver=2.0.9.0&cli_guid=a7b9eb01-502d-4118-aa44-64a2faa41c12&cli_uuid=bd977604-e2a3-429d-ac4e-51a20ad3864b&fam_name=STEAM
aber die bekommen wir als Spieler regulär nicht mit. Und ja, das ist richtig, dass hier das Spiel Styx und Realmforge Studios drinstehen. Die Firma wurde 2008 durch Kalypso Media gegründet und arbeiteten an Titeln wie Dungeons 3 oder Dark.

Event-Tracking durch Unity Analytics


Ich poste hier jeweils ein Beispiel.

Etwas mehr gibt es aufbereitet über den eigens erstellten Datenauszug für Immortal Realms: Vampire Wars zu sehen.

Der erste zeigt wo wir uns als Spieler aufhalten, gegebenfalls machen, verknüpft mit eindeutigen Account und GeräteId's, Zeitstempeln uvm.
Der zweite Block gibt Hardwaredaten und Einstellungen von uns weiter.

Die Event-Telemetrie ist während der gesamten Spiele-Session aktiv, erneuert selbstständig ihre Inhalte und hält somit einen permanenten Hintergrundverkehr aufrecht.

 POST /v1/events HTTP/1.1
Host: cdp.cloud.unity3d.com
User-Agent: UnityPlayer/2018.4.18f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)
Accept: */*
Content-Type: application/json
event_count: 8
data_block_id: 9181f3302b4f147fbf4ea4c6885e1a06
expired_session_dropped: 0
data_retry_count: 1
continuous_request: 1
request_ts: 1598636510980
X-Unity-Version: 2018.4.18f1
Expect: 100-continue
Accept-Encoding: identity
Content-Length: 3317

{"common":{"appid":"358607f3-d7ad-45af-9228-432efd82a563","userid":"xxxxxx","sessionid":6005842974027931908,"platform":"WindowsPlayer","platformid":2,"sdk_ver":"u2018.4.18f1","session_count":2,"localprojectid":"6a83c68cbe586ab4fa4654801c32b1d9","build_guid":"9664534ab7b2cce4fb34c76d4fe4be6d","deviceid":"xxxxxx"}}
{"type":"perf.frame_delta_time_ms.v1","msg":{"min":4,"max":333,"mean":16,"variance":33,"count":17748,"elapsed_time_ms":300009,"collector_perf_ns":445,"histogram":{"1000":5,"11":32,"142":1,"16":14300,"22":3328,"250":2,"33":35,"66":20,"8":25},"ts":1598636211513,"t_since_start":913547099}}
{"type":"perf.renderingInfo.v3","msg":{"ctx_name":"unload_scene","ctx_scene":"BM_Fields01","target_frame_rate":0,"total_frames":53791,"total_long_frames":0,"frames_since_reset":12764,"long_frames_since_reset":0,"time_since_reset_dtms":214388,"mean_dtms":16,"min_dtms":6,"max_dtms":447,"variance_dtms":0,"draw_calls":0,"batches":0,"frame_count_by_second":{"25":1,"40":1,"60":211,"70":1},"ts":1598636218647,"t_since_start":920681443}}
{"type":"perf.renderingInfo.v3","msg":{"ctx_name":"unload_scene","ctx_scene":"BattleModeEssentials","target_frame_rate":0,"total_frames":53791,"total_long_frames":0,"frames_since_reset":0,"long_frames_since_reset":0,"time_since_reset_dtms":0,"mean_dtms":0,"min_dtms":0,"max_dtms":0,"variance_dtms":0,"draw_calls":0,"batches":0,"frame_count_by_second":{},"ts":1598636218648,"t_since_start":920681663}}
{"type":"perf.renderingInfo.v3","msg":{"ctx_name":"scene_loaded_after_awake","ctx_scene":"Tutorial Scene","ctx_mode":"scene_load","target_frame_rate":0,"total_frames":53791,"total_long_frames":0,"frames_since_reset":0,"long_frames_since_reset":0,"time_since_reset_dtms":0,"mean_dtms":0,"min_dtms":0,"max_dtms":0,"variance_dtms":0,"draw_calls":0,"batches":0,"frame_count_by_second":{},"ts":1598636218972,"t_since_start":921005593}}
{"type":"perf.renderingInfo.v3","msg":{"ctx_name":"change_active_scene","ctx_prev_scene":"null","ctx_new_scene":"Tutorial Scene","target_frame_rate":0,"total_frames":53791,"total_long_frames":0,"frames_since_reset":0,"long_frames_since_reset":0,"time_since_reset_dtms":0,"mean_dtms":0,"min_dtms":0,"max_dtms":0,"variance_dtms":0,"draw_calls":0,"batches":0,"frame_count_by_second":{},"ts":1598636219004,"t_since_start":921038426}}
{"type":"perf.sceneLoadingTime.v1","msg":{"ts":1598636219037,"t_since_start":921070640,"scene_name":"Tutorial Scene","scene_index":8,"background_time":859253112,"integrate_time":468005310,"ts_integrate_time":282084014,"total_time":1751578491}}
{"type":"perf.renderingInfo.v3","msg":{"ctx_name":"scene_loaded_after_awake","ctx_scene":"KingdomModeEssentials","ctx_mode":"scene_load_additive","target_frame_rate":0,"total_frames":53862,"total_long_frames":0,"frames_since_reset":71,"long_frames_since_reset":0,"time_since_reset_dtms":2174,"mean_dtms":30,"min_dtms":9,"max_dtms":511,"variance_dtms":4,"draw_calls":0,"batches":0,"frame_count_by_second":{"5":1,"60":1},"ts":1598636220877,"t_since_start":922910678}}
{"type":"perf.sceneLoadingTime.v1","msg":{"ts":1598636221029,"t_since_start":923062706,"scene_name":"KingdomModeEssentials","scene_index":10,"background_time":359960601,"integrate_time":293955993,"ts_integrate_time":2826499,"total_time":670443115}}

Report - Weitergabe von Hardwaredaten und Einstellungen



 https://perf-events.cloud.unity3d.com/api/v2/projects/358607f3-d7ad-45af-9228-432efd82a563/reports

POST /api/v2/projects/358607f3-d7ad-45af-9228-432efd82a563/reports HTTP/1.1
Host perf-events.cloud.unity3d.com
User-Agent UnityPlayer/2018.4.18f1 (UnityWebRequest/1.0, libcurl/7.52.0-DEV)
Accept */*
Accept-Encoding identity
Content-Type application/json
X-Unity-Version 2018.4.18f1
Content-Length 3117
Expect 100-continue

{
"app_build": "",
"install_mode": "",
"install_store": "",
"name": "Palindrome Interactive.Immortal Realms",
"version": "1.0",
"build_guid": "9664534ab7b2cce4fb34c76d4fe4be6d",
"build_tags": [],
"client_report_id": "xxxxxx",
"client_ts": 1598640432120,
"userid": "xxxxxx",
"debug_device": false,
"cpu": "AMD Ryzen 5 2600X Six-Core Processor ",
"cpu_count": 12,
"cpu_freq": 3593,
"device_info_flags": 2198042570,
"rooted_or_jailbroken": false,
"device_model": "B450 AORUS PRO (Gigabyte Technology Co., Ltd.)",
"device_ram": 32699,
"screen_size": "2560 x 1440",
"screen_dpi": 96,
"refresh_rate": 59,
"sensor_flags": 144,
"system_language": "de",
"device_type": 3,
"device_vram": 8079,
"enabled_vr_devices": [],
"gpu_api": 2,
"gpu_caps": 8354815,
"gpu_copy_texture_support": 31,
"gpu_device_id": 7040,
"gpu_vendor_id": 4318,
"gpu_driver": "",
"gpu_max_cubemap_size": 16384,
"gpu_max_texture_size": 16384,
"gfx": "NVIDIA GeForce GTX 1080",
"gpu_render_texture_support": 511,
"gpu_shader_caps": 50,
"gpu_supported_render_target_count": 8,
"gpu_texture_format_support": 915,
"gpu_vendor": "NVIDIA",
"gpu_version": "Direct3D 11.0 [level 11.1]",
"is_editor": false,
"is_fullscreen": true,
"is_wsar_remote": false,
"is_ar_app": false,
"localprojectid": "6a83c68cbe586ab4fa4654801c32b1d9",
"os_family": 2,
"os": "Windows 10 (10.0.0) 64bit",
"platform": "WindowsPlayer",
"platformid": 2,
"appid": "358607f3-d7ad-45af-9228-432efd82a563",
"screen_orientation": 1,
"scripting_backend": "Mono",
"sessionid": 3305803749419966127,
"sdk_ver": "2018.4.18f1",
"sdk_ver_full": "2018.4.18f1_61fce66342ad",
"vr_device_name": "",
"vr_device_model": "",
"counter": 1,
"managed_exception": {
"type": "NullReferenceException",
"message": "NullReferenceException: Object reference not set to an instance of an object",
"stack_trace": "Lightning+<LightningFX>d__6.MoveNext () (at <c481caa7fc354e4b8ed53fcf98fe6339>:0)\nUnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <7cd45074592849c798ee04bb333cbf3a>:0)\n"
},
"log_messages": [{
"message": "The referenced script on this Behaviour (Game Object 'Scout_FX (Red) (1)') is missing!",
"ts": 1598640405585,
"frame": 9179,
"type": 2
}, {
"message": "The referenced script on this Behaviour (Game Object 'Scout_FX (1)') is missing!",
"ts": 1598640405589,
"frame": 9179,
"type": 2
}, {
"message": "The referenced script on this Behaviour (Game Object 'HealSingleTarget_FX') is missing!",
"ts": 1598640405590,
"frame": 9179,
"type": 2
}, {
"message": "Found more than 1 CameraMovement2. Destroying all except 1",
"ts": 1598640406554,
"frame": 9187,
"type": 2
}, {
"message": "DontDestroyOnLoad only work for root GameObjects or components on root GameObjects.",
"ts": 1598640406557,
"frame": 9187,
"type": 2
}, {
"message": "Key is missing on AutoTranslateScript on gameobject: Theme Text",
"ts": 1598640406563,
"frame": 9187,
"type": 3
}, {
"message": "Checking Languages",
"ts": 1598640406564,
"frame": 9187,
"type": 3
}, {
"message": "Scene Load Stage 6",
"ts": 1598640406747,
"frame": 9187,
"type": 3
}, {
"message": "Nope",
"ts": 1598640407182,
"frame": 9189,
"type": 3
}, {
"message": "Scene fully loaded called BM_Graveyard01",
"ts": 1598640407681,
"frame": 9220,
"type": 3
}],
"user_metadata": []
}

Fazit


Die Methoden wie auch Spiel selbst, ernüchternd, nicht nur in Hinsicht auf die integrierte Schnüffelei und Ignoranz uns Kunden gegenüber. Was ist überhaupt so schwer daran Verbraucher zu informieren und vernünftige Lösungen in eigene Produkte zu integrieren?

Am Ende bleibt nur die Frage offen, wer in Wirklichkeit die Blutsauger sind..

  Rules for posting comments can be found in the F.A.Q.