Mailing List
Home
Forum Home
MUD Dev - Discussion of MUD system design, development, and implementation
Mac Game - Mac game development
Rivers of MUD - a Diku and Merc based multiuser dungeon
SMAUG
Subjects
Getting UDP through NAT/firewalls/whatever for a game
Getting UDP through NAT/firewalls/whatever for a game
QuickTime errors
Python script as stand alone MUD server
Various sound problems
Fragment Shaders & GL TEXTURE RECTANGLE EXT
Timers and global variables
Re: Language and platform for Text MUD server
Apparent acquisition of Yantis (mysupersales) by IDE
HID keyboard
Getting UDP through NAT/firewalls/whatever for a game
Microsoft Sparkle
Director MX
Congratulations Horizons
Yet more problems fullscreen mode
Apple Dev Kitchen Them 's tasty vittles, Maw!
NSOpenGLContext, Pbuffers, and drawables
More DCR "theft " naughtiness
dynamic sprite creation and imaging lingo
Re: Find stuff in Flash array?
Effects of skill imbalances?
QuickTime errors
Rom 2 4/Quickmud Enhancement/Bug fix
Working with XML files/CFURL
smooth scrolling/subpixel tweening
RE: (Ron help me?) Flash text
Flash Racing
MudDev FAQ 2
Browser based games
Installing GLUT
Special character in Flash XML
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Getting UDP through NAT/firewalls/whatever for a game.

Getting UDP through NAT/firewalls/whatever for a game.

2004-01-08       - By MacFirst

 Back
Reply:     1     2     3     4     5     6     7     8     9     10     >>  

on 1/7/04 10:27 PM, Wade Williams <wadesworld@(protected)> went on and on
saying, in part:

> On Jan 7, 2004, at 11:08 PM, MacFirst wrote:
>> Yeah -- the thing is: telling your customers "you have to reconfigure your
>> DLS modem/router/whatever" isn't really the sort of user-experience for which
>> I'm looking.  I mean, I'm pretty sure I could brute-force things to work by
>> having a "select port" dialog and a note about "now go reconfigure your
>> network to allow UDP through port 12345" -- but I was hoping for something a
>> bit more... Well, you know :)

> Unfortunately, that's life in the networking world today.  If you want
> to run a server that requires UDP communication to clients, you're
> going to have to learn a little networking.

*I'm* willing to learn a little networking.

The product for my customers is a CLIENT.  I'm running the server.  I'm just
trying to get them to connect to each other.

> There's no magic.  UDP from client to server generally will NOT work.

Right now, I already have reliable (well, you know what I mean) UDP
communication from client to server.  It DOES work.

My question is: how do I get my server to send UDP TO MY CLIENT?  You know,
the way Clan Lord, Everquest, UO, AC and all the others do?  It doesn't have
to be perfect, but I can play any of those games from, for example, the open
airport at The Apple Store -- but not my game.  The reason?  My game gets
client->server UDP just fine, but server->client UDP is getting lost,
somewhere.

Somewhere that I don't understand.

I'm willing to learn, but I'm not even entirely sure which parts I don't
understand.

> You have three basic choices:
> 1)  Servers do not send UDP to clients.
>
> 2)  Servers do send UDP to clients, and the documentation tells users
> what UDP ports need to be opened on their firewall.  If they can't
> figure it out - tough.
>
> 3)  The server attempts to send UDP - if it makes it through, it
> continues using UDP.  If not, it falls back to TCP.

No offense, but this is ridiculous.

Ever other game out there uses choice #4:

4) The server sends UDP to the client, and the client gets the packets
(well, most of them) and everything works fine.

It's ok if you don't know how they do it, either -- but I'm hoping to find
someone who does.

>> Everything I've been able to find on google (and experience bears this out)
>> says: the "right" way to open a port in the server's firewall to allow UDP in
>> is to have the client open a TCP socket on a known port, then use the same
>> port to send UDP.

> For most firewalls, this won't do a thing.  If the user wants to run a
> server that requires UDP, they're going to have to learn enough about
> networking to open a port on their firewall/router.

Turns out it lets me play games that live outside the Apple campus from
inside the Apple firewall -- for example.

I suppose you could claim that Apple uses a weak firewall technology that's
un-secure, but I bet you can't hack into it, either.

>>>> I only want to solve this problem as well as they do.  What do THOSE
>>>> guys do?

> As mentioned above, I suspect they try to send a UDP packet to the
> client first.  If the client does not respond, they fall back to TCP
> communication with that client.

Again, no offense, but you suspect wrong.  They send UDP.  Maybe the client
does some auto-configuring behind the scenes, I don't know, but the servers
send UDP, and the client gets UDP and it all works.

> I also suspect that they give users information on what UDP ports to
> open in their firewall/router, to give themselves the maximum chance of
> that UDP traffic making it through.

Do you play any of these games?!  Not the peer-to-peer games like Quake or
Bolo, but the big MMO games like EQ, CL, UO, etc. -- they send UDP.  They
send UDP to "my grandmother"(tm) who doesn't know diddly about her DSL/NAT
router that the guy installed except that sometimes lights blink on the
front and, when they stop, she calls the 800# on the side.

   ---

I appreciate your attempt to help -- I really do! -- but you're not helping.
What's worse: if I knew just a little bit less about things than I do, I
might believe some of your misinformation.  On a public list like this one,
that's dangerous; please be careful.

Clan Lord sends frame-data (4fps) via UDP.  You can play from inside HP,
Apple, Cisco, Microsoft or Intel's firewall.  You can play on any of the
cable modems, DSL modems, airports and various NAT devices commonly
available across the country and the world.  They have a "I can't get your
game to work on my configuration" rate of less than 1 in 1,000.

My game works on my machine and 3 nearby open-airport coffee shops.  It
doesn't work on 2 friends' machines, the airport at The Apple Store, or the
HotSpot at MacWorld.  That's about 50% (less, if you count "nor anywhere on
the Apple campus.)

I'd be happy with 97% (no need to be grandiose about it, I'm just one guy!
;)

I know there are tricks to getting various routers to open up P2P UDP (for
one thing, AIM/iChat does this, via introduction service) -- I'm just trying
to figure out how to make those tricks work in my server/client game.

It doesn't have to be perfect.  It's ok if your super-duper firewall won't
let you play my game -- I'm not targeting NORAD; I'm targeting "Joe
DSL-modem customer."

Thanks!
__ ____ ____ ____ ____ ____ ____ ____ ____ ____
mac-games-dev mailing list | mac-games-dev@(protected)
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/mac
-games-dev
Do not post admin requests to the list. They will be ignored.



Earn $52 per hosting referral at Lunarpages.