> For the complete documentation index, see [llms.txt](https://gamelauncher.cloud/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gamelauncher.cloud/help/changelog/2026/august-06-2026.md).

# August 6, 2026

## Microsoft Store Publishing Integration

{% hint style="success" %}
**NEW FEATURE:** Your launcher can now be published on the **Microsoft Store**, under your own Partner Center account and your own brand. A new **Microsoft Store** tab under **Integrations** walks you through the submission and hands you every value the Partner Center form asks for, ready to copy.
{% endhint %}

<div align="left"><figure><img src="/files/bwpu5Gi2HgNeJxQVAmnP" alt=""><figcaption></figcaption></figure></div>

[SEE OUR PUBLISHED DEMO](https://apps.microsoft.com/detail/9ND7BBBT443B?hl=en-us\&gl=MX\&ocid=pdpshare)

Players find your launcher where they already look for software, and Windows installs and updates it like any other Store app. The Partner Center account is yours, so the listing, the reviews and the payouts stay with you.

Microsoft accepts two kinds of product. The tab sets up the recommended one today, and shows the other, where the Store points at the installer we host for you, as coming soon.

### Publish Store package (MSIX)

Your launcher is packaged as an `.msix` file.&#x20;

You upload it in Partner Center and **Microsoft signs it during certification**, so there is no code signing certificate to buy and no URL to host. Updates are delivered by the Store, and the launcher's own updater steps aside when it detects it is running from a Store package.

Enter the three identity values Microsoft assigns when you reserve your app name, save, and deploy once. From then on every deploy builds an `.msix` alongside the usual installer, downloadable straight from the tab.

{% hint style="info" %}
Publishing on the Store needs a **Partner Center** account. It is free to create and free to publish with, but identity verification can take several days, so start it before the day you plan to submit.

Full guide: [Publish to the Microsoft Store](https://gamelauncher.cloud/help/launchers/microsoft-store). What certification checks: [Store Requirements](https://gamelauncher.cloud/help/launchers/microsoft-store/store-requirements).
{% endhint %}

***

## Discord Bot Integration

{% hint style="success" %}
**NEW INTEGRATION:** A **Discord Bot** tab under **Integrations** publishes a live counter into your own Discord server, so your community sees how many people are online without leaving Discord. The number comes from the launcher itself: every copy sends a heartbeat, so it reflects who is actually there right now.
{% endhint %}

<div align="left"><figure><img src="/files/bYLW91VbVGlvrsoj7No9" alt=""><figcaption><p>Online Users count in your Discord Server</p></figcaption></figure></div>

Connect Discord, add the bot to a server, publish a counter. A preview beside the form shows exactly what will land in your server as you change the options.

### What it counts

* **Online users (launcher)**, people with your launcher open, playing or not
* **Online users (app)**, people who are on that app in the launcher
* **Playing now**, people actually running the app
* **Total users**, everyone who has ever opened the launcher

### Where it shows

A **channel name** in your sidebar, `Online Users: 104`, updated every 6 minutes. Or a **message** in a text channel, an embed with the app icon and a live timestamp, updated every minute. The channel name is the slower of the two because Discord only allows two renames per channel every ten minutes.

The counter is written in whichever of the platform's twelve languages your community reads, so it can just as easily say `Usuarios online: 104`. A custom heading replaces the label entirely.

A launcher can publish up to 5 counters, one per channel. Deleting one cleans up after itself: a channel the bot created goes with it, and a channel that was already yours gets its original name back.

{% hint style="info" %}
The bot asks for four permissions, and none of them let it read what anybody says. The counter publishes a number and nothing else: no player names, no account details, no sessions. Your Discord account is used only to list the servers you administer, and no token is stored.
{% endhint %}

Full guide: [Discord Bot](https://gamelauncher.cloud/help/extensions/discord-bot).

***

## Desktop Launcher

### Live Status

{% hint style="success" %}
**NEW FEATURE:** The space next to the Play button can now carry a live reading of your game: how many players are connected, whether your servers are up, or a short label you write. It reads from our own analytics with nothing to set up, or from a JSON endpoint you already host.
{% endhint %}

<div align="left"><figure><img src="/files/u8trDHdsQlZZWF2LoTLZ" alt=""><figcaption><p>Online Users above Play Button</p></figcaption></figure></div>

A new **Live Status** section appears in the **Launcher Builder**, under **Buttons**, right below the environment selector toggle. It is configured per app, and it updates without republishing the launcher.

#### Using our analytics

The platform already counts live sessions, so this mode needs no endpoint of your own. You pick a metric and you are done:

* **Players with this app open**
* **Players in game right now**
* **Everyone with the launcher open**, across every app in the launcher

Turning this mode on is also what makes the number public. While your app is in any other mode, the endpoint that serves it answers 404, exactly like an app that does not exist.

#### Using your own endpoint

For numbers only you have, such as players per server or a maintenance window, point the launcher at a JSON endpoint you host. It reads the usual keys first, so this already works:

```json
{ "online": true, "players": 342 }
```

If your endpoint has another shape, give it a dotted path (`data.stats.playerCount`) instead of building a new endpoint. The URL also accepts `{environment}`, `{environmentId}` and `{appId}`, substituted before every request, so one URL serves Production and Staging without duplicating the configuration.

The launcher polls between 15 and 3600 seconds, gives each request 5 seconds and reads at most 64 KB.

#### How it looks

<div align="left"><figure><img src="/files/edsODturjYJC8g6CQYRM" alt=""><figcaption><p>Online Users count in Launcher Desktop</p></figcaption></figure></div>

<div align="left"><figure><img src="/files/u8trDHdsQlZZWF2LoTLZ" alt=""><figcaption><p>Online Users above Play Button</p></figcaption></figure></div>

<div align="left"><figure><img src="/files/FRmHVOcK5uAv8TyKTHqi" alt=""><figcaption><p>Online Users inside Play Button</p></figcaption></figure></div>

You write the templates and pick the colors. The online template supports `{value}`, so `{value} online` renders as `342 online`, and a separate offline template and color take over when the feed reports the service as down. If the read fails you choose what happens: hide the indicator, show a text you wrote, or keep the last reading on screen.

There is also a **Fixed text** mode: up to 10 characters in the color you choose, with no network calls at all, which is what you want for a `BETA` or `EARLY ACCESS` tag.

#### Where it sits

By default the indicator sits in the **ENVIRONMENT** row, aligned to the right edge of the dropdown. Hide the environment selector and it drops to its own line above the Play button instead of disappearing with the dropdown. You can also force it onto the Play button itself, where it renders as a small badge in the top-right corner.

A tooltip of your own is shown on hover, so you can spell out what the number means.

Full guide: [Application Settings](https://gamelauncher.cloud/help/applications/app-settings).

***

## Webhooks

{% hint style="success" %}
**NEW FEATURE:** The **Webhooks** tab in your launcher and app settings is now a working screen instead of a placeholder. Send events to your own services as they happen, so your pipeline or your community tools react without polling.
{% endhint %}

<figure><img src="/files/11KdR0EQt0wLRYgaFTus" alt=""><figcaption><p>Launcher Settings Webhooks</p></figcaption></figure>

Add an endpoint, give it an `https` URL, pick the events it should receive. Every delivery is signed with the Standard Webhooks scheme, so most existing verification libraries validate it as is.

### What you can subscribe to

* **Builds**: launcher and game builds finished, failed, cancelled or retried, a build going live, a build moved to another environment, DLC builds
* **Operations**: the launcher activated or deactivated, a bandwidth threshold reached
* **Content**: news published, popup published
* **Players**: signed up, signed in, banned, unbanned, play session started and ended

Player events need the Authentication System, and the dialog labels them instead of letting you subscribe to something that will never fire.

### Deliveries you can trust

The signing secret is shown once, when the endpoint is created, and never again. Rotate it whenever you need a new one.

**Test** sends a real delivery and reports what your service answered and how long it took, so a wrong URL surfaces now rather than on your next build.

A failed delivery is retried 5 times, backing off from 10 seconds to 2 hours, and each request gets 10 seconds. Every endpoint carries its own health in the list: healthy, failing, paused, or waiting for its first event. After 10 failures in a row it stops delivering and says so, so a URL that disappeared last week is not still costing you requests.

The last 30 days of deliveries are kept, and how many endpoints you get depends on your plan.

***

{% hint style="info" %}
**Need Help?** Check out our [Help Center](https://help.gamelauncher.cloud/) or join our [Discord Community](https://discord.gamelauncher.cloud)!
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gamelauncher.cloud/help/changelog/2026/august-06-2026.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
