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?


Read this https://en.wikipedia.org/wiki/Soulseek#Central_server_and_search_engine
It’s a tracker. It works on exactly the same principles as torrents.
Here’s a screenshot of a search and download I did on a VPN that doesn’t allow port forwarding.
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.
I’m done discussing this. You’re wrong. A simple google search will show you a bunch of posts on Reddit and elsewhere saying the same thing I am.
It’s not my responsibility to make up for your decision not to find easily accessible information.
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.