# Server Status Plus

{% hint style="danger" %}
⭐ This plugin is private! Can be purchased on our [Discord Marketplace](https://discord.com/invite/Tzmq98gwqF).
{% endhint %}

{% hint style="info" %}
Keep track of your game server with automatic updates. It is very similar to our free [Server Status](https://docs.sourcefactory.eu/discord-utilities/modules/server-status) module, but this addon offers more features such as displaying a list of players on the server, executing specific commands on players, and adding many custom buttons.<br>

> The plugin includes extensive configuration options where you can adjust and set up custom buttons for actions with connected players, customize the player list to your liking, display different embeds for admins and regular users, etc..
> {% endhint %}

<details>

<summary>Config Preview</summary>

```
{
  "Update Time": 60,
  "Channel ID": "",
  "Message ID": "",
  "Admin Role ID": "",
  "Server Status Embed": {
    "Content": "",
    "Title": "{Server.Name}",
    "Description": "> IP: `{Server.IP}`\n> Timeleft: `{Server.Timeleft}`",
    "Fields": "👥 Players;{Server.OnlinePlayers}/{Server.MaxPlayers};True|🗺️ Map;de_nuke;True",
    "Thumbnail": "",
    "Image": "",
    "HEX Color": "#00ccff",
    "Footer": "Last update",
    "Footer Timestamp": true,
    "Join Button": {
      "Enabled": false,
      "Button Text": "Join Server",
      "Button URL": "",
      "Button Emoji": ""
    },
    "Players Menu": {
      "Enabled": true,
      "Menu Name": "Select a player",
      "Players Menu Format": "{Player.Name} | {Player.Kills}/{Player.Deaths}",
      "Players Menu Description Format": "{Player.TeamLongName}",
      "Players Menu Emoji": "",
      "Player Not Found Embed": {
        "Content": "",
        "Title": "",
        "Description": "> Selected player is no longer connected!",
        "Fields": "",
        "Thumbnail": "",
        "Image": "",
        "HEX Color": "#ff6600",
        "Footer": "",
        "Footer Timestamp": false
      },
      "Respond Embed": {
        "Content": "",
        "Title": "{Player.Name}",
        "Description": "{Player.DiscordPing} Player is in **{Player.TeamLongName}** Team",
        "Fields": "Kills;{Player.Kills};true|Deaths;{Player.Deaths};true|Assists;{Player.Assists};true",
        "Thumbnail": "",
        "Image": "",
        "HEX Color": "#39e600",
        "Footer": "",
        "Footer Timestamp": false
      },
      "Admin Respond Embed": {
        "Content": "",
        "Title": "{Player.Name}",
        "Description": "{Player.DiscordPing} Player is in **{Player.TeamLongName}** Team",
        "Fields": "Kills;{Player.Kills};true|Deaths;{Player.Deaths};true|Assists;{Player.Assists};true",
        "Thumbnail": "",
        "Image": "",
        "HEX Color": "#39e600",
        "Footer": "",
        "Footer Timestamp": false,
        "Buttons": {
          "Ban Player": {
            "Color": 4,
            "Emoji": "",
            "ExecuteCommands": [
              "css_ban {Player.SteamID64}",
              "say Player {Player.Name} has been banned by Server Status!"
            ]
          },
          "Kick Player": {
            "Color": 1,
            "Emoji": "",
            "ExecuteCommands": [
              "css_kick {Player.UserID}"
            ]
          }
        }
      },
      "Commands Sent Respond Embed": {
        "Content": "",
        "Title": "",
        "Description": "> Commands {COMMANDS} (Total Commands: {COMMANDSCOUNT}), were sent on server **{Server.Name}**",
        "Fields": "",
        "Thumbnail": "",
        "Image": "",
        "HEX Color": "#ffcc66",
        "Footer": "",
        "Footer Timestamp": false
      }
    }
  },
  "ConfigVersion": 1
}
```

</details>

<div align="left"><figure><img src="https://799349702-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrczaiIR8LCIvnID1U1Ty%2Fuploads%2F75Tj2CNGj6JnP9IIk3gY%2FServerStatusPlus.png?alt=media&#x26;token=c542b07a-176b-4873-8f06-dcc6bf4f8d43" alt=""><figcaption></figcaption></figure> <figure><img src="https://799349702-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrczaiIR8LCIvnID1U1Ty%2Fuploads%2F5Bn7PQCr6uKPjlhhLxUx%2FServerStatusPlus_Player.png?alt=media&#x26;token=6fbbf380-6cb4-4bbf-8b91-a46afadd9054" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://799349702-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrczaiIR8LCIvnID1U1Ty%2Fuploads%2FyMD6IyY0ZusLNUuMNe9y%2FServerStatusPlus_CmdSent.png?alt=media&#x26;token=a45634db-204b-4e27-b3cf-b49f5d1db242" alt="" width="450"><figcaption></figcaption></figure></div>

{% hint style="warning" %}

### How to setup Server Status Plus

* The Server Status will set itself, just fill in the Channel ID in the config file and modify the Embed to your liking. Then restart the server and a Server Status message will be automatically sent to the specified channel and it will start updating itself. Leave the Message ID blank, it will be filled in automatically.
  {% endhint %}

<table><thead><tr><th width="171">Property</th><th>Description</th></tr></thead><tbody><tr><td><strong>Update Time</strong></td><td>After what time is the status updated? The value must be higher than 30 secs! Otherwise the server status will be disabled.</td></tr><tr><td><strong>Channel ID</strong></td><td>The Channel ID where the Server Status will be sent</td></tr><tr><td><strong>Message ID</strong></td><td>Leave it blank, it will be automatically filled in when the status server is first set up.</td></tr><tr><td><strong>Admin Role ID</strong></td><td>Users with this role will see a different embed message when they select a player from the list.</td></tr></tbody></table>

### Join Button Settings

<table><thead><tr><th width="242">Property</th><th>Description</th></tr></thead><tbody><tr><td><strong>Enabled</strong></td><td>If this feature will be available <mark style="color:green;"><code>true</code></mark> / <mark style="color:red;"><code>false</code></mark> </td></tr><tr><td><a href="../tutorials/buttons-settings"><strong>How to setup Buttons</strong></a> 🔗</td><td></td></tr></tbody></table>

### Other Buttons

<table><thead><tr><th width="242"></th><th></th></tr></thead><tbody><tr><td><strong>Leaderboard Button</strong></td><td>Requires: <a href="leaderboard">Leaderboard Addon</a></td></tr><tr><td><strong>Player Stats Button</strong></td><td>Requires: <a href="player-stats">Player Stats Addon</a></td></tr><tr><td><a href="../tutorials/buttons-settings"><strong>How to setup Buttons</strong></a> 🔗</td><td></td></tr></tbody></table>

### Players Menu

<table><thead><tr><th width="259">Property</th><th>Description</th></tr></thead><tbody><tr><td><strong>Players Menu</strong></td><td>If this feature will be available <mark style="color:green;"><code>true</code></mark> / <mark style="color:red;"><code>false</code></mark> </td></tr><tr><td><strong>Menu Name</strong></td><td>Name of players lists</td></tr><tr><td><strong>Players Menu Format</strong></td><td>How players will be displayed in the list (First line)</td></tr><tr><td><strong>Players Menu Description Format</strong></td><td>How players will be labeled in the list (Second line)</td></tr><tr><td><strong>Players Menu Emoji</strong></td><td>You can use default emoji like <mark style="color:yellow;"><code>:smile:</code></mark> , <mark style="color:yellow;"><code>:rocket:</code></mark> , etc.. <br>or custom emoji like: <mark style="color:yellow;"><code>&#x3C;:NAME:ID></code></mark></td></tr></tbody></table>

{% hint style="success" %}
**To edit the embeds, follow the instructions:** [**Custom Embeds Format**](https://docs.sourcefactory.eu/discord-utilities/tutorials/custom-embeds-format)<br>

> Available Variables for <mark style="color:red;">`Server Status Embed`</mark> / <mark style="color:red;">`Button Text`</mark> or <mark style="color:red;">`Button URL`</mark>

**•** [**Server**](https://docs.sourcefactory.eu/available-variables#server-variables)

> Available Variables for <mark style="color:red;">`Admin Respond Embed`</mark> and <mark style="color:red;">`Respond Embed`</mark>

• [**Server**](https://docs.sourcefactory.eu/available-variables#server-variables) **and** [**Player**](https://docs.sourcefactory.eu/available-variables#player-variables)

> Available Variables for <mark style="color:red;">`Commands Sent Respond Embed`</mark>

• [**Server**](https://docs.sourcefactory.eu/available-variables#server-variables)\
**•** <mark style="color:blue;">{COMMANDS}</mark> > Displays the executed commands\
\&#xNAN;**•** <mark style="color:blue;">{COMMANDSCOUNT}</mark> > Number of executed commands
{% endhint %}
