This README is just a quick start document. You can find more detailed documentation of Spunky Bot at https://spunkybot.de.
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.
If you want to know more, this is a list of selected starting points:
- Introduction to Spunky Bot
- The full list of commands
- There is much more inside the official documentation
- 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:
- Download the latest release
- Read our quickstart guide to get up and running
- 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
- If you do not want to display the rotation messages, set the value
- 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.
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>
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.
- Joining the mailing list:
- Send an email to mailto:[email protected]
- or subscribe via web: https://groups.google.com/forum/#!forum/spunkybot/join
- Leaving the mailing list:
- Send an email to mailto:[email protected]
- or unsubscribe via web: https://groups.google.com/forum/#!forum/spunkybot/unsubscribe
- If you joined the group, you can post to this group:
- Send an email to [email protected]
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.
- 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.
- The library has been extended with the list
- 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.
We really appreciate all kinds of feedback and contributions. Thanks for using and supporting Spunky Bot!