Jump to content
rocket

How important is NAT Negotiation to server hosters?

Important of NAT Negotiation  

213 members have voted

  1. 1. Do you run servers behind NAT? (unforwarded)

    • Yes
      43
    • No
      121
    • Don't Know
      48
  2. 2. Do you think NAT negotiation is a required feature for our servers?

    • Yes
      54
    • No
      109
    • Don't Know
      49


Recommended Posts

Hi folks,

Looking at our matchmaking system changes.

A server that has public IP or tunnels through a firewall would not require NAT negotiation.

Currently, ArmA2OA uses GameSpy for NAT negotiation.

Responses are urgent!

  • Like 9

Share this post


Link to post
Share on other sites

I Run My servers from dedicated boxes with a Public IP.

Although I do know a couple friends who run small servers from behind their router/firewall.

Loving the work Rocket, Keep it up!

Edited by Woodo
  • Like 1

Share this post


Link to post
Share on other sites

What do you mean by NAT negotiations? As in making the server send out packets on the requested ports to open the GW? I'm sure most admins can live with port forwarding.

If you mean putting the source/native IP in the payload, that is generally a horrible idea and can cause several other headaches. Can't you just use the IP header and let the GW do it's NAT magic?

Edit: Answer to what NAT negotiations is, is here: http://docs.poweredbygamespy.com/wiki/NAT_Negotiation_Implementation_Introduction

Edited by Rakrul
  • Like 2

Share this post


Link to post
Share on other sites

I should also add that with the increase of fiber-connection (FTTH) penetration in Europe, many people are running servers on their home connection and need to use NAT.

Additionally, you should put IPv6 in the pipe where you won't have NAT problems.

Share this post


Link to post
Share on other sites

Feel free to discuss here folks, try and keep the discussion directly on this fairly narrow topic. Comments here will be directly discussed and viewed by the programming team, so this is your chance to be involved!

  • Like 4

Share this post


Link to post
Share on other sites

Well, I don't know much about the systems behind NAT negotiation, but If your planing one releasing a simple server package (Like Minecraft and similar things) many people will want to set up their own small server from home (Depending on how resource intensive the server would be of course!).

I think It would be a good idea to have some kind of NAT negotiation as many people don't know much about opening/fowarding ports, routing through firewalls, setting up a DMZ etc.

I'll stick to running servers from a dedicated host, but I'm sure there a whole group of people who want something Simple and Easy so they can just play a small server with their friends.

That's my thoughts anyways! :D

Edited by Woodo
  • Like 1

Share this post


Link to post
Share on other sites

Please by all means keep NAT support out of standalone if there is the slightest chance that it causes problems, will delay the development of other features or will limit other features.

I guess that a good 95% of players use dedicated servers which offer a public ip, if no more. And these are the servers which drive dayz forward and are important for the community! NAT is being used for people who host small servers (maybe only a 6 player server which is password protected) from their home dial up connections and are not able to configure port forwarding properly.

A good amount of players which play on this servers might even used cracked versions of the game.

Even if you want to host a game on a dial up connection you are sill able to do so by simply configure port forwarding on your router which will only take a few minutes!

So I guess the reason for your questions is whether you kick out game spy and use an own, more flexible alternative which however would lack the possibility to perform STUN. If this is the case: kick it out for the above reasons.

Again I can only emphasize that all professional hosts of dedicated servers use public IPs or are at least able to configure port forwarding so that STUN negotiation is not necessary. So if leaving it out would mean being able to integrate new features, eg in the server browser it really should be left out.

  • Like 5

Share this post


Link to post
Share on other sites

My experience in the Telco market tells me that these days, most routers with NAT has UPnP enabled. I don't know how that works for you code-wise compared to GameSpy though.

Seeing as the servers are a crucial part of the Dayz experience, I would like for it to have some darwinism in there. If they can't forward ports when they're behind a NAT GW, which is a really low bar, I don't think you'll be missing out on much. Also, with so many different NAT types out there (Full cone, restricted cone, PAT, etc), a logic in the server to circumvent port forwarding is probably going to be a hassle to maintain. I've always forwarded ports for my A2/OA servers and never got it working without so I'm not sure how much value GameSpy is adding here.

Finally, even MW2 required port forwarding, both for PC and PS3 version, just to play multiplayer - so I don't think you need to worry too much about the serverside aspect of this [port forwarding that is].

Edited by Rakrul
  • Like 5

Share this post


Link to post
Share on other sites

Um, I run my massive server on a cloud provider in Australia. We use a NAT'ed Static IP. i.e. The Virtual Machine (server) thinks its on 10.x.x.x but all packets come from my external IP and are forwarded to the correct listening ports on the internal IP address.

When the server starts, it actually believes its on a 10.x.x.x address.

Most cloud providers (Amazon, etc) and VPS providers will also be in this boat.

*edit*

Maybe I'm confused here, you say those who forward the ports are not behind a NAT. I don't know about that...

Edited by augrunt

Share this post


Link to post
Share on other sites

Maybe I'm confused here, you say those who forward the ports are not behind a NAT. I don't know about that...

I think he means that once they port forward they have already negated the NAT themselves, but I could be wrong...

  • Like 1

Share this post


Link to post
Share on other sites

As I understand it, it doesn't matter if you are behind NAT so long as your port forward.

Our architecture doesn't support v6, so we're stuck with v4.

Some of the replies above outline it pretty well I think, the main issue would be that not providing such negotiation would mean that port forwarding would be required.

EDIT: ^^^ yeah, what the guy above said.

GameSpy currently allows servers to be accessed that are not forwarded.

