# Game commands

#### :crown: **Admin only commands**

#### :bulb: **General command for everyone**

<mark style="color:red;">**Required**</mark> parameters will be in \[Square brackets]

<mark style="color:green;">**Optional**</mark> parameters will be in (Curly brackets)

***

## :crown: Recreate LoL draft Link

```
/game create_draft [gameid]
```

A draft link using <https://drafter.lol> is automatically sent to the lobby for [**League of Legends**](https://docs.inhousequeue.xyz/docs/preset-games#league-of-legends). This enhances the competitive experience for players. You can use this command to create another draft link at any time!

{% hint style="info" %}
This command only works for [**League of Legends**](https://docs.inhousequeue.xyz/docs/preset-games#league-of-legends), and the game must be in progress.
{% endhint %}

***

## :crown: Recreate/Select ongoing games category

```
/game ongoing_games_category [game] (existing_category)
```

After [setup](https://docs.inhousequeue.xyz/docs/quick-start), <mark style="color:red;">InHouseQueue</mark> automatically creates team voice channels and a lobby text channel within the [default category](https://docs.inhousequeue.xyz/docs/quick-start#categories). The ongoing games category are where Voice and Lobby channels are created when a game starts to keep everything organised.

This command lets you switch to a different category or create a new one.

If you don't specify `(existing_category)`, <mark style="color:red;">InHouseQueue</mark> will create a brand-new category.

Currently, you can only have **one** Category per [**Game**](https://docs.inhousequeue.xyz/docs/preset-games).

If you delete this category, <mark style="color:red;">InHouseQueue</mark> will automatically recreate it when a game starts.

## :crown: **Substitute**

```
/game sub [player_1] [player_2] [gameid]
```

If a player needs to leave during a match, you can substitute them with another player instead of cancelling or voiding the game.

* <mark style="color:green;">Player 1</mark> is the player you want to remove.
* <mark style="color:blue;">Player 2</mark> is the player replacing them.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-431c53772d8c4f174ae9ee855179c6ca66be1fce%2Fgame_sub.png?alt=media" alt=""><figcaption><p>Taking out Adolin and bringing in Dalinar. Game must be in progress.</p></figcaption></figure></div>

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fo9ysM0b6HjNqf4DYZRBA%2Fsubbed_success.png?alt=media&#x26;token=9fdca250-1362-4fcb-8962-cd28c805408b" alt=""><figcaption><p>Sub command successful.</p></figcaption></figure></div>

* Channel permissions will immediately be granted to <mark style="color:blue;">Player 2</mark> and removed for <mark style="color:green;">Player 1</mark>.
* <mark style="color:blue;">Player 2</mark> may need to leave and rejoin the Voice lobby in order for the Permissions to sync again.
* You cannot use the `/game sub` command to "swap" players <mark style="color:green;">**within**</mark> a game. For example, you cannot swap players from Red to Blue team. The player being subbed in <mark style="color:green;">**must**</mark> not be part of the game. See the below [switch](#crown-switch-players) command for swapping players.

{% hint style="info" %}
This command only works if a game is in progress, meaning there must be an active voice and lobby channel.
{% endhint %}

***

## :crown: **Switch Players**

```
/game swap [player_1] [player_2] (game_id)
```

If you just want to swap two players then you can do so with this command. Please note this will only work if:

1. The players are both in the **same** game
2. The game exists and is in progress

* <mark style="color:blue;">Player 1</mark> and <mark style="color:green;">Player 2</mark> are the two players you want to switch. Order **does not matter**.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-d24b913032ea3fc3cf691bd6523fcfba7b133c2d%2Fswitch_command_1.png?alt=media" alt=""><figcaption><p>Switching the teams of Stormblessed and Henry. Game must be in progress.</p></figcaption></figure></div>

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-58bd253e76203d5ff483b763c0a6da38872c5793%2Fswitch_command_2.png?alt=media" alt=""><figcaption><p>Switch command successful.</p></figcaption></figure></div>

Once successful, the following actions will occur:

1. Channel permissions will immediately be swapped for <mark style="color:blue;">Player 1</mark> and <mark style="color:green;">Player 2</mark>.
2. Both players are automatically moved to their new Team voice channels (If they are inside a voice channel).
3. All required embeds will update to show the new teams.

{% hint style="info" %}
This command only works if a game is in progress, meaning there must be an active voice and lobby channel.
{% endhint %}

***

## :crown: **Change results of a Game**

```
/change_winner [game_id] [team]
```

Modify or correct the outcome of a completed game.

### How it works:

1. Find the <mark style="color:green;">GameId</mark> you'd like to change. You can find this in your #match-history channel.
2. Select the <mark style="color:green;">GameId</mark> and the correct winning team.
3. Confirm the wins/losses have been changed using `/rank` or `/leaderboard`.

{% hint style="danger" %}
Before running this, please confirm players have **not** played another game after the Incorrect results. If they have, then their last game will essentially be wiped from history because of the nature of this command.
{% endhint %}

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2FRz3JNQua9gasHt4bTjJj%2Fchange_winner.png?alt=media&#x26;token=e812f6f7-c1f8-421c-b3ef-0df7db261a6d" alt=""><figcaption><p>Selecting Red team as winners instead</p></figcaption></figure></div>

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2FqNfwOp9tRSMedKNfLZwr%2Fchange_winner_worked.png?alt=media&#x26;token=785937fb-605e-4087-ac4e-2df2628da40e" alt=""><figcaption><p>Confirmation Message</p></figcaption></figure></div>

***

## :bulb: Begin vote for a Winner

```
/win
```

This is the preferred way to end a game. It initiates a vote inside the lobby channel, where players in the match will vote for either Red or Blue. A majority vote is required for the game to end. For example, in a <mark style="color:orange;">**5v5**</mark> game, <mark style="color:green;">**6**</mark> votes are needed for a team to win.

### How it works

To allow <mark style="color:red;">InHouseQueue</mark> to reward players with wins, losses, and MMR adjustments, it needs to know which team won. The easiest way to determine this is through a vote.

<mark style="color:red;">InHouseQueue</mark> does <mark style="color:green;">**not**</mark> connect to external APIs— it is purely a Discord Bot designed to streamline InHouse management. Therefore, it cannot automatically detect when your game ends.

1. One of the players runs the `/win` command. Only players who participated in the match can use this command.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-3d14a5dfd6621bb719ace2f4247befa2d4fd3d84%2Fwin_1.png?alt=media" alt=""><figcaption></figcaption></figure></div>

2. <mark style="color:red;">InHouseQueue</mark> will mention every player in the game to notify them that a vote has started. Players will vote for the team they believe won. Once the required majority is reached, the game will close shortly after, and players will be rewarded with their Points.
3. All corresponding game resources (voice channels, text channels, and roles) are removed from the server.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-5c83e997bedcddfea79c5f1d08fe02b5a62e42d4%2Fmvp_vote.png?alt=media" alt=""><figcaption></figcaption></figure></div>

If the wrong team was selected as the winner, you can correct the results of a finished match using [`/change_winner`](#crown-change-results-of-a-game).

**Administrators** and members with **manage channels** permissions may also start a vote.

{% hint style="info" %}
This command only works inside a Lobby channel. Channels explained [here](https://docs.inhousequeue.xyz/docs/quick-start#channels-and-categories-explained)
{% endhint %}

***

## :crown: **Force a winner**

```
/winner [team] (loss_reduction)
```

Declare a winner immediately.

While players can vote on the winning team with `/win`, admins can end a game immediately if needed.

### How it works:

1. There must be an ongoing game. Lobbies indicate ongoing games and are text channels named `#lobby-[gameid]`. More information on channels is [here](https://docs.inhousequeue.xyz/docs/quick-start#channels-and-categories-explained).
2. Run `/winner` and specify the team for the <mark style="color:green;">GameId</mark> you'd like to end.
   * For example, `/winner @Red: a4f0dc05`
3. The selected team is declared the winner, ending the game. All corresponding game resources (voice channels, text channels, and roles) are removed from the server.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2FCLnUK9IwcKMMl9ZvmK7X%2Fadmin_winner.png?alt=media&#x26;token=cfe20933-8d3f-4fb7-971b-3fa924f1a61f" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fsgtj7BU6R5feFh5bqjej%2Fchange_winner_done.png?alt=media&#x26;token=cc0f1488-ef0e-437c-995e-7eb0fe4d01ab" alt=""><figcaption></figcaption></figure></div>

### Loss reduction

In some games you can reduce how much MMR the losing team drops. For example, if a team had an AFK halfway through, it wouldn’t be fair for them to take the full MMR hit.

When using the `/winner` command, you can set a **loss reduction percentage**. This controls how much less MMR the losing team loses. For example, if you pick 100%, the losing team won’t lose any MMR for that match.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-7fdcb1dda190b6a13c01a61b20eddbd8e41e631c%2Floss_reduction.png?alt=media" alt=""><figcaption></figcaption></figure></div>

The match history embed will be updated to ensure players know that loss reduction was confirmed.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-1f79d4e2a90ae22d2bfd5d83ae2fddb215a1f259%2Floss_reduction_2.png?alt=media" alt=""><figcaption></figcaption></figure></div>

This is also logged in your [Admin log channel](https://docs.inhousequeue.xyz/docs/server-commands#crown-admin-only-commands).

***

## :crown: **Cancel game**:

```
/cancel [member]
```

Cancel an ongoing game.

Select any member participating in an ongoing game to cancel it. All corresponding game resources (voice channels, text channels, and roles) are removed from the server.

***

## :crown: **Void Game**

```
/void [gameid]
```

Abort an ongoing game and clear all traces of it.

This is a more aggressive version of [`/cancel`](#crown-cancel-game-), purging all traces of the <mark style="color:green;">GameId</mark>. All corresponding game resources (voice channels, text channels, and roles) are removed from the server.

***

## :bulb: **Abandon Game**

```
/abandon
```

Cancel an ongoing game after a vote.

Any participant of an ongoing game can start a vote to cancel a game. A majority vote is required for the game to end. For example, in a <mark style="color:orange;">**5v5**</mark> game, <mark style="color:green;">**6**</mark> votes are needed for the cancellation to proceed. Once passed, all corresponding game resources (voice channels, text channels, and roles) are removed from the server.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-4c1201a4c68ee32afc469648c5292d0a87445c38%2Fabandon.png?alt=media" alt=""><figcaption></figcaption></figure></div>

***

## :crown: **Force start a game**

```
/force_start [gameid]
```

Start a game during the <mark style="color:green;">ready-up</mark> phase.

The `/force_start` command allows Admins or authorized users to start a game during the ready-up phase without waiting for all players to indicate readiness. This is useful when some players are unresponsive.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-40b69dbc327f12ef857ff77e0d9da2b4e9f0e601%2Fforce_start.png?alt=media" alt=""><figcaption></figcaption></figure></div>

***

## :crown: **Customised lobby information**:

```
/lobby add_info [title] [description] (queue_channel)

/lobby remove_info (queue_channel)
```

You can use a command to provide important information for each game when it starts. This is great for giving instructions or reminding players of rules. For example, you might want to ban certain characters due to a bug or remind players that one person should create the game in the dedicated client and invite everyone.

You can add this information with `/lobby add_info` and remove it later with `/lobby remove_info`. From our experience we think this is a great feature to have enabled in the early days of using <mark style="color:red;">InHouseQueue</mark>. You may find that members will still need some guidance, this is a great way to provide it.

### How it works;

1. **Add Information:**\
   Run the command `/lobby add_info` and enter the information you want players to see. These fields support [Discord Markdown](https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline)

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fgit-blob-67e9d3e292ca467d440d9698fb9ddd6ff50e48ad%2Flobby_info_new.png?alt=media" alt=""><figcaption></figcaption></figure></div>

2. **Preview and Adjust:**\
   Press enter, and you'll see a preview of your message. If you're happy with it, you're done! If not, rerun the command until you're satisfied.\ <mark style="color:orange;">**Pro Tip:**</mark> Press the UP ARROW on your keyboard to quickly rerun the last command with all its content.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2Fv6pQsOUsO9CI8JchmObf%2Flobby_info_preview.png?alt=media&#x26;token=ccf1baaf-8b1d-4321-8aef-cfe821869e13" alt=""><figcaption></figcaption></figure></div>

3. **In-Game Display:**\
   The embed will now be sent to every game lobby.

<div align="left"><figure><img src="https://1130318129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwcHfLjgS9hMDSoOpDEDo%2Fuploads%2FJ1iMOjQohxSQ84Tc8Zee%2Fadd_lobby_info_ingame.png?alt=media&#x26;token=d9de3fda-2935-47b0-9ed0-4e7ed07bd827" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
You can remove custom lobby info with `/lobby remove_info`
{% endhint %}

***

## :crown: **Grant a Coach role**

```
/coach [role]
```

Assign a Discord Role as a "Coach." Players with this role are allowed to join <mark style="color:blue;">Blue</mark> and <mark style="color:red;">Red</mark> team voice lobbies and can talk inside the Lobby channel. Channels explained [here](https://docs.inhousequeue.xyz/docs/quick-start#channels-and-categories-explained)

Depending on your server, you may want to grant this role to trusted players for additional access. While the role is labeled as "Coach," it doesn’t have to be used specifically for coaching—it can also be assigned to other trusted members to help moderate voice channels or perform other tasks.

***
