- Notifications
You must be signed in to change notification settings - Fork2
Gunfight game server script for UrbanTerror. Based off Spunky Bot.
License
MrYay/spunkybot
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a lightweight server script for enablinggunfight-like gamemode on anUrban Terror game server.Based offSpunky Bot stripped of its administration functions, meaning it will not react to in-game commands.
When the Gunfight modifier is enabled, every player spawns with the same loadout, generated randomly or predefined by the server admin.Loadouts used can change periodically, at a rate that can be configured.Only gamemodes with no respawn are supported (Team Survivor, Bomb Mode, Freeze Tag and Last Man Standing).
An Urban Terror server binary withsv_forcegear
functionality is required. For examplehttps://github.com/MrYay/ioq3-for-UrbanTerror-4
- Gunfight gamemode modification with fully randomized loadouts or presets
- Match point system
- Randomized mapcycle
- Urban Terror 4.1.1 / 4.2.023 / 4.3.4
- Python 2.6 / 2.7
- 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
The setup is similar toSpunky Bot quickstart instructions without the!iamgod
command
- Modify the Urban Terror server config file as follows:
seta g_logsync "1"
- Restart your Urban Terror server
- Modify the configuration file
/conf/settings.conf
and set game server port and RCON password - Run the application manually:
python spunky.py
- Or use the provided systemd or sysVinit script to run Spunky Bot as daemon
The game modifiers can be enabled by editing/conf/settings.conf
before running the bot.
Under the[gamemode]
section:
- set
gunfight = 1
to enable gunfight mode - set
gunfight_presets
to a comma-separated list of loadouts if you want to usepredefined loadouts. If this option is not set, loadouts are generated on the fly. - set
gunfight_banned_items
to a string containinggear you do not want to appear in loadouts - set
gunfight_banned_loadouts
to a comma-separated list of loadouts you want to prevent from being generated. - set
gunfight_loadout_rounds
to the number of rounds to play before a new loadout is generated. Default is2
- set
gunfight_loadout_probs
to a comma-separated list of probabilities for each loadout type to be generated, in the format<type>:<probability>
.loadout types can be the following:
Variable Name | Loadout Type |
---|---|
p_K | Knife only |
p_G | Grenade only |
p_PSPs | Primary+Secondary+Pistol |
p_PS | Primary+Secondary (no pistol) |
p_PPs | Primary+Pistol |
p_PO | PrimaryOnly |
p_SPs | Secondary+Pistol |
p_SO | SecondaryOnly |
p_PsO | PistolOnly |
For example, to have all loadout types generated with equal probabilities except for knife only:
p_K : 0,p_G : 0.11,p_PSPs : 0.11,p_PS : 0.11,p_PPs : 0.11,p_PO : 0.11,p_SPs : 0.11,p_SO : 0.11,p_PsO : 0.11
- set
use_match_point = 1
to enable the match point system. If enabled, the match ends as soon as a team's score reaches more than half the value ofg_maxrounds
Under the[mapcycle]
section:
- set
mapcycle_file
to the path of your server's mapcycle, for example/home/urt/server/q3ut4/mapcycle.txt
- set
mapcycle_randomize = 1
to enable mapcycle randomization. If enabled, the ordering of the maps in the mapcycle will be randomly shuffled.
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 theLICENSE file included in this source distribution.
The code of Spunky Bot is released under the MIT License. See theLICENSE 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 and the MaxMind Open Data 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.
About
Gunfight game server script for UrbanTerror. Based off Spunky Bot.
Topics
Resources
License
Code of conduct
Security policy
Stars
Watchers
Forks
Packages0
Languages
- Python93.0%
- Makefile4.3%
- Shell2.7%