|
| 1 | +# Steam Account Restrictor |
| 2 | +Block suspicious Steam accounts from joining your Unturned server. |
| 3 | + |
| 4 | +## Features |
| 5 | +- Kick accounts with private Steam profiles |
| 6 | +- Kick limited Steam accounts (no purchases / not full members) |
| 7 | +- Kick accounts younger than a configurable age |
| 8 | +- Kick VAC banned accounts |
| 9 | +- Bypass permission for staff and trusted players |
| 10 | +- Optional custom kick command (e.g. ban via your own kick/ban plugin) |
| 11 | +- Fully asynchronous Steam Web API checks — zero impact on server tick |
| 12 | + |
| 13 | +## Permissions |
| 14 | +| Permission | Description | |
| 15 | +|------------|-------------| |
| 16 | +| `steamaccountrestrictor.bypass` | Skip all Steam account checks for this player or group | |
| 17 | + |
| 18 | +## Setup |
| 19 | +1. Install the plugin into the `Rockets/Plugins` directory. |
| 20 | +2. Get a Steam Web API key from https://steamcommunity.com/dev/apikey |
| 21 | +3. Open `SteamAccountRestrictor.configuration.xml` and paste your key into `SteamWebAPIKey`. |
| 22 | +4. Toggle the checks you want enabled and restart the server. |
| 23 | + |
| 24 | +## Configuration |
| 25 | +```xml |
| 26 | +<?xml version="1.0" encoding="utf-8"?> |
| 27 | +<SteamAccountRestrictorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| 28 | + <Debug>false</Debug> |
| 29 | + <SteamWebAPIKey>APIKEY</SteamWebAPIKey> |
| 30 | + <KickPrivateProfiles>true</KickPrivateProfiles> |
| 31 | + <KickLimitedAccounts>true</KickLimitedAccounts> |
| 32 | + <KickMinimumAgeAccounts>true</KickMinimumAgeAccounts> |
| 33 | + <MinimumAccountAgeDays>3</MinimumAccountAgeDays> |
| 34 | + <KickVACBanAccounts>false</KickVACBanAccounts> |
| 35 | + <UseKickCommand>false</UseKickCommand> |
| 36 | + <KickCommand>kick {steamid} "{reason}"</KickCommand> |
| 37 | + <KickCommandDelay>1</KickCommandDelay> |
| 38 | +</SteamAccountRestrictorConfiguration> |
| 39 | +``` |
| 40 | + |
| 41 | +### Configuration Options |
| 42 | +| Option | Description | |
| 43 | +|--------|-------------| |
| 44 | +| `Debug` | Enable debug logging | |
| 45 | +| `SteamWebAPIKey` | Your Steam Web API key from https://steamcommunity.com/dev/apikey | |
| 46 | +| `KickPrivateProfiles` | Kick players whose Steam profile is private | |
| 47 | +| `KickLimitedAccounts` | Kick players with limited Steam accounts (e.g. no purchases) | |
| 48 | +| `KickMinimumAgeAccounts` | Kick players whose Steam account is younger than `MinimumAccountAgeDays` | |
| 49 | +| `MinimumAccountAgeDays` | Minimum required Steam account age in days | |
| 50 | +| `KickVACBanAccounts` | Kick players with any VAC ban on their Steam account | |
| 51 | +| `UseKickCommand` | Use a custom kick command instead of the built-in kick | |
| 52 | +| `KickCommand` | Command template; supports `{steamid}` and `{reason}` placeholders | |
| 53 | +| `KickCommandDelay` | Delay in seconds before executing the custom kick command | |
| 54 | + |
| 55 | +## Translations |
| 56 | +```xml |
| 57 | +<?xml version="1.0" encoding="utf-8"?> |
| 58 | +<Translations xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| 59 | + <Translation Id="KICKED_PRIVATE_PROFILE" Value="Your Steam profile is private." /> |
| 60 | + <Translation Id="KICKED_LIMITED_ACCOUNT" Value="Your Steam account is limited." /> |
| 61 | + <Translation Id="KICKED_MINIMUM_ACCOUNT_AGE" Value="Your Steam account is too young. It must be at least {0} days old." /> |
| 62 | + <Translation Id="KICKED_VAC_BANNED" Value="Your Steam account is VAC banned." /> |
| 63 | +</Translations> |
| 64 | +``` |
0 commit comments