Skip to content

Add CS2 Profile Stats - #224

Open
Shightrox wants to merge 1 commit into
SteamClientHomebrew:mainfrom
Shightrox:add-cs2-profile-stats
Open

Add CS2 Profile Stats#224
Shightrox wants to merge 1 commit into
SteamClientHomebrew:mainfrom
Shightrox:add-cs2-profile-stats

Conversation

@Shightrox

@ShightroxShightrox commented Aug 14, 2026

Copy link
Copy Markdown

CS2 Profile Stats

Embeds a compact CS2 performance card directly below the online-status block on Steam Community profiles. It combines Premier, Leetify, FACEIT, recent-match, Steam activity, and optional public-inventory data, then exposes the extended metrics in a Steam-native details view.

Repository: https://github.com/Shightrox/millennium-cs2-profile-stats

Stable release: v0.4.4

Pinned commit: 324378d

Validation: GitHub Actions passes dependency installation, manifest-version consistency, TypeScript checks, a production build, and Lua parsing.

No API key is required. A Leetify developer key is optional and only improves rate limits. The plugin has no telemetry and does not persist player statistics.

Preview

Premier + FACEIT

Full Steam profile with Premier and FACEIT data

No Premier rating

Full Steam profile without a Premier rating

How it differs from existing store plugins

  • millennium-faceit-stats is focused on FACEIT. This plugin is an aggregate profile panel: Premier, Leetify performance, recent results, FACEIT, Steam playtime/account data, and an on-demand public-inventory estimate remain independently available when another provider has no data.
  • leetify-extension and csstats-extension primarily provide links to external stat pages. This plugin keeps the useful summary and match context inside the Steam profile, with an expandable detail view.
  • The card adapts to partial profiles, vanity URLs, private Steam data, missing Premier/FACEIT accounts, and optional-provider failures instead of hiding the whole panel.

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
  • My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.

Plugin Functionality

  • I have tested the plugin on both the Stable and Beta Steam update channels.
  • My plugin is unique, or provides additional or alternative functionality to plugins already on the store.

The plugin has been tested in the Steam Client Stable channel with Millennium. The combined checkbox remains open because the Beta channel has not yet been tested.

Backend Configuration

  • No: I use a standard Millennium Python backend in my plugin.
  • No: I use custom binaries or rely on non-Millennium backend projects. The plugin uses a standard Millennium Lua backend (backendType: lua) and ships no executables or native libraries.

Community Contribution

  • I have tested and left feedback on two other plugin pull requests.
  • I have added links to those feedback comments in this PR.

Feedback left after source audits and live Steam Client Stable testing:


Testing Instructions

  1. Install the pinned commit, restart Steam, enable CS2 Profile Stats under Millennium → Plugins, and save the changes.
  2. Leave the optional Leetify API key empty to exercise the default keyless path.
  3. Open any public Steam profile with a Premier rating and FACEIT data. A compact card should appear below the online-status block with Premier, FACEIT level, Leetify rating, match count, K/D, Aim, reaction/AWP timing, win rate, and recent form. Author-tested reproducible example: https://steamcommunity.com/id/equagin/.
  4. Open any public Steam profile without a Premier rating. The card should still render correctly with the remaining available metrics. Author-tested reproducible example: https://steamcommunity.com/id/phobiaofnipples/.
  5. Expand Details and verify the Overview, Matches, FACEIT, and Steam tabs. Missing/private values should show a neutral unavailable state rather than a plugin warning.
  6. In the Steam tab, request the inventory estimate. Public inventories should be valued on demand; private inventories should report that they are unavailable.
  7. Disable the plugin and reload a profile. The card and its injected styles should be removed.

Third-party data comes from the Leetify public API/web profile, Faceit Finder, optional SCOPE.GG public profile data, and Steam Community/Market endpoints. Provider requests are isolated so a single unavailable source does not suppress the other data.

  • Verified by a third party on Steam Client Stable.
  • Verified by a third party on Steam Client Beta.

This was referenced Aug 14, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Shightrox