Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IPX support in Starcraft - Why can't I get it working?

0 views
Skip to first unread message

David Bronaugh

unread,
Dec 3, 2001, 1:19:34 AM12/3/01
to wine-...@winehq.com
I can't seem to get IPX going in Starcraft. It gives me "Unable to
initialize network provider" in a pretty dialog box (as per usual). I have
IPX in kernel, the interface configured for 802.2 frame type, and some IPX
RIP/SAP daemon going. The kernel's IPX is configured without the "Full
internal IPX network" thing. Apparently (from my reading) this would be a
bad thing. I compiled wine, and it says it finds "GNU style IPX support".
I'm gathering that's a good thing.

Any ideas? I haven't seen many people commenting on this... I've been
using WINE 20011108.

David Bronaugh

ps: If you have any suggestions to help debug this, please throw em this
way.. I'm looking for some insight into this if possible, not necessarily
just a fix.

John Johnson

unread,
Dec 3, 2001, 1:48:37 AM12/3/01
to

The way I got Starcraft to work with IPX was by running Starcraft as root.
Also, make sure all workstations are configured with the same IPX network
address (i.e. 0x12345678).

HTH

John

David Bronaugh

unread,
Dec 3, 2001, 4:30:26 AM12/3/01
to wine-...@winehq.com

Thanks for the suggestion, but running it as root makes no difference - it
still doesn't work. Also, since I don't even get to a pointe where I could
look for another game or have others join my game, there's not much point
in setting the IPX network address on the workstations.

I'm running kernel 2.4.14 stock. The point at which this happens is when I
select "IPX network game" or such in the Starcraft multiplayer menu and
hit "OK" or equivalent. I configured my workstation with the bogus IPX
address. The others do not at this point matter.

This is on a K6-III/550 with 128M RAM and a 20G HD (which isn't full). I
hope that'll satisfy any other questions. I've tried this with and without
the RIP/SAP daemon running (I don't know if it'd make a difference).

David Bronaugh


Bernhard Mogens Ege

unread,
Dec 3, 2001, 7:04:20 AM12/3/01
to


> David Bronaugh

You will have to setup som registry entries to make wine believe that
IPX is available. I did it once and it worked (as root), but I cannot
remember the changes.

Bernhard

David Bronaugh

unread,
Dec 3, 2001, 2:30:13 PM12/3/01
to

Thank you. Now, what registry entries would those be? Once I have 'em,
I'll be on the road here...

(by the way, the winesetuptk people should probably hear about this...
it'd make things a lot easier if the registry were primed with such
entries).

David Bronaugh

gerard patel

unread,
Dec 3, 2001, 4:16:06 PM12/3/01
to
On Mon, 3 Dec 2001 11:30:13 -0800, David Bronaugh
<dbro...@linuxboxen.org> wrote:

>Thank you. Now, what registry entries would those be? Once I have 'em,
>I'll be on the road here...

I don't know your app, but it's often possible to find which registry
entries are needed by an application by running it with -debugmsg
+relay, then searching in the trace file for the

advapi32.RegCreateKey
advapi32.RegOpenKey
advapi32.RegQueryValue

and, having found one, look if the return value is 2
(retval=00000002)
that means that the entry is missing.

Then one thing helps, most programmers are giving names
that have at least some sense, so the Regxxx Api call may
have something like 'IPX' in the parameters.

OTOH it's difficult to imagine the correct *value* to set in the
registry file, but that's when it's interesting to ask to someone
having a Windows box to take a look at the registry to find what
the values are supposed to be so that the app works.

It's complex, but when you have found the solution, you can
go to the Wine application database and update it so that other
people after you will not have the same problem (or maybe find
that the answer was already here since years ;-))

Gerard

David Bronaugh

unread,
Dec 3, 2001, 9:08:12 PM12/3/01
to wine-...@winehq.com

