# Core Commands

### Command Syntax

All StreamLink commands use the base command:

* **Primary:** `/streamlink <subcommand>`
* **Alias:** `/sl <subcommand>`&#x20;

{% hint style="info" %}
&#x20;**Permissions:** All StreamLink commands are available to all players by default (no OP required).
{% endhint %}

***

### Available Commands

#### `/sl ui`

Opens the StreamLink dashboard interface for visual configuration.

**Syntax:**

```
/sl ui
```

**What It Does:**

* Opens a modern, interactive dashboard UI
* Provides visual forms for configuring Twitch and YouTube
* Shows real-time connection status with color indicators
* Displays masked credentials for security
* Allows easy connect/disconnect with buttons

**Use Cases:**

* First-time setup (easier than commands)
* Switching between platforms
* Checking connection status
* Managing credentials securely

**Dashboard Features:**

* **Platform Tabs:** Switch between Twitch, YouTube, and Kick (coming soon)
* **Status Indicator:** 🔴 Disconnected | 🟡 Connecting | 🟢 Connected
* **Credential Masking:** Automatically hides sensitive data with asterisks
* **Help Links:** Quick access to credential generation sites

**Example Usage:**

```
/sl ui
```

**Response:**

* Dashboard opens immediately
* Default tab: Twitch
* Status shows current connection state

***

### Platform-Specific Commands

StreamLink supports multiple streaming platforms. Each platform has its own set of commands:

#### Twitch Commands

Access Twitch integration features:

```
/sl twitch <subcommand>
```

**Available Subcommands:**

* `setup` - Configure Client ID and Access Token
* `set` - Set your Twitch channel name
* `connect` - Connect to Twitch chat and events
* `disconnect` - Disconnect from Twitch

**Quick Example:**

```bash
/sl twitch setup abc123 oauth:xyz789
/sl twitch set your_channel
/sl twitch connect
```

**Full Documentation:** See [Twitch Commands](/streamlink/commands/twitch-commands.md)

***

#### YouTube Commands

Access YouTube Live integration features:

```
/sl youtube <subcommand>
```

**Available Subcommands:**

* `setup` - Configure your API Key
* `set` - Set your YouTube Channel ID
* `connect` - Connect to YouTube live chat
* `disconnect` - Disconnect from YouTube

**Quick Example:**

```bash
/sl youtube setup AIzaSyAbc123...
/sl youtube set UCabc123...
/sl youtube connect
```

**Full Documentation:** See [YouTube Commands](/streamlink/commands/youtube-commands.md)

***

### Command Aliases

StreamLink supports command aliases for faster typing:

| Full Command          | Alias         |
| --------------------- | ------------- |
| `/streamlink`         | `/sl`         |
| `/streamlink ui`      | `/sl ui`      |
| `/streamlink twitch`  | `/sl twitch`  |
| `/streamlink youtube` | `/sl youtube` |

**Recommendation:** Use `/sl` for all commands, it's faster and easier to type!

***

### Command Permissions

By default, all StreamLink commands are available to **all players** without requiring operator status.

This means:

* Any player can open the dashboard
* Any player can configure their own credentials
* Any player can connect/disconnect
* Credentials are stored per-player (isolated)

#### Why No Permissions?

StreamLink is designed for **individual streamers**:

* Each player manages their own streaming integration
* Credentials are stored separately per player
* No player can access another player's credentials

***

### FAQ

**Q: Do I need OP permissions to use StreamLink?**\
A: No! All commands are available to all players by default.

**Q: Can I connect to both Twitch and YouTube at the same time?**\
A: Yes! You can connect to multiple platforms simultaneously.

**Q: What happens if I log out while connected?**\
A: StreamLink automatically disconnects you to free resources.

**Q: Do my credentials save after server restart?**\
A: Yes! Credentials are saved, but you must manually reconnect.

**Q: Can other players see my credentials?**\
A: No! Credentials are stored per-player and completely isolated.

**Q: How do I update StreamLink?**\
A: Download the new JAR from CurseForge/ModTale and replace the old one.


---

# Agent Instructions: 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:

```
GET https://kentatetsu.gitbook.io/streamlink/commands/core-commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
