> For the complete documentation index, see [llms.txt](https://acestudios.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://acestudios.gitbook.io/docs/roleplay/live-radio/station-community.md).

# Station Community

Chat, song requests, host posts, badges and moderation for player stations.

```lua
Config.Community = { Enabled = true }
```

Every **player-owned** station gets its own community. Listeners open it from the **Chat** tab of the station list while tuned in; the host manages it from the **Community** tab of the host console. Server stations (from `config.lua`) have none.

## Chat

Chat with reactions (`Config.Community.Reactions` in `config_advanced.lua`, default `❤️ 🔥 😂 👏 🎵 👍`). Each player's reaction toggles on and off, and reaction changes are capped per minute (`MaxReactionsPerMinute`).

**Visibility**, changeable while live:

| Setting       | Who sees messages                                                        |
| ------------- | ------------------------------------------------------------------------ |
| **Everyone**  | Every listener                                                           |
| **Host only** | Listeners still write, but only the host and their Host/Mod staff see it |

## Song requests

Listeners request songs from the chat. The host's **Requests** view shows who asked, and lets them **approve**, **reject**, **mark played** or **remove** each one — an approved request can go straight into the queue. Approved and playing requests can be announced in chat.

| Limit (`config_advanced.lua`) | Default | Description                         |
| ----------------------------- | ------- | ----------------------------------- |
| `RequestCooldown`             | `60` s  | Between a listener's song requests. |
| `MaxRequestsPerPlayer`        | `2`     | Pending at once, per listener.      |
| `MaxPendingRequests`          | `25`    | Pending at once, whole station.     |

## Host posts

Announcements, host messages and song posts, shown apart from regular chat. Up to `MaxPinned` (default `3`) stay pinned at the top. Posts can be deleted, and unpinned ones cleared.

## Badges

Per station only — a badge on one station doesn't carry to another:

| Badge     | Grants                              |
| --------- | ----------------------------------- |
| **Owner** | Automatic for the station's creator |
| **Host**  | Moderates, handles requests, posts  |
| **Mod**   | Moderates, handles requests         |
| **DJ**    | Handles requests                    |
| **VIP**   | A badge only, no extra permissions  |

The owner assigns Host, Mod, DJ and VIP badges to listeners.

## Moderation

* Timeouts, **1 to 60 minutes**
* Chat bans
* Deleting individual messages
* Clearing the whole chat

{% hint style="warning" %}
Mods can't act on the owner or other staff. Every moderation action is checked by the server, not just the client UI.
{% endhint %}

## What's saved vs. reset

| Data                                              | Persists across restarts?          |
| ------------------------------------------------- | ---------------------------------- |
| Settings, chat bans, badges, pinned posts         | ✅ Saved to `community.json`        |
| Chat messages, reactions, song requests, timeouts | ❌ Reset when the resource restarts |

Only players with a station's chat open receive its live updates. **Removing a station deletes its community** along with it.
