These notes were originally created in 2008/2009. I copied them across to this wiki in 2013. Many of the links referred to are no longer available.

This article is about how to run BG2 on an early windows build in multiplayer mode, it is quite long. I marked this article as deprecated today.

I want to run BG2 multiplayer across my network hub. There seems to be a problem with local i.e. 192.168.0.0 addresses. This may be by design, although I can’t for the life of me think why. This research will involve understanding the game software and the hub, not to mention the various firewalls involved.

This article represents my notes

  • on the Bioware Multiplayer threads,
  • a summary of the problem and answer, I had got lost with the amount of information, right and wrong on the old Bioware forums.
  • a glossary

The game author is Bioware and they had a forum site here…. This has a My Topics feature. I don’t use it a lot and have decided to re-publish two threads in this snip. The bioware forums were hacked and the “solution” involved shit canning the old sites.

  • More about Multiplayer started by me because I couldn’t be bothered to trawl through all the can we meet up posts in the thread identified next, however, one of the moderators has replied to me that I should use “The Multiplayer Topic”.
  •  The Multiplayer Topic which was started by one of the mods and took time to take off although there are a number of lets meet up to play rather than more technical information about making the game work..
  • The New Multiplayer Thread is a continuation of the  The Multiplayer Topic.
  • Multi Player thread III continues the conversation.

I now have to read the thread, and summarised my findings in the section immediately below. Frustratingly, the thread contains both technical Q&A and requests to play MP. When I finish reviewing the Bioware resources, I shall also check out Planet Baldur’s Gate and see if there are any other resources. Perhaps Sorcerer’s Place BG2 FAQ has some usefull stuff.

The Bioware Multiplayer Topic

This is published in three threads. See above. The threads consist of requests for help, a few answers and a bunch of requests to join up in multiplayer games. NB I am trying to understand how to use two computers on a LAN, behind a firewall using NAT (Network Address Translation) and thus aquiring their real & local IP addresses using dhcp.

I have therefore summarised the threads with stuff that helps me, although I have picked up on one or two other issues.

