There is no such thing as a "serverless p2p" (as I thought)
This one uses eD2K or Kademlia networks.
KAD is serverless. You save a list of peers as you exit, and hope not every one of them is dead when you reconnect. They provide the entry to the rest of the network. No server, or everybody is a server. More important, KAD is a searching technique to find files. I don't think we need that. What we do need is the code to build a network and establish and maintain connections even when passing through bottlenecks like routers. If we look at the code they need to successfully send and receive their handshake we have enough, I think.
And yes, I have a basic knowledge of C++. Every programmer hammers me when I say so but computer languages all look alike. My problem is I don't know any libraries...
I have read some sections of the emule code and made some minor alterations for my own mod. I know of the sections you are probably interested in, but don't know them.
Key words to look for: socket, upnp, packet, OP_HELLO
Missing files are due to 3rd party libraries not always included on the source code , or wring VS version (express version).