retro-alcoi
Tools for configuring PCs at a retro gaming fair.
Utilities
setup-network
Assigns a static IP address and hostname to a Debian 13 machine based on a machine number (1–254). Designed for an isolated local network with no gateway or DNS required.
sudo ./setup-network <machine_num>
Example:
sudo ./setup-network 4
# → IP: 10.0.1.4/24, hostname: retro-alcoi-4
See setup-network/ for source and build instructions.
Quick start
cd setup-network/
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
bash build.sh
# Binary is at dist/setup-network
Copy dist/setup-network and dist/config.ini to a USB stick, then on each
fair PC:
sudo ./setup-network 4
Configuration
Edit config.ini (alongside the binary) before distributing:
[network]
subnet_root = 10.0.1
hostname_prefix = retro-alcoi-
How it works
- Detects the first wired Ethernet interface (skips WiFi, bridges, veth).
- Sets the hostname via
hostnamectland updates/etc/hosts. - Configures the static IP via
nmcliif available, otherwise falls back to/etc/network/interfaces.
Re-running with the same or a different machine number is safe (idempotent).
setup-quake
Installs ioquake3 from the Debian package manager and downloads/extracts the
Quake 3 data files from a private server to the real user's home directory.
sudo ./setup-quake
See setup-quake/ for source and build instructions.
Quick start
cd setup-quake/
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
bash build.sh
# Binary is at dist/setup-quake
Copy dist/setup-quake and dist/config.ini to a USB stick, then on each
fair PC:
sudo ./setup-quake
Configuration
Edit config.ini (alongside the binary) before distributing:
[quake]
files_url = https://php.sustancia.synology.me/files/ioquake3-files.zip
install_dir = .q3a
How it works
- Installs
ioquake3viaapt-get. - Downloads the Quake 3 data files zip from the configured URL.
- Extracts the data files to
~/.q3a(resolved via$SUDO_USERso the real user's home is used, not root's).