The Complete Wiki to Discord Game Stats Widgets
Discord profiles can now show real game progress.
Games claimed on Discord can display rank, playtime and wins right on a player’s profile.
Here is how to set up the primary fields in the Developer Portal. 🎮
📝 Note: Game Stats Widgets only work for games that have been claimed on Discord, so complete game claiming first.
What Are Game Stats Widgets?
A Game Stats Widget lets players show off progress such as rank, playtime and wins on their Discord profile. Friends see live updates, which keeps your game visible outside play sessions.
Discord supports two kinds of data. Primary fields use fixed keys defined by Discord. Dynamic fields are custom stats you name yourself.
Key fact: Primary fields such as rank_name, total_wins and playtime_hours have fixed keys, so your data stays consistently structured.
💡 Tip: Use a primary field whenever your game has a matching concept. Save dynamic fields for stats the primary set cannot cover.
Before You Start
- Create a Discord application in the Developer Portal.
- Enable the Discord Social SDK and agree to its terms.
- Claim your game from the Developer Portal.
⚠️ Heads up: If you do not see Games, then Widget in the sidebar, your game has likely not been claimed yet.
Configuring Fields in the Developer Portal
🛠️ Quick Setup Flow
🌐 1. Open the Developer Portal and select your game
↓
🧩 2. Go to Games, then Widget in the left sidebar
↓
🎨 3. Pick a layout for each surface
↓
🏷️ 4. Add fields like rank_name, playtime_hours and total_wins
↓
👀 5. Preview the result
Surfaces include Widget Top and Widget Bottom on a full profile, plus the stats grid with six stat slots.
Choosing Value and Presentation Types
| Setting | Option | What It Does |
|---|---|---|
| Value type | User Data | Pulls the key you send through the API, like rank_name |
| Value type | Custom String | Shows the same static text for every player |
| Value type | Application Asset | Shows an image you uploaded to the portal |
| Presentation | Number | Compacts values, so 1500 becomes 1.5K |
| Presentation | Duration | Reads a number as milliseconds |
| Presentation | Text | Shows strings as is |
🧪 Test first: The Duration type reads numbers as milliseconds, but playtime_hours is measured in hours. Use the Number type for it, and check the preview before you ship.
Sending Player Data
Players must first link their Discord account to your game and grant the application_identities.write scope.
Your game server then sends stats to the Application Identity Profile API using your bot token.
📤 Quick Data Flow
🔗 1. Player links their Discord account
↓
💾 2. Store their Discord ID next to your game’s player ID
↓
📡 3. Send a PATCH request with your bot token
↓
🏆 4. Stats appear on their profile
A basic payload sends rank_name as Silver, playtime_hours as 69.41 and total_wins as 57.
🔐 Reminder: The provider_issued_user_id is your game’s own player ID, not a Discord ID.
⚠️ Caution: One developer write up says a PATCH replaces the whole data object, so send every field each time and confirm in the docs.
Design Tips for Great Widgets
Pick stats that are easy to read out of context.
- Rank. Players understand Gold or Platinum without game knowledge.
- Wins and playtime. They signal dedication and experience.
- Skip forced fits. A puzzle game may have no rank, so use a dynamic field instead.
- Test with real data. Send sample payloads for several players before launch.
💡 Tip: Choose between total_wins and current_period_wins based on what your game tracks. One widget can show both as separate fields.
Common Mistakes to Avoid
- Skipping game claiming. Without it, the Widget menu will not appear.
- Mixing up IDs. Use your own player ID in the path, not a Discord ID.
- Wrong units. Send playtime in hours and format it as a Number.
- Forgetting to preview. Check every surface before you publish.
📝 Note: Players choose whether to add your widget to their profile, so clear, readable stats help adoption.
For official steps, read Discord’s Game Stats Widgets overview, widget configuration guide and sending game data guide. Want to swap ideas with other developers? Browse communities on discords.ai.
FAQ
What are Game Stats Widgets?
They show player progress such as rank, playtime and wins on a Discord profile, using data your game sends.
Which games can use them?
Only games that have been claimed on Discord, with the Social SDK enabled for the application.
What are primary fields?
Predefined fields with fixed keys set by Discord, such as rank_name, total_wins and playtime_hours.
Where do I configure the widget?
In the Developer Portal, under Games, then Widget in the left sidebar.
What are dynamic fields?
Custom stats you name yourself, for data the primary set does not cover, like a win streak.
How do I format playtime?
Send hours in playtime_hours and display it with the Number type, since Duration expects milliseconds.
Do players need to link their account?
Yes. Players must link their Discord account to your game before you can write to their profile.
Can players see updates live?
Yes. Friends see live updates to the stats on a player’s profile.
Where can I read the official docs?
Start with the Game Stats Widgets overview and the Application Identity Profile resource.
Title: The Complete Wiki to Discord Game Stats Widgets
Slug: discord-game-stats-widgets-guide
Excerpt: Learn how to configure Discord Game Stats Widgets in the Developer Portal, from primary fields like rank_name and total_wins to sending player data.
Tags: Discord Game Stats Widgets, Discord Developer Portal, Application Identity Profile, Discord Social SDK, rank_name, playtime_hours, Discord Developers
Meta Title: Discord Game Stats Widgets: Configure Fields in the Portal
Meta Description: Set up Discord Game Stats Widgets with rank_name, playtime_hours and total_wins in the Developer Portal. Learn the setup flow, field types and best practices.
Category: Tech / Gaming
The body is about 840 words, which is your 600 plus 250. I left out the “On This Page” box this time and used eight note boxes instead. One of those notes is my own reading of the docs. Duration expects milliseconds while playtime_hours is in hours, so check the preview in the portal before you publish.
"Title: The Complete Wiki to Discord Webhook Integration, Focus: Creating webhooks in channel integrations, formatting JSON payloads, and generating custom embeds."
pls dont add what is in this page , or add more 150 words
"Title: The Complete Wiki to Troubleshooting Discord Linux Memory Leaks, Focus: Tracking X11 connection limits and applying the latest client patches for NVIDIA users."
The Complete Wiki to Troubleshooting Discord Linux Memory Leaks
Discord on Linux can quietly eat your system resources.
On NVIDIA systems, a leak of X11 connections could stop new apps from opening.
Here is how to track it and apply the fix. 🐧
📝 Note: Discord’s patch notes describe leaked X11 connections, not RAM usage. The two problems can appear together, but they are separate.
🧭 On This Page
What Discord Fixed
Discord’s July 7, 2026 patch notes list a Linux fix. The client slowly leaked X11 connections on systems with an NVIDIA GPU, eventually preventing new apps from opening.
Key fact: The fix targets NVIDIA systems on Linux. Update Discord first before trying other workarounds.
Understanding X11 Connection Limits
An X server accepts a limited number of clients at once. Many setups default to 256, which you can confirm in the Xorg log.
When a leaking app uses them up, new apps fail with a familiar error.
| Symptom | Likely Cause | What to Do |
|---|---|---|
| “Maximum number of clients reached” | Connection limit hit | Close apps, update Discord |
| “Cannot open display” | X server refusing new clients | Restart Discord, then retry |
| New apps will not launch | A leaking client is holding connections | Track the culprit |
How to Track the Leak
🔎 Quick Tracking Flow
🧪 1. Open a terminal while the problem is fresh
↓
📊 2. Run the command below to rank apps by connections
↓
👀 3. Look for Discord near the top of the list
↓
🔁 4. Restart Discord and check again
lsof -U +c 15 | cut -f1 -d' ' | sort | uniq -c | sort -rn | head -3To confirm your limit, search your Xorg log. The path can differ by distro.
grep -i "max clients" /var/log/Xorg.0.logApplying the Latest Client Patch
⬇️ Quick Patch Flow
📥 1. Check your Discord version in Settings
↓
🔄 2. Update through your package manager or Discord’s download page
↓
🔁 3. Fully quit and relaunch Discord
↓
✅ 4. Run the tracking command again after a few hours
Packaged versions such as Flatpak, Snap and distro builds may lag behind. Check that yours includes the July 7 fix.
⚠️ Heads up: Discord’s notes give a date, not a version number, so judge by the July 7 release.
Extra Fixes for NVIDIA Users
- Update your NVIDIA driver. A user on NVIDIA’s forum reported driver 570.153.02 fixed memory growth in X11 apps after suspend and resume.
- Try the suspend workaround. NVIDIA’s forum suggests enabling NVreg_PreserveVideoMemoryAllocations if memory grows after resume.
🧹 Good to know: Discord also tested an automatic restart when the client reaches 4 GB of RAM while you are away from the keyboard. It does not restart during calls.
For official details, read Discord’s July 7 patch notes and NVIDIA’s Linux driver forum thread on X11 memory growth. Want to compare fixes with other Linux users? Browse communities on discords.ai.
FAQ
What did Discord fix on Linux?
A leak of X11 connections on NVIDIA systems that could stop new apps from opening.
What is the X11 client limit?
Many setups allow 256 clients by default. You can check yours in the Xorg log.
Does this affect AMD or Intel GPUs?
Discord’s notes mention NVIDIA systems only, so other GPUs are not covered by this fix.
Is this the same as high RAM usage?
No. The patch addresses connections, not RAM, though both can slow your system.
Where can I read the official notes?
See Discord’s patch notes for the fix, and Discord’s download page for the latest build.
What if the error returns?
Run the tracking command, restart Discord and confirm you are on a build from July 7 or later.

Comments
Sign in to join the conversation
Sign inNo comments yet
Be the first to share your thoughts!