Discussion:
[Wine] Network play in Command & Conquer: Red Alert 2
Christoph Korn
2009-01-27 09:07:29 UTC
Permalink
Hello,
I have installed C&C: Red Alert 2 in Ubuntu.
Now I want to play in a network.
I have already put the wsock32.dll [1] into the game directory and
have set up an overwrite rule for wsock32 in winecfg.
It should replace the IPX protocol with UDP protocol.
Now there is a network card shown in the settings [2] and the
network menu opens ingame now. I have set up Red Alert 2 on
different machines but they don't see each other in the network menu.
Also when one player opens a game it cannot be seen in the other
machines.
I have already checked out the appdb [3], but did find a helpful
comment.

Has someone got the network play to work?

Best regards
Christoph Korn


[1] http://www.understorm.net/cnc/lan/ts_ra2_lanpatch_1_00.zip
[2] Loading Image...
[3]
http://appdb.winehq.org/objectManager.php?sClass=version&iId=252&iTestingId=34354
vitamin
2009-01-27 17:07:12 UTC
Permalink
Post by Christoph Korn
I have already put the wsock32.dll [1] into the game directory and
have set up an overwrite rule for wsock32 in winecfg.
That's one of the core DLLs that you can not override.
Christoph Korn
2009-01-27 18:18:10 UTC
Permalink
It can be overwritten.
Just enter the name "wsock32" in the edit field.
A warning is shown that it _should_ not be overwritten but it can.
Post by vitamin
Post by Christoph Korn
I have already put the wsock32.dll [1] into the game directory and
have set up an overwrite rule for wsock32 in winecfg.
That's one of the core DLLs that you can not override.
Thunderbird
2009-01-27 19:10:36 UTC
Permalink
Red Alert II works fine if you set up IPX on your linux system but you need to run wine as root. I had some users experiment with posix file capabiltiies but those didn't seem to work for some reason. IPX should work fine as at the time I worked a bit on wine's ipx to get all c&c games working (ra1 3.0x, tiberian sun and red alert 2).
Christoph Korn
2009-01-27 20:29:33 UTC
Permalink
I think it is me you chatted with. ;)

I managed to play with a Vista machine by using the wsock32.dll.
The IPX configuration did not work. I think UDP replaces IPX with
this wsock32.dll. But now I have two Ubuntu machines that use this
dll and they do not see each other.
Post by Thunderbird
Red Alert II works fine if you set up IPX on your linux system but you need to run wine as root. I had some users experiment with posix file capabiltiies but those didn't seem to work for some reason. IPX should work fine as at the time I worked a bit on wine's ipx to get all c&c games working (ra1 3.0x, tiberian sun and red alert 2).
vitamin
2009-01-27 20:52:30 UTC
Permalink
Post by Christoph Korn
It can be overwritten.
Just enter the name "wsock32" in the edit field.
A warning is shown that it _should_ not be overwritten but it can.
Should/could/would is irrelevant here.
You CAN NOT use native wsock32.dll It WILL NOT work on Wine period.
Enable IPX and use it instead.
Christoph Korn
2009-01-27 21:15:02 UTC
Permalink
I was already able to play with this dll on the network.
The windows vista machine also used the dll because IPX is not
available in vista.
But now I use two ubuntu machines and there the clients don't see
each other.
Post by vitamin
Post by Christoph Korn
It can be overwritten.
Just enter the name "wsock32" in the edit field.
A warning is shown that it _should_ not be overwritten but it can.
Should/could/would is irrelevant here.
You CAN NOT use native wsock32.dll It WILL NOT work on Wine period.
Enable IPX and use it instead.
Vincent Povirk
2009-01-27 22:51:53 UTC
Permalink
Post by vitamin
Post by Christoph Korn
It can be overwritten.
Just enter the name "wsock32" in the edit field.
A warning is shown that it _should_ not be overwritten but it can.
Should/could/would is irrelevant here.
You CAN NOT use native wsock32.dll It WILL NOT work on Wine period.
Enable IPX and use it instead.
He isn't using a wsock32.dll from Microsoft. According to the readme
in http://www.understorm.net/cnc/lan/ts_ra2_lanpatch_1_00.zip, it's
meant as a replacement for a few specific games, one of which is Red
Alert 2, to make them work through UDP over a LAN. This should work if
it's based on normal, public API's that Wine can implement.

