Live data from Hacker News

Half-Life and Team Fortress Networking

gamasutra.com

11–20 of 57 posts

Re: Half-Life and Team Fortress Networking

#11
post #8

Earlier quoted context omitted.

do you mean 'uses'?

This comment has been downvoted, but I don‘t understand why. The phrase “user different pipes, because [magic]" is unclear to me as well.

The complaint was confusing to me because it didn't call out where the error was. The word "use" appears early on, so it looked like the complaint was incorrectly calling out a disagreement in plurality.

(Didn't downvote, but I did spent a good minute trying to parse the problem.)

Re: Half-Life and Team Fortress Networking

#14
post #3

PSA: Add print=1 to old gamasutra articles to get a single page. https://www.gamasutra.com/view/feature/131577/halflife_and_t... Also, the reason many don't use TCP is that while it guarantees ordering and packet arrival people completely forget that it's doing that by adding an indeterminate amount of latency. It's not some "packets arrive perfectly / user different pipes, because [magic]" solution.

On the other hand, to misquote Philip Greenspun, any sufficiently complicated UDP-based protocol contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of TCP.

Re: Half-Life and Team Fortress Networking

#15
> The CD keys we used were algorithmically generated so as to be very difficult to guess randomly. Because authenticating takes several seconds, and the odds of guessing a valid CD key are low, there is a large barrier to repetitive key guessing.

I would love to learn more about this. How did the authentication system work? How difficult was it to brute force? Does it simply involve a master key creating individual subkeys? Is it RSA?

Re: Half-Life and Team Fortress Networking

#16
post #14
post #3

PSA: Add print=1 to old gamasutra articles to get a single page. https://www.gamasutra.com/view/feature/131577/halflife_and_t... Also, the reason many don't use TCP is that while it guarantees ordering and packet arrival people completely forget that it's doing that by adding an indeterminate amount of latency. It's not some "packets arrive perfectly / user different pipes, because [magic]" solution.

On the other hand, to misquote Philip Greenspun, any sufficiently complicated UDP-based protocol contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of TCP.

That'd be applicable if TCP were a valid alternative. In many cases, TCP is not at all a valid alternative.

Re: Half-Life and Team Fortress Networking

#18
post #3

PSA: Add print=1 to old gamasutra articles to get a single page. https://www.gamasutra.com/view/feature/131577/halflife_and_t... Also, the reason many don't use TCP is that while it guarantees ordering and packet arrival people completely forget that it's doing that by adding an indeterminate amount of latency. It's not some "packets arrive perfectly / user different pipes, because [magic]" solution.

SCTP provides a nice protocol that gets you the best of both worlds in many ways between TCP and UDP. It features:

- hybrid reliable and unreliable, ordered and unordered delivery semantics

- automatic MTU fragmenting, to avoid router fragmentation

- ordered multi-channel multiplexing

Unfortunately SCTP never took off, but it is the data channel protocol for WebRTC, which uniquely positions WebRTC as a nice platform for game networking in the browser. (However, the stack must be implemented in user space since it is SCTP over DTLS over UDP.)

We are working on a WebRTC based game networking server for Social Mixed Reality at Mozilla which uses the Janus WebRTC gateway as the connection manager, our initial work can be found here:

https://blog.mozvr.com/enabling-the-social-3d-web/

Our initial SFU plugin for Janus already out of the box makes it easy to set it up as a dumb game networking server that just relays messages between peers, but our plan is to turn it into a connection manager in front of an OTP service that provides full authoritative game networking services.

Post reply on HN