{"id":48600424,"url":"https://github.com/geeooff/forza-data-web","last_synced_at":"2026-04-24T15:01:12.107Z","repository":{"id":48089842,"uuid":"142606318","full_name":"geeooff/forza-data-web","owner":"geeooff","description":"Forza Motorsport / Forza Horizon Data-Out receiver web application","archived":false,"fork":false,"pushed_at":"2025-12-17T19:43:11.000Z","size":862,"stargazers_count":42,"open_issues_count":6,"forks_count":13,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-12-21T07:53:44.489Z","etag":null,"topics":["asp-net-core","console-app","csharp","dotnet-core","game","web-app"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geeooff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-07-27T17:36:27.000Z","updated_at":"2025-12-17T19:43:10.000Z","dependencies_parsed_at":"2024-06-20T13:41:09.433Z","dependency_job_id":"b0a7502f-e922-459f-9fbd-b44de888b10a","html_url":"https://github.com/geeooff/forza-data-web","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/geeooff/forza-data-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeooff%2Fforza-data-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeooff%2Fforza-data-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeooff%2Fforza-data-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeooff%2Fforza-data-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geeooff","download_url":"https://codeload.github.com/geeooff/forza-data-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geeooff%2Fforza-data-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32228437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","console-app","csharp","dotnet-core","game","web-app"],"created_at":"2026-04-08T22:00:19.234Z","updated_at":"2026-04-24T15:01:12.101Z","avatar_url":"https://github.com/geeooff.png","language":"C#","funding_links":[],"categories":["Telemetry \u0026 Data Analysis"],"sub_categories":["Forza"],"readme":"# Forza Data (Web)\n\nForza Motorsport and Forza Horizon real time telemetry receiver programs, with some utility tools.\n\nBased on Turn10 official documentation:\nhttps://support.forzamotorsport.net/hc/en-us/articles/21742934024211-Forza-Motorsport-Data-Out-Documentation\n\n## Supported features\n\nOnly a console program is available at this moment. It displays live data at 60 Hz.\n\n![image](docs/assets/screenshots/console.png)\n\nData can be recorded using a sample recorder program, and will be replayable at a later date.\n\nWeb UI will be supported later, when core functionalities are stable.\nIt should leverage [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API), most probably from [SignalR](https://dotnet.microsoft.com/en-us/apps/aspnet/signalr), to receive live or previously-recorded data at 60 Hz.\n\n## Protocol compatibility\n\n### Sled vs Car Dash\n\n_Sled_ data is for SimRacing motion platforms, so it contains motion values and a few other ones.\n\n_Car Dash_ extends _Sled_ data with car-dashboard related metrics, eg. speed, power, torque, gear, lap times, etc.\n\nTo see all available data fields, please have a look on the data structure files:\n- [Sled structure](Core/ForzaSledDataStruct.cs)\n- [Car Dash structure](Core/ForzaCarDashDataStruct.cs)\n- [Horizon extras structure](Core/ForzaHorizonExtrasDataStruct.cs)\n- [Motorsport extras structure](Core/ForzaMotorsportExtrasDataStruct.cs)\n\n### Game Support\n\n| Game                    | Sled     | Car Dash | Horizon extras | Motorsport extras |\n|-------------------------|----------|----------|----------------|-------------------|\n| Forza Motorsport 7      | Yes      | Yes      | N/A            | N/A[^3]           |\n| Forza Horizon 4         | Yes[^1]  | Yes      | Partial[^2]    | N/A               |\n| Forza Horizon 5         | Yes[^1]  | Yes      | Partial[^2]    | N/A               |\n| Forza Motorsport (2023) | Yes      | Yes      | N/A            | Yes[^4]           |\n\n[^1]: Forza Horizon enforces Car Dash data type\n[^2]: Forza Horizon extra data is not documented. Only the car category (from community assumptions) is decoded. Thanks to them !\n[^3]: Forza Motorsport extra data was introduced in 2023 edition, FM7 doesn't emit such data\n[^4]: Forza Motorsport (2023) extra data exposes tire wear and track ID\n\n## How to run\n\nSupported operating systems are the same as [.NET 8 compatibility](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md) : Windows, Linux and macOS.\n\nPrebuilt executables are not yet available in GitHub releases, but it's really easy to build the source code yourself.\n\n### Prerequisites\n\n1. [Git](https://www.git-scm.com/downloads) to get the source code\n2. [.NET 8.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet) to build the source code\n\n### How to get source code\n\n```shell\ngit clone https://github.com/geeooff/forza-data-web.git\ncd forza-data-web\n```\n\n### How to enable Data-Out feature in the game\n\n\u003e **Note for Windows as both game and receiving app**:\n\u003e Only Forza Motorsport (2023) allows to send data to 127.0.0.1.\n\u003e For earlier games you will need a separate compute to receive the data.\n\nStart the game on your Windows computer or your Xbox.\nGo to game options and look for _Data Out_ options :\n1. `Data Out IP Address` : enter the IP Address of **the computer that will run the console program**\n2. `Data Out IP Port` : enter the network port you want to **listen on this computer** (1024 to 65535)\n3. `Data Out Packet Format` : if available, choose **Car Dash** (recommended) or **Sled**\n4. `Data Out` : set to **ON**\n\n### How to run the console program\n\n```shell\ncd Console\ndotnet run --server \u003cserverIpAddress\u003e --port \u003cport\u003e\n```\n\n#### Arguments\n\n- `-s` or `--server` : the IP Address of your Xbox or Computer that runs the game\n- `-p` or `--port` : the network port you chose in the game\n\n#### Example\n\nFor example, if your Xbox or Windows Game Computer has `192.168.0.100` IP Address, and you chose `7777` network port to communicate:\n\n```shell\ndotnet run --server 192.168.0.100 --port 7777\n```\n\nThe console will show `RACE` or `PAUSE` in the top left corner if race is on or not.\n\n_Note_ : To quit the program just hit `CTRL+C` or `CTRL+Break`.\n\n### How to record a sample\n\n```shell\ncd SampleRecorder\ndotnet run --server \u003cserverIpAddress\u003e --port \u003cport\u003e --output \u003cfile\u003e\n```\n\n#### Arguments\n\n- `-s` or `--server` : the IP Address of your Xbox or Computer that runs the game\n- `-p` or `--port` : the network port you chose in-game\n- `-o` or `--output` : the output file to record to\n\n#### Example\n\n```shell\ndotnet run --server 192.168.0.100 --port 7777 --output sample.bin\n```\n\n_Note_ : If you want to quit the recorder program, just hit `CTRL+C` or `CTRL+Break`.\nThe output file will be deleted if no data is received.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeeooff%2Fforza-data-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeeooff%2Fforza-data-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeeooff%2Fforza-data-web/lists"}