diff --git a/Plugins.md b/Plugins.md index 233a1d3..9c95d71 100644 --- a/Plugins.md +++ b/Plugins.md @@ -10,12 +10,12 @@ The following options can be configured by modifying `ActionOnReport.js` | tempBanDurationMinutes | How long to temporarily ban the client | >0 | -#### Welcome +## Welcome - This plugin uses geo-location data to welcome a player based on their country of origin - All privileged users ( Trusted or higher ) receive a specialized welcome message as well - Welcome messages can be customized in `WelcomePluginSettings.json` -#### Stats +## Stats - This plugin calculates basic player performance, skill approximation, and kill/death ratio - Skill is an number derived from an algorithmic processing of a player's Kill Death Ratio (KDR) and Score per Minute (SPM). - Elo Rating is based off of the number of encounters a player wins. @@ -32,7 +32,7 @@ The following options can be configured by modifying `ActionOnReport.js` - To qualify for top stats, a client must have played for at least `3 hours` and connected within the past `15 days`. -#### Login +## Login - This plugin deters GUID spoofing by requiring privileged users to login with their password before executing commands - A password must be set using the `setpassword` command before logging in @@ -42,39 +42,37 @@ The following options can be configured by modifying `ActionOnReport.js` |--------------| -----| --------------------------------------------------------| -----------------| -------------| ----------------| |login|l|login using password|False|!l \|Trusted| -#### Profanity Determent +## Profanity Determent - This plugin warns and kicks players for using profanity - Profane words and warning message can be specified in `ProfanityDetermentSettings.json` - If a client's name contains a word listed in the settings, they will immediately be kicked -#### IW4 Script Commands +## IW4 Script Commands - This plugin provides additional integration to IW4x - In order to take advantage of it, copy the `userraw` folder into your IW4x server directory -#### VPN Detection [Script Plugin] +## VPN Detection [Script Plugin] - This plugin detects if a client is using a VPN and kicks them if they are - To disable this plugin, delete `Plugins\VPNDetection.js` - Adding **Client IDs** to the `vpnExceptionIds` array will prevent a client from being kicked. -#### Shared GUID Kicker [Script Plugin] +## Shared GUID Kicker [Script Plugin] - This plugin kicks users using a specific GUID - GUID `F4D2C30B712AC6E3` on IW4x was packed into a torrent version of the game. ---- +## Extending Plugins -### Extending Plugins - -#### NuGet Package +### NuGet Package The NuGet package for **IW4MAdmin's** "Shared Library" can be obtained from the [NuGet Gallery](https://www.nuget.org/packages/RaidMax.IW4MAdmin.SharedLibraryCore) Referencing this package will give you the ability to write plugins against **IW4MAdmin's** core library. -#### Code +### Code **IW4MAdmin's** functionality can be extended by writing additional plugins in C#. Each class library must implement the `IPlugin` interface. See the existing [plugins](https://github.com/RaidMax/IW4M-Admin/tree/master/Plugins) for examples. -#### JavaScript +### JavaScript **IW4MAdmin** functionality can also be extended using JavaScript. The JavaScript parser supports [ECMA 5.1](https://ecma-international.org/ecma-262/5.1/) standards. -#### Plugin Object Template +### Plugin Object Template In order to be properly parsed by the JavaScript engine, every plugin must conform to the following template. ```js var plugin = { @@ -95,7 +93,7 @@ var plugin = { } }; ``` -#### Required Properties +### Required Properties - `author` — [string] Author of the plugin (usually your name or online name/alias) - `version` — [float] Version number of your plugin (useful if you release several different versions) - `name` — [string] Name of your plugin (be descriptive!)