Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (120)
games submitted by our members
Games in WIP (577)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Reaching behind routers with UDP?  (Read 1697 times)
0 Members and 1 Guest are viewing this topic.
Offline VoS

Senior Newbie





« Posted 2009-06-19 14:02:46 »

Hey.
I'm trying to make a small space shooter type game just for kicks..
After pondering for a long time (and reading the UDP vs. TCP thread) Ive pretty much come to the conclusion that UDP would be the best alternative given the need for limiting stuttering and delays caused by re-sends (and the fact that i dont care if i loose packets)..

I've previously played around with TCP, creating a server that listened for connections and allowed all connected clients to chat with each other. This worked great as the server was just receiving TCP connections and then responding down the same tunnel.

This tunnel does however not exist with UDP.. So how do i respond to the given clients that are behind routers?
There must be a solution for this since there are basically no FPS shooting games that you as a client need to set up port forwarding for.
I'm pretty sure UT3, BF2, HL2, Quake, etc... use UDP and ive never set up any forwardning when using them.

Thanks for the help Smiley
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #1 - Posted 2009-06-19 14:11:33 »

Sounds like you want NAT punch through.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline VoS

Senior Newbie





« Reply #2 - Posted 2009-06-19 14:32:28 »

Quote
if two computers both behind NAT try to connect
Hmm, so is this not a problem if I always have one computer not behind NAT (the server) I though UDP dident create a way for the other computer to respond back.

The client will always make the first connection to the server (asking if it can connect), the server will never be behind a NAT.
I then want the server to respond to this request..

This is where i thought the problem was. That using UDP it could not respond to the client if the client was behind a NAT.
Was this a missunderstanding on my part?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec

JGO Kernel


Medals: 405
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #3 - Posted 2009-06-19 14:44:33 »

Failing NAT Punch Through (which requires a 3rd party machine to arbitrate for it) wasn't there some way of doing this with UPnP?

Cas Smiley

Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #4 - Posted 2009-06-19 14:50:36 »

This is where i thought the problem was. That using UDP it could not respond to the client if the client was behind a NAT.
Was this a missunderstanding on my part?

Although UDP is technically stateless, most NAT firewalls will actually maintain a mapping of source IP to outgoing IP+port. So as long as your client talks to the NAT-less server first the server can respond. So yeah, if you've only got a nat on the client end you don't need to do anything.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline VoS

Senior Newbie





« Reply #5 - Posted 2009-06-19 14:55:55 »

great, that removes a headacke Wink
for those not so lucky, i found this while googling, a java library to configure UPnP (http://en.wikipedia.org/wiki/UPnP) devices

The link goes to an example of a NAT mapping using the lib
http://www.sbbi.net/site/upnp/docs/natmappings.html

Quote
most NAT firewalls will actually maintain a mapping of source IP to outgoing IP+port.
Gonna try that out, right away, I'l post back with success/failure Wink
Offline VoS

Senior Newbie





« Reply #6 - Posted 2009-06-20 10:24:48 »

Tested it now, if the person behind the NAT makes a connection to the server the server can respond Wink
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (52 views)
2014-10-17 03:59:02

Norakomi (43 views)
2014-10-16 15:22:06

Norakomi (33 views)
2014-10-16 15:20:20

lcass (37 views)
2014-10-15 16:18:58

TehJavaDev (68 views)
2014-10-14 00:39:48

TehJavaDev (66 views)
2014-10-14 00:35:47

TehJavaDev (59 views)
2014-10-14 00:32:37

BurntPizza (73 views)
2014-10-11 23:24:42

BurntPizza (45 views)
2014-10-11 23:10:45

BurntPizza (86 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!