This section is my summary of the MP threads at Bioware.

  • Page 2 has a couple of technical request for help, one guy mentions his linksys router, but the main conclusion of page 2 is that all players need the same patch level, and that using Gamespy makes life easy. (I suspect that I can’t use gamespy because I only rent one ip address and the game broker can’t determine which of my machine’s is which. i.e. it dosn’t answer my basic problem which is to play with members of my family over the LAN
  • In Message 47, max3333 documents the fix he discovered. First, agree the BG2 build standard, which must include the relevant patches but may it seems include Baldurdash. Disable the computer firewall(s). He documents, not well, how to enable the necessary tcp/ip ports on the router. Since I am trying to run the game on my Lan, my router firewall shouldn’t be a problem. max3333 references the “README” file. Max states that he had failed to open the ports from the internet to his computer and that one can’t host a game from behind a router. The readme file states that “You must also set up the proxy server to work with the Direct X networking protocol. Make sure you have the ports 2300-2400 and 47624 set up on the server for both “inbound” and “outbound” messages on both “TCP” and “UDP” protocols.” Because of what I am trying to do, this should not be necessary (because my router permits all protocols on the safe side of the firewall, but it might be worth trying it out to ensure that PC is configured correctly.
  • On Page 4, canman restates his belief that “One common problem is that your cache size and Frame Speed may be different than your friends. I have found that frame rate of 30 is good and minimum cache size is 300.” So the same and sufficient.
  • The fact I lease an ip address may be a problem for online gaming, surely not! That must depend on the game host. (I wonder if internet hostnames can be used?
  • On page 10, the how do I id my IP address question reoccurs. The thread’s answer is to use “command” and ipconfig, but with a hub/router, this only gives the local address. The internet address can only be discovered by querying the router. This can be done via a browser, or using a script to screen scrape the browser query.
  • The thread ends on Page 11 with a with a link to The New Multiplayer Thread.
  • The first page of The New Multiplayer Thread dated about 2004 has a number of problems with TCP/IP. It becomes obvious that TCP/IP means point to point or internet wide area and that the emerging home hub/router/firewall appliances are causing some difficulty, but no answers on Page 1.
  • Page 2 has a link to a part of the BG I & II FAQ, called Multiplayer Settings link. This documents the fact that BG uses a piece of Direct X functionality called Direct Play. This is where the constraint on using local addresses is implemented (allegedely). The whole FAQ is here….
  • Still on page 2, n83rll solved his problem using a serial cable.
  • On Page 5 , a potential keyboard translation problem is raised.
  • On Page 6, lljk_bardock, refers us to http://www.hamachi.cc/howitworks, with the comment “there are several programs around that will allow you to set up a virtual lan”. This may be part of the answer. Resonance in the last post of the page references Hamachi and almost writes a “how to connect FAQ”.
  • The next couple of pages are full of requests for help about a number of problems including again several, I can’t get the game to work using TCP/IP behind a router. However, on Page 9, anonymous051112 writes in msg 129, summarising the problem as TCP/IP and recommends using IPX. Our correspondent even says it works. Another thing to try.
  • Kevin closes the thread on Page 11 and points us to Multi Player thread III. On the first page of Multi Player thread III a question about NAT from Tzaeru is posted. In his reply to this, Canman states that you need to “… make sure the host has a constant IP address that never changes to avoid having to give the new one to partners everytime you play”. So here’s the problem, an internet user with an ISP that leases the address cannot meet this condition. Canman aslo starts a subthread about the BG2 NPC’s available in Multiplayer.
  • On Page 2 of MP III Tzaeru again asks about NAT and address sharing.This is not replied to (as at 21 May 2006).
  • On Page 3 of MPIII sonoftwighlight asks how to open the necessary ports on a Windows {embedded} Firewall. Kevin Lynch advises them to permit BG2 all internet privilidges, it seems that its a bit hard to create the required rules. This is one to research more, even though I always use someone else’s firewall. The final post on this page is from Blind Tiger who asks what is IPX and how can one install it. V. Good question, but more importantly how does one install it without shagging everyother internet and tcp/ip using program on the computer.

Summarising the Bioware Multi-Player threads

These comments were written as I finished reading the Multiplayer Thread II, and expanded when I read V III of the thread.

Bioware used the “Direct Play” API in Microsoft Direct X. This constrains the use of local TCP/IP addresses, so any router using DHCP and local addresses (i.e. me) is likely to be shagged. I can try and research the Microsoft implementation to see if it can be fooled or configured to behave as we require. I can see if we can allocated “Real World IP” addresses to our systems, which may be required for other internet games. Without knowledge of the API, its not possible to see if there is a programming solution to this problem. The answer may of course lie with my broad band supplier; they only lease me a single ip address.

An alternative approach is not to use TCP/IP, either explicity using the BG2 configuration panel and using serial or IPX, or taking the Hamachi approach.

Much of the correspondence on this thread seems to me to fail to understand how home computing has changed since the release of BG2. Most ISP’s lease their IP address. Most Homes have more than one computer and so connect to the internet and each other using a ‘network’ appliance. I am using a Linksys Wireless Gateway. Previously, people would connect to the internet using a modem and the ISP would allocate internet address (i.e. an IP number) to the computer acting as the games host (This is confusing I mean the computer on which BG2 is installed and the gamer proposes to use the keyboard; acting as the MP Game Host is not yet material). ( This is also why the tcp/ip connection was described by BG2 and its contemporaries as the wide area protocol.) These days, the ISP leases an internet address to the network appliance and the computer systems on the home side of the the appliance are using local IP addresses on their computers and using NAT to connect to remote systems. This fails for three reasons.

  • BG2 will not use local IP addresses. This is an alleged design feature of the Microsoft APIs the games authors used.
  • The modern home solution does not maintain a constant internet name or ip number; the ISP uses leasing technology.
  • The modern home solution defaults to using tcp/ip local address range on the home computer side of the firewall and broadband modem.

My view of the Problem

I want to play BG2 with my family on the home side of the appliance.

To me the problem is that BG2 won’t use tcp/ip local addresses, and that’s what my computers use.

The static address issue is a diversion for me at the moment. Only if I want to play MP with someone on the internet i.e. not using one of the systems at home does it become an issue. I may change my mind so while I have static internet DNS addresses (as many as I want), my ISP (British Telecom) would charge me for static addresses (number) which would be allocated to the gateway device anyway. I suppose I could see at some time how to allocated a non-local address to a system on the home side of the Gateway but its not a priority to me.

The best advice in the MP thread is to use a different network connection protocol such as serial, IPX or even Hamchi.

I propose to test if I can run IPX as second LAN protocol and create a connection. I need to configue the cards to support IPX & TCP/IP, and then create clean(ish) versions of BG2 on both my systems. I then need to create a “Branwen’s World” version of BG2 on the machine to point at the clean disk images using the “Saving Space with Multiple installs” trick from the The Pocket Plane Group’s forums. To explore IPX, I need to create vanilla installs (+ Baldurdash) on both systems, which may mean using the BG2tutu space saving fix This will take some time.

I wonder if installing BG2tutu will allow me to MP the BG1 story using BG2. I also need to ensure that enabling IPX, which is available as a configuration option under XP does not muck up tcp/ip.

This article could do with a Glossary and some sub-snips detailing such things as what is NAT & what are private addresses.

What I did!

I installed IPX on both the computers on the private side of the firewall.

I then tested this using Baldur’s Gate (not BG2) and this seems to work well.

Installing IPX

This is actually very easy, Control Panel – Network Connections – Select the Network connection (Right Click, Properties) – Install – Add Protocol, select the IPX protocol and then apply the change. Reboot the system and you’re away

Glossary

  • DNS, the Domain Name Service, the programs that enable ip address aliasing such that an ip address nn.nn.nn.nn can be aliased using a name such as davelevy.info, sadly in the world of address leasing the names are becoming completly meaningless and non memorisable!
  • IPX, interpext packet exchange, see IPX at Wikipedia
  • ISP, internet service provider, the company that runs the programs that allocate internet addresses at the other end of your phone/broadband line.
  • NAT, Network Address Translation, a firewall function (program) that allows a system with an internet address to present itself as another address.

3 Replies

  1. The Glossary is quite cute. It’s sort of interesting that when one starts to learn about something the simple seems strange, most of the glossary items are basic required knowledge for networking today, but semed areas of strangeness back then.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.