Skip to content

The Base Config

Person8880 edited this page Sep 2, 2023 · 15 revisions

Default config

The base config file will be stored in config://shine/BaseConfig.json or config://Shine_BaseConfig.json. The default will look something like this:

{
    "ActiveExtensions": {
      "adverts": false,
      "afkkick": false,
      "badges": false,
      "ban": true,
      "basecommands": true,
      "commbans": false,
      "funcommands": false,
      "improvedchat": true,
      "logging": false,
      "mapvote": true,
      "motd": true,
      "namefilter": false,
      "pingtracker": false,
      "pregame": false,
      "readyroom": false,
      "reservedslots": false,
      "roundlimiter": false,
      "serverswitch": false,
      "tournamentmode": false,
      "unstuck": true,
      "usermanagement": true,
      "votealltalk": false,
      "votedraw": false,
      "voterandom": false,
      "votesurrender": true,
      "welcomemessages": false,
      "workshopupdater": false
    },

    "APIKeys": {
      "Steam": ""
    },

    "WebConfigs": {
      "RequestArguments": { "bleh": "stuff" },
      "MaxAttempts": 3,
      "RequestURL": "http://www.yourawesomesite.com/shine/configs.php",
      "UpdateMode": 1,
      "UpdateInterval": 1,
      "Enabled": false,
      "IsBlacklist": false,
      "Plugins": { "afkkick": true, "basecommands": true }
    },

    "EnableLogging": true,
    "DebugLogging": false,
    "LogDir": "config://shine/logs/",
    "DateFormat": "dd-mm-yyyy",

    "ExtensionDir": "config://shine/plugins/",

    "GetUsersFromWeb": false,
    "UsersURL": "https://www.yoursite.com/users.json",
    "RefreshUsers": false,
    "RefreshInterval": 60,
    "GetUsersWithPOST": false,
    "UserRetrieveArguments": {},

    "SilentChatCommands": true,
    "EqualsCanTarget": false,
    "NotifyOnCommand": false,
    "NotifyAnonymous": true,
    "NotifyAdminAnonymous": false,
    "ChatName": "Admin",
    "ConsoleName": "Admin",

    "AddTag": true,
    "ReportErrors": true,

    "__Version": "1.0"
}

Plugin web configs

For an explanation on what the settings under "WebConfigs" do, see this page: https://github.com/Person8880/Shine/wiki/Plugin-web-configs

Config options

Option Description
ActiveExtensions This determines which plugins to load on startup. You may load as many or as few as you want.
APIKeys This is a table of external web API keys. Plugins such as the bans plugin may use the Steam API, so require an API key. Other plugins may define their own APIs and require keys to be placed here too.
EnableLogging This enables Shine's logging system, which stores log files by date in the LogDir directory.
DebugLogging This enables a local log of all errors that plugins have caused while running.
LogDir If Shine's logging system is enabled, then log files will be stored here. Make sure you keep the trailing /.
DateFormat This determines how Shine should format the date in logs. For Americans, you would use mm-dd-yyyy.
ExtensionDir This determines where to save the config files for Shine's plugins.
GetUsersFromWeb This determines whether the users file should be loaded from a URL instead of locally.
UsersURL If GetUsersFromWeb is enabled, then this is where Shine will attempt to retrieve the users file from.
RefreshUsers If set to true, then Shine will automatically refresh users from the web.
RefreshInterval How long in seconds between user data refreshes. I do not recommend setting this too low.
GetUsersWithPOST If set to true, user data will be requested using POST.
UserRetrieveArguments If "GetUsersWithPOST" is true, then these arguments will be sent in the POST request.
SilentChatCommands This determines whether to globally silence chat commands, i.e typing !kick will not show "!kick " in the chat. If this is disabled, then you can still run a command silently by starting it with /.
EqualsCanTarget Determines whether two players of equal immunity can target each other or not.
NotifyOnCommand Determines whether to notify players when an admin runs certain commands, such as kicking a player.
NotifyAnonymous Determines whether players with lower immunity to the admin running a command should see the admin's name. If set to true, they'll see the "ChatName" name, when set to false, they'll see the admin's player name.
NotifyAdminAnonymous Determines whether players with a greater or equal immunity to the admin running a command should see the admin's name.
ChatName Determines the name applied to all notifications from Shine that use a name.
ConsoleName Determines the name to use for when the server console is used to run a command or speak.
AddTag Determines whether to automatically apply the server tag "shine" to your server. This helps me see which servers are running it. You can disable it by setting it to false if you want to.
ReportErrors Determines whether errors in the mod will be reported to my web server at the end of a round. This helps me track and fix errors.

Note

The __Version field is an internal value used to track whether the configuration needs updating. Do not edit or remove this value.

Clone this wiki locally