Setup Guide

SCPStats is a website that provides players with the ability to view their stats online or through the SCPStats Bot and a service to help make server management easier (Rolesync, Ban Management, etc). To collect these stats, you need to install the SCPStats plugin. Currently, SCPStats only has support for EXILED, but will expand to support more plugin loaders like Smod2 and Synapse in the future. If you don't already have it, setup EXILED by following the setup guide. If it is installed, you can download the plugin here (SCPStats.dll) and move in into your plugins folder. Restart your server to generate the config.

Once the config has been generated, open up the SCPStats config files (they're next to your EXILED config file, but inside the SCPStats directory). You'll see a file for a server id and another for a secret. To get these, you need to register all of your servers with SCPStats. If you have multiple servers (for example, Server #1, Server #2, etc) then you need to register each server separately. To register these servers, you need to go to here. It will redirect you to a page that lists all of your registered servers, but you can also get to it here. Each server entry will include the name you specified, as well as their server IDs and secrets. Simply fill in the server id and secret for each registered server on their config files. That's all you need to do for a basic setup, but see below for information about SCPStats' server management features.




SCPStats includes some more advanced features that could help with productivity in your server, which will be detailed below. To use these features, you need to open your EXILED config file and find the scp_stats section. It should look something like this:


scp_stats:
  is_enabled: true
  # Turning this off will disable the auto updater, which will automatically update the plugin.
  auto_updates: true
  # The role that should be given to nitro boosters. Your server must be linked to your discord server to do this.
  booster_role: none
  # The role that should be given to discord members. Your server must be linked to your discord server to do this.
  discord_member_role: none
  # Roles that you want to sync. Adding a role here means that if the person has the role on discord, they will get it in game. If a user has multiple roles that can be synced, the highest role in this list will be chosen. Your server must be linked to your discord server to do this. You can also give roles based on how the player ranks in certain stats. For example, you can give 20 players with the highest playtime a role with the example role. All of the possible metrics are: "kills", "deaths", "rounds", "playtime", "sodas", "medkits", "balls", "adrenaline".
  role_sync:
  - DiscordRoleID:IngameRoleName

SCPStats has a feature called Rolesync, that allows you to give people on your server an ingame role if they have the required role on your discord server. To setup Rolesync, you need to have setup SCPStats from the above paragraph, and added the SCPStats Bot to your server. You'll also need to have administrator permissions in your the discord server, and to have the servers you're setting up Rolesync for registered under your SCPStats account. To link your SCP Server to your Discord Server, run the !link <server id> command, replacing <server id> with the server ID of your server. The bot will send you a link, which you'll need to click to complete the linking process. Run the command (and click the link) for every server that you have registered. Once that is done, the SCPStats bot and your SCP Servers will be able to communicate. All you have to do from here is setup how you want your roles to sync in the plugin config.

Once you have your SCP Server and Discord Server linked, you can setup Rolesync. To do this, look at the booster_role, discord_member_role, and role_sync config options. The first two will accept a single role defined in your remoteadmin configs (the role name, not the name of the badge that appears in game). booster_role will give whatever role you specify to any boosters, and discord_member_role will give the role you set to anyone who is in your discord server. The rolesync config is a bit more advanced, but allows you to specify custom discord roles that you want to sync. Format it the same way the example is, and replace DiscordRoleID with the ID of the discord role (hover over the role in discord, right click, and select copy id) and IngameRoleName with the name of the ingame role that you want to give to whoever has the discord role you set. Make sure to put the list in order of most important roles (or how your discord roles are setup), because the person will get the first role in the list that they have on discord.



SCPStats also includes a ban management panel, accessible at https://bans.scpstats.com. You can use it to sync bans across all of your servers, view and edit ban records, and lookup punishment history for players. To do so, you need to invite the SCPStats Bot to your discord server and have it linked with your SCPStats servers. Next, enable the sync_bans, disable_basegame_bans, and require_confirmation config options in your SCPStats config. Once that's done, you're all set to use SCPStats Bans, but your staff aren't. For them to be able to, you need to setup permissions.

Setting up SCPStats Bans permissions is fairly simple. First, you need to figure out what permissions you want your staff to have. Here's a list to help you decide:

Once you've decided which permissions your staff should get, you can assign them by running !staffpermissions <@role> add <role> in your discord server, for each staff rank and permission. Once that's done, your staff will have permission to use SCPStats Bans. Optionally, you can also allow them to open the panel and lookup user's punishment history, directly from the Remote Admin panel.

To setup SCPStats Bans as the external panel, all you have to do is add the following lines to your Remote Admin config file (config_remoteadmin.txt):


external_player_lookup_mode: fullauth
external_player_lookup_url: https://bans.scpstats.com/slauth/DISCORD_ID
external_player_lookup_token: SECRET

Replacing DISCORD_ID with your discord server's id and SECRET with the server's SCPStats secret. That's it! SCPStats Bans is now fully configured and ready for use!