PDA

View Full Version : Multiple Wormers Using Same Router...


Jimbopne
12 Aug 2006, 14:47
Argh...

As you can see in another thread, I have recently configured my router to allow me to host etc.

However, a second iddue has arisen...

...my sister has recently caught the worms bug, and can play on Wormnet fine - however, it is upon attempting to join a game hosted by myself where there is an error and it fails...

...now I presume this is due to the fact we share external IP adresses perhaps? Has anyone any ideas how it can be resolved?

Thank you as ever in advance.

x

nb. I made a seperate thread for this issue, so that anyone else who has a similar problem can search for the thread easier in the future - hope that is understandable.

AndrewTaylor
12 Aug 2006, 15:24
Well, there are two ways around this problem. They don't solve it, as I don't think it can be solved -- I recall you have to forward ports to play through a router and you can't forward the same port to two PCs. However, you can always play LAN if you want to just play each other, or, better still, play at one PC and enter two teams.

M3ntal
12 Aug 2006, 23:06
Myself and my girlfriend have the exact same scenario Jim, and it is indeed because you share external IP's. I spoke to Deadcode (the guy who programs the updates for W:A) about it a while back, and he said he could fix it in another update, but no-one has heard from him for ages :(.

Here's a workaround:
When one of you hosts on WormNET, the other one can join by Direct IP. Say you host the game in #AnythingGoes, your sister would have to sign off WormNET, go into Multiplayer Game, and type your internal LAN IP into the box at the bottom and click the Direct IP button. Because you are using the LAN IP which is different instead of the WAN (Internet) one which you share, it works.

Jimbopne
13 Aug 2006, 16:36
Thanks for the replies as ever...

I tried your 'workaround' M3ntal, but it didnt seem to work...

Once my sister tried connecting to my internal IP, it came up with the message 'Max Number of Players' although there were still places available...

...Any further help anyone?

x

Lex
14 Aug 2006, 06:17
Lol! Liam Dobson = Magnum? :p

bonz
14 Aug 2006, 11:56
That would be M4gnum, I'd guess.

Vader
14 Aug 2006, 17:18
M4gnum P1?

Run
14 Aug 2006, 17:51
M4gnum caramel

Muzer
14 Aug 2006, 17:55
Shurrup, and get back on topic.

Vader
14 Aug 2006, 18:32
Would forwarding the ports to both internal IPs not work?

AndrewTaylor
14 Aug 2006, 19:40
Because it's not possible to forward the same port to two addresses any more than it's possible to forward the same letter to two addresses.

Vader
14 Aug 2006, 20:00
I figured since many computers can use port 80 simultaneously that other ports could be shared.

So, by your analogy (hehe, I said anal), could a duplicate "letter" be sent to the second "address"?

CyberShadow
14 Aug 2006, 20:55
I figured since many computers can use port 80 simultaneously that other ports could be shared.

Do not confuse this situation with when multiple computers connect to the same server on the same port - our case is the other way around.

So, by your analogy (hehe, I said anal), could a duplicate "letter" be sent to the second "address"?

Here's a better analogy for you: you call a phone number, but two people pick up. They can both hear your voice, and you can hear their voice, but they can't hear each other, and both think that they are talking only to you and you are talking only to them. That would be pretty confusing, don't you think?

Vader
14 Aug 2006, 21:00
I don't know which ports do what but I know that you need to use a range of ports for one setting. Do both computers need to use all the ports? I mean, could one PC be using one of the ports in that range and the other be using another?

At which point (if any) does the game stop using ports 80 and 6667 and start using 17010-17012? Could the second PC (with all the necessary ports forwarded to both) join at this point?

AndrewTaylor
14 Aug 2006, 22:34
At which point (if any) does the game stop using ports 80 and 6667 and start using 17010-17012? Could the second PC (with all the necessary ports forwarded to both) join at this point?
Well if that was possible, the game would still crash when the second PC reached that point.

Vader
14 Aug 2006, 23:48
Are ports 17010-17012 used simultaneously? If not and only one is used at a time, why wouldn't the second PC just use a free port?

I have no idea about this so I'm just trying to help with my own brand of Logic™.

M3ntal
15 Aug 2006, 00:06
Ok, prepare yourselves for Teach Yourself Dumbed Down TCP/IP In One Forum Post by M3ntal.

