PDA

View Full Version : Sick of Crashes? -> Dungeon Keeper 2 Multiplayer on Linux



darkbytes
May 26th, 2010, 04:07
After much frustration about a crashing DK2 on multiplayer sessions, I've managed to get DK2 fully playable working on Linux. I've played a long and large Lan session with a friend without problems... Also a reproducible crash experienced on Vista at saving game has disappeared, it works perfectly well. That's the prove that wine is sometimes the better Windows.

I think this way is interesting because no one wants to install 2000 on brand new hardware, cause there are no drivers. Linux is a up-to-date operating system and DK2 is running well.

This howto does NOT require you to repartition your hard drive or something; you can install and uninstall Ubuntu Linux nearly like a normal application. It works with XP, Vista, Win7.

Here is How to (i have tried to make it suitable to Linux newbies):

------- First set up Ubuntu -----------

0. If you already have a Linux installed and working, check what packages are needed from this part and continue
1. Make sure you have 5 GB of Disk Space. This is needed for installation of Linux and needed tools.
2. Get a Ubuntu CD; you may already have, or you can download from http://www.ubuntu.com/desktop/get-ubuntu/alternative-download#mirrors
Choose a mirror near you, change to 10.04 dir (current version) and Download "PC (Intel x86) desktop CD"
3. Mount it with daemon tools, alcohol or something or burn it to CD
4. Still in Windows, choose "Install on Windows" (autorun) option or change to CD drive and execute wubi.exe
5. Change install size to 5GB
6. Choose installation drive
7. Enter a password
8. Click "Installation" button
9. Wait and then restart
10. On new boot menu, choose "Ubuntu" entry, then wait for installation to finish
11. On next reboot, choose "Ubuntu" again
12. If all goes well, you have a fully functional Ubuntu with graphical UI and networking. If not, Google for your problem; Ubuntu forums and support are very good.
13. Login using your password
14. Go to http://winehq.org/site/download-deb and follow instructions to add wine repository (needed for winetricks)
15. Now we need to install some components. Launch synaptic package management from system -> system settings menu
16. Use search function to find the needed packages. If have a newer NVidia card, select NVidia-current; if you have a old one, Google around what driver version is needed (search for "NVidia"), Ubuntu offers different packages. If you are ATI user, install "fglrx". Refer to Ubuntu wiki if you have problems: https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia https://help.ubuntu.com/community/BinaryDriverHowto#ATI%20%28fglrx%29
Ii will continue with NVidia instructions because I don't own a ATI.
17. Select "wine" package (1.1.42) and also "IPX" and "winetricks"
18. Click apply and apply.
19. (NVidia) Start "Applications" -> "Utilities" -> Console, type "sudo su", enter password and type "nvidia-xconfig".
I will refer to that sudo'ed console as root console in next steps.
20. Restart system, boot into Ubuntu again
21. (NVidia) Start NVidia-settings from root console to change screen resolutions to fit your needs. Save to x config and restart to apply permanent. Use only ONE screen, or DK2 fullscreen will not work.

----------- Now we have to setup wine and DK2 -----------

22. Launch root console, type "winetricks", check "directplay" and OK. Then wait till finished.
23. To make the Mouse movement work, create file dk2.reg with contents (you can use "gedit dk2.reg" for a GUI editor):
[HKEY_CURRENT_USER\Software\Wine\DirectInput]
"MouseWarpOverride"="disable"
and apply it with command "regedit dk2.reg"
24. Type "winecfg" change Windows version to "Windows 2000", then OK
25. Do "cd /host"; then "ls"; you should see your Windows drive. Navigate to Dungeon Keeper 2 using CD.
26. You need a "special" DKII.exe to get the game working which requires you not to have game CD in CD drive. As you have bought the game, it will be okay. I have not tested it with original exe, this may work if you set up your CD drive (/dev/sr0) in winecfg.
Yyou can use DKII.exe from
http://forum.keeperklan.com/unlimited-zoom-out-aka-supreme-keeper-t1051.html?p=20820#post20820
to also get super-zoom.
27. Create a file dh2.sh, and paste into:
ipx_interface add -p eth0 802.3 0x0000000
wine DKII.exe -32display
on Linux, the name of your DKII.exe is case-sensitive.
28. Do "chmod +x dk2.sh";
29. Do "./dk2.sh". this will setup IPX and start DK2.

--------- Now some tweaking to make the game more enjoyable -------

30. Exit game
31. Create a new file called "res.reg" and paste into:
[HKEY_CURRENT_USER\Software\Bullfrog Productions Ltd\Dungeon Keeper II\Configuration\Video]
"Res 1280*1024 Enable"=dword:00000001
"Res 1600*1200 Enable"=dword:00000001
Apply the file with "regedit res.reg"
32. (NVidia) Start "nvidia-settings", click antialiasing settings, then override application settings and set AA to 16x (if you have a good enough graphics card) then check "override application setting" at anisotropic filtering and texture sharpening; change anisotropic filtering to max.
Launch ./dk2.sh, go to settings, select a good resolution, then launch a game to make it permanent. Notice that using a resolution greater than 1024 will greatly enhance image quality, but also break the ingame menu texts as it also does in Windows. If you are a trained DK2 player, you will not need that texts because you know where to click from the icons that are left.

To start DK2 the next time, you need to a root console again, cd to DK2 dir and launch ./dk2.sh again.

-------- Troubleshooting, Known Bugs ---------

1. Winsock TCP/IP Multiplayer is NOT working, well you can try it. Use IPX instead
2. Other players need same DKII.exe version in order to join your game
3. If the game freezes (can happen i.e. when try to create a TCP game and sometimes if you exit a running game), press Ctrl+Alt+F1 to go to console, login as administrator with your password, do sudo su and type killall DKII.exe (case sensitive) then switch back with Ctrl+Alt+F7
4. The mouse needs to be calibrated after starting a new game and in main menu. Move mouse to the screen corners and you are fine.
5. It *can* happen that your primary network interface is NOT eth0, i.e. if you use WLan or a tunnel. Then change it in dk2.sh. Remove old one with "ipx_interface del eth0 802.3" or just reboot. You can see all available interfaces with "ifconfig" command.

To play over Internet, you can use the well-known Hamachi which is also available for Linux: http://www.hackitlinux.com/50226711/using_hamachi_on_linux.php
Write an additional howto here if you figure it out, I play only on Lan. Also look at Troubleshooting section point 5, because I think you need to specify tun0 or something as IPX interface.

Well, if you have problems, ask... not sure that everyone will understand these instructions.

Edit from DragonsLover : darkbytes, PLEASE, use capital letters appropriately. And it's "needed" with a "d", not a "t". Please be careful furthermore. Thank you!

dotted
May 26th, 2010, 08:24
Any reason why you use IPX instead of TCP/IP?

darkbytes
May 26th, 2010, 11:41
yeah, game freezes while creating/joining a winsock tcp/ip game.. mouse and background stops moving, sound still plays. does someone know that problem from windows?

playing dk2 in linux works since some months, as far as you only want singleplayer. the trick with installing directplay to get ipx mode working is new. i noticed that this menu entry appeared after installing direct play. i did install it to get winsock tcp working, what did not work.