Version: 0.47
Last Updated: April 3, 2026
zircd is fully compatible with Windows and can be run using Python 3.11+.
Prerequisites
- Python 3.11 or newer – Download from python.org
- During installation, check “Add Python to PATH”
- Verify Python installation:
python --versionShould show Python 3.11 or higher.
- Install required dependency:
pip install cryptography
Quick Start
Method 1: Using the Batch File (Easiest)
zircd.bat 0.0.0.0:8888
Method 2: Using Python Directly
python zircd.py 0.0.0.0:8888
Configuration
Create a Configuration File (Optional)
copy zircd.cfg.example zircd.cfg
notepad zircd.cfg
Edit the key settings:
NetworkID– Your unique server ID (max 15 chars, no spaces, case-sensitive)NetworkName– Your network name (e.g. ACN)Hostname– IP to bind to (use0.0.0.0for all interfaces)Hostport– Client connection port (default 8888)PingInterval– How often to ping clients in seconds (default 60)MaxPendingClients– Connection queue size (default 5)MinPasswordLength– Minimum NickServ password length (default 8)
See QUICKSTART.md for the full config reference and linking setup.
Running Examples
IPv4 Examples
# Listen on all interfaces
python zircd.py 0.0.0.0:8888
# Listen on localhost only
python zircd.py 127.0.0.1:8888
# Custom port
python zircd.py 0.0.0.0:9999
IPv6 Examples
# IPv6 localhost
python zircd.py [::1]:8888
# IPv6 all interfaces (dual-stack: accepts both IPv4 and IPv6)
python zircd.py [::]:8888
Note: On Windows, you don’t need to quote IPv6 addresses.
Stopping the Server
Press Ctrl-C in the command window.
Log Files
Logs are stored in the logs\ subdirectory:
logs\zircd.log– Current log file- Automatically rotates when it reaches 5MB
- Keeps 5 backup files
Environment Variables
Logging
set ZIRCD_LOG_LEVEL=10
python zircd.py 0.0.0.0:8888
Disable Console Logging (File Only)
set ZIRCD_CONSOLE_LOG=0
python zircd.py 0.0.0.0:8888
Firewall Configuration
You may need to allow Python through the Windows Firewall:
- Windows will prompt when you first run zircd
- Click “Allow access”
- Or manually configure in Windows Security -> Firewall & network protection
Running as a Background Service
For production use on Windows, consider using:
- NSSM (Non-Sucking Service Manager) – nssm.cc
- Windows Task Scheduler – Create a task that runs at startup
Example: NSSM Setup
# Download and install NSSM
nssm install zircd "C:\Path\To\Python\python.exe" "C:\Path\To\zircd\zircd.py" "0.0.0.0:8888"
nssm start zircd
Troubleshooting
Port Already in Use
If you get an error about the port being in use:
- Choose a different port (e.g., 6668)
- Or stop the other program using that port
Python Not Found
If you get 'python' is not recognized:
- Try
py zircd.py 0.0.0.0:6667instead - Or reinstall Python and check “Add to PATH”
Can’t Connect from Other Computers
- Check Windows Firewall settings
- Make sure you’re binding to
0.0.0.0(not127.0.0.1) - Use your computer’s IP address to connect (not
localhost)
See Also
- zircd.cfg.example – Configuration file template
- QUICKSTART.md – Full setup guide including RSA key generation and server linking
- LINKING_GUIDE.md – Detailed server-to-server linking documentation
- SYSTEMD.md – Linux systemd service setup (Linux equivalent of this guide)