/SwissAdminTools

Admin toolkit for BattleBit Remastered server owners

Primary LanguageC#

Swiss Admin Tools

everything you need for your BattleBit Remastered community server

Description

This is a fork that adds admin utilities for BattleBit administrators and moderators. It leverages the BattleBitAPIRunner framework to load and unload modules into the server at runtime. Running the loader is required for this to work.

Features

Current features are:

  • !say sends a message to all players formatted with colors and distinguishable from normal chat. (short form is @message here)
  • !clear clears the chat for all players.
  • !kick <target> <optional reason> kicks a player from the server.
  • !slay <target> kills a player.
  • !ban <target> <length in minutes> <optional reason> bans a player from the server.
  • !gag <target> <length in minutes> <optional reason> gags a player from the server.
  • !saveloc saves the current location of the player.
  • !tele <target> teleports the player to the saved location.
  • !restrict <weapon> restricts a weapon from being used by the player.
  • !rcon <command> executes a rcon command on the server. (must be wrapped in quotes if it contains spaces)

An additional feature is that all chat messages are logged to a file named chat_date-here.log in the same directory as the binary. Additionally all chat messages are logged to a mysql database if configured.

Targeting for commands

The following target rules apply:

  • @all targets all players.
  • @me targets the player who sent the command.
  • @!me targets all players except the player who sent the command.
  • @usa targets all players on the USA team.
  • @rus targets all players on the RUS team.
  • @dead targets all players who are dead.
  • @alive targets all players who are alive.
  • @class-here targets all players of the specified class. (assault, medic, support, engineer, recon, leader)
  • #steam_id64-here targets the player with the specified SteamID64. (e.g. #76561197997290818) (max 1 match)
  • name-here targets the player with the specified name. (e.g. nik) would match Nik, Niko, Nikolas, etc. (max 1 match)

Examples

  • !ban nik 60 best reason ever
  • !ban niko 0 (permanent ban with default reason)
  • !kick @usa
  • !slay @alive
  • !kick #76561197997290818 your name is impossible to type

Database setup

you need a mysql database running locally (values are currently hardcoded). Here is the init script: init.sql

License

I don't care about licenses for this project, do whatever you want with this. If you like it feel free to credit me :)