Displays live server stats in a discord channel

Supported Games
GameServerKingsGameServerKings
depends on

Displays live server stats in discord. Powered by PlaceholderAPI allowing for large customization of display options.

Upgrading to Version 2.0.0

Upgrading to Version 2.0.0

Configuration

RUST

{
  "Stats Messages": [
    {
      "Discord Webhook": "https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks",
      "Message Update Interval (Minutes)": 2.0,
      "Embed Message": {
        "Content": "",
        "Embeds": [
          {
            "Enabled": true,
            "Title": "{server.name}",
            "Description": "Live Server Stats",
            "Url": "http://www.i4ani.com",
            "Embed Color": "#de8732",
            "Image Url": "",
            "Thumbnail Url": "",
            "Add Timestamp": true,
            "Fields": [
              {
                "Title": "Status",
                "Value": "{discordserverstats.status}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Online / Max Players",
                "Value": "{server.players} / {server.players.max}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Sleepers",
                "Value": "{server.players.sleepers}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Players Loading",
                "Value": "{server.players.loading}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Players In Queue",
                "Value": "{server.players.queued}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Map Entities",
                "Value": "{server.entities}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Seed",
                "Value": "[{world.seed}](https://rustmaps.com/map/{world.size}_{world.seed})",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Size",
                "Value": "{world.size} ({world.size!km^2}km^2)",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Plugin Count",
                "Value": "{plugins.amount}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Server Framerate",
                "Value": "{server.fps}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Memory Usage",
                "Value": "{server.memory.used:0.00!GB} GB / {server.memory.total:0!GB} GB",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Network IO",
                "Value": "In: {server.network.in:0.00!KB} KB/s Out: {server.network.out:0.00!KB} KB/s ",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Last Wiped Date Time",
                "Value": "{server.map.wipe.last:MM/dd/yy hh:mm:ss!local}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Last Joined",
                "Value": "{player.joined.last}",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Last Disconnected",
                "Value": "{player.disconnected.last} ({player.disconnected.last.duration:%h}H {player.disconnected.last.duration:%m}M {player.disconnected.last.duration:%s}S)",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Wipe Schedule",
                "Value": "Map & BP's Monthly ",
                "Inline": true,
                "Enabled": true
              },
              {
                "Title": "Click & Connect",
                "Value": "steam://connect/{server.address}:{server.port}",
                "Inline": false,
                "Enabled": true
              }
            ],
            "Footer": {
              "Icon Url": "",
              "Text": "",
              "Enabled": true
            }
          }
        ]
      }
    }
  ],
  "Debug Level (None, Error, Warning, Info)": "Warning"
}

Others

{
  "Stats Messages":[
    {
      "Discord Webhook":"https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks",
      "Message Update Interval (Minutes)":2.0,
      "Embed Message":{
        "Content":"",
        "Embeds":[
          {
            "Enabled":true,
            "Title":"{server.name}",
            "Description":"Live Server Stats",
            "Url":"http://www.i4ani.com",
            "Embed Color":"#de8732",
            "Image Url":"",
            "Thumbnail Url":"",
            "Add Timestamp":true,
            "Fields":[
              {
                "Title":"Online / Max Players",
                "Value":"{server.players} / {server.players.max}",
                "Inline":true,
                "Enabled":true
              },
              {
                "Title":"In Game Time",
                "Value":"{server.time:hh:mm:ss tt}}",
                "Inline":true,
                "Enabled":true
              },
              {
                "Title":"Protocol",
                "Value":"{server.rust.protocol}",
                "Inline":true,
                "Enabled":true
              },
              {
                "Title":"Last Joined",
                "Value":"{server.player.joined.last}",
                "Inline":true,
                "Enabled":true
              },
              {
                "Title":"Last Disconnected",
                "Value":"{server.player.disconnected.last}",
                "Inline":true,
                "Enabled":true
              },
              {
                "Title":"Click & Connect",
                "Value":"steam://connect/{server.address}:{server.port}",
                "Inline":false,
                "Enabled":true
              }
            ],
            "Footer":{
              "Icon Url":"",
              "Text":"",
              "Enabled":true
            }
          }
        ]
      }
    }
  ],
  "Debug Level (None, Error, Warning, Info)":"Warning"
}

Localization

{
  "OnlineStatus": ":green_circle:",
  "OfflineStatus": ":red_circle:"
}

Available Placeholders;

Note not all placeholders are available for every game. Please use placeholderapi.list to get the most up to date list for your game

Placeholder Structure

{key:format!option}

  • Key is the value displayed in the list below
  • Format is the format to be applied to the returned value
  • Option Allows you to change the type of data being returned

Discord Server Stats Placeholders

{player.joined.last} - Player name who joined last{player.disconnected.last} - Player name who disconnected last{player.disconnected.last.duration} - Connected duration for the last disconnected player
{discordserverstats.status} - Returns Lang Key "OnlineStatus" If online else Lang Key "OfflineStatus"

Placeholder API Placeholders

date.now (Placeholder API) - Options: "local" to use local time offset, UTC (default)
{date.now:MM/dd/yy hh:mm:ss tt} - Will display the current date and time using the supplied format
{date.now:MM/dd/yy hh:mm:ss tt!local} - Will do the same as above but convert the time to local time
DateTime Formatting

plugins.amount (Placeholder API)
{plugins.amount} - returns the number of plugins on the server

server.address (Placeholder API)
{server.address} - returns the server IP Address