Vincent Povirk
Christoph Korn
2009-01-27 23:13:53 UTC
Permalink
Yes, somehow this topic has been split.
My original message is here:
http://www.winehq.org/pipermail/wine-users/2009-January/047813.html
I use the (modified, I think) dll from the link [1].
I just need to figure out how the clients can see each other in the
ingame lobby.
Thunderbird has figuered it out by using IPX and starting wine as
root. But that seems more complicated than just using a modified dll.

Thanks for your answers, btw!

Best regards
Christoph Korn


[1] http://www.understorm.net/cnc/lan/ts_ra2_lanpatch_1_00.zip
Post by Vincent Povirk
Post by vitamin
Post by Christoph Korn
It can be overwritten.
Just enter the name "wsock32" in the edit field.
A warning is shown that it _should_ not be overwritten but it can.
Should/could/would is irrelevant here.
You CAN NOT use native wsock32.dll It WILL NOT work on Wine period.
Enable IPX and use it instead.
He isn't using a wsock32.dll from Microsoft. According to the readme
in http://www.understorm.net/cnc/lan/ts_ra2_lanpatch_1_00.zip, it's
meant as a replacement for a few specific games, one of which is Red
Alert 2, to make them work through UDP over a LAN. This should work if
it's based on normal, public API's that Wine can implement.
Vincent Povirk
Gert van den Berg
2009-01-28 15:10:52 UTC
Permalink
Post by Christoph Korn
Hello,
I have installed C&C: Red Alert 2 in Ubuntu.
Now I want to play in a network.
I have already put the wsock32.dll [1] into the game directory and
have set up an overwrite rule for wsock32 in winecfg.
It should replace the IPX protocol with UDP protocol.
Now there is a network card shown in the settings [2] and the
network menu opens ingame now. I have set up Red Alert 2 on
different machines but they don't see each other in the network menu.
Also when one player opens a game it cannot be seen in the other
machines.
I have already checked out the appdb [3], but did find a helpful
comment.
Has someone got the network play to work?
I had a shot at it earlier as well, without success.
http://forum.winehq.org/viewtopic.php?p=15853