OK, I logged all the debug messages, and grepped for "advapi". Results of
that are up at http://bronaugh.linuxboxen.org/morecrap.txt - I didn't find
it very helpful. It seemed to look for some pretty strange keys, nothing
to do with Netware or IPX (the two most likely candidates in my opinion).

David

gerard patel

unread,
Dec 4, 2001, 4:35:11 AM12/4/01
to

Incidently it shows that crypto functions are called.
Needless to say, Wine does not support anything of Ms
crypto :-) So it could be that IPX fails because really
IPX is used to communicate on the network, and network
communication relies on crypto. I don't know the app at
all, but it seems likely.
So, could it be that people using Starcraft on a network
use a different version without crypto ?

Gerard

David Bronaugh

unread,
Dec 4, 2001, 3:50:26 AM12/4/01
to wine-...@winehq.com
> Incidently it shows that crypto functions are called.
> Needless to say, Wine does not support anything of Ms
> crypto :-) So it could be that IPX fails because really
> IPX is used to communicate on the network, and network
> communication relies on crypto. I don't know the app at
> all, but it seems likely.
> So, could it be that people using Starcraft on a network
> use a different version without crypto ?
>
> Gerard


That's a very interesting question...

So I guess this is a pretty open discussion then. What versions of
Starcraft do people who have got it running use? I'm using Starcraft 1.07.
Single player works great, etc etc etc blablaba. Does anyone who has it
working care to do the following:

wine -debugmsg +relay starcraft.exe &> crap.txt
grep "advapi" crap.txt &> morecrap.txt

Thanks in advance.

David Bronaugh

Glenn Schrader

unread,
Dec 4, 2001, 5:53:37 PM12/4/01
to wine-...@winehq.com
gerard patel wrote:

