Unreal Tournament bug zapper
Project description
Unreal Zap
Based on an amazing idea to have the Unreal Tournament kill streak sounds play when the bug zapper goes off, this script makes that dream a reality.
It listens to microphone input and waits for a burst of sound over a certain volume threshold, then plays the appropriate Unreal Tournament kill streak sound based on number of kills so far that day.
It also supports multi-kills—if you get multiple zaps within 60 seconds, you'll be treated to "double kill" instead of "killing spree," and so on. If you get more zaps than there are sounds, you're treated to "Headshot!" for the rest of that day.
The script resets at midnight each day, and supports quiet hours to avoid going off overnight.
Sounds
In addition to "Headshot," the following sounds are included:
Kill Streak
- First Blood
- Killing Spree
- Rampage
- Dominating
- Unstoppable
- Godlike
Multi-Kills
- Double Kill
- Multi-Kill
- Ultra Kill
- Monster Kill
Setting Up a Raspberry Pi
This is simple to set up with a Raspberry Pi and a USB conference mic that works with Linux like this one.
Make sure the Raspberry Pi is up-to-date:
sudo apt update
sudo apt upgrade
Install using pip:
pip install unrealzap
Create a systemd service to run the script on startup:
sudo nano /etc/systemd/system/unrealzap.service
Configure like so:
[Unit]
Description=Unreal Zap
After=network.target sound.target
Wants=sound.target
[Service]
ExecStart=/path/to/python -m unrealzap.bug_zapper:main
StandardOutput=journal
StandardError=journal
Restart=on-failure
RestartSec=5
User=danny
Group=audio
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # May need adjustment
Environment=PYTHONUNBUFFERED=1
Environment=XDG_RUNTIME_DIR=/run/user/1000
Environment=ALSA_CARD=S3
TimeoutStopSec=10
Nice=-10
[Install]
WantedBy=multi-user.target
Enable and start the service, and check the status to confirm:
sudo systemctl enable --now unrealzap.service
sudo systemctl start unrealzap.service
sudo systemctl status unrealzap.service
M-M-M-M-MONSTER KILL!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unrealzap-0.1.1.tar.gz.
File metadata
- Download URL: unrealzap-0.1.1.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3255205e8862887cacaa7d09d0c4bdb510cd611587878553fb02e5d886ac003b
|
|
| MD5 |
f2f6c2c4354dbe689d6ef3e3eeacec4a
|
|
| BLAKE2b-256 |
48d21127c11b71d2cd88891924bbc832bf42c5d1c857a54b1494ca547002d2c4
|
Provenance
The following attestation bundles were made for unrealzap-0.1.1.tar.gz:
Publisher:
python-publish.yml on dannystewart/unrealzap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unrealzap-0.1.1.tar.gz -
Subject digest:
3255205e8862887cacaa7d09d0c4bdb510cd611587878553fb02e5d886ac003b - Sigstore transparency entry: 887248542
- Sigstore integration time:
-
Permalink:
dannystewart/unrealzap@85abd25ff8f47d15c314468b6fb1463b0f01ad91 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/dannystewart
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@85abd25ff8f47d15c314468b6fb1463b0f01ad91 -
Trigger Event:
push
-
Statement type:
File details
Details for the file unrealzap-0.1.1-py3-none-any.whl.
File metadata
- Download URL: unrealzap-0.1.1-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9547c8f0a59bb2b5184e59042e7d0f95b27452f7696b90f7464b1086c6d82065
|
|
| MD5 |
406fb39c074cbe80ae5e9933201ae95d
|
|
| BLAKE2b-256 |
d64abe41e30bb1d2c747c0d878b251c5ccfea2050a22688516498b09c0d3e13a
|
Provenance
The following attestation bundles were made for unrealzap-0.1.1-py3-none-any.whl:
Publisher:
python-publish.yml on dannystewart/unrealzap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unrealzap-0.1.1-py3-none-any.whl -
Subject digest:
9547c8f0a59bb2b5184e59042e7d0f95b27452f7696b90f7464b1086c6d82065 - Sigstore transparency entry: 887248640
- Sigstore integration time:
-
Permalink:
dannystewart/unrealzap@85abd25ff8f47d15c314468b6fb1463b0f01ad91 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/dannystewart
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@85abd25ff8f47d15c314468b6fb1463b0f01ad91 -
Trigger Event:
push
-
Statement type: