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!
Metadata
Release files for unrealzap 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unrealzap-0.1.1.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unrealzap-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.3 MB
Release files / unrealzap-0.1.1.tar.gz
| Download URL | unrealzap-0.1.1.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3255205e8862887cacaa7d09d0c4bdb510cd611587878553fb02e5d886ac003b
|
|
BLAKE2b-256 checksum How to use checksums |
48d21127c11b71d2cd88891924bbc832bf42c5d1c857a54b1494ca547002d2c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 1, 2026.
Transparency logRelease files / unrealzap-0.1.1-py3-none-any.whl
| Download URL | unrealzap-0.1.1-py3-none-any.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9547c8f0a59bb2b5184e59042e7d0f95b27452f7696b90f7464b1086c6d82065
|
|
BLAKE2b-256 checksum How to use checksums |
d64abe41e30bb1d2c747c0d878b251c5ccfea2050a22688516498b09c0d3e13a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 1, 2026.
Transparency log