Setting up a public Master Server

I have recently found the Unet Master Server sample project (link: “Master Server sample project - Unity Engine - Unity Discussions”) and tried it locally and everything was working fine, I tried to use my pc’s ipv4 address in the clients script to connect to the master server but it doesnt work. then I tried to manually run the master server with my ipv4 address inside the NetworkMasterServer script by changing “NetworkServer.Listen(MasterServerPort);” to “NetworkServer.Listen(MasterServerIp, MasterServerPort);” and the MasterServerIp contains the ipv4. it idint work and I started getting that error:
“Cannot open socket on ip {...*} and port {45555}; check please your network, most probably port has been already occupied
UnityEngine.Networking.NetworkServer:Listen(String, Int32)
NetworkMasterServer:InitializeServer() (at Assets/MasterServer/NetworkMasterServer.cs:55)
NetworkMasterServer:OnGUI() (at Assets/MasterServer/NetworkMasterServer.cs:210)”

, I tried it with lots of different ports and still gets that error. I searched the web for a solution for that error and found some peaple that have fixed the problem by adding “NetworkServer.Reset();” before “NetworkServer.Listen(MasterServerIp, MasterServerPort);” , I also tried that and still didnt workfor me.

I know I am doing a lot of things wrong, but what are they? and how to fix it and make it run publicly?

Might be a NAT problem? try to forward said port.