I've been successfully running Starcraft in multiplayer LAN mode and it
uses IPX
with NO crypto. A while back I attempted to connect to BattleNET and
debug the
problems but it complains about needing the crypto dll (as you've said)
and maybe
some other stuff. I didn't get very far.
---
Glenn Schrader

David Bronaugh

unread,
Dec 4, 2001, 10:26:50 PM12/4/01
to wine-...@winehq.com

On Tue, 04 Dec 2001 14:53:37 Glenn Schrader wrote:
>
> I've been successfully running Starcraft in multiplayer LAN mode and it
> uses IPX
> with NO crypto. A while back I attempted to connect to BattleNET and
> debug the
> problems but it complains about needing the crypto dll (as you've said)
> and maybe
> some other stuff. I didn't get very far.
> ---
> Glenn Schrader

Hmm.. well, all I'm trying for is IPX over LAN. Perhaps you can give me
some tips or pointers... as I have stated before, I'm using WINE 20011108
(on Debian 2.2, but I built it from source), Starcraft 1.07, and I have
IPX crap loaded into the kernel, etc etc etc. It *should* work, but it
doesn't (dialog pops up, "Unable to initialize network provider" when I
click IPX network game, and select "OK").

David Bronaugh

Glenn Schrader

unread,
Dec 10, 2001, 10:14:34 PM12/10/01
to wine-...@winehq.com
David Bronaugh wrote:

Ok. A few things for you to ponder...

I haven't been able to get Starcraft to run on any builds newer than
20010510. Anything newer
seems to have colormap problems and locks up. I can't see how this
relates to your problem but
it is a difference in what we're doing.

Even though you have IPX installed, are you sure that its being started?
Look for /etc/rc.d/init.d/ipx
and /etc/rc.d/rc5.d/*ipx (should find 1 file). If you don't find these
files then ipx hasn't been
configured to start when Linux boots. If its not being started then use
a command like the
following to initialize the driver:

ipx_interface add -p eth0 802.2 0x12345678

Are you attempting to play between two Linux machines to between a Linux
and a Windows
machine? The last value in the command line above (i.e. 0x12345678) can
be any
>>>non zero<<< number but must be the same everywhere. Check the ipx
scripts in /etc/rc.d/*
and/or in the Windows IPX protocol settings.

If that doesn't make it work then i'm stumped. Its been pretty reliable
for me.

---
Glenn Schrader


Nix N. Nix

unread,
Dec 11, 2001, 11:05:29 PM12/11/01
to
Sorry - this might be a re-post:

Let's think about this for a second:
Starcraft makes some kind of API call to do its IPX stuff, right ? Well,
normally, under Windows, the DLL that implements those API calls
probably relies on some registry entries. However, in this case we're
not dealing with Windows DLLs (unless you've specified
"native,builtin"). So, what actually happens is that Wine resolves
these IPX-related functions in its own, non-registry way. How do I
know? I have Starcraft running with IPX and without any kind of Windows
installation.

I recommend running wine-20010510 instead of the latest. That's the
version I have running on one computer, IPX and all.

Nix N. Nix

unread,
Dec 12, 2001, 2:47:52 AM12/12/01
to

David Bronaugh

unread,
Dec 12, 2001, 5:42:07 PM12/12/01
to

Well, that's interesting. I'm glad you're interested in one of the same
things I am here.

Here's the status:

I use WINE to run a few programs, mainly games (I don't even play them
that often). These are Half-Life and (occasionally) Starcraft. Wine
20011108 fixed an annoying bug in Half-Life with Wine where you had to
click "Done" in the menus in order to get to the game (it was pretty odd,
but I figured it out). Starcraft works under WINE, but I don't have IPX
(which is kind of annoying). I was running WINE 20010510 before, but
unfortunately I never tried Starcraft under it. Maybe I'll give it another
crack (is there some clean way to have 2 different WINE installs?)

David Bronaugh

gerard patel

unread,
Dec 15, 2001, 5:19:59 AM12/15/01
to
On Wed, 12 Dec 2001 14:42:07 -0800, David Bronaugh
<dbro...@linuxboxen.org> wrote:

>is there some clean way to have 2 different WINE installs?

If you mean something like rpm installation, it depends
on the packagers. If each packager has used 'standard'
names for the installation parameters (WINEPREFIX for
example, or directory and library names) it will not work.
If the packager has carefully given specific values for
everything, 2 packages could coexist. I think that
companies packaging Wine with their software do that
to avoid clashes with standard Wine installations.

If you use only source, it's possible and has been
explained already. Don't install and use some LD_LIBRARY_PATH
magic to get access to the right libraries. Use scripts
to set the relevant environment variables. After that, there
are different ways to do it.

Here is the script I use :

export WINE=/home/gerard/win/wine
export LD_LIBRARY_PATH=$WINE:$WINE/dlls:$LD_LIBRARY_PATH
export WINEPREFIX=/home/gerard/.wine
export PS1='wine:'
cd /home/gerard/win/wine
bash

I copy by hand the wine and .wine directories into something like,
say, wine2 and .wine2 and create another like that :

export WINE=/home/gerard/win/wine2
export LD_LIBRARY_PATH=$WINE:$WINE/dlls:$LD_LIBRARY_PATH
export WINEPREFIX=/home/gerard/.wine2
export PS1='wine2:'
cd /home/gerard/win/wine2
bash

As I don't set the path, I have to enter ./wine in
the Wine directory to start Wine. I have scripts for the
applications I use, like that :

cd /mnt/reiser/agent
$OLDPWD/wine $1 -managed -winver win95 AGENT.EXE

You can easily do better I think (IIRC there are less
important environment variables to set) but I'm used to
these tricks.

Gerard

Nix N. Nix

unread,
Dec 15, 2001, 11:57:55 AM12/15/01
to
gerard patel wrote:


Waaaay better:
If you install wine from source, just do this:
./configure --prefix=/usr/wine
add /usr/wine/lib to /etc/ld.so.conf
Them,
make depend && make
make install
cd /usr
mv wine wine-20011108

Now, download the other version of wine, say 20010510 and untar it.
./configure --prefix=/usr/wine
make depend && make
make install
cd /usr
mv wine wine-20010510
ln -s wine-20010510 wine
ldconfig

Even though at first sight, this does not appear to be easier, the main
advantage is that it doesn't require any scripting, nor environment
variables. You can have any number of wine distributions in, say, /usr
and switch between them simply by pointing the wine link to the one you
want and running ldconfig. For example, I have:

/usr/wine-20010510
/usr/wine-20011108
/usr/wine-cvs
/usr/winex-cvs

They were all configured as --prefix=/usr/wine and installed
appropriately, after which the /usr/wine directory created by the make
install was renamed appropriately.

Now, I can switch between them extremely easily at will.

Caveat: When installing a new version of wine, don't forget to
rm /usr/wine, otherwise you'll be installing one version of wine on top
of another. This can prove disasterous, to say the least.

gerard patel

unread,
Dec 16, 2001, 8:43:51 PM12/16/01
to
On Sat, 15 Dec 2001 11:57:55 -0500, "Nix N. Nix" <n...@go-nix.ca>
wrote:


>Waaaay better:
>If you install wine from source, just do this:
>./configure --prefix=/usr/wine
>add /usr/wine/lib to /etc/ld.so.conf
>Them,
>make depend && make
>make install
>cd /usr
>mv wine wine-20011108
>
>Now, download the other version of wine, say 20010510 and untar it.
>./configure --prefix=/usr/wine
>make depend && make
>make install
>cd /usr
>mv wine wine-20010510
>ln -s wine-20010510 wine
>ldconfig
>
>Even though at first sight, this does not appear to be easier, the main
>advantage is that it doesn't require any scripting, nor environment
>variables. You can have any number of wine distributions in, say, /usr
>and switch between them simply by pointing the wine link to the one you
>want and running ldconfig.

Why not ?
But my needs are different.
I do it to run the same app with 2 different
versions of Wine *at the same time*.

Gerard

Louis A.S Holbrook

unread,
Dec 29, 2001, 11:33:34 AM12/29/01
to
After reading this, I was anew filled with encouragement at swapped from
20011108 to 0510 to get the IPX to work. Alas, no change. The IPX network
option in starcraft complains about "cannot locate network provider". I
followed instructions on among other sources linuxgames.com to setup
Starcraft with Wine and it's working perfectly except for the network
bit. Don't know if this is the right debug info to extract but at least
it mentiones winsock...

trace:winsock:WSOCK32_Libmain 0x42600000 0x2 (nil)
trace:winsock:WSAStartup verReq=101
trace:winsock:WSAStartup succeeded
trace:winsock:WSOCK32_socket af=6 type=2 protocol=1000
trace:winsock:WSOCK32_socket created 00b0
trace:winsock:WSOCK32_socket af=6 type=2 protocol=1000
trace:winsock:WSOCK32_socket created 00bc
trace:winsock:WSOCK32_bind socket 00bc, ptr 0x1800ff70, length 14
trace:winsock:WSOCK32_sendto socket 00b0, ptr 0x405b63f0, length 8, flags
0
trace:winsock:WSOCK32_sendto socket 00bc, ptr 0x405b63f0, length 8, flags
0
trace:winsock:WSOCK32_sendto socket 00bc, ptr 0x405b63f0, length 8, flags
0
trace:winsock:WSOCK32_closesocket socket 000000bc
trace:winsock:WSOCK32_closesocket socket 000000b0

I run linux 2.2.19 (slackware 8.0) with modular ipx. Any hints would be
appreciated.

lash

In article <2001121214...@Woodbox.lan>, "David Bronaugh"

John Johnson

unread,
Dec 29, 2001, 12:42:56 PM12/29/01
to

Don't know if you've tried this but in order for me to use IPX
networking with starcraft, I have to run it as root.

HTH

John

Louis A.S Holbrook

unread,
Jan 2, 2002, 6:01:04 PM1/2/02
to
In article <pan.2001.12.29.12...@nobody.com>, "John Johnson"
<jo...@nobody.com> wrote:

access seemed to be the problem (how embarrasing) ... thanks a lot :)

lash

0 new messages