Search:  
Gentoo Wiki

StarCraft


Instructions for installing StarCraft and BroodWar under Linux with wine.

I'm using app-emulation/wine-0.9.10 with ~amd64. I expect you to have emerged wine already.

Caveats: no sound, no lan, no battle.net.
edit: Sound does work with correct settings. Use winecfg to set audio settings.
note: Starting starcraft using the cdrom Setup.exe causes sound NOT to work. If you have download the latest patch from blizzard you can play starcraft online on many server, include battle.net gate Europe new edit: Starcraft does allow you to work on Battle.net. The screen is heavily corrupted, but is usable. When you Quit battle.net, you must hunt for the Cancel button on the right-bottom corner.

Contents

Install StarCraft

Unless you want play as root, please, read the StarCraft as user section first.

Mount StarCraft cd... Run setup...

$ mount /mnt/cdrom
$ wine /mnt/cdrom/setup.exe

Play StarCraft

# wine ~/.wine/drive_c/Games/StarCraft/StarCraft.exe

StarCraft.exe must be able to access the CD. If it cannot, tell wine where the CD is:

# cd ~/.wine/dosdevices/
# ln -s /media/hdc d:

Install BroodWar

Mount BroodWar CD

# cd ~/.wine/dosdevices/d:
# wine setup.exe

Update StarCraft/BroodWar

Download the update: http://www.blizzard.com/support/?id=msc0411p

# wine BW-1152.exe

ISO Image

You can use whatever you want, but I used K3B to create an ISO of the BroodWar CD (Copy CD) select 'Only Create Image'. Another way would be to use dd to directly read the image from the cd:

# dd if=/dev/cdrom of=starcraft.iso

Once you obtain an image, you can either mount it manually or make an entry in your /etc/fstab.

Then you can mount the image wherever you want, create a new wine simlink, and play without the CD:

# mkdir /mnt/starcraft
# mount -r -t iso9660 -o loop ~/.wine/drive_c/Games/BroodWar.iso /mnt/starcraft
# cd ~/.wine/dosdevices
# ln -s /mnt/starcraft e:

Note that you will require loopback support in your kernel. Find it in Device drivers -> Block devices -> Loopback support

Play is same as before:

# wine ~/.wine/drive_c/Games/StarCraft/StarCraft.exe

Note: Since Starcraft update patch ver. 1152, Starcraft natively supports play without a cd. Simply copy Install.exe from the starcraft cd to StarCraft.mpq in the Starcraft directory. If you use BroodWar, you also need to copy Install.exe from the BroodWar CD to BroodWar.mpq.

Alternate Virtual CD method which allows normal user to mount iso's

I used a different approach to make the cd user mountable (don't have to be root) If you want to be able to mount several different ISO images, but don't want to add more than is necessary to /etc/fstab then this is a good option. For instance you can slightly modify the script below to mount the broodwar iso, or any other game you play using wine.

(as root)

 # mkdir /mnt/virtualcd             # create your mountpoint
 # mkdir /mnt/placeholder           # create a directory that the user can access without affecting the system
 # chmod 777 /mnt/placeholder       # give everyone rights to this directory
 # echo /mnt/placeholder/link.iso /mnt/virtualcd iso9660,udf loop,user,noauto,ro 0 0 >> /etc/fstab

(then as the user)

 $ winecfg (go to drives and set the D: drive to /mnt/virtualcd and set it as a cdrom)

put the following in a script: starcraft.sh

 #!/bin/bash
 if [ -e /mnt/placeholder/link.iso ] ; then
 rm /mnt/placeholder/link.iso
 fi
 ln -s <<location of your iso>>/starcraft.iso /mnt/placeholder/link.iso || echo Unable to create simlink
 mount /mnt/virtualcd || echo unable to mount virtualcd
 export WINEPREFIX="${HOME}/.wine"
 wine "C:\Program Files\Starcraft\Starcraft.exe"
 umount /mnt/virtualcd
 rm /mnt/placeholder/link.iso

IPX Networking

Note: Notice that for some time Starcraft's patches have provided UDP connections using standard TCP/IP; you don't need ipx-utils. You are not forced to use IPX protocol. Just launch 'wine patch_file.exe' to patch to the most recent version after downloading the patch from Blizzard.

You must be root to use IPX networking. IPX networking is now unnecessary. Use UDP networking instead to run as a user.

# emerge ipx-utils
File: /etc/conf.d/ipx
# Network number
IPX_NETNUM=00000
# Change ipx Network ID. 
# This has to be the _same_ on every pc, OS _independent_!

Start the service

# /etc/init.d/ipx start

StarCraft as user

To start StarCraft as user you must install StarCraft as user. Configure wine as user

$ winecfg

Mount the StarCraft cd as root, logout and install as user (follow the same steps).

# cd ~/.wine/drive_c/scraft/Starcraft/
# wine StarCraft.exe

reference http://koti.mbnet.fi/~hoppq/sc-howto.html

Retrieved from "http://www.gentoo-wiki.info/StarCraft"

Last modified: Mon, 18 Aug 2008 20:31:00 +0000 Hits: 24,946