How should I go about joining&making servers?

Hi! I have been trying to dive into networking (right now using blueprints as I have yet to find ANY info on doing it in C++), but would like to know one thing: how should I go about making/joining servers? The playercount is not expected to be massive, so there should be no need for a dedicated server. How should I then make as easy as possible “Host server button”; that would let users host their servers preferably without having to mess with port forwarding. And if that is not possible, well, at least I would like to know how to make the client connect to a particular server, and how to host it. (I know this is a lot of questions from person with not much knowledge on the subject, but that’s why I went to answerhub instead of forums)

updated to the top.

Time for this to die.