Share this post


Link to post
Share on other sites

I agree yeah we can use port forwarding etc and all of that or that automatic port forwarding protocal i forgot the name of for it but I'd honestly really like to see you guys get away from gamespy, their server stuff is just awful.

Share this post


Link to post
Share on other sites

Um, I run my massive server on a cloud provider in Australia. We use a NAT'ed Static IP. i.e. The Virtual Machine (server) thinks its on 10.x.x.x but all packets come from my external IP and are forwarded to the correct listening ports on the internal IP address.

When the server starts, it actually believes its on a 10.x.x.x address.

Most cloud providers (Amazon, etc) and VPS providers will also be in this boat.

*edit*

Maybe I'm confused here, you say those who forward the ports are not behind a NAT. I don't know about that...

I assume you have symmetric NAT which means that your VM-instance is the only one using the WAN IP you have. This is also known as 1-to-1 NAT or adressmapping and is used as a security/surveillance function on the management side. You don't need to forward any ports here since all the traffic on that WAN IP is going to only one 10.x.x.x IP.

Home users and most non-professional users will use many-to-one NAT in various forms where you have several 10.x.x.x sharing one public WAN IP. The problem arises when a client wants to connect to your server on port 2302. Since noone on the 10.x.x.x asked for this packet, the gateway/router doesn't know which 10.x.x.x IP to forward it to.

What NAT negotiation does, at least in Gamespy's case, is to send out a packet with source port 2302 to the client (which it turn got from the gamespy network which it has constantly dialoge with) so when the client connects, the gateway/router thinks that this is traffic that the server requested.

The other solution is to port forward 2302 (and probably more ports for VON etc) to your server so whenever the gateway/router recieves a packet on the forwarded ports that noone on the 10.x.x.x network asked for, it will forward to the server.

Rocket is asking if the latter is ok, or if the gamespy solution is needed. Port forwarding requires admin access to the gateway/router and some know-how, gamespy doesn't require anything but might not work optimally (not Rockets words, but ours ;)).

  • Like 2

Share this post


Link to post
Share on other sites

Rocket is asking if the latter is ok, or if the gamespy solution is needed. Port forwarding requires admin access to the gateway/router and some know-how, gamespy doesn't require anything but might not work optimally (not Rockets words, but ours ;)).

Thanks for explaining it for us laymen

Edited by smasht_AU

Share this post


Link to post
Share on other sites

Hi Rocket & Team,

I suppose you have to look at the Pro's and Con's.

On one hand, not every gamer or indeed, DayZ player, is tech-savy or speaks fluent "PC" so allowing for NAT will enable more players to casually enjoy the Standalone with little prep or as Rakrul put it "Know-how".

You'll see more players able to easily host their own servers, large or small, and enjoy playing DayZ in the way that they prefer and "straight out the box". (Not everyone likes being restricted to dedicated 64-man bandit brawls!)

However, you asked: "Do you think NAT negotiation is a required feature for our servers?".

To which I have to answer "no". NAT it not required.

Personally, I think the answer is in the name of the project itself.

"DayZ Standalone"

The less reliance you need on 3rd partys (Gamespy) to make this a success, the better!

Good luck guys!

Looking forward to the release!

  • Like 2

Share this post


Link to post
Share on other sites

Personally, I think the answer is in the name of the project itself.

"DayZ Standalone"

The less reliance you need on 3rd partys (Gamespy) to make this a success, the better!

I assume, and please correct me if I'm wrong, the Standalone refers to the none required hosting software (Arma II).

I don't see anything wrong in using 3rd party software since if would be a monumental task for the devs to whip up their own solutions for everything.

In other words, no need to invent the wheel again.

Share this post


Link to post
Share on other sites

I say whatever is fastest to get the game out, NAT or no NAT, 1.3 million people have gone through the install hell that is DayZ. With that, I don't think forwarding a few ports on an alpha release could even come close to the install.

However if gamespy limits you guys in any way, go with port forwarding. Just remember, we paid for a game most will never play just to get DayZ, and there is a whole website that will walk you through forwarding ports step by step for damn near every game/router config out there (Its even got pictures!portfoward.com). Keep up the good work guys.

Edited by MetalGamers
  • Like 2

Share this post


Link to post
Share on other sites

... since if would be a monumental task for the devs to whip up their own solutions for everything.

Oh absolutely and I agree.

However I am interested as to what the alternative would be if the resounding response is along the lines of "No NAT".

Share this post


Link to post
Share on other sites

I've hosted plenty of private servers for popular video games, and even more public servers. I can tell you that I definitely prefer port-forwarded. Anything else is just too buggy even with our technology.

Don't worry about people not hosting servers because its hard... someone out there is always going to make it easy.

Share this post


Link to post
Share on other sites

I don't actually host a DayZ server myself but I took some courses in networking and have hosted home-servers in the past.

Here's my view:

Most, if not all, server hosting companies already have public IPs for their servers, making NAT completely unnecessary and people who host their servers at home are most likely educated enough to know how to port forward anyways. I say we lose GameSpy as it is just another service that could potentially have down time, crippling servers that rely on it. If we cut out GameSpy(or other services like it) to begin with, we also eliminate potential problems involving it.

Edited by Menny
  • Like 5

Share this post


Link to post
Share on other sites

Please bear in mind that even if they go for port forwarding, they still might use Gamespy for server-listings, player-lists, etc as I doubt they want to re-invent that wheel again, especially now. That's how you get 3rd party software like Six and Dayz commander. I can't really see what gamespy is missing in that aspect so there isn't a good reason to dump it, at least at this stage.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×