Spunky Bot is a free game server administration software and RCON tool for Urban Terror.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
debian Bumped version number to 1.11.0 Aug 5, 2018
lib Updated schedule library to version 0.4.3 Aug 6, 2018
.travis.yml Ignore too strict PEP8 check E722 Jan 11, 2018
CHANGELOG.md Updated CHANGELOG to 1.11.0 Aug 6, 2018
CONTRIBUTING.md Add CONTRIBUTING.md file May 5, 2018
LICENSE Updated LICENSE file Jan 10, 2018
debian-startscript Improve systemd and sysVinit scripts May 20, 2018
setup.cfg Removed zip file for pypi sdist generation Jun 3, 2018
setup.py Changed to https links Jun 3, 2018
spunky.py Ensure that cmd !ungroup does not allow to change own group Aug 6, 2018


This README is just a quick start document. You can find more detailed documentation of Spunky Bot at https://spunkybot.de.

What is Spunky Bot?

Spunky Bot is a lightweight game server administration bot and RCON tool. Its purpose is to administer, manage and maintain an Urban Terror 4.1 / 4.2 / 4.3 server and to provide real time statistics data for players. Spunky Bot is a cross-platform package and offers in-game commands without authentication and automated administration even when no admin is online. The code of Spunky Bot is inspired by the eb2k9 bot by Shawn Haggard, which was released under the Beerware License.

Build Status License Version PyPI version Python version Code Health Codacy Grade

If you want to know more, this is a list of selected starting points:


  • Lightweight and fast
  • Real time game statistics
  • Different user groups and levels
  • Supports all RCON commands
  • Supports temporary and permanent bans of players
  • Supports rotation messages
  • Stores all player related information in a SQLite database
  • Runs 'out of the box', no other software requirements


  • Urban Terror 4.1.1 / 4.2.023 / 4.3.4
  • Python 2.6 / 2.7
  • SQLite 3 database
  • Cross-platform (tested on Debian 6 / 7 / 8 / 9, Ubuntu 12 / 14 / 16 / 18, CentOS 6 / 7, macOS 10.13, Windows 7 / 10)
  • Supporting 32-bit and 64-bit operating systems


It's easy to get started with Spunky Bot:


  • Modify the Urban Terror server config file as follows:
    • seta g_logsync "1"
    • seta g_loghits "1"
  • Restart your Urban Terror server
  • Modify the Spunky Bot configuration file /conf/settings.conf and set game server port and RCON password
  • In-game displayed rules/advertisements are contained in the file /conf/rules.conf
    • If you do not want to display the rotation messages, set the value show_rules=0 in the config file /conf/settings.conf
  • Run the application manually: python spunky.py
  • Or use the provided systemd or sysVinit script to run Spunky Bot as daemon

First start instruction:

  • Connect to your game server and type !iamgod in the global chat to get the admin level "Head Admin". This command is only once available.


Spunky Bot has an option to send a heartbeat signal to our masterserver. There is no client data sent to the masterserver at all! Data in the heartbeat packet contain: Spunky Bot version, the port of the game server and the operating system version. The information is used for generating global statistics and to determine operating system popularity.


You can find all the documentation in the Wiki.

Bot Commands

The description of all available commands as well as the admin levels and rights is located under the subfolder /doc.



You can keep up-to-date with the changes that we have made via our releases page.


Spunky Bot is currently maintained under the Semantic Versioning guidelines. Releases will be numbered with the following format: <major>.<minor>.<patch>

Additional Information

For additional information, visit the Spunky Bot website at https://www.spunkybot.de.

If you have any questions about Spunky Bot or need help, please use the mailing list. If you need help right now, you can also find us on Twitter.

In our Google+ Community we talk about anything our community is interested in. You can also follow us on Google+.

If you have bug reports or feature suggestions, please use the issue tracker.


You can help us in different ways:

  • Open an issue with suggestions for improvements
  • Fork this repository and submit a pull request:
    • Click the Fork button to create your personal fork
    • Create your feature branch (git checkout -b new-feature)
    • Commit your changes (git commit -am 'Add some feature')
    • Push to the branch (git push origin new-feature)
    • Create a new pull request
  • Improve the documentation (separate repository)

By contributing code to this project in any form, including sending a pull request via GitHub, a code fragment or patch via mail or public discussion groups, you agree to release your code under the terms of the MIT license that you can find in the LICENSE file included in this source distribution.

Please see the CONTRIBUTING guide for information regarding the contribution process.


The code of Spunky Bot is released under the MIT License. See the LICENSE file for the full license text.

Third Party Libraries

  • RCON: pyquake3.py
    • The library has been modified to fix some error handling issues and fulfill the PEP8 conformance. This file is released under the GNU General Public License.
  • GeoIP: pygeoip.py
    • The library has been extended with the list GeoIP_country_name to support full country names (e.g. Germany for country_code DE). This file is released under the MIT License.
  • GeoLite database: www.maxmind.com
    • The GeoLite databases created by MaxMind are distributed under the Creative Commons Attribution-ShareAlike 4.0 International License.
  • Schedule: schedule.py
    • This file is released under the MIT License.

Urban Terror® and FrozenSand™ are trademarks, or registered trademarks of Frozensand Games Limited.

Thank you!

We really appreciate all kinds of feedback and contributions. Thanks for using and supporting Spunky Bot!