I'm studying physics at the University of Vienna and trying to get into OpenGL/GLSL programming lately. I began to mod Freelancer some years ago and lastly I joined the Universe Modding Crew that focuses on modding Sci-Fi games. Our current project is "Stargate: Revenge of the Fallen", a Stargate mod for Battlefield 2142. Besides, I try to develop a Spacesim-Engine that can simulate (special) relativistic effects in a realtime application. (Check out my YouTube channel: Copycap) Hopefully I will update progress on both on my Blog. :) If you have questions, feel free to contact me via Email or Jabber (I actually don't like ICQ/MSN ;)

Image RSS Feed Latest Screens
BFMapExplorer WIP
Blog RSS Feed Report abuse Latest Blog: Xen and WinXP

0 comments by Bl00drav3n on May 11th, 2010

So after over one day of investigating, configuring and trial&error I finally got Xen to create a virtual windows machine. Our root server is running on Debian Lenny and I tried out the BF2142 Linux dedicated server on it, but because I could not get it to run our Mod, we decided that we'll need a Windows machine. So we uploaded an image of a Windows XP Pro Service Pack 2 onto the hostmachine and I tried to configure the domain. At the moment it looks like that:

bash code:
#
#  Kernel + memory size
#
kernel      = '/usr/lib/xen-x.x-x/boot/hvmloader'
builder     = 'hvm'
memory      = '2048'
vcpus       = 2
device_model= '/usr/lib/xen-x.x-x/bin/qemu-dm'

shadow_memory = 8
acpi = 1
stdvga = 0
serial = 'pty'


#
#  Disk device(s).
#
disk        = [
                'phy:/dev/vg-xen/win-disk,hda,w',
                'phy:/dev/vg-xen/win-data,hdb,w',
                'file:/etc/xen/winxp/winxp.iso,ioemu:hdc:cdrom,r'
              ]

boot='c'

#
#  Hostname
#
name        = 'host'

#
#  Networking
#
vif         = [ 'type=ioemu, ip=x.x.x.x, bridge=x' ]

#
#  Behaviour
#
vnc=1
vncviewer=1
sdl=0
 

The most difficult part to figure out was the vif part, because of some restrictions of our server provider. The virtual machine gets its own local IP adress space and a friend told me how to tell iptables to map incoming IP requests on adress x.x.x.x to the local network space of the virtual machine (and vice versa). The connection between the local network and the internet is set up with a bridge that acts as the gateway for the windows machine. I had to manually create a bridge, but that was an easy part with Debian's brctl tool.

So after that worked, I could log in with a VNC Client and I was happy since the first thing I saw was the Windows Setup Screen. After the setup was complete, I just turned on Windows' remote control tool and deactivated VNC access. This was the first time I used Windows Remote and I'm pretty happy with it - it integrates well into the local system and is much MUCH more handy than a VNC Client.

Now came the time to install the BF2142 v1.5 Server files. The first thing that I noticed was, that EA/Dice was lazy AGAIN, because the msvcp71.dll and msvcr71.dll were not shipped with the installer. On the Microsoft homepage is said, that one MUST ship these files, because they need to be compiled by the developers and are not part of any framework. That made me pretty mad, because I searched for about an hour for a nice solution to this: I installed visual c++ runtime libs, tried out .net framework v2.0 and v4.0 but the files were not there. At the end I just decided to download the dlls from dll-files.com. So once again, THANK YOU EA/DICE! :P
Well, after that, I started the server, but I could not connect to it: Connection lost, everytime. I do not have a clue what was wrong, but after I was mad about the thing AGAIN, I just decided to restart the machine et voila: suddenly I could connect to it...

Okay, after this problem was out of the way, another one arised. The server performance was way too low. After inspecting the virtual machine, I realized, that ping.exe returned some crazy negative numbers when pinging other hosts, but I had no clue what was wrong. First I thought that the Windows performance is so low because of Xen. But after some google search, I stumbled on a thread regarding dual core machines and WinXP. First I just thought, that this would not help me with the problem, but then I read something interesting on the Microsoft Support Page:

KB938448 wrote:When you use the ping command to send Internet Control Message Protocol (ICMP) packets to a remote computer, the reply may show negative response times.

Exactly my problem! And we've got an Intel Core i7 and no Win2003 Server... I don't know if the CPU is causing that issue, or if it is Xen, but the problem was, that the cores were not synchronized. So the solution to it was to append the following switch to the Windows boot.ini: /usepmtimer

After a quick reboot now the astonishing result: it worked! Server is running at good performance and my ping is lower than 40 ms. Now the last thing I got to do was to let our Mod Leader Lantian configure the server and upload the mod files. Everything's working good now, so we may not have to rent another gameserver just for the mod in future. Well, and after that's done, my work with the server is close to be finished. We now got three virtual machines running on the Debian-Xen dom0, one acting as mod repository for developing, one as the webserver and one as the gameserver. The webserver is hosting the Board, a Developer Blog, an official Jabber-Server/Chat and an MTA, for which I have to get receving Emails done. But now that everything's working fine, I can finally move back to work on the RotF Mod. I really want to make all the icons appear ingame, because some weapons still haven't got any, and I think some animations already need to get done.

See you next time!

Groups
Universe Modding

Universe Modding

Developer & Publisher with 5 members, invitation only

We are a multinational Group, specialized on modifying everything Science-Fiction related. In addition to it we are friends of shared knowledge and open...

Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Level
Avatar
Avatar
Offline Since
Jun 21, 2014
Country
Austria Austria
Gender
Male
Member Watch
Track this member
Statistics
Activity Points
297
Rank
8,327 of 482,549
Watchers
2 members
Time Online
2 days
Comments
121
Site Visits
3,099
Profile Visitors
5,992 (1 today)
Contact
Private Message
Send Now
Email
Members Only
Jabber/XMPP
Members Only
ICQ
384426748
XFire
coerx070
xxdabtxx
xxdabtxx friends since Jan 31, 2010
Ice4smaster
Ice4smaster friends since Feb 1, 2010
Lantian.
Lantian. friends since Jan 30, 2010
Yeesha
Yeesha friends since Jan 30, 2010