b) Hosting
As briefly mentioned above, one host player is required for all to play. To serve as a one, the host player needs to allow incoming and outgoing traffic on the following range: 1630 to 1640, both TCP and UDP - this is called Port Forwarding. In fact, a more detailed breakdown would be:
1638 UDP — Lobby, metaserver
1633 UDP — Game
1634 TCP — Savegame transfer
Port Forwarding is configured in a router for a specific IP address or addresses only, not for all computers attached to that router. One consequence of this is that if the router is assigning IP addresses automatically via DHCP (the default usually) the host's IP Address can change after a reboot, and the port forwarding may not have been applied to the host's new IP Address. To avoid this the host can be assigned a set (static) IP address in the router.
Further helpful instructions can be read at
http://portforward.com — after having exhausted these resources, including your router's manual, you might also query forum members by starting a thread where you will specify your router's brand and model.
In addition ALL PLAYERS must configure all of the following devices/services to allow for unrestrained connections on the above port ranges - this is called Opening Ports: routers, hardware firewalls, software firewalls (such as "ZoneAlarm", "IPTables", "Windows" own firewall, etc.) and Internet security suites ( "Norton", "Kasperky", "McAfee", etc.). Generally and most likely, you will only need to configure your router. Here is one site that will help each player determine whether they have successfully opened all required ports.
It is possible, though it shouldn't be a starting assumption, that you may be behind what is generally called a "private network" featuring a restrictive NAT, or even a tyrannical ISP which doesn't allow traffic through certain port ranges. College and university networks might not allow traffic on the required ports — as may some fibre optics internet providers relying on "residential gateways". If this is the case a VPN will need to be set up using a product such as Hamachi.
Good attributes for a hosting computer are:
A close geographical location in relation to all other players, which minimises latency issues: what is scornfully called "lag" and often measured by "pinging". The closer the host to the rest of the players, the less likely latency issues will be — also depending on the Internet service provider.
A stable internet connection. Very high bandwidth is by no means required: ADSL2 or ADSL2+, which are nowadays the most common means to access the Internet, are perfectly suitable. Dial ups on the other hand will not allow one to play without having to put up with upsetting delays.
A capable processor and abundant memory.