I am sharing about 25 albums on soulseek but my uploads are empty which as far as I know means nobody has tried to download anything from me. I don’t have port-forwarding available to me, I use a VPN, and I am periodically offline. Is it really weird that nobody has downloaded anything from me or is that kind of normal?


You need to have port forwarding enabled to upload. Get a better VPN that allows port forwarding :) AirVPN is usually the recommended VPN to use with Soulseek.
Either that or pay for a seedbox (a remotely hosted server than you can run P2P file sharing apps on) and run Soulseek on it.
deleted by creator
How is the downloader going to ask the uploader for the file without an open port?
Edit: I read the protocol documentation and discovered that it does have a way to make the connections the other way, so only one side needs to have port forwarding enabled.
deleted by creator
Soulseek is a totally different protocol to torrents. It doesn’t use a tracker. Files are per-user. When you download a particular file, it only comes from one user. It’s like how Limewire and KaZaA used to work (since it’s from that same era)
deleted by creator
There’s no tracker. Your link just says that there’s a central search and chat room server. The search just points your client to users that have files with that name. It doesn’t track anything else.
The server does not know which files you download - that’s just between you and the person you’re downloading from. You can download files directly from a user (e.g. by searching for a username then browsing their files) without relying on the central server at all.
You don’t need port forwarding for downloads, only for uploads.
deleted by creator
Just because a bunch of posts are misinformed doesn’t mean that they’re right. There’s a lot of misinformation online, especially on Reddit.
Reading either the source code for a Soulseek client, or the unofficial protocol documentation, will help you have a better understanding of how it actually works.
If you look at that document, you will see that there are no server messages related to uploading or downloading files, meaning the server is not involved.
Searches are distributed amongst peers, similar to what DHT does (but it’s its own protocol). The server does know about a small number of peers, which then distribute the search to other peers connected to them, etc. in a tree hierarchy: https://nicotine-plus.org/doc/SLSKPROTOCOL.html#distributed-messages
Soulseek’s official documentation for v157 (https://www.slsknet.org/157.html) describes it as such:
File transfers are entirely peer to peer. There is no tracker or any other central server involved. The FileTransferInit command (which starts the transfer) goes directly to the other peer that has the file you’re requesting: https://nicotine-plus.org/doc/SLSKPROTOCOL.html#file-transfer-init
Getting the list of files a user has is also entirely peer to peer - no central server is involved.