# Source.Python Admin ## Introduction Source.Python Admin is an open-source project that uses the [Source.Python](https://github.com/Source-Python-Dev-Team/Source.Python) framework to allow for easy Administration on Source-engine servers. ## Front Ends Source.Python Admin lets you gain control to its features via multiple front ends. The front ends are: - **Command** Front End - **Popup/Menu** Front End - **MoTD** Front End - **Web** Front End Here's a table showing what front ends are currently supported by each included plugin: Plugin | Command | Popup/Menu | MoTD | Web ------ | ------- | ---------- | ---- | --- Communication Management | No | **Yes** | No | No Kick/Ban | No | **Yes** | **Yes** | No Life Management | **Yes** | **Yes** | **Yes** | No Team Management | No | **Yes** | No | No Tracking | **Yes** | **Yes** | No | No ### Command Front End Command front end allows executing features through chat and client commands. #### Syntax: - `!spa ` - public chat command - `/spa ` - private chat command - `spa ` - client command The difference between public and private chat commands is that the private one suppresses the command string, so that nobody receives a chat message containing it. Client commands are run via player's game console. Player-based features (those have some kind of a player target) can also be executed via command front end. #### Syntax (`!spa`, `/spa` and `spa` prefixes are omitted here, but otherwise are required): ` ` Where *player filter* is one of the following: - `name` - this filter targets player by their name; *filter argument* is required in this case. - `steamid`, `steam` - this filter targets player by their SteamID; *filter argument* is required in this case. - `index` - this filter targets player by their entity index; *filter argument* is required in this case. - `@` - this filter targets player using one of the template player filters; *filter argument* is omitted in this case; *built-in template filter* is one of the following: - `me`, `self` - targets the command issuer. - `all` - targets all players on the server. - `bot` - targets all bots on the server (including GOTV/SourceTV). - `human` - targets all human players on the server; opposite to `bot`. - `dead` - targets all dead players on the server. - `alive` - targets all alive players on the server; opposite to `dead`. - `un` - targets all unassigned players (those who didn't select their team). - `spec` - targets all spectators. - `t` - targets all team #2 players (terrorists, rebels, RED team etc). - `ct` - targets all team #3 players (counter-terrorists, combines, BLU team etc). - depending on the game, additional team filters might be defined. - `#` - this filter targets player by their UserID (as reported by the `status` console command); *filter argument* is omitted in this case; *userid* is the target's UserID. - `!` - this filter targets all players, but only not those who would otherwise be targeted by *inverted player filter*; *filter argument* is passed to the inverted player filter. #### Examples: - `/spa slay @all` - slays all players on the server - `/spa slay !@me` - slays all players except the player who issues the command - `/spa resurrect name iPlayer` - resurrects the player whose name matches "iPlayer" ### Popup/Menu Front End This front end provides access to the features via in-game radio menus. The main menu can be accessed by either running `spa menu` command in game console or typing `!spa menu` or `/spa menu` in game chat. To get this menu to show up, the client must have `admin.base` permission. ### MoTD Front End This front end provides allows to administrate the server from the in-game MoTD screen, providing the most impressive experience with the interactive graphical interface. Its main screen shows up after running `spa motd` in game console or typing `!spa motd` or `/spa motd` in game chat. The admin must have `admin.base` permission to open the MoTD front end. ### Web Front End Web front end is the only front end that allows admins to access Source.Python Admin features remotely, without even playing on the server. All it requires is a web-browser, then the admin can sign in via Steam OpenID. Web front end works in two modes: offline and online. - **online** mode provides an access to the regular set of the features; - **offline** mode works directly with the server database - this is useful, for example, for banning players even when the game server is offline. The switching between online and offline modes is done automatically.