diff --git a/Documentation/Commands/Player/AtBan.md b/Documentation/Commands/Player/AtBan.md new file mode 100644 index 0000000..0497ac6 --- /dev/null +++ b/Documentation/Commands/Player/AtBan.md @@ -0,0 +1,33 @@ +# ATBAN + +Bans IP/STEAMID for X minutes. (For banning offline users) + +## Command usage + +* ATBAN ([string][csharp]: PlayerName/Label) ([string][csharp]: IP or SteamID) <[integer][csharp]: Minutes> + +Parameter | Default State | Description +--: | :--: | :-- +PlayerName / Label | | What shows where Player's name usually is in the ban file. Can be anything +IP / SteamID | | Either a steamID or a IP-adress +Minutes | 43800 | Defaults to 4 weeks when not specified otherwise + +### Command Aliases + +List of Aliases for the word `ATBAN` + +* OBAN +* OFFLINEBAN + +## Examples + +Command | Label | IP / SteamID | Duration | Description +--- | :---: | :---: | :---: | --- +ATBAN | Hubert | 7656119796028xxxx | 60 | Bans the steamID provided for 60 minutes (1 hour) +OBAN | Gaben | 89.82.35.149 | 120 | Bans the IP provided for 120 minutes (2 hours) + +### Note + +[csharp]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table +[player]: ../Variables.md +[resources]: ../Resources.md \ No newline at end of file diff --git a/Documentation/Commands/Player/Breakdoors.md b/Documentation/Commands/Player/Breakdoors.md new file mode 100644 index 0000000..345f21d --- /dev/null +++ b/Documentation/Commands/Player/Breakdoors.md @@ -0,0 +1,33 @@ +# BREAKDOORS + +Makes the user able to break doors upon interaction + +## Command usage + +* BREAKDOORS <[Player][player]> <[Boolean][csharp]: State> + +Parameter | Description +--: | :-- +PLAYER | Self-Targeting | Unless other player is specified, targets self +State | Toggle | Unless specified, enabled state toggles + +List of Aliases for the word `BREAKDOORS` + +* BREAKDOOR +* BD + +## Examples + +Command | [Player][player] | [Bool][csharp] (Default: True) | Description +--- | :---: | :---: | --- +BD | Evan | true | Enables breaking doors for specified player +BD | Robert | | Toggles the enabled/disabled state +BREAKDOORS | LIST | | Lists all players with BREAKDOORS enabled + +### Note + +Additional_info + +[csharp]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table +[player]: ../Variables.md +[resources]: ../Resources.md \ No newline at end of file diff --git a/Documentation/Commands/Player/Command.md b/Documentation/Commands/Player/Command.md new file mode 100644 index 0000000..f783e85 --- /dev/null +++ b/Documentation/Commands/Player/Command.md @@ -0,0 +1,31 @@ +# CommandName + +Does_a_thing + +## Command usage + +* CommandName + +Parameter | Default State | Description +--: | :--: | :-- + +### Command Aliases + +List of Aliases for the word `CommandName` + +* 1 +* 2 +* 3 + +## Examples + +Command | Arguement_1 | Arguement_2 | Arguement_3 | Arguement_4 | Description +--- | :---: | :---: | :---: | :---: | --- + +### Note + +Additional_info + +[csharp]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table +[player]: ../Variables.md +[resources]: ../Resources.md \ No newline at end of file diff --git a/Documentation/Commands/Player/Empty.md b/Documentation/Commands/Player/Empty.md new file mode 100644 index 0000000..7c81c6b --- /dev/null +++ b/Documentation/Commands/Player/Empty.md @@ -0,0 +1,37 @@ +# Empty + +Empties the inventory of the spesified player. Optionally deletes the items completely. + +## Command usage + +* EMPTY [PLAYER][player] + +Parameter | Default State | Description +--: | :--: | :-- +ITEM-ID | | See [resource][resources] page + +### Command Aliases + +List of Aliases for the word `EMPTY` + +* E + +## Examples + +Command | [Player][player] | (Item-ID / DELETE) | | Description +--- | :---: | :---: | :---: | --- +EMPTY | Evan | 11 | | Drops all 05 keycards from player +EMPTY | Robert | 0 | DELETE | Permamently deletes all Janitor keycards from player +EMPTY | Frank | | | Drops all items from player (simmilar to "dropall") +EMPTY | Bob | DELETE | | Permamently deletes all items in Bob's inventory + +### Note + +List of Aliases for the word `DELETE` + +* DEL +* D + +[csharp]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table +[player]: ../Variables.md +[resources]: ../Resources.md \ No newline at end of file diff --git a/Documentation/Commands/Player/GhostMode.md b/Documentation/Commands/Player/GhostMode.md new file mode 100644 index 0000000..7918862 --- /dev/null +++ b/Documentation/Commands/Player/GhostMode.md @@ -0,0 +1,42 @@ +# GhostMode + +Command to go invisible for other players. + +## Command usage + +* GHOSTMODE <[Player][player]> <[Boolean][csharp]: State> <[Boolean][csharp]: Visible to Spectator> <[Boolean][csharp]: Visible when speaking> + +Parameter | Default State | Description +--: | :--: | :-- +PLAYER | Self-Targeting | Unless other player is specified, targets self +State | N/A | The ON/OFF state of the command +Visible to spectator | True | If spectator can see the user or not +Visible while speaking | True | If other players can see the user while user is speaking + +> Note that "Visible while speaking" only works with a radio in the user's hand + +### Command Aliases + +List of Aliases for the word `GHOSTMODE` + +* GH +* GHOST +* GHOSTM + +## Examples + +Command | [Player][player] | [Bool][csharp] (Default: Toggle) | [Bool][csharp] (Default: True) | [Bool][csharp] (Default: True) | Description +--- | :---: | :---: | :---: | :---: | --- +GHOST | Evan | true | | | This would enable ghostmode with `visible to spectator` & `visible when speaking` to true +GHOSTMODE | Hubert | true | false | | This would enable ghostmode without beeing visible to spectators +GH | * | true | | | Would enable ghostmode for all players +GHOSTM | LIST / GET | | | | Would list all players with GHOSTMODE active + +### Note + +All [bools][csharp] are optional +>The SMod `sm_enable_ghostmode` config needs to be set to `true` to use GHOSTMODE + +[csharp]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table +[player]: ../Variables.md +[resources]: ../Resources.md diff --git a/Documentation/Commands/Player/LockDoors.md b/Documentation/Commands/Player/LockDoors.md new file mode 100644 index 0000000..db84865 --- /dev/null +++ b/Documentation/Commands/Player/LockDoors.md @@ -0,0 +1,37 @@ +# LOCKDOORS + +Makes the user able to lock doors upon interaction + +## Command usage + +* LOCKDOORS <[Boolean][csharp]: State> +* LOCKDOORS <[PLAYER][player]> <[Boolean][csharp]: State> +* LOCKDOORS LIST + +Parameter | Default State | Description +--: | :--: | :-- +PLAYER | Self-Targeting | Unless other player is specified, targets self +State | Toggle | Unless specified, enabled state toggles + +### Command Aliases + +List of Aliases for the word `LOCKDOORS` + +* DOORLOCK +* ATLOCK +* ATLD +* ATDL + +## Examples + +Command | Arguement_1 | Arguement_2 | Description +--- | :---: | :---: | --- +LOCKDOORS | * | | Enables lockdoors for ALL players +ATLD | Evan | True | Enables lockdoors +ATLOCK | Hubert | 0 | Disables lockdoors +ATDL | LIST | | Lists all players with LOCKDOORS enabled + + +[csharp]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table +[player]: ../Variables.md +[resources]: ../Resources.md \ No newline at end of file diff --git a/Documentation/Commands/README.md b/Documentation/Commands/README.md new file mode 100644 index 0000000..92335d9 --- /dev/null +++ b/Documentation/Commands/README.md @@ -0,0 +1,53 @@ +### Note that all commands below requires you to have `enable_ra_server_commands:` set to true in your `config_gameplay.txt`, and your steamID64/SERVER-ROLE added to the whitelist for them to work. This is part of [Smod](https://github.com/Grover-c13/Smod2), not the plugin. +*** +## Administration COMMANDS / Gameplay COMMANDS +Command | Value Type | Value Type | Description +--- | :---: | :---: | --- +P / PLAYER | Player | | Lists all values for the specified Player +PLAYERS | | | Lists all players + IP's + SteamID's. +[ATBAN](Commands/Player/AtBan.md) | | | For banning offline user's IP/SteamID. See command's page for more info +ATGOD | Player | Boolean | Turns on/off godmode for that player. Use without (bool) to toggle. Add `nodmg` after (bool) to turn on NoDmg as as well for this player +NODMG | Player | Boolean | Turns on/off damageOutput for that player. Use without (bool) to toggle. +ATHP / ATSETHP | Player | Integer | Sets player HP to (Integer). +ATHEAL | Player | Integer | Heals player for (Integer) amount. Use without (Integer) to set to Role default max HP. +TPX | Player1 | Player2 | Teleports Player1 to Player2. (Will not grab all players names that contain the string you entered like TP does, only the closest match) +TUT / TUTORIAL | Player | | Sets player role to TUTORIAL. +ROLE | Player | ROLEID | Sets player to ROLE without teleporting them to ROLE SPAWN or giving items. +KEEP / KEEPSETTINGS | Player| Boolean | Enables keeping player settings on round restart. +RLOCK / ROUNDLOCK | Boolean | | Turns on/off round ending +BD / BREAKDOORS | Player | Boolean | Turns on/off breaking doors for that player. +PL / PLOCK / PLAYERLOCK / PLAYERLOCKDOWN | Player | Boolean | Locks all doors for the specified player. +SPEC / SPECTATOR | Player | Boolean | Player will never spawn naturally. +IK / INSTAKILL / INSTANTKILL | Player | Boolean | Turns on/off instant kills for that player. +ATDISABLE | | | **Disables the Admintoolbox plugin.** Server will need restart to enable it again +ATCOLOR | Boolean | | `Enable/Disable` admintoolbox colors in server console (currently bugged) +JAIL | Player | seconds | Jails the player for the specified (if not specified, defaults to 1 year) time. Re-use to unjail. +S / SERVERINFO | | | Lists information on the server, such as the name, IP, port, player count, round number and duration, admintoolbox coloring, roundlock and jailed players +KILL / SLAY | Player | | Kills target player. Using `*` will exclude the player using the command +ATSPEAK / ATINTERCOM / AT-SPEAK | Player | | Sets player as Intercom Speaker. Use without Player to set yourself. If used while broadcast, the current broadcast will cancel. +ATHELP | | | Opens this GitHub page for the user +AT | HELP / INFO / DOWNLOAD | | `INFO` compares the server's AT version with the latest GitHub one. `DOWNLOAD` opens a new browser page for the newest download +SERVERSTATS / ROUNDSTATS | | | Displays each type of victory since last server (re)boot +[GHOSTMODE](Commands/Player/GhostMode.md) | | | For becoming invisible + +>Any `Player` variable can be switched out with `*` to target all players. Not specifying a bool toggles it. +>Using `(command) list` will list all players with the currently enabled status. (Like godmode for example) + +>Find a complete list of Role ID's & Item ID's [HERE](Resources.md) +*** +### Advanced Commands (Theese are harder to use and/or requires more Values) +Command | Value Type | Value Type | Value Type | Description +--- | :---: | :---: | :---: | --- +WARP | ADD | Player | WarpName | Adds a warp point where `Player` is +WARP | REMOVE | WarpName | | Removes `WarpName` from WarpPoints +WARP | LIST | | | Lists current warp points +WARP | Player | WarpName | | Teleports `Player` to `WarpName` +POS | Player | ADD | x=5 y=10 | Teleports player 5 on X axis, 10 on Y axis (up). (No need to use every coordinate (X Y Z)) +POS | Player | SET | x=50 y=0 z=-50 | Sets player position to X:50 Y:0 Z:-50 +POS | Player | GET | | Gets XYZ position of `Player` +EMPTY | Player | ItemTypeNumber / (D, DEL,DELETE) | (D, DEL,DELETE) | Drops all items (all unless specified) from the player's inv. If used with (D, DEL or DELETE), it deletes the items instead of dropping. (The second del part is for if you use an item number) + + +> Player input doesn't need the full name, it will grab the closest matching name containing your entry +*** +## ^These commands work in both server console and text-based remote admin!^ \ No newline at end of file diff --git a/Documentation/Commands/Server/RoundLock.md b/Documentation/Commands/Server/RoundLock.md new file mode 100644 index 0000000..e69de29 diff --git a/Documentation/Commands/Server/Serverstats.md b/Documentation/Commands/Server/Serverstats.md new file mode 100644 index 0000000..591295e --- /dev/null +++ b/Documentation/Commands/Server/Serverstats.md @@ -0,0 +1,13 @@ +# ServerStats + +Command to display per-team wins since last restart + +## Command usage + +```SERVERSTATS``` + +List of Aliases for the word `ServerStats` + +* SSTATS +* ROUNDSTATS +* RSTATS diff --git a/Documentation/Commands/Variables.md b/Documentation/Commands/Variables.md new file mode 100644 index 0000000..f994754 --- /dev/null +++ b/Documentation/Commands/Variables.md @@ -0,0 +1,12 @@ + + + +# Commonly used parameters + +Parameter | Aliases | Description +--: | :--: | :-- +|* | ALL / EVERY | This will target all of the parameter type| +|PLAYER | Nickname SteamID PlayerID IP | Note: Majority of commands are self-targeting when player is not specified + + + diff --git a/Documentation/Commands/Whitelist-System.md b/Documentation/Commands/Whitelist-System.md new file mode 100644 index 0000000..c9d64a8 --- /dev/null +++ b/Documentation/Commands/Whitelist-System.md @@ -0,0 +1 @@ +## I'm terribly sorry, but this page hasn't been written yet! \ No newline at end of file diff --git a/Documentation/README.md b/Documentation/README.md new file mode 100644 index 0000000..fdf161c --- /dev/null +++ b/Documentation/README.md @@ -0,0 +1,9 @@ +# Welcome to the AdminToolbox Documentation! + +Pages can be found on the right of the screen + +### Feel free to contribute to this :smile: +> I'm actually really terrible at writing documentation, so any help is greatly appriciated + +*** +### Different pages can be found in the subfolders here. \ No newline at end of file diff --git a/Documentation/Resources.md b/Documentation/Resources.md new file mode 100644 index 0000000..124a2a8 --- /dev/null +++ b/Documentation/Resources.md @@ -0,0 +1,13 @@ + +# Content: +[Role ID's](https://github.com/ServerMod/Smod2/wiki/Enum-Lists#role) + +[Item ID's](https://github.com/ServerMod/Smod2/wiki/Enum-Lists#itemtype) + +[DamageType ID's](https://github.com/ServerMod/Smod2/wiki/Enum-Lists#damagetype) + +[Team ID's](https://github.com/ServerMod/Smod2/wiki/Enum-Lists#damagetype) + +[Room ID's](https://github.com/ServerMod/Smod2/wiki/Enum-Lists#damagetype) + +[And More Types!](https://github.com/ServerMod/Smod2/wiki/Enum-Lists) diff --git a/Documentation/Server Setup/Configuration-Documentation.md b/Documentation/Server Setup/Configuration-Documentation.md new file mode 100644 index 0000000..961719c --- /dev/null +++ b/Documentation/Server Setup/Configuration-Documentation.md @@ -0,0 +1,120 @@ +# If you do not intend to change the default values, there's no need to include any of theese in your config + +>Crossed out config options are temporarily removed, unless otherwise specified in the description + +*** + +## Variable Types + +- **Boolean:** True or False value +- **Integer:** Any whole number (non-decimal) +- **Float:** A number with decimals (Formatting like "1.5") +- **List:** A list of items separated by a `,` (comma). For example: `list: 1,2,3,4,5` +- **Dictionary:** A dictionary of items separated by ":", and each entry separated by ",", for example: `dictionary: 1:2,2:3,3:4` +- **Seconds:** Time in seconds, usually a value of -1 disables the feature +- **Minutes:** Time in minutes, usually a value of -1 disables the feature +- **R:** If the config option has an R before it, it means that you can use a random value in it. A random value is defined by having "{}", items listed like "weight%value" where if you don't put a weight it defaults to a weight of 1, separated by "|", for example: `rlist: {1%1|2%7|6},3,6,{15%3|2|45%2}` +- **STEAMID64:** Steam Profile number identifier [Find yours here!](https://steamid.xyz/) + +*** + +### General Settings + +Config Option | Value Type | Default Value | Description +--- | :---: | :---: | --- +admintoolbox_enable | Boolean | True | `Enable / Disable` AdminToolbox from loading on server start +admintoolbox_colors | Boolean | False | `Enable/Disable` admintoolbox colors in server console (currently bugged) +atb_disable_networking | Boolean | False | `True` disables all GitHub version checking. +admintoolbox_tracking | Boolean | True | Puts an invisible `AT:VersionNumber` in the server name +admintoolbox_round_info | Boolean | True | Displays round-count and duration on start/end of round +admintoolbox_player_join_info_extended | Boolean | True | Displays extended info about joining player +admintoolbox_player_join_info | Boolean | True | Displays joining player's name upon joining. (This does nothing if `extended` version is true) +*** + +### Damage Settings + +Damage Config Option | Value Type | Default Value | Description +--- | :--- | :--- | ---: +admintoolbox_tutorial_dmg_allowed | List | -1 | What damage types the TUTORIAL role is allowed to take. -1 means no damagetypes allowed, `-2` means all. (Alternatively to -2 you can write `all` or `*`) +admintoolbox_round_damageMultiplier | Float | 1 | Multiplies all damage by this number +admintoolbox_endedRound_damageMultiplier | Float | 1 | Multiplies all damage by this number after round ends. For maximum chaos enter high number (10 or something) To turn off dmg on round end, enter `0`. +admintoolbox_decontamination_damagemultiplier | Float | 1 | Multiplies LCZ decontaimnent damage with the specified number +admintoolbox_block_role_damage | roleX:role1 | | Blocks damage between specified roles. +*** + +```yaml +#Example: Chaos cannot damage Dboys, scientists cannot harm any MTF. (But opposite is fine for both) +admintoolbox_block_role_damage: 8:1,6:12:13:15 +``` + +*** + +### Info Settings + +Config Option | Value Type | Default Value | Description +--- | :---: | :---: | --- +admintoolbox_info_player_join | Boolean | True | Writes Playername in server console when player joins (Currently only works for players joining, not leaving) +*** + +### Intercom Settings + +Intercom Config Option | Value Type | Default Value | Description +--- | :---: | :---: | --- +admintoolbox_intercom_whitelist | ServerRole:SpeakTime:CooldownTime | | Whitelist of server roles (roles from `config_remoteadmin.txt` with specific time settings +admintoolbox_intercom_steamid_blacklist | SteamID64 | | List of people who cannot use the intercom +admintoolbox_intercomlock | Boolean | False | If true locks the intercom for non-whitelisted players +admintoolbox_intercomtransmit_text | String | | What text the screen displays when transmitting (empty results in default game behaviour) +admintoolbox_intercomready_text | String | | What text the screen displays when the intercom is ready to be used +admintoolbox_intercomrestart_text | String | | What text the screen displays when its restarting (counting down) + +Name variables for intercom_transmit config: +`$player` `$playerid` `$playerrole` `$playerteam` `$playerhp` (alternative `$playerhealth`) `$playerrank` +*** + +### Logfile settings + +> File(s) will be created at the path specified in `admintoolbox_folder_path` config (SL Appdata Folder by default) + +Config Option | Value Type | Default Value | Description +--- | :---: | :---: | --- +admintoolbox_log_teamkills | Boolean | False | Writes teamkills to the AT logfile +admintoolbox_log_kills | Boolean | False | Writes non-team kills to the AT logfile +admintoolbox_log_commands | Boolean | False | Writes command usage to the AT logfile +admintoolbox_log_damage | Boolean | False | Writes all player-damage to the AT logfile +admintoolbox_folder_path | String (Path) | %Appdata%\Roaming\SCP Secret Laboratory\ | Where the Admintoolbox folder will be located +admintoolbox_stats_unified | Boolean | True | If true uses one folder for all servers, false creates a folder per server +admintoolbox_logremover_hours_old | Int | 0 | Automaticly removes AT logs older than specified hours of age. 0 means disabled + +*** + +### Debug Settings + +Config Option | Value Type | Default Value | Description +--- | :---: | :---: | --- +admintoolbox_debug_damagetypes | List | All human player damage ID's | What damage types to detect. +admintoolbox_debug_player_damage | Boolean | False | Displays all non-friendly kills in server console. +admintoolbox_debug_friendly_damage | Boolean | False | Displays team damage in server console. +admintoolbox_debug_player_kill | Boolean | False | Displays all non-friendly kills in server console. +admintoolbox_debug_scp_and_self_killed | Boolean | False | Displays suicides, granade kills and SCP kills in server console. +admintoolbox_debug_friendly_kill | Boolean | True | Displays teamkills in server console. +*** + +### *Note that all configs should go in your server config file, not config_remoteadmin.txt + +### Examples + +```yaml +#The example would make scientists (6) not able to damage any class, dboys (1) not able to attack other dboys (1)) +admintoolbox_block_role_damage: 6:0-1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17,1:1 + + +admintoolbox_intercom_whitelist: owner:120:10, moderator:90:20 +``` + +>Find a complete list of DamageID's, RoleID's and more in the [RESOURCES](Resources.md) page! + +*** + +### Place any suggestions/problems in [issues](https://github.com/Rnen/AdminToolbox/issues)! + +# Thanks & Enjoy. \ No newline at end of file diff --git a/Documentation/Server Setup/How-To-Install.md b/Documentation/Server Setup/How-To-Install.md new file mode 100644 index 0000000..1ebb807 --- /dev/null +++ b/Documentation/Server Setup/How-To-Install.md @@ -0,0 +1,22 @@ +# ServerMod - (This is required for any plugin) + +ServerMod is a server side plugin framework with a bunch of additional configuration options, bug fixes, security patches and some optimisations built in. + +* SMOD can be found here: [Smod Github](https://github.com/ServerMod/Smod2) +* SMOD Discord: [Invitation Link](https://discord.gg/8nvmMTr) + +*** + +## To install + +1. Grab newest `.dll` file of AdminToolbox: [Latest Release](https://github.com/Rnen/AdminToolbox/releases/latest) +2. Navigate to your **SCP Secret Lab Server** folder. +3. Drag `AdminToolbox.dll` into the `sm_plugins` folder + +## Alternative + +Running the AutoUpdate.bat file will automatically download and replace your current AdminToolbox with the newest version! + +> Note that it does not download if the GitHub version is equal to your current version + +> Note that you cannot use this while the server is running \ No newline at end of file diff --git a/Documentation/Server Setup/Server-Name-Variables.md b/Documentation/Server Setup/Server-Name-Variables.md new file mode 100644 index 0000000..2590239 --- /dev/null +++ b/Documentation/Server Setup/Server-Name-Variables.md @@ -0,0 +1,7 @@ +## List of Server Name Variables + +Theese are key-words you can put in your server name config, that will be replaced with a value + +Variable | Description +:--:|:-- +$atversion | Displays the current AdminToolbox version \ No newline at end of file