server.blueprints.wipe.last (Placeholder API) - Options: "local" to use local time offset, UTC (default)
{server.blueprints.wipe.last:MM/dd/yy hh:mm:ss tt} - Will display the last blueprint wipe date in UTC time
{server.blueprints.wipe.last:MM/dd/yy hh:mm:ss tt!local} - Will display the last blueprint wipe date in local time
DateTime Formatting

server.blueprints.wipe.next (Placeholder API) - Options: "local" to use local time offset, UTC (default)
{server.blueprints.wipe.next:MM/dd/yy hh:mm:ss tt} - Will display the next blueprint wipe date in UTC time
{server.blueprints.wipe.next:MM/dd/yy hh:mm:ss tt!local} - Will display the next blueprint wipe date in local time
DateTime Formatting

server.description (Placeholder API)
{server.description} - Will display the servers description

server.entities (Placeholder API)
{server.entities} - Will return the number of entities on the server

server.fps (Placeholder API)
{server.fps:0} - Will return the current server framerate

server.fps.average (Placeholder API)
{server.fps.average} - Will return the average server framerate

server.language.code (Placeholder API)
{server.language.code} - Returns Two letter ISO language name

server.language.name (Placeholder API)
{server.language.name} - Returns the server language name

server.map.wipe.last (Placeholder API) - Options: "local" to use local time offset, UTC (default)
{server.map.wipe.last:MM/dd/yy hh:mm:ss tt} - Will display the last map wipe date in UTC time
{server.map.wipe.last:MM/dd/yy hh:mm:ss tt!local} - Will display the last map wipe date in local time
DateTime Formatting

server.map.wipe.next (Placeholder API) - Options: "local" to use local time offset, UTC (default)
{server.map.wipe.next:MM/dd/yy hh:mm:ss tt} - Will display the next map wipe date in UTC time
{server.map.wipe.next:MM/dd/yy hh:mm:ss tt!local} - Will display the next map wipe date in local time
DateTime Formatting

server.memory.total (Placeholder API) - Options: B (default), KB, MB, GB
{server.memory.total:0} - Returns the servers total available memory in bytes
{server.memory.total:0!kb} - Returns the servers total available memory in kilobytes
{server.memory.total:0!mb} - Returns the servers total available memory in megabytes
{server.memory.total:0!gb} - Returns the servers total available memory in gigabytes

server.memory.used (Placeholder API) - Options: B (default), KB, MB, GB
{server.memory.total:0.00} - Returns the servers used available memory in bytes
{server.memory.total:0.00!kb} - Returns the servers used available memory in kilobytes
{server.memory.total:0.00!mb} - Returns the servers used available memory in megabytes
{server.memory.total:0.00!gb} - Returns the servers used available memory in gigabytes

server.name (Placeholder API)
{server.name} - Returns the servers host name

server.network.in (Placeholder API) - Options: B (or B/s, default) KB (or KB/s), MB (or MB/s), GB (or GB/s), Bps, Kbps, Mbps, Gbps
{server.network.in:0.00} - Returns the servers network in in bytes
{server.network.in:0.00!KB} - Returns the servers network in in kilobytes
{server.network.in:0.00!MB} - Returns the servers network in in megabytes
{server.network.in:0.00!GB} - Returns the servers network in in gigabytes

server.network.out (Placeholder API) - Options: B (or B/s, default) KB (or KB/s), MB (or MB/s), GB (or GB/s), Bps, Kbps, Mbps, Gbps
{server.network.out:0.00} - Returns the servers network out in bytes
{server.network.out:0.00!KB} - Returns the servers network out in kilobytes
{server.network.out:0.00!MB} - Returns the servers network out in megabytes
{server.network.out:0.00!GB} - Returns the servers network out in gigabytes

server.oxide.rust.version (Placeholder API)
{server.network.out} - Returns the rust oxide version

server.players (Placeholder API)
{server.players} - Returns the current player count on the server

server.players.loading (Placeholder API)
{server.players.loading} - Returns the current number of players loading into the server

server.players.max (Placeholder API)
{server.players.max} - Returns the maximum number of players allowed on the server

server.players.queued (Placeholder API)
{server.players.queued} - Returns the number of players currently queued to join the server

server.players.sleepers (Placeholder API)
{server.players.sleepers} - Returns the current number of sleepers on the server

server.players.stored (Placeholder API){server.players.stored} - Returns the total number of sleepers and connected players on the server

server.players.total (Placeholder API)
{server.players.total} - Returns the total number of players that have ever been on the server

server.port (Placeholder API)
{server.port} - Returns the server port

server.protocol (Placeholder API)
{server.protocol} - Returns the server protocol version

server.protocol.network (Placeholder API)
{server.protocol.network} - returns the server network version

server.protocol.persistance (Placeholder API)
{server.protocol.persistance} - Returns the blueprint version for the server

server.protocol.report (Placeholder API)
{server.protocol.report} - Returns the server report version

server.protocol.save (Placeholder API)
{server.protocol.save} - Returns server save version

server.time (Placeholder API) - Current in-game time
{server.time:MM/dd/yy hh:mm:ss tt} - Returns servers current time
DateTime Formatting

world.salt (Placeholder API)
{world.salt} - Returns the servers salt

world.seed (Placeholder API)
{world.seed} - Returns the servers map seed

world.size (Placeholder API) - Options: km, km2 (or km^2), m (default), m2 (or m^2)
{world.size} - Returns map size in meters
{world.size!m2} - Returns map size in meters squared
{world.size!km} - Returns map size in kilometers
{world.size!km2} - Returns map size in kilometers squared

world.url (Placeholder API)
{world.url} - Returns the url to download the map

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.