This document describes how to install and run Starcraft (a game by Blizzard Entertainment) on a system that does not have Windows 95, NT 4.0, or later installed, but instead has a Linux operating system installed.
Last updated on July 12th 2008 (final update): The absolutely positively very last final ultimate update to this document. Just writing in to inform that I will not be able to help you with any Starcraft and/or Wine related issues. Go to the WineHQ website and proceed from there to the AppDB or wherever if you wish to find help with your issues. Emailing me won't get you anything other than a polite answer telling what I just wrote above, if even that. Thank you all for your time. Also, please note that this document is preserved here only for archival purposes and probably is not helpful in setting up Wine/Starcraft, quite possibly it will all go wrong if you try to follow it in any way. You should in all likelihood ignore it.
As far as I know, the hardware required is the same as for running Starcraft in Windows:
The software required:
Note: This installation guide is for those who want to/have to install Starcraft on a Linux partition using Wine. It is not necessary, if you can and have installed Starcraft under a Windows system: it should work fine as long as the partition Starcraft is installed to is visible in Linux with long file names intact and Wine is correctly configured. If this is the case, you might want to skip straight to the Playing Starcraft section. If you have not successfully installed/configured Wine, see the Wine FAQ and the Wine man pages. For a quick start, I recommend you download the latest Wine source release tarball you can find, and use the wineinstall script to install it (see the README file that comes with Wine). Things to remember if you don't use wineinstall:
The next step is to run the installation program ("wine --winver win95 install.exe" in the mounted cdrom drive directory, NOTE: the --winver switch is needed for the install to complete properly, the WineLook setting in the wine.conf does not do the same thing as the --winver switch). The installation program should work regardless of your current video mode (unless you want to see the Warcraft Adventures and Diablo II video bits), but on my machine at least the colours were all wrong in 16bpp mode, and the graphic text buttons could not be seen in an 8bpp mode. If you can't make the texts appear in the initial screen, you can find the installation button by moving the mouse in the left half of the screen from top downwards and clicking left mouse button when you hear the first "twok" or whatever, if you have sound working (if it is, you should have already heard a sound while the installation menu was loading), otherwise you'll just have to work systematically.
Once you've clicked the Install button in the installation program, it will ask whether to install DirectX 5 or not (answer "no, but continue anyway"), and about the installation directory (with old Wine versions the default does not work, use c:\scraft for those, most Wine versions should be able to handle almost any directory name you throw at them). The rest of the questions are self-explanatory. By now, you should already be seeing the installation progress bars. Sooner or later it will produce an error (if it instead completes successfully with no errors, it means that this bit of the HOWTO needs updating, not that something is terribly wrong). The error you should get is the "cannot execute staredit" variety, any other error indicates a problem with your Wine setup (lack of premade Windows directories and registry entries are the most probable cause). Exit the install and run StarEdit manually ("wine StarEdit.exe" in the installation directory), it puts some more stuff in the registry (this phase probably isn't necessary, but it doesn't hurt either).
At this point you might want to register Starcraft if you haven't already done so.
Updating Starcraft is a piece of cake assuming the installation of Starcraft was successful. Just download the patch, run it, go to the Starcraft installation directory, where bnupdate.exe should have appeared, run it, and it should patch the game and tell you it was successful in it. If instead it tells you to reinstall Starcraft, follow the advice, the patch doesn't work unless the installation has been completed properly.
Make sure the drive Starcraft is installed on is one listed in your ~/.winerc or global wine.conf.
#!/bin/bash
# Author: Brian King
# Comments partially edited by Ilkka Forsblom
# TODO: Check if the cdrom in the drive is the starcraft cdrom.
#
TYPE=$1
NORMINST="/mnt/hda1/Program Files/Starcraft/StarCraft.exe"
# If you have a separate spawn installation, running this script
# with the argument "spawn" will run the spawn installation
# (defined here) instead.
SPAWNINST="/home/dos/Program Files/starcraft/StarCraft.exe"
# This should be your cdrom device ... it should also be in your
# wine.conf somewhere...
DEVICE="/dev/cdrom"
# This file should be an XF86Config file with only the 640x480x8bit
# entry available. The file should be in the same directory as the
# default XF86Config file.
CONFIG="XF86.star"
# uncomment for esound support
#SOUND="/usr/bin/esddsp "
ISLINK=`/bin/ls -l $DEVICE|grep "\->"`
if [ "x${ISLINK}" != "x" ] ; then
DEVICE=`/bin/ls -l $DEVICE|sed -e 's/.*-> //'`
fi
DFOUT=`df|grep $DEVICE`
# I believe this should flush all buffers to disk and minimize damage
# if starcraft fails. I added this because I just lost my last 5 days of
# work from a starcraft crash.
sync;sync;sync
# if the cdrom isn't mounted and we're not playing a spawn game
if [ "x${DFOUT}" = "x" ] && [ "x${TYPE}" != "xspawn" ] ; then
# mount cdrom
eject
echo "enter cdrom then hit enter"
read enter
mount $DEVICE
fi
echo $TYPE
if [ "x${TYPE}" = "xspawn" ] ; then
xinit $SOUND /usr/local/bin/wine --display :1 "$SPAWNINST" -- :1 -xf86config $CONFIG
else
xinit $SOUND /usr/local/bin/wine --display :1 "$NORMINST" -- :1 -xf86config $CONFIG
fi
killall wine
Notes on playing:
An obvious requirement for playing network games under Linux is the inclusion of network support into the kernel. There are already a number of excellent How-Tos dealing with this topic and I see no purpose in rewriting what we already have, so if you need help on configuring networking support in your kernel, see the The Linux Networking HOWTO.
There are several tools which allow manipulation of IPX interfaces under linux. Only one is really needed to configure a system for IPX with regards to Starcraft, and this one is ipx_interface. For example, to create an IPX interface for someone whose network interface is an ethernet card and whose network uses the 802.2 frame-type, just execute the command "ipx_interface add -p eth0 802.2 0x12345678". This will create a primary(this is important, Starcraft won't work without a primary interface!!) IPX interface on eth0 of frame-type 802.2 and with the network address 0x12345678. The network address is arbitrary, just make sure that all the machines playing in the game, regardless of the OS they are running, use the SAME network address. Be careful, though, not to use 0x00000000, which is an invalid network address so far as Linux is concerned. I believe this is because 0x00000000 is an unroutable address. However, Windows boxes all default to using that, so do be sure to open up Network Properties and change the network address under the IPX adapter properties to the same one that the Linux box is using. If this is not done, I can guarantee that the instant a Windows box tries to join(assuming it sees the game at all) it will lock up, or at the very least Starcraft will(on the Windows box). The frame-type most commonly used is 802.2, and so long as all the machines involved in the game are set to use the same frame-type, everything should be fine.
This document got 5 out of 5 stars from the Linux Game Tome public (four people have
rated this document).
people have visited my site, most of the hits
have been to this page, which was first published after Christmas 1998.
![]()