I managed to get it working using Advanced Sessions for Steam.
I’ll just mark it as solved for now, but it’s really a workaround from my original intention.
Though, I suppose it’s not too bad for security reasons, such as not needing to directly connect with the IP. It seems to remain hidden when finding sessions. Also, each player must be a valid Steam account, so that’s also good.