Some issues:
The UDP patch does not seem to work on Wine (see Vitamin's reply). It
might be that a large part of Wine's network implementation is in the
buildin wsock32? (Someone more familiar with the source code might be
able to answer that) (It might be that that wsock32 only intercepts
IPX and call the real wsock32 for the UDP part, but that Wine does not
allow that to work...)

IPX works, as root, or at least that is what I'm told. It would not be
able to LAN with Windows versions using the UDP patch though...

PvPGN works as well (kindof at least) but is a mission to set up...

There are a few utilities that allow tunneling IPX over IP for Linux
as well, no idea about their compatibility and ease of use.

Did not try POSIX capabilities...

There seem to no way, other than Westwood online / PvPGN to play
between Windows Vista and Wine... (Vista removed IPX support)

The real (long term) solution would probably be if Wine / the kernel
added an option to emulate IPX over IP (like Dosbox), with various
compatibility options... Another would be if Wine implemented enough
APIs that native wsock, and its replacements can work. (This might
take )

Gert
Vincent Povirk
2009-01-28 19:04:04 UTC
Permalink
Post by Gert van den Berg
The UDP patch does not seem to work on Wine (see Vitamin's reply). It
might be that a large part of Wine's network implementation is in the
buildin wsock32? (Someone more familiar with the source code might be
able to answer that) (It might be that that wsock32 only intercepts
IPX and call the real wsock32 for the UDP part, but that Wine does not
allow that to work...)
To get some real information, I've examined the import/export tables
of the dll using winedump. It appears that it's based on ws2_32, which
Wine implements. Wine's ws2_32 is not based on wsock32 (in fact it is
the other way around). So I think that this should work.

That said, I could not examine the export table. Winedump simply gave me this:

Entry Pt Ordn Name
Can't grab functions' name table

It's possible that Wine can't load this dll because of trouble reading
the export table.

In any case, I think you should get a log of the console output when
you try to use this dll so that we can know more things instead of
blindly speculating.
Post by Gert van den Berg
The real (long term) solution would probably be if Wine / the kernel
added an option to emulate IPX over IP (like Dosbox), with various
compatibility options... Another would be if Wine implemented enough
APIs that native wsock, and its replacements can work. (This might
take )
I'm naively hoping the problem is much simpler than missing API's and
that IPX tunnelling in wine / linux is unnecessary.

Vincent Povirk
Christoph Korn
2009-01-28 19:52:20 UTC
Permalink
Post by Vincent Povirk
Post by Gert van den Berg
The UDP patch does not seem to work on Wine (see Vitamin's reply). It
might be that a large part of Wine's network implementation is in the
buildin wsock32? (Someone more familiar with the source code might be
able to answer that) (It might be that that wsock32 only intercepts
IPX and call the real wsock32 for the UDP part, but that Wine does not
allow that to work...)
To get some real information, I've examined the import/export tables
of the dll using winedump. It appears that it's based on ws2_32, which
Wine implements. Wine's ws2_32 is not based on wsock32 (in fact it is
the other way around). So I think that this should work.
Entry Pt Ordn Name
Can't grab functions' name table
It's possible that Wine can't load this dll because of trouble reading
the export table.
I don't know what dll you are talking about here but I could get the
information of the modified wsock32.dll.

http://pastebin.com/f43590cce
Post by Vincent Povirk
In any case, I think you should get a log of the console output when
you try to use this dll so that we can know more things instead of
blindly speculating.
What debug channel should I enable in the output?
I currently have no other ubuntu machine here that has also Red
Alert 2 installed but I think that won't differ the output anyway.

Christoph Korn
Post by Vincent Povirk
Post by Gert van den Berg
The real (long term) solution would probably be if Wine / the kernel
added an option to emulate IPX over IP (like Dosbox), with various
compatibility options... Another would be if Wine implemented enough
APIs that native wsock, and its replacements can work. (This might
take )
I'm naively hoping the problem is much simpler than missing API's and
that IPX tunnelling in wine / linux is unnecessary.
Vincent Povirk
Vincent Povirk
2009-01-28 19:57:33 UTC
Permalink
Post by Christoph Korn
I don't know what dll you are talking about here but I could get the
information of the modified wsock32.dll.
http://pastebin.com/f43590cce
Those are just the headers. You need -j export to see the export table.
Post by Christoph Korn
What debug channel should I enable in the output?
I currently have no other ubuntu machine here that has also Red
Alert 2 installed but I think that won't differ the output anyway.
Start by not enabling any.

Vincent Povirk
Christoph Korn
2009-01-28 20:08:45 UTC
Permalink
Post by Vincent Povirk
Post by Christoph Korn
I don't know what dll you are talking about here but I could get the
information of the modified wsock32.dll.
http://pastebin.com/f43590cce
Those are just the headers. You need -j export to see the export table.
Then I also get the error.
Post by Vincent Povirk
Post by Christoph Korn
What debug channel should I enable in the output?
I currently have no other ubuntu machine here that has also Red
Alert 2 installed but I think that won't differ the output anyway.
Start by not enabling any.
Nothing intresting in it:
http://pastebin.com/m53f918d1

Christoph Korn
Post by Vincent Povirk
Vincent Povirk
Christoph Korn
2009-01-28 21:15:10 UTC
Permalink
The correct dll is being loaded:
http://pastebin.com/m143eafd7

This is the output of +winsock:
http://pastebin.com/f546de647

Christoph Korn
Post by Christoph Korn
Post by Vincent Povirk
Post by Christoph Korn
I don't know what dll you are talking about here but I could get the
information of the modified wsock32.dll.
http://pastebin.com/f43590cce
Those are just the headers. You need -j export to see the export table.
Then I also get the error.
Post by Vincent Povirk
Post by Christoph Korn
What debug channel should I enable in the output?
I currently have no other ubuntu machine here that has also Red
Alert 2 installed but I think that won't differ the output anyway.
Start by not enabling any.
http://pastebin.com/m53f918d1
Christoph Korn
Post by Vincent Povirk
Vincent Povirk
Christoph Korn
2009-01-29 18:04:50 UTC
Permalink
I have set up red alert 2 on a windows xp machine that also uses the
wsock32.dll.
Each machine can see the other one in the network menu and can join
games no matter which machines opens a new game.

I have attached log files.
wine_log_xp->ubuntu is for the xp machine joining the ubuntu hosted
game.
wine_log_ubuntu->xp ist for the ubuntu machine joining the xp hosted
game.
Post by Christoph Korn
http://pastebin.com/m143eafd7
http://pastebin.com/f546de647
Christoph Korn
Post by Christoph Korn
Post by Vincent Povirk
Post by Christoph Korn
I don't know what dll you are talking about here but I could get the
information of the modified wsock32.dll.
http://pastebin.com/f43590cce
Those are just the headers. You need -j export to see the export table.
Then I also get the error.
Post by Vincent Povirk
Post by Christoph Korn
What debug channel should I enable in the output?
I currently have no other ubuntu machine here that has also Red
Alert 2 installed but I think that won't differ the output anyway.
Start by not enabling any.
http://pastebin.com/m53f918d1
Christoph Korn
Post by Vincent Povirk
Vincent Povirk
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wine_log_xp->ubuntu
Url: http://www.winehq.org/pipermail/wine-users/attachments/20090129/53efb734/attachment.txt
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wine_log_ubuntu->xp
Url: http://www.winehq.org/pipermail/wine-users/attachments/20090129/53efb734/attachment-0001.txt
Christoph Korn
2009-02-02 22:36:45 UTC
Permalink
Today I was able to play on network with another person who has
Ubuntu installed.
There was no IPX setup required because the wsock32.dll uses UDP.
So just putting it into the games direcroy and set up an overwrite
rule in winecfg fixed it.
Don't know why it was not working before.

Christoph Korn
Post by Christoph Korn
I have set up red alert 2 on a windows xp machine that also uses the
wsock32.dll.
Each machine can see the other one in the network menu and can join
games no matter which machines opens a new game.
I have attached log files.
wine_log_xp->ubuntu is for the xp machine joining the ubuntu hosted
game.
wine_log_ubuntu->xp ist for the ubuntu machine joining the xp hosted
game.
Post by Christoph Korn
http://pastebin.com/m143eafd7
http://pastebin.com/f546de647
Christoph Korn
Post by Christoph Korn
Post by Vincent Povirk
Post by Christoph Korn
I don't know what dll you are talking about here but I could get the
information of the modified wsock32.dll.
http://pastebin.com/f43590cce
Those are just the headers. You need -j export to see the export table.
Then I also get the error.
Post by Vincent Povirk
Post by Christoph Korn
What debug channel should I enable in the output?
I currently have no other ubuntu machine here that has also Red
Alert 2 installed but I think that won't differ the output anyway.
Start by not enabling any.
http://pastebin.com/m53f918d1
Christoph Korn
Post by Vincent Povirk
Vincent Povirk
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wine_log_xp->ubuntu
Url: http://www.winehq.org/pipermail/wine-users/attachments/20090129/53efb734/attachment.txt
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wine_log_ubuntu->xp
Url: http://www.winehq.org/pipermail/wine-users/attachments/20090129/53efb734/attachment-0001.txt
Continue reading on narkive:
Loading...