TCP/IP consists of two main components, namely TCP and IP. Ports are part of the TCP component, and IP addresses are - you guessed it - part of the IP component. Right. A server, such as WormNET, or indeed your own PC when you host a game of W:A, has (for our purpose) one IP address but multiple ports on which it hosts services.

WormNET, for example, has an IP of 195.89.193.89, and serves HTTP on port 80, and IRC on port 6667. The HTTP service (195.89.193.89:80) provides a number of scripts that allow W:A to do things such as log you into WormNET, request the game list, submit details of a hosted game to be added to the list, etc. The IRC service (195.89.193.89:6667) provides an interface for W:A to use the chat rooms on the server. When you are sat in #AG, what you are seeing is a combination of services on one screen - HTTP providing the game list on the top and IRC providing the chat.

Now, say you are behind a router in your house. The IP address of your PC is, lets say, 192.168.0.23 (all 192.168.x.x addresses are reserved for internal networks, which is why home broadband routers generally use them for your home PC's). Now, your router connects to the Internet via your ISP, and gets an external IP from there. This is the IP that is visible to the rest of the Internet - none of your internal 192.168.x.x ones are, only the network on your side of the router (and the router itself) can see those. Your router accesses the internet on behalf of the PC's on your network and routes the data back and forth from them to the Internet, and vice versa. When you request a web page using a browser on your PC, it asks the router for that web page, the router fetches it from the Internet, and then passes it back to your PC. The router is acting as a "firewall".

The router actually has 2 IP addresses. It has the one your ISP has given it on the WAN (Internet) side, lets say you are on BT and they gave it 86.137.36.30, and it also has another IP on the LAN side within the 192.168.x.x range which it uses to communicate with your PC's, lets say 192.168.0.1 (which it commonly is). At this point i think we may need a diagram:

http://katbox.iconrate.com/random/net1.jpg

Now, the way this firewall works is that any requests to the Internet started by one of the 192.168.x.x internal PC's work fine, as the PC requests this via the router, and the router knows where to send the resulting data back to once it has gotten it from the Internet. However, the only part of your home network that anything on the Internet can see is the WAN side of the router, which means that nothing on the Internet can connect to your PC and request data from it, which is a problem if you wish to serve something from your PC.

This is where port forwarding comes in. Say you host a game of W:A on your PC. W:A starts up a server on your PC, hosting the game as a service on port 17011. Currently, only other PC's on your home network and your router can connect to this service, as you are hidden from the Internet by your router. The rest of the Internet, however, can see the WAN side of your router, with an IP of 86.137.36.30. What you do is log into your router config and tell it to start accepting connections to port 17011 on it's WAN side IP (86.137.36.30:17011) and forward any data to port 17011 of your PC, where the game is being hosted (192.168.0.23:17011). You then alter the configuration settings in W:A to tell WormNET that connections to any games you host need to be made to your routers IP rather than your own (the "Force IP" bit), and in turn WormNET passes that information on to any other W:A users that try to connect to your game.

Vader:

Your router only has one port 17011. Therefore, although it can accept multiple connections to that port from different sources, it can only forward the data from these connections to one internal IP/port. If it could forward this single port to multiple internal PC's, how would it distinguish what data to send to where? The problem is that W:A isn't able to host on different ports, only 17011 (17010-17012 is bull), or more correctly, W:A isn't able to connect to games on any other ports. If the latter were possible but without the former, at least you'd be able to tell your router to forward port 17010 to port 17011 of PC1, 17011 to port 17011 of PC2, 17012 to port 17011 of PC3, etc. Deadcode did say he intended to sort this out, and allow W:A to host on one of a range of ports, but as i said earler, he seems to have done a disappearing act :(.

As for at what point W:A uses each of the various ports, it works like this (i've missed out some minor steps to simplify):
W:A loads up the login page from WormNET via HTTP (port 80), you type your username and click login and it logs you into WormNET via HTTP (80). Once logged in via HTTP, it logs into WormNET's IRC chat server (6667) and requests the user and channel lists also via IRC (6667). Basically, while you are connected to WormNET but not in a game, you are connected on ports 80 and 6667. Because it is your PC that is initiating these connections, the router is able to route the data properly and no extra configuration is needed.

When someone hosts a game, a W:A server is started up on their own PC on port 17011, the connection details for that server are sent to WormNET via HTTP (80) (which in turn adds it to the game list), and they are logged off the IRC server (6667). When someone connects to a game, they are making that connection to the PC (or router) of the person who is hosting the game, not WormNET. Once they have successfully joined the game and are in the host lobby, they are logged off IRC (6667) as well. The whole game now, from entering the host lobby to viewing the awards screen afterwards, is done via port 17011 of the hosts PC/router - neither WormNET nor ports 80 or 6667 are used now until the exit button is clicked, at which point W:A re-logs in to WormNET via HTTP (80) and IRC (6667) just as it did when you first logged on.

If you are joining someone's game, you are initiating the connection, therefore your router knows how to route the data and works without any extra configuration.

If you are hosting the game, your PC is trying to accept connections initiated by other people trying to join the game, which won't work, so W:A need configuring to tell WormNET to redirect these connections your router, and your router needs configuring to forward these connections to your PC.

Jimbopne:
I don't know why it is giving you that error, it works fine on my home network. If you have read and understood all of the above, you should be able to at least see why it should work - your sister is connecting to your PC via the LAN side of the router rather than the WAN side, as she is also behind the firewall and able to see it. Here, have another diagram:

http://katbox.iconrate.com/random/net2.jpg

I think the reason you can't connect to each others games via the normal method is because of one of the the protocols on a layer below TCP and IP (specifically Ethernet) not allowing you to see your routers WAN side due to addressing conflicts, but i'm not certain. (there are 7 layers, TCP and IP represent 2 of those, although confusingly the term "TCP/IP" generally refers to 5 of those 7).

evilworm2
15 Aug 2006, 00:18
Completion:
http://en.wikipedia.org/wiki/Internet_protocol_suite

Vader
15 Aug 2006, 01:38
Vader:
words

I have gone blind.

evilworm2
15 Aug 2006, 02:00
I have gone blind.

You should open your mind and ears, dude.

Plutonic
15 Aug 2006, 02:02
As far as I remember its only OSI model that has 7 layers, not tcp/ip, although i dont remember any more than that.... it was tought by someone who barely spoke english so I slept through most lectures....

Well explained though.

evilworm2
15 Aug 2006, 02:36
IP suite stack showing the physical network connection of two hosts via two routers and the
corresponding layers used at each hop

Jimbopne
15 Aug 2006, 09:12
Crikey!

First off, thanks to everyone for the replies - in particular m3ntal.

I'll try and put my position entirely into context with regards to the issue...

* After a configuration period, my D-Link router works and allows me to host games (due to forwarding the correct ports).


* My external IP is forced using the no-ip client (thus a domain name is typed in the wormnet configuration).

* My sister is able to connect to me using a LAN match, and also when connecting directly through TCP/IP (when im hosting a sole direct TCP/IP match only - not when I host in Wormnet).

* My sister can also connect and play on wormnet in other peoples hosted games (I havent tried both connecting to an externally hosted game - will try that later!).

* Both internal IP's have been made static.

* It is upon trying to connect to me through Wormnet that the 'max players' error occurs.
As I say, all your help thus far has been appreciated, if theres any further ideas I would love to hear them! This is pretty much the final configuration I need for Worms to be up and running fully!

x

M3ntal
15 Aug 2006, 19:08
As far as I remember its only OSI model that has 7 layers, not tcp/ip
TCP/IP is pretty much an implementation of the OSI model, minus the physical layer (yes, i know TCP/IP came first). TCP and IP are the Transport and Network layers of the OSI model respectively.

Jim: I honesly don't know why it is giving you that max players error. I can tell you that you should both be able to join the same game when hosted by someone else though. I can also suggest hosting a Direct IP game and seeing if both your sister and someone via the Internet can join at the same time.

Arnault
18 Aug 2006, 19:49
You then alter the configuration settings in W:A to tell WormNET that connections to any games you host need to be made to your routers IP rather than your own (the "Force IP" bit), and in turn WormNET passes that information on to any other W:A users that try to connect to your game.

Does it mean that the IP to mention in WormNET configuration is the 192.168.0.1 of the router, and not the ISP IP ?

M3ntal
18 Aug 2006, 20:13
I meant the routers WAN IP, ie the one your ISP gives it.