Shogun Multiplayer Hosting
Konnichiwa.
In this forum we've had many discussions about the problem of hosting games. Some of them became heated and members, including myself, became angry and agitated because there was no solution. Some could host games and some not, without any real indications on what the problem was. The efforts of many remained fruitless.
I have recently, since running the fakeserver, made some observations. My own problem is that I can't host games while I can host the fakeserver. This appeared so absurd to me that I started to test different settings with rather interesting results.
I'm confident that I can now answer all questions related to the hosting issue.
Most of us know that Shogun uses two ports to connect to the internet.
These ports are 8793 and 18321.
A player who wants to connect to the Gameserver (or currently a fakeserver) needs to enable his computer to communicate over these ports. To conect to the server, port 8793 is needed. To host games 18321 is needed. (More details later)
There're however two obstacles that may prevent a connection.
A firewall or a router.
1. Software Firewalls, like the one that's integrated in Windows or Sygate or Kerio, are mostly application based. This means, they ask the user for permission if a certain program wants to establish an internet connection. So, if I want to connect to the server with Shogun, a message pops up from my firewall asking for permission. By allowing it and making a rule of it (check the "remember my decision" box) this problem is solved.
My firewall, and other software firewalls, won't ask me again and will allow Shogun to communicate over the internet. Port numbers are not an issue in this case. This is the minor problem which can be easily fixed by either proper configuration or simply turning the firewall off when playing.
2. Routers, and we have experienced this with different models, generally seem to prevent game hosting.
Why is this? Every time you connect to the internet via a router, the router gets an IP-address assigned by your Internet Provider. Your computer "hides" behind the router. It is not visible to other machines on the internet. But your computer also has an IP-address on its own. This is usually a fixed address, so that the router knows where to route/send communications for this computer. (Remember, a router provides the possibility to enable connections for several computers at the same time. Each of these computers has to have a unique address in this network behind the router, even if it's only one)
This results in the fact that we have two different IP-addresses to deal with.
The local one of your computer and the global one of your router.
Now, when you connect to the server, the server will only see your global IP, that of the router. The server will tell other players' machines this IP. But it is the wrong one. Your router isn't hosting any games, your machine is.
Even if you forward the necessary port 18321 it doesn't work. In my opinion this is either a peculiarity on Shogun's side or a bug in the fakeserver. Shogun was published in a time where routers where the exception, so I'm not blaming anyone.
So, how does it work?
1. The easiest way to host, is to use a Win98 machine and a conventional modem. The modem will basically act like an extension of your computer. The difference to the router is, that the modem does not get an IP on its own. There's only one IP.
You create a network connection in windows, enter your password and login-name and connect to the internet.You fire up Shogun, connect to the server and host a game. The server will tell people the one and only IP that you have and it should work.
2. Since most of us have WinXP and a router, here's the howto for this setup:
WinXP is itself not the optimal Operating system for Shogun, problems have been reported many times.
Personally, I haven't encoutered any on my XP machine, so I'll concentrate on the router issue.
As mentioned above you need to make sure that you only have one IP-address that is visible on the internet and for other players. But, the whole purpose of a router is to mask the IP address of your machine.
Nevertheless, most routers provide the possibility to be used like a modem. My router (FritzBox) offers two options:
a) Use one Internet-connection for all computers. (All connected computers reach the internet over one common access connection which is established by the router itself, using the stored password and login).
b) Use FritzBox (my router) as a DSL-modem (All connected computers establish their own connection with their own access-software.)
Option a) is useless for hosting because of the above mentioned issue with having two IP's. It is however the most common way to use a router.
Option b) creates the situation which I described for the Win98 machine. The only IP you get assigned is the global one, visible by other players.
It's my understanding that any modern router, purchased in the last 2 years, should provide this option.
I'm willing to discuss any router model that gives you problems.
Please provide a link to the pdf-version of your model or tell me the models name and number.
My last test results were:
1. When I host a LAN game, Shogun is listening on port 18321 for other players. I can see this in the firewall log.
2. Playing on the fakeserver:
2.1 When I use option a) I can connect to the server but my hosted game is invisible. In fact my firewall tells me that Shogun isn't hosting at all. It's not listening on port 18321.
2.2. When I use option b) I can connect to the server and when I host a game, I can see how Shogun is listening on port 18321 for other players.
Since I tested all possible setups for my router and have in the last year learned very much about networking and routers, I'm confident that by using option b), as far as possible with your router model, all players should be able to host.
Bookmarks