3

Me and my brothers are playing the computer game GTA Online. We are all connected to the same local network.

However we experience connection problems sometimes. Now I read on the official Rockstar site that it will help to unlock/forward some ports in my router.

However, for a single computer this makes sense to me, but how does the router deal with incoming packages, if I defined the follwing two port forwarding rules?

enter image description here

You can see that I forward for example port 80 to computer Black and Black2. Will computer "Black" and computer "Black2" receive all incoming packages on port 80 of the router now, and other computers won't receive anything?

And does computer Black also receive the packages which are targetted to Black2, or only his packages?

How does the router know the correct target?

11
  • 4
    That’s just not going to work. You should petition Rockstar about better NAT support, because that’s where it IPv4 Internet is headed. // Also, port 80 is absolutely not required. Unfortunately, most game publishers still don’t provide a list of ports that will have incoming connections.
    – Daniel B
    Commented Mar 16, 2017 at 8:21
  • As Daniel B says, it's not going to work. Incoming packets received at port 80 etc. are going to be forwarded to ONLY ONE internal pc, either Black or Black2. Which one is hard to tell, it probably depends on which rule comes first. It is also posisble that some packets go to one pc and some others go the other.
    – simlev
    Commented Mar 16, 2017 at 8:36
  • 1
    You could try to check whenever GTA Online supports UPNP and whenever or not you have UPNP enabled on your router. That way the game would be able to "auto configure" whatever it needs. At least I didn't have to setup any port forwarding for GTA V. Don't forget that connection issues might also be caused by the remote party.
    – Seth
    Commented Mar 16, 2017 at 9:18
  • 1
    @Hennes I like your idea, this would be one problem solved by ipv6. However, I doubt online games take care to properly implement it.
    – simlev
    Commented Mar 16, 2017 at 14:10
  • 1
    It would no longer need NAT and thus removed overhead in the firewall/modem/router/multi-thingy. So yes, performance should be better. If it is noticeably better is another question.
    – Hennes
    Commented Mar 17, 2017 at 11:06

4 Answers 4

6
+50

Packets received at port 80 etc. are going to be forwarded to ONLY ONE internal pc, either Black or Black2.

Will computer "Black" and computer "Black2" receive all incoming packages on port 80 of the router now, and other computers won't receive anything?

Incoming packets on port 80 of the router's external interface are going to either Black or Black2. It is hard to tell which one, it depends on the order in which the router internally processes the rules. The fact that Black comes first in your web management does not necessarily mean that its rules have a higher priority than those regarding Black2. One thing is correct, though: other computers won't receive anything.

Does computer Black also receive the packages which are targetted to Black2, or only his packages? How does the router know the correct target?

This is the crucial point: there is no way for the router to tell whether a packet is intended for Black or Black2. It cannot discern between them and is probably going to send all of them to Black or Black2. It can also happen that some of them go to Black and some go to Black2, but those won't be the "right" ones. Since you are forwarding more than one port, it can happen that packets incoming on one port are going to Black and packets incoming on another port go to Black2. There is no predicting this since you gave the router ambiguous directives.

What can you do?

You have to take control over which packets go where. I see two ways.

  1. one is to enable only one set of rules and play with e.g. Black. When you want to play with Black2, go back to the router's management interface and make the switch: disable Black and enable Black2. I know that this is not what you want and you are looking for a way to play simultaneously on the two PCs.
  2. another is to configure the clients to use two different sets of ports, and create two different sets of forwarding rules on the router. I mean opening the game settings and seeing if there's such an option. It is howerever possible that this cannot be done, it depends on whether the game manufacturer envisaged this possibility. This kind of setup is very common in the server world, but in the consumer market it is often expected that there is only one workstation and it is directly connected to the Internet.
4
  • "One thing is correct, though: other computers won't receive anything." Im not sure about that, computers other than black or black2 can still surf the internet, use whatsapp etc. even though port 80 = TCP, and almost every applicaton on the internet uses TCP.. Is it possible that the router can still distinguish the computers by their MAC Address? Then multiple forward rules would work.
    – Black
    Commented Mar 16, 2017 at 12:31
  • 1
    Alright, by "won't receive anything" I mean that they won't receive any packet incoming on port 80, not that they won't be able to surf the Internet! Of course the router distinguishes PCs from their MAC addresses, but the incoming packets don't come labeled with Black's or Black2's MAC address. See this Q&A.
    – simlev
    Commented Mar 16, 2017 at 14:03
  • But http / https websites are using TCP, so e.g. my smartphone should not be able to receive anything if your statement is true, but it does. I will double check this If I am at home.
    – Black
    Commented Mar 16, 2017 at 14:12
  • 2
    It looks like the misunderstanding persists. Let me try to explain: your smartphone connects to the remote port 80 from a local high port (usually >50000). The reply goes back to the high port, not port 80. A port needs to be open in order to accept incoming requests.
    – simlev
    Commented Mar 16, 2017 at 14:27
3

What you are asking for is unfeasible, because everybody at your home shares the same router and external IP address with the Internet, so an external observer cannot distinguish one of you from the others. But there might be an alternate solution.

I do not know how GTA Online works, but it seems to me that, unless you are hosting a server, all connections come from your computer, acting as a client, so the server you are connecting to never needs to initiate back a connection.

If that is the case, you do not need port forwarding at all. You only need to open up these ports in the router's firewall and on your computers. You will need to undo the port-forwarding, or only one computer will be able to play.

If this does not work, there is another solution, but with low chances for success, which is to configure the router and all the devices on your home network to use only the IPv6 protocol, and to disable IPv4 everywhere. This way, all the devices will have a distinct address on the Internet. However, IPv6 may not be fully supported universally, and possibly its implementation on the router will still use only one external IP address. The technical problems involved might just be too hard to solve.

2

In my experience, For GTA5 you need to use a router that supports UPNP. This is Universal Plug and Play. Each instance of GTA5 will petition your router to open up random high ports to allow you and your brother to play at the same time. Don't try to do it manually, otherwise only one of you will be able to play.

0

Yes, it is possible. You only need 30 minutes to set up.

That technology was introduced in 2002 using one of the proxy modules.

Anyone can have any ports using any addresses up to /8

So, 1 public IP can Port-Forward to millions of computers with millions of duplicated desired ports without using noticeable resources.

BSD/Linux programmers at multiple years ahead than the software engineers.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .