Hello,
I mentioned on another thread that I got jaakkos' roller working under Windows, and that led another user to contact me in private about making that happen. He also suggested I explain how it's done publicly, which I agreed with. So I made a little tutorial on how to do it. No virtual machines are involved - you don't need to download VirtualBox and a huge Linux DVD, with the resource usage that implies. This method only requires a ~200MB download, and demands very little CPU and RAM. Please note this doesn't work under 64-bit Windows. This is a coLinux limitation.
For the expert Linux crowd - I know this may not be the fastest or more efficient way, but it's the best one I've found. For the non-technical people, or those who don't know much about Linux (e.g. me!), don't worry - this is very easy to do. You can get the roller working in 10 minutes if you follow the steps correctly. :)
First of all, you need to download two files - the Cooperative Linux 0.7.9 installer, and a basic, bare-bones Ubuntu image. Here are the links.
Downloading took me around 20 minutes on a 3 megabit connection.
When the downloads are finished, right-click on coLinux-0.7.9.exe and if you're on Vista or above, run as administrator (otherwise, just "Open").
Click "Next".
Click "I Agree".
In the list at the right, click on the + before coLinux, and untick the following things:
- Virtual Ethernet Driver (coLinux TAP-Win32)
- Virtual Network Daemon (SLiRP)
- Bridged Ethernet (WinPcap)
- Kernel Bridged Ethernet (ndis)
- Virtual Serial Device (ttyS)
- Debugging
Also untick "Root Filesystem image Download" below.
Click "Next".
Change the path to C:\coLinux.
Click "Next" and wait until it finishes.
Untick "Show Readme", and click "Finish".
Now you have to extract the content of base-200-10-11-11.7z to C:\coLinux. This may take some time. In the meantime, you can do the following.
Open your C: drive in Windows Explorer. Create a directory called Temp, with an uppercase T (this is important).
Open C:\coLinux, create a file called ubuntu.conf (not .conf.txt!), and type the following inside:
Code:
kernel=vmlinux
cobd0="base.vdi"
cobd1="swap.vdi"
root=/dev/cobd0
ro
initrd=initrd.gz
mem=64
cofs0=c:\Temp
Then create a file called Ubuntu.bat (not .bat.txt) with following line inside:
Code:
@start colinux-daemon.exe @ubuntu.conf
Now you must create the Linux swap file. Press Windows+R, type cmd in the Run box, and press Enter. In the window that will appear, run the following commands. Press Enter after every command.
Code:
cd /d C:\coLinux
fsutil file createnew swap.vdi 134217728
exit
By now, base-200-10-11-11.7z has probably already finished extracting, so your C:\coLinux should look like this.
You can now run Linux by executing the Ubuntu.bat you created before. Wait until it boots. It may take a while.
When it stops to ask for a "speedlinux login" (this will happen every time you boot), type root and press Enter. The password is also root.
Now you have to create or update the swap device. You can paste each line by copying it and pressing Edit -> Paste in the console. Press Enter after every command.
Code:
mknod /dev/cobd1 b 117 1
swapoff /dev/cobd1
mkswap /dev/cobd1
swapon /dev/cobd1
Ignore any error messages. After that, run these other following commands to delete some unnecessary files.
Code:
rm /etc/udev/rules.d/70-persistent-net.rules
rm -rf /lib/modules/*-co-*
Those are one-time operations. Now run the following commands. Note that a QWERTZ layout is used by default. You may need to press Z instead of Y in your keyboard to be able to type loadkeys this time. (Afterwards, if you aren't familiar with the US keyboard, this will let you know which key types what.)
Code:
clear
loadkeys us
mkdir /mnt/C
echo loadkeys us > /etc/rc.local
echo mount -t cofs 0 /mnt/C >> /etc/rc.local
echo exit 0 >> /etc/rc.local
That will clear the screen, set a US keyboard layout, create the mount point that will be shared with Windows, make Linux always use the US layout, and mount the Temp folder every time it boots. Now you must reboot the system. Go to File -> Reboot. Wait until it's done.
Now you must run another bunch of commands (don't worry, we're getting close to finishing :)). Remember to wait until each one is done.
Code:
mkdir adomroll
cd adomroll
If you want to play ADOM 1.2.0 Prerelease 18: Download this file (untick "Use our download manager and get recommended downloads"), and copy it to C:\Temp. Then run the following commands in coLinux:
Code:
mv /mnt/C/adom-roller-pr18.tar.gz ~/adomroll/adom-roller-pr18.tar.gz
gunzip adom-roller-pr18.tar.gz
tar xvf adom-roller-pr18.tar
./adom-sage
If you want to play ADOM 1.1.1: Download this file (untick "Use our download manager and get recommended downloads"), and copy it to C:\Temp. Then run the following commands in coLinux:
Code:
mv /mnt/C/adom-roller-111.tar.gz ~/adomroll/adom-roller-111.tar.gz
gunzip adom-roller-111.tar.gz
tar xvf adom-roller-111.tar
./adom-sage
|
The last one of either command set will run ADOM. You must exit the game, then run it again.
Now you can roll the character the way you want it, just like in the server!
You'll probably want to play in the version of your choice, though, instead of the coLinux terminal. To achieve that, you must use the following commands after saving and exiting.
Code:
cd ~/.adom.data/savedg
mv YourName.svg /mnt/C
"YourName" is obviously the name of your character. If it doesn't work, use ls -a to get a list of the files in this directory.
mv will move the SVG to C:\Temp. Remember Linux is case-sensitive, so YourName.svg isn't the same as yourname.svg or YOURNAME.SVG at all! Use capital letters correctly.
If you wish to run the roller again, straight from this folder, use this.
Code:
~/adomroll/adom-sage
Then you'll still be here when you finish rolling and exit, so you can simply run the 'mv' command above.
Now you can fetch the SVG under Windows and play however you want!
Credits go to the coLinux developers, Linux documentation sites, the ADOM Sage developers, jaakkos for coding the roller (plus asdfzzz and Alucard for updating it), and of course Mr. Biskup for creating this wonderful game. :)
If you have any questions, please let me know.