A collection of plugins for minqlx.
Clone or download
Latest commit b176986 Jun 21, 2018
Failed to load latest commit information.
extras 💖 Initial commit. 💖 Oct 28, 2015
.gitignore Messed up ignore of local test plugin. 🌸 Nov 1, 2015
LICENSE Initial commit Oct 28, 2015
README.md README: Added note about PRs and branches. Nov 2, 2016
__init__.py Removed hardcoded version number in favor of "git describe". Nov 2, 2015
balance.py balance: fixed data cleanup on player disconnect May 28, 2018
ban.py ban: Reverted b0087d1 and hopefully implemented it properly this time. Jan 26, 2016
clan.py Saving the tag to db before executing set_configstring for proper que… Nov 2, 2016
docs.py Added plugins version to docs output. Nov 9, 2015
essentials.py Allow silenced players to do !sounds via console Nov 2, 2016
fun.py fun: Added Visor's taunt May 19, 2018
irc.py irc: Relay votes and map changes to IRC. Dec 17, 2015
log.py log: Add the IP of the player to the player connect line. Dec 17, 2015
motd.py Prevent KeyError in cmd_getmotd Nov 2, 2016
names.py fix spectator name pre-colouring May 7, 2016
permission.py permission: Fixed a small bug where the feedback of !setperm using a … Dec 25, 2015
plugin_manager.py correct command usage return Dec 31, 2015
raw.py 💖 Initial commit. 💖 Oct 28, 2015
requirements.txt 💖 Initial commit. 💖 Oct 28, 2015
silence.py silence: Disallow name changing while silenced. Nov 2, 2016
solorace.py solorace: Fixed a bug where if there's one player racing and a specta… Nov 30, 2015
workshop.py workshop: Plugin to force the client to download workshop items, and … Dec 10, 2015



This is a collection of plugins for minqlx. The Python dependencies are included in requirements.txt. Make sure you do a python3.5 -m pip install -r requirements.txt first. pyzmq and hiredis might need easy_install instead of pip.

The extras directory contains plugins I would not advice you use unless you further improve them or just use them for the purpose of learning.

This repository only contains plugins maintained by me. Take a look here some of the plugins by other users that could be useful to you.

If you have any questions, the IRC channel for the old bot, #minqlbot on Quakenet, is being used for this one as well. Feel free to drop by.


