DXX-Rebirth unification Beta Builds
#71
Great work on the tracker AFP!
I'm really curious how it works (bypassing blocked ports) does it allow both client and the host with blocked ports to connect? It is one little step closer to dedicated server.
That got me excited.
Descent Rangers
Name: IceWolf
Assignment: Black Squad
Rank: Lt.Commander

Current season stats
Reply
#72
Thanks!

And apparently actually, I lied Tongue A very select few networks will allow this to work without port-forwarding, but most won't. However, I'm currently talking with Kp and zico about doing UDP hole-punching to allow it to work without port forwarding. We'll see what comes of it Smile

P.S. IF we end up doing hole-punching, it'll work by the tracker telling the host where to send packets to (the client), thus allowing the packets sent from the client to get through to the host and vice-versa. Smile
Reply
#73
(10-12-2016, 06:34 PM)A Future Pilot link Wrote:Thanks!

IF we end up doing hole-punching, it'll work by the tracker telling the host where to send packets to (the client), thus allowing the packets sent from the client to get through to the host and vice-versa. Smile
Cool, this is how I imagined it to work, but then I got some doubts.

Statement:
Such solution wouldn't work with both (client and host) with blocked ports.

If Statement is true then:

How useful it would be considering the above statement?
When arises necessity for someone with blocked ports to host the game?

- It is when all potential participants are unable to host due ports being blocked, because if there is at least one person without blocked ports then that person becomes designated host - no fix needed in such case.

Conclusion:
If there is a way to use the tracker to allow blocked port host to let blocked port client in - it is worth all the effort.

I guess in order to make it work in such case as described above, the tracker would have to work as bridge for all game traffic. Which in theory is doable, but then tracker needs really fast connection to minimize lag, and binary software working with traffic (PHP isn't even remotely fast enough).
Descent Rangers
Name: IceWolf
Assignment: Black Squad
Rank: Lt.Commander

Current season stats
Reply
#74
(10-10-2016, 06:08 PM)ThugsRook link Wrote:new bug:
hi scores from 581 dont work. (shows no high scores at all)

We've tracked this down and it will be fixed in the next beta build. Thanks for the report!

(10-12-2016, 08:19 PM)aqqman link Wrote:Cool, this is how I imagined it to work, but then I got some doubts.

Statement:
Such solution wouldn't work with both (client and host) with blocked ports.

If Statement is true then:

How useful it would be considering the above statement?
When arises necessity for someone with blocked ports to host the game?

- It is when all potential participants are unable to host due ports being blocked, because if there is at least one person without blocked ports then that person becomes designated host - no fix needed in such case.

Conclusion:
If there is a way to use the tracker to allow blocked port host to let blocked port client in - it is worth all the effort.

I guess in order to make it work in such case as described above, the tracker would have to work as bridge for all game traffic. Which in theory is doable, but then tracker needs really fast connection to minimize lag, and binary software working with traffic (PHP isn't even remotely fast enough).

That initial statement being true depends on your definition of "blocked ports". In most networks a "blocked port" just means it doesn't allow packets IN (unless the port is forwarded). However, on most networks when a packet is sent OUT to a specific IP/Port, it will then automatically accept packets IN from that same IP/Port that it sent some OUT to.

So what we are doing is having both the client and the host send packets OUT to each other. Because they have both sent packets OUT, they will then accept packets coming IN from each other. The only reason the tracker is needed is that it has to tell the host and the client where to send packets to.

Doing it this way will work even if both client and host have "blocked ports" in the sense mentioned above.

Now, on SOME networks a "blocked port" means that no traffic can get in, even if traffic has been sent out. This is pretty rare, but when this is the case, the hole-punching we are doing won't work. (However, those networks also wouldn't be able to even see any games on the tracker since the tracker can't communicate with them). In my time in the Descent multiplayer community, I've never encountered anyone who had a network configured this way (I.E., everyone I've ever seen has always been able to get a list of games from the tracker).

To answer your other question: when is it necessary for someone with a blocked port to host a game? (I'm assuming by this you mean, when does a someone need to host a game who hasn't forwarded their ports?)

If that's what you mean, then the answer is that it happens fairly frequently. The two most common instances is when someone either doesn't know how to forward their ports, or when someone is on a guest network (like a hotel or something) and doesn't have permission to forward the ports. Most of the time when lots of people are online at once, this isn't much of an issue because usually at least 1 person is able to host. However there's been multiple times that I've been on when people were waiting around to find someone able to host a game.

Hopefully that answered your questions Smile
Reply
#75
Quote:That initial statement being true depends on your definition of "blocked ports". In most networks a "blocked port" just means it doesn't allow packets IN (unless the port is forwarded). However, on most networks when a packet is sent OUT to a specific IP/Port, it will then automatically accept packets IN from that same IP/Port that it sent some OUT to.
Yes, this is my definition.
However most closed networks allow above scenario, but some (rare) more restricted allow above for TCP protocol only (not UDP), like proxies etc.

Quote:To answer your other question: when is it necessary for someone with a blocked port to host a game? (I'm assuming by this you mean, when does a someone need to host a game who hasn't forwarded their ports?)
I answered it just below the question itself  Smile

I found myself in such situation many times when nobody was able to host due blocked ports.
When tried to host with your tracker I could see my game listed there, yet I didn't have anyone joining it since no one was available to test it.

As for networks with blocked ports - hotels, guest networks and most if not all mobile networks across EU have that (dunno about US), also radio, wireless networks in my country too, all ISP's in my area as well. So now you can imagine my enthusiasm about your work.
Descent Rangers
Name: IceWolf
Assignment: Black Squad
Rank: Lt.Commander

Current season stats
Reply
#76
Alright, I'm happy to announce that hole-punching is now a thing in the latest builds Smile NOTE: the dll.zip was just updated as well, so you'll need to download the latest and replace the old .dll files.

We currently have one more bug to take care of (a crash/freeze while joining a netgame), and then we'll enter feature-freeze for 0.60...it won't be long now folks Wink
Reply
#77
WOOOOOOOOOOOOOOOOOO

I can't wait!
Reply
#78
I just updated these to the latest builds. Sorry it's been awhile folks...I'm getting married in July and things have been crazy for me! Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)