Skip to content

Spunky Bot is a free game server administration software and RCON tool for Urban Terror.

License

Notifications You must be signed in to change notification settings

travmon/spunkybot

 
 

Repository files navigation

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:

Features

  • 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

Environment

  • 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

Quickstart

It's easy to get started with Spunky Bot:

Configuration

  • 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.

Heartbeat

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.

Documentation

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.

Resources

Changelog

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

Versioning

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.

Contributing

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.

License

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!

About

Spunky Bot is a free game server administration software and RCON tool for Urban Terror.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.2%
  • Shell 0.8%