This is a list of plugins and their cvars. Set the cvars by passing them as a command line argument or using server.cfg like you would with any other QLDS cvar.

  • plugin_manager: Adds commands to load, reload and unload plugins at run-time.
  • essentials: Adds commands for the regular QLDS commands and some more. Adds functionality to restrict teamsize voting and to pass votes before it fails if the majority votes yes.
    • qlx_votepass: A boolean deciding whether or not it should automatically pass votes before they fail if the majority voted yes.
      • Default: 1
    • qlx_votepassThreshold: If qlx_votepass is 1, determines the percentage (in decimal) of in-game players required to vote before it automatically passes any votes.
      • Default: 0.33
    • qlx_teamsizeMinimum: The minimum teamsize allowed to vote for. !teamsize can override this.
      • Default: 1
    • qlx_teamsizeMaximum: The maximum teamsize allowed to vote for. !teamsize can override this.
      • Default: 8 (if teams are full and teamsize is above 8, players will not be visible on the scoreboard)
  • ban: Adds command to ban people for a set amount of time. Also adds functionality to ban for automatically for leaving too many games.
    • qlx_leaverBan: A boolean deciding whether or not it should automatically ban players for leaving.
      • Default: 0
    • qlx_leaverBanThreshold: If qlx_leaverBan is 1, determines the percentage of games (in decimal) a player has to go below before automatic banning takes place.
      • Default: 0.63
    • qlx_leaverBanWarnThreshold: If qlx_leaverBan is 1, determines the percentage of games (in decimal) a player has to go below before a player is warned about his/her leaves.
      • Default: 0.78
    • qlx_leaverBanMinimumGames: If qlx_leaverBan is 1, determines the minimum number of games a player has to player before automatic banning takes place. If it determines a player cannot possibly recover even if they were to not leave any future games before the minimum, the player will still be banned.
      • Default: 15
  • balance: Adds commands and cvars to help balance teams in team games using ratings provided by third-party services.
    • qlx_balanceAuto: A boolean determining whether or not it should automatically try to balance teams if a shuffle vote passes.
      • Default: 1
    • qlx_balanceUseLocal: A boolean determining whether or not it should use local ratings set by the !setrating command.
      • Default: 1
    • qlx_balanceMinimumSuggestionDiff: The minimum rating difference before it suggests a switch when !teams is executed.
      • Default: 25
    • qlx_balanceUrl: The address to the site hosting an instance of PredatH0r's XonStat fork, which is currently the only supported rating service.
      • Default: qlstats.net:8080, which is hosted by PredatH0r himself.
  • silence: Adds commands to mute a player for an extended period of time. This persists reconnects, as opposed to the default mute behavior of QLDS.
  • clan: Adds commands to let players have persistent clan tags without having to change the name on Steam.
  • motd: Adds commands to set a message of the day.
    • qlx_motdSound: The path to a sounds that is played when players connect and have the MOTD printed to them.
      • Default: sound/vo/crash_new/37b_07_alt.wav
    • qlx_motdHeader: The header printed right before the MOTD itself.
      • Default: ^6======= ^7Message of the Day ^6=======
  • permission: Adds commands to set player permissions.
  • names: Adds a command to change names without relying on Steam.
    • qlx_enforceSteamName: A boolean deciding whether or not it should force players to use Steam names, but allowing colors, or to allow the player to set any name.
      • Default: 1
  • raw: Adds commands to interact with the Python interpreter directly. Useful for debugging.
  • irc: Has a small built-in IRC client that can relay chat to and from an IRC channel. It can also be used to remotely execute minqlx commands.
    • qlx_ircServer: The address to the IRC server. The default port is 6667, but if you need to change it, just append :<port>.
      • Default: irc.quakenet.org
    • qlx_ircRelayChannel: The channel where chat is relayed to and from. Note that you must not omit the # from the channel name.
    • qlx_ircRelayIrcChat: A boolean determining whether or not it should relay messages from IRC to the game chat.
      • Default: 1
    • qlx_ircIdleChannels: A list of channels you just want it to sit in and not do anything. Example: #mychan1, #mychan2.
    • qlx_ircNickname: The nickname the client will use on IRC.
      • Default: minqlx-XXXX where the last four characters is a random number between 1000 and 9999.
    • qlx_ircPassword: A password that can be used to remotely execute commands. Leave it unconfigured if you don't want this feature.
    • qlx_ircColors: A boolean determining whether or not it should take in-game colors and translate them to colors supported by a lot of IRC clients. Note that if this is not on, it will simply remove colors from all in-game chat.
      • Default: 0
    • qlx_ircQuakenetUser: The Quakenet auth username. Leave it as it is if you don't use Quakenet or don't care for the feature.
    • qlx_ircQuakenetPass: The Quakenet auth password.
    • qlx_ircQuakenetHidden: Whether or not it should use mode +x, which hides its own hostname.
      • Default: 0
  • log: A plugin that logs chat and commands. All logs go to fs_homepath/chatlogs.
    • qlx_chatlogs: The maximum number of logs to keep around. If set to 0, no maximum is enforced.
      • Default: 0
    • qlx_chatlogsSize: The maximum size of a log in bytes before it starts with a new one.
      • Default: 5000000 (5 MB)
  • solorace: A plugin that starts the game and keeps it running on a race server without requiring a minimum of two players, like you usually do with race.
  • docs: A plugin that generates a command list of all the plugins currently loaded, in the form of a Markdown file.
  • workshop: A plugin that allows the use of custom workshop items that the server might not reference by default, and thus not have the client download them automatically.
    • qlx_workshopReferences: A comma-separated list of workshop IDs for items you want to force the client to download. Use this for custom resources, such as sounds packs and whatnot.


If you create pull requests, please try to not deviate from the coding style of the plugins (e.g. don't use camelCase variable names and stuff like that), and please create the PR against the develop branch of the repository.