Nicotine+ provides comprehensive file transfer management with support for queuing, resuming, and bandwidth control.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nicotine-plus/nicotine-plus/llms.txt
Use this file to discover all available pages before exploring further.
Downloads
Starting Downloads
You can initiate downloads from multiple sources:- Search Results
- User Browse
- Direct Request
- Perform a search using the Search tab
- Select desired files from results
- Click “Download” or press Enter
- Files are added to the download queue
Download Process
Queue File
When you request a download:
- Download is validated against filters
- File is checked for duplicate
- QueueUpload message sent to user
- Status set to “Queued” or “Paused”
Wait in Queue
Your download waits for:
- User to accept your queue request
- Your position in their upload queue
- User’s upload slots to become available
- Network connectivity to be established
Transfer Begins
When your turn arrives:
- User sends TransferRequest
- File connection is established
- Download starts from byte offset (for resume)
- Progress updates in real-time
Download States
Downloads can be in various states:Download Status Meanings
Download Status Meanings
Queued: Waiting in the remote user’s upload queueTransferring: Actively downloadingPaused: Manually paused by youFinished: Transfer completed successfullyFiltered: Blocked by download filterUser Logged Off: Remote user is offlineConnection Closed: Network connection failedConnection Timeout: Remote user didn’t respondFile Not Shared: File no longer in user’s sharesCancelled: User rejected your download requestDownload Folder Error: Can’t write to download folderLocal File Error: File I/O error during transfer
Download Management
- Queue Actions
- Folder Actions
- Advanced Options
Right-click downloads to:Retry: Re-queue failed downloadsPause: Temporarily stop downloadAbort: Cancel download and remove from queueClear: Remove finished/failed downloads from listBrowse User: View the user’s shared filesSend Message: Open private chat with user
Download Filters
Prevent unwanted downloads using filters:Creating Filters
Set Filter Type
Choose between:
- Escaped: Treat pattern literally with wildcards
- Regex: Use regular expression (advanced)
Uploads
Upload Queue System
Nicotine+ manages uploads using a sophisticated queue:FIFO Queue: First-in, first-out orderRound Robin: Rotate between users fairlyPrivileged Users: Priority for privileged/prioritized users
Upload Process
Receive Request
When a user requests a file:
- Permission level checked (banned, buddy, public)
- File availability verified
- Queue limits checked
- QueueUpload or TransferRequest processed
Queue Management
Upload enters queue based on:
- User privilege status
- Current queue size
- Upload slot availability
- Bandwidth limits
Transfer Start
When slot becomes available:
- TransferRequest sent to downloader
- File connection established
- Upload begins from requested offset
- Speed limited per configuration
Upload Limits
Control upload behavior with limits:- Slot Limits
- Queue Limits
- Speed Limits
Upload Slots: Maximum simultaneous uploadsDefault: 2 slotsBehavior: New uploads wait for free slotsNote: Privileged users can bypass some limits
Upload States
Upload Status Meanings
Upload Status Meanings
Queued: Waiting for upload slotTransferring: Actively uploadingFinished: Transfer completedCancelled: Stopped by you or downloaderUser Logged Off: Downloader disconnectedConnection Timeout: Downloader didn’t respondFile Not Shared: File removed from sharesFile Read Error: Can’t read file from diskBanned: User is banned from downloading
Queue Position
Understand how queue positions work:For Downloads
Your position is determined by:- User’s queue system (FIFO or Round Robin)
- Whether you’re a privileged user
- How long you’ve been queued
- Number of other users queued
Nicotine+ automatically requests your queue position every 5 minutes.
For Uploads
You determine positions for others based on:Queue Mode Selection
Choose between:
- FIFO: First request gets first upload
- Round Robin: Cycle between users fairly
Privilege Handling
Privileged users get priority:
- Privileged server users (donated)
- Prioritized buddies (your setting)
- Regular users
Transfer Performance
Bandwidth Management
Resume Support
Both downloads and uploads support resuming:Interruption Handling
If a transfer is interrupted:
- Current byte offset is saved
- Incomplete file remains in temp folder
- Transfer marked with appropriate status
Automatic Retry
Nicotine+ automatically retries:
- Connection failures (every 3 minutes)
- I/O errors (every 15 minutes)
- User logged off (when user returns)
Download Destinations
Configure where files are saved:- Default Folder
- Incomplete Folder
- Custom Folders
Set in Preferences > Downloads:
- Main download directory
- Used when no custom folder specified
- Supports environment variables
- Can create username subfolders
After-Completion Actions
Run scripts when transfers complete:File Completion
The
%@ or $@ variable contains the full path to the downloaded file.Folder Completion
Separate command runs when all files in a folder finish:Remote Downloads
Accept files sent directly by other users:Shutdown After Uploads
Schedule Nicotine+ to quit after uploads finish:New upload requests are rejected with “Pending Shutdown” status.
Transfer Statistics
Nicotine+ tracks detailed statistics:- Total downloaded/uploaded bytes
- Number of completed transfers
- Average upload speed (reported to server)
- Transfer success/failure rates
- Active transfer count
Troubleshooting
Downloads Not Starting
- Check you’re not at queue limit for that user
- Verify user is online and responding
- Ensure file still exists in their shares
- Check download filters aren’t blocking
- Verify download folder is writable
Slow Transfer Speeds
- Remote user’s upload bandwidth limit
- Your download bandwidth limit
- Network congestion
- Firewall/NAT issues
- Too many simultaneous transfers
Uploads Not Processing
- Check upload slots aren’t full
- Verify bandwidth limit allows transfers
- Ensure shares are initialized
- Check file still exists and is readable
- Verify remote user can connect