Server Configuration
Server Address
Connect to the official Soulseek server:The server address is a tuple containing the hostname and port number.
Authentication
Auto-Connect
Port Configuration
Listening Port
Nicotine+ requires an open TCP port for incoming connections:Configure Port Range
[min_port, max_port]Use the same value for both to bind to a specific port.If
portrange contains different values, Nicotine+ will attempt to bind to a random port within the range.Common Port Issues
Firewall Blocking
Firewall Blocking
Ensure your firewall allows incoming TCP connections:Linux (ufw):Linux (iptables):Windows:
Add an inbound rule in Windows Defender Firewall for TCP port 2234.
Router NAT
Router NAT
If behind a NAT router, you need either:
- Automatic forwarding using UPnP/NAT-PMP (recommended)
- Manual port forwarding in your router settings
Multiple Instances
Multiple Instances
Running multiple instances requires different ports:
Network Interface Binding
Bind to Specific IP
Useful for VPN connections or multi-homed systems:When using a VPN, bind to the VPN interface IP to ensure all Nicotine+ traffic routes through the VPN.
Finding Your Interface IP
Linux:tun0 for VPN, eth0 for ethernet).
UPnP / NAT-PMP
Automatic Port Forwarding
Nicotine+ supports automatic port forwarding using UPnP and NAT-PMP protocols:UPnP automatically configures your router to forward the listening port. This is the easiest way to accept incoming connections.
How It Works
Discovery
Nicotine+ discovers UPnP/NAT-PMP capable routers on your network using multicast discovery.
Port Mapping
Creates a port mapping rule on your router:
- External port: 2234 (configurable)
- Internal IP: Your local machine IP
- Internal port: 2234
- Protocol: TCP
- Lease duration: 12 hours
Protocol Priority
- NAT-PMP - Tried first (faster, simpler)
- UPnP - Fallback if NAT-PMP unavailable
NAT-PMP Details
NAT-PMP Details
- Standard port: UDP 5351
- Request attempts: 2
- Timeout: 0.25 seconds initially, doubles on retry
- Discovers gateway via routing table
UPnP Details
UPnP Details
- Discovery: SSDP multicast to 239.255.255.250:1900
- Supported services:
WANIPConnection:2(preferred)WANIPConnection:1WANPPPConnection:1
- HTTP timeout: 5 seconds
- Multicast TTL: 2
Troubleshooting UPnP
Common Issues:UPnP Disabled on Router
UPnP Disabled on Router
Enable UPnP in your router’s administration panel. Usually found under:
- Advanced Settings → UPnP
- NAT → UPnP
- Firewall → UPnP
Firewall Blocking Discovery
Firewall Blocking Discovery
Ensure your firewall allows:
- Outbound UDP to 239.255.255.250:1900
- Outbound TCP to router’s control URL
Multiple Routers / VPN
Multiple Routers / VPN
When using a VPN, UPnP won’t work with your local router. Options:
- Use VPN provider’s port forwarding (if available)
- Manual port forward on exit node
- Accept limited connectivity
Router Compatibility
Router Compatibility
Some routers only support permanent leases:Nicotine+ automatically retries with
lease_duration=0.Manual Port Forwarding
If UPnP is unavailable:Access Router Admin
Navigate to your router’s IP (commonly 192.168.1.1 or 192.168.0.1) in a web browser.
Create Port Forward
Add a port forwarding rule:
- Protocol: TCP
- External Port: 2234
- Internal IP: Your local IP
- Internal Port: 2234
- Description: Nicotine+
Connection Testing
Port Checker
Test if your port is accessible from the internet:The port checker URL is defined in
pynicotine/__init__.py:Debug Network Issues
Enable debug logging to diagnose connection problems:NAT-PMP: Portmap request attempt...UPnP: SSDP request sent...Binding socket to local IP address...
Advanced Settings
CTCP Messages
IP Blocking
Block Specific IPs
Block Specific IPs
Ignore IPs
Ignore IPs