This is a mildly edited repost of the information found here: http://wiki.winehq.org/DirectPlayGames
Before I get into the repost, please note that following these directions will cause your Crossover bottle to display "Legacy DirectX" even though you may have installed "Modern DirectX".
This is how you get network multiplay to work on Total Annihilation. It worked perfectly for me:
download directx mar 2009 redistributable from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0cf368e5-5ce1-4032-a207-c693d210f616
Please note that I have updated the download location because the location posted on winehq doesn't work. If the link above doesn't work, try to Google for "DirectX March 2009"
run "./directx_mar2009_redist.exe /T:Z:/tmp/directxcabs /C" to extract the cabs to /tmp/directxcabs. You will need to agree to the eula.
NOTE 1: The path of /T:/Z: is absolute to your system, not to the bottle. In other words, "/tmp" != "C:\tmp"
NOTE 2: Perhaps not as obvious to all as to me: You run this commands using Crossover's "run command" feature.
use cabextract to extract the following files from /tmp/directxcabs/dxnt.cab: dplayx.dll, dpnet.dll, dpnhpast.dll, dpwockx.dll, dplaysvr.exe
NOTE: You may need to find and download a version of Cabextract for your operating system. Mac Users: Stuffit Extractor will say that the CAB is corrupted. It isn't. You just need to use Cabextract, not Stuffit. As of this writing, the Cabextract home page is here: http://www.cabextract.org.uk/
copy dplayx.dll, dpnet.dll, dpnhpast.dll, dpwockx.dll, dplaysvr.exe into Wine's windows/system32 directory (usually "~/.wine/drive_c/windows/system32")
NOTE: Crossover's folder is different. On Mac: ~/Library/Application Support/Crossover Games/Bottles/...
run regsvr32 on each of: dplayx.dll dpnet.dll and dpnhpast.dll, eg "regsvr32 dplayx.dll"
add these four dlls to the dll overrides list in winecfg. Make sure they are added globally, not specific to an application, otherwise dplaysvr.exe will use the wrong dlls.
NOTE: Perhaps not as obvious to all as to me: You run these commands using Crossover's "run command" feature.