Original Post
Game Server is UPnP enabled. works perfectly.
Client has no UPnP protocols on their router so it requires manual port settings.
But these days most games find a way around that problem and i'm guessing they are using Hole Punching.
I've researched it a bit but it's all fuzzy to me. So maybe someone can clarify the steps needed to do a HolePunch on most networks.
currently i have: (all UDP except for the HTTP ofcourse)
[color=DarkOliveGreen]Server starts, contacts master server via HTTP request and informs it "This is my port/ip/name/etc..."
[color=Navy]Client loads and makes an HTTP request to the master server and gets the serverlist, including our target [color=DarkOliveGreen]server.
[color=DarkOliveGreen]Server Listens on:
[color=DarkOliveGreen]Server Sends To: 45,000
[color=DarkSlateBlue]Client Listens On: 45,000
[color=DarkSlateBlue]Client Sends To:
[color=DarkSlateBlue]Client does HTTP request to a master server to get the target server's IP andport (working)
The [color=DarkSlateBlue]client sends UDP request to the [color=DarkOliveGreen]server join the [color=DarkOliveGreen]server targeting port. (working)
[color=DarkOliveGreen]Server hears the [color=DarkSlateBlue]client request (working)
and replies to [color=DarkSlateBlue]client listening port 45000 "yes you may join" (NOT working)
as far as i can tell, the[color=DarkOliveGreen] server is sending it, but the[color=DarkSlateBlue] client doesn't hear it. I say this because it works on LAN and i haven't found a UPnP enabled tester to try it with over the internet.
to hole punch, do i just need to have the [color=DarkSlateBlue]client send the initial join request on both
port and the 45000 port to punch a hole?
[size=1]Q: OMG! Why are you doing hole punching?
A:Because i've already found 2/3 testers that DONT have upnp routers (eg: WANPPPConnection:1 and WANIPConnection:1).
Client has no UPnP protocols on their router so it requires manual port settings.
But these days most games find a way around that problem and i'm guessing they are using Hole Punching.
I've researched it a bit but it's all fuzzy to me. So maybe someone can clarify the steps needed to do a HolePunch on most networks.
currently i have: (all UDP except for the HTTP ofcourse)
[color=DarkOliveGreen]Server starts, contacts master server via HTTP request and informs it "This is my port/ip/name/etc..."
[color=Navy]Client loads and makes an HTTP request to the master server and gets the serverlist, including our target [color=DarkOliveGreen]server.
[color=DarkOliveGreen]Server Listens on:
[color=DarkOliveGreen]Server Sends To: 45,000
[color=DarkSlateBlue]Client Listens On: 45,000
[color=DarkSlateBlue]Client Sends To:
[color=DarkSlateBlue]Client does HTTP request to a master server to get the target server's IP and
The [color=DarkSlateBlue]client sends UDP request to the [color=DarkOliveGreen]server join the [color=DarkOliveGreen]server targeting
[color=DarkOliveGreen]Server hears the [color=DarkSlateBlue]client request (working)
and replies to [color=DarkSlateBlue]client listening port 45000 "yes you may join" (NOT working)
as far as i can tell, the[color=DarkOliveGreen] server is sending it, but the[color=DarkSlateBlue] client doesn't hear it. I say this because it works on LAN and i haven't found a UPnP enabled tester to try it with over the internet.
to hole punch, do i just need to have the [color=DarkSlateBlue]client send the initial join request on both
[size=1]Q: OMG! Why are you doing hole punching?
A:Because i've already found 2/3 testers that DONT have upnp routers (eg: WANPPPConnection:1 and WANIPConnection:1).