How to Play SWBF1 multiplayer via Linux with Wine

Started by wyatt8740, November 19, 2016, 11:13:06 AM

Previous topic - Next topic

wyatt8740

NOTE:The loading screens will take a long time when running this with the current version of wine, due to a dumb bug. See https://bugs.winehq.org/show_bug.cgi?id=29582. Once you've started a match, however, it runs as smoothly as on Windows.


       
  • I said yesterday while playing that I'd do a sort of write-up on running SWBF1 in wine on a linux host (though this should work in OSX as well).


            
    • It's really a pretty bog-standard install process, really. I've got my DVD image mounted in a weird spot (the laptop I put this on doesn't have a DVD drive so I had to rip mine; I was using the "Best of PC" release). Just ignore that.


      So just run setup in wine, pretty much.
    • Enter your key:
    • This is important; choose 'custom' or you may run into bugs when the installer tries to install Microsoft's DirectX runtimes over Wine's.
    • Say 'no' to directX installation. You actually have it included in Wine; the installer's just not detecting it.
      (If you run into problems with wine's, feel free to try MS's later; I'd use winetricks to install it though)
    • Say no to gamespy:
    • When you're done with the rest of the install, you need to get a "No-CD" patch, since in my experience Wine has trouble with emulating a CD drive.

      If you are using the default Wine prefix and install path, you need to replace the original 'battlefront.exe' in the path "~/.wine/drive_c/Program Files/LucasArts/Star Wars Battlefront/GameData" (note on some systems it will be in "Program Files (x86)" instead). You can find no-cd patches online in multiple locations; I'm not sure if I can link to one or not, though. Just make sure you are getting the correct version. 1.2 is what comes with the "Best of PC" collection; I believe the original two-CD-ROM release has 1.0 (in America, anyway).
  • Next, we need to set up multiplayer. Since we are using a no-cd patch, the .exe's with the hex-edited servers won't work at the same time. Instead, we manipulate /etc/hosts to redirect from the defunct gamespy servers.

    Open a linux terminal and edit the file "/etc/hosts" in your favorite editor. You need to be root to do this (use 'sudo' or 'su'). If you don't do this you won't be able to do multiplayer.
    An example command that will run the 'nano' text editor:
sudo nano /etc/hosts

Add these entries to the 'hosts' file:
162.248.92.172 swbfrontpc.ms4.gamespy.com
162.248.92.172 swbfrontpc.available.gamespy.com
162.248.92.172 available.gamespy.com
162.248.92.172 master.gamespy.com
162.248.92.172 swbfrontpc.master.gamespy.com
162.248.92.172 motd.gamespy.com
162.248.92.172 key.gamespy.com
162.248.92.172 peerchat.gamespy.com
162.248.92.172 gpsp.gamespy.com
162.248.92.172 gpcm.gamespy.com
162.248.92.172 natneg1.gamespy.com


You can follow the same steps to install Battlefront II in wine, by the way. If you want to play BF2, be sure to add the following to your hosts file as well:

162.248.92.172 swbfront2pc.ms4.gamespy.com
162.248.92.172 swbfront2pc.ms5.gamespy.com
162.248.92.172 swbfront2pc.ms6.gamespy.com
162.248.92.172 swbfront2pc.available.gamespy.com
162.248.92.172 available.gamespy.com
162.248.92.172 master.gamespy.com
162.248.92.172 swbfront2pc.master.gamespy.com
162.248.92.172 motd.gamespy.com
162.248.92.172 key.gamespy.com
162.248.92.172 peerchat.gamespy.com
162.248.92.172 gpsp.gamespy.com
162.248.92.172 gpcm.gamespy.com
162.248.92.172 natneg1.gamespy.com
162.248.92.172 natneg2.gamespy.com
162.248.92.172 swbfront2pc.gamestats.gamespy.com
162.248.92.172 motd.gamespy.com
162.248.92.172 gamestats.gamespy.com


Finally, run battlefront directly from 'battlefront.exe' - not the launcher.

cd ~/.wine/drive_c/Program Files/LucasArts/Star Wars Battlefront/GameData
wine battlefront.exe


If you want to play it windowed, run it as:
wine battlefront.exe /win

Led

Thanks Wyatt!

I will sticky this topic  :cheers:
Quote from: Abraham Lincoln. on November 04, 1971, 12:34:40 PM
Don't believe everything you read on the internet