X 3 - Terran Conflict

General 1 Comment »

My experience:

Started a new game. I’m sitting in my new spaceship and… that’s it. Actually, a small text on screen indicates that you can contact your “flight instructor” for a tutorial, but I missed that text the first time. Luckily, I selected the instructor ship and opened communication, starting the tutorial all by mysel.

The tutorial asks you to accelerate, providing you with a very helpful display of which key to press, only that it displays the wrong keys. Oops.. At least I discovered that the mouse wheel adjusts speed, so I accelerate. “Well done”, the instructor says.

Then I’m asked to stop and next, to fly backwards. Of course the key displayed is wrong. I press ‘S’ and strafe downwards. “Well done”, the instructor says. What the…? I still don’t know how to fly backwards!

Next I’m told to target a box. Just that… there is no box. After some fruitless searching, I start a new game, do all of the above again and this time, at the same point, some arrows lead me to a box. Were those arrows there before? I don’t know.

Next task. Dock. I select the station and ask for docking clearance. I’m told that I can dock when the docking lights are green. But, uhm, where are those docking lights?

Flying along the station (which takes minutes), I finally discover where my mission target points at. Some kind of docking arm. I fly close. I ram it. I pound into it several times until I notice that the target marker actually hovers over one tiny metal bone of what seems to be the fingers of the docking arm. I fly a tiny fraction towards the finger. Docked.

Immediately, I’m tasked with undocking again. Done. Now fly towards the instructor. He’s 30 km away!

Well, quite some time later, I reach the instructor. There’s another box I have to shoot with my lasers. Err, the box is 30 km away back in the other direction *sob*. I instinctively pressed the ‘J’ key. That always works in space games and so it did here!

Shot the box. I have to return to the instructor. Okay, 30 km back, again. Now, there’s yet another box I need to target with my missiles. Of course it’s 30 km away.

Reached the box. But where are the missiles? Clicked around on the weapons overlay on my HUD.  A small display shows “no missiles installed”. Great, the tutorial is broken, I’m supposed to fire a missile but they forgot to equip me with missiles!

I started over yet again, skipping the tutorial and docked straight away. Nothing to do. Mission: Patrol.

Well, let’s hope the friendly mission target marks guide me to the patrol dudes. Indeed, there’s a patrol ship to which I reported for duty. Everyone’s flying zig-zag. Boring. Pressed ‘J’. Incoming enemies. Finally action!

Some meager ships. Pressed ‘M’ to match speed with an enemy ship. The ship’s computer says “Missile installed”. WTF? So I had missiles with me after all, but have to ‘install’ them… in flight? Damn, I could have finished the tutorial after all.

Shot down the enemies with my lasers (because I don’t know how to fire a missile). Now I’m instructed to fly through some gate. Did so. More enemies. Instead of going for the fight, I search the “control” menu for the “target closest enemy” key (normally: ‘R’), it’s Shift+’T’. Whenever I press it, my selection is simply cleared.

Manually selected the enemies and shot two of them down. Nothing more to do. Wait, isn’t that lasers shooting in the distance? Set course, press ‘J’, wait. As I arrive, the enemies are already dead.

Some jump buoy floats around and just became my mission target. I shoot at it when the ship’s computer tells me “scanning”. Oops. The darn thing had maybe 5% health left. Better wait for the scan to end. Scan ended, read new instruction carefully: destroy buoy. Pang. Done.

Another transmission from somewhere telling me the attack was a diversion. Fly through some gate. Fly through another gate. Wait for messenger ship (huh? what’s up with the messenger? did I miss something?)

Waited some time, now I’m tasked to follow the messenger. The messenger is about 1.5 times as fast as I am, so my autopilot more or less keeps me poiunted at the messenger ship following its predefined path. More enemies appear - too bad I’m 10 km away from the messenger ship.
Cutscene, enemies are destroyed by some pretty brightly lit missile. My computer targeted an argonian ship in the distance. Is this the first contact? I don’t know the story of the series since I stopped playing its predecessors pretty much after the first 30 minutes. And I started this tradition all the way back with the original ‘X’ :)

Nope, the other ships from my patrol arrive (where were they?). Some transmission from nowhere tells me that I’ve done excellent work and defeated all the enemies in the sector (oh yes my cluelessness must have scared them away!). There’s another battle going on or something. The patrol leader says we have to fly through some gate. Then he says “follow my lead” and flies in the wrong direction.

The gate is still marked as my mission target, so I fly through the gate on my own. Several enemies in range. I shoot down two of them when the ship’s computer proclaims “hellbender missile” or something like that. What? Did I just select that missile or is one flying at me? Who knows.

During a dogfight, the computer proclaims: Warning: missile closing in. Since I’m in a dogfight, I’m flying in sharp turns anyway. I’ll just keep doing that. Two seconds later, boom, game over. I lost.

-

Great. That’s exactly the experience I had in the original X 3, too, just that I remember a more polished game overall. I followed the story, then, soon, some pirates or some group attacked me and used missiles. I did that mission maybe 10 times and if the first missile didn’t hit, the second always did. One hit and I’m done for.

What is the point of this? If there’s a good game behind all that, why is the very first thing I could do already broken beyond repair? The tutorial I mean. The missiles are another chapter. Maybe there are flares or something. I would have looked for the key, but as I already found out earlier, the game doesn’t pause, so either I know the key beforehand, or I’ve got exactly two seconds to navigate to the controls menu, find the flare key, close the menu and press it.

I’m not going to part with my money just yet…

Business with Paypal

Web, General No Comments »

I’ve held a PayPal account for several years now with no problems. My only usage of the account were occasional donations to some artists whose work I enjoyed, though I planned on using it to accept payments in the future for my indie business.

Well, last year I received an email from Paypal telling me that my account access had been limited due to suspicious activity and that I would have to verify my informations. Fully expecting this to be another one of those annoying email scams, I had already started a mail to spoof@paypal.com so they can take the scammer’s site down.

However, when I searched the supposed scam email’s source for the URL of the scammer’s site, I found none. I logged into my Paypal account and indeed, while I could browse my previous transactions and view my account history (all of which was as expected), the account page displayed a note that my account access has been limited and that I was to verify my account informations and, amongst other things, provide Paypal with a birth certificate. I wasn’t even allowed to close my account.

I wrote to Paypal, informing them that I’m not willing to provide a birth certificate since I see that as a breach of privacy and that whatever repercussions that would lead to, they should take action. My email was ignored and never answered. For one year, I kept getting nagging mails from Paypal telling me to provide the neccessary information, then it stopped.

Behold, when I try to log into my account now, this is what I see:

Paypal’s new greeting when I log into my account

My tip if you’re using PayPal: don’t try to leave them with too much of your money at once and keep an eye on possible alternatives.

Update: I sent an email to the address from the error message above. Guess what the answer was?

Dear <name removed>,

We apologize but we are unable to respond to inquiries sent to this
e-mail address. Your e-mail was routed to an unmonitored mailbox and as
such will not be reviewed.  

To resolve account limitations, please complete the following steps:

1. Log in to your PayPal account.
2. Click Resolution Center at the top of the page.
3. Go to the Action column.
4. Click the "Resolve" button and complete the requested steps on each
lifting requirement outlined.

Very funny. I can not log into my account, but to tell PayPal about it, I have to log into my account first. Furthermore, the email is asking me to again follow the steps I am unwilling to comply with.

It appears to me that PayPal is a fully automated system with most decisions defaulting to the disadvantage of the customer. The system will freeze accounts following mysterious rules and an unhelpful, time-wasting and not thought-through customer support system blocks off any attempts to rectify such situations.

Update 2: Out of distress, I created a second PayPal account, navigated to the resolution center and wrote PayPal about my problems again. Make sure you don’t have anything in your mouth that could spill out if you’re starting to lough - here’s the reply from PayPal:

Dear <name removed>,

Thank you for contacting PayPal Customer Support. I will be happy to assist
you with your locked account.

To help you, please contact from your registered email address
cygon@nuclex.org of your locked account.

PayPal works hard to protect our customers, and uses many security measures
to help ensure your protection. For this reason, we can only send answers
for account related information when the request comes from an email
address that is associated with your PayPal Account. We feel that this is
the best way to ensure that your personal information is not compromised.

If you are unable to find an answer to your question in the Help Center,
you can reach our Customer Service Department by following these steps:

   1.  Go to the PayPal website and log in to your account.
   2.  Click the "Contact Us" link.
   3.  Click the "Contact Customer Service" link.
   4.  Under "Choose a Topic" section, select the topic for your inquiry.
   5.  Under "Choose the Subtopic" section, choose the subtopic that best
fits your inquiry.
   6.  Enter your question in the "Summarize your question in one sentence"
box.
   7.  Click "Continue.".
   8.   On the "Contact Us" page you will find a few suggested search
results based on your question. If you do not receive suggested search
results or if the suggestions do not answer your question, please complete
the form provided.
   9.   Select the language you are writing your message in from the drop
down menu
   10.  Click "Continue."
If you have an issue of immediate concern and cannot find your answer in
the Help Center, see "Help by Phone" for assistance.

I understand your frustration regarding this matter and regret any
inconvenience it might have caused you, Mr. <name removed>.

For crying out loud. Could it be that PayPal is run by a group of mean jokers?

Let me summarize: Once your account is locked, you’re instructed to contact PayPal by email. The email adress provided auto-replies, telling you to log into your account (which you cannot) and contact PayPal from there. And just in case you create a second account, a friendly member of the support staff will tell you to please log into your other, locked account (which you still cannot) and contact PayPal from there.

Gentoo x64 - Performance Shock

Web, General 2 Comments »

After getting KDE and Samba to work, I started looking out for a good BitTorrent client. Those MythBusters episodes aren’t gonna download themselves and I was already showing the first signs of Top Gear Withdrawal Syndrome (TGWS) ;-)

What I was looking for was a fast downloading client that used little resources and that I could run in the background as a service or daemon. I had tried MLDonkey on Windows Server 2008, but it was quite a pain to get set up right and torrent download speeds weren’t all that great (plus some trackers have actually banned MLDonkey). Azureus has a textmode GUI that I could theoretically combine with a WebUI plugin, but that would still be a bit too heavyweight.

That’s when I discovered rTorrent. It runs in the console (and thus, you can run it with DTACH) and can be controlled via a simple XMLRPC interface. And then there’s wTorrent, a nice-looking, nifty Web 2.0 AJAX GUI written in PHP that you can run in Apache or lighthttpd. I’m now running a daemonized rTorrent with the wTorrent GUI and it’s working so well it’s almost too good to be true :)

BitTorrent Performance

Now I have tried µTorrent, Azureus, Halite, BitComet, MLDonkey und some more, double checked that I had opened the required ports (using nmap from a server on the internet), used random ports >50,000 to avoid throttling, tweaked my settings and what not, but download speeds were, at best, average.

I left rTorrent running overnight with a 7 GB download. One that had somehow caused my Windows Server 2008 system to commit suicide by paging in no time, or that would complete but still have missing chunks. After one night, the torrent was at 60%, the next day it was finished. And that’s no exception.

RAID / Samba Performance

I reported a stable 20 MB/s upload in my last post. Forget that, it’s a stable 40 MB/s now that I’ve got no compile or torrent rehash running in the background. And download speeds are at a stable 60 MB/s — I believe that’s pretty close to what the hard drive I’m downloading to can do.

This is just incredible. It’s still the same hardware, but the new system could run circles around my old setup.

Gentoo x64 - RAID5 and Samba

Web, General No Comments »

Today, I continued setting up my Gentoo server. With internet access available to my windows machine through NAT and remote administration working through SSH, I could easily look up resources on the internet and copy & paste between the linux console and my web browser :)

RAID5 was a simple matter of activating the required kernel options (which I already did beforehand). Somehow, mdadm created a RAID5 array with one spare. I haven’t investigated this much further, but it seems this allows the array’s initial synch to work faster. Whatever, I didn’t want it, so after finding out how to take the RAID array down again, I used mdadm with –spare-devices=0 and –force to have all disks UP from the beginning.

Using –chunk to set a block size of 128 kb and mke2fs with the -E stride=n,stripe-width=n options allowed me to tailor the RAID array’s stripe size to the file system. Not that I expect any noticeable gain, but it’s easily done and can’t hurt.

Next was samba. Gentoo makes this surprisingly easy. emerge samba, edit /etc/samba/smb.conf and you’re done. It took some effort to figure out how to create a password protected share, so this is what I did:

I’ve got a linux user named ‘cygon‘ on this system. This was created with the good ol’ useradd script. I added this user to /etc/samba/smbusers as an alias for “administrator” and “cygon“, so the file now looks like this:

# Unix_name = SMB_name1 SMB_name2 ...
# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/config/smbusers,v 1.1 2007/09/07 21:07:40 dev-zero Exp $
#root = administrator admin
nobody = guest pcguest smbguest
cygon = administrator cygon

Then I set up a password for this user with smbpasswd -a cygon.

Finally, I created a folder that I wanted to share, assigned it to the user “nobody” (this is what samba uses for all files creates by guests) with chown nobody:nobody /var/storage/raid -R. This I then added in my /etc/samba/smb.conf:

[Protected]
  comment = Administrative share for the entire RAID array
  path = /var/storage/raid
  public = yes
  guest ok = no
  writable = yes
  printable = no
  force user = nobody
  force group = nobody
  create mask = 744
  directory mask = 755
  valid users = cygon

Public‘ says the folder can be seen by other network users. ‘force user‘ and ‘force group‘ make samba assign all files and folders created from networked users to the ‘nobody‘ linux user account and ‘nobody‘ linux group. Likewise, ‘create mask‘ and ‘directory mask‘ are the attributes assigned to folders created by network users. Finally, ‘valid users‘ tells samba to only let the listed users access the share.

That’s all it took to get this working.

The funny thing, again, is that performance and reliability increased by an order or magnitude compared to Windows Server 2008. I configured Samba to always act as my domain master browser, so when I browse my network neighborhood in windows, one click and all PCs on the network appear — immediately. Instead of 20 seconds of searching and then maybe half of the local PCs showing up.

File copies to and from the array are easily 4 times faster than with windows. And, most notably, they run much smoother. Windows Server 2008 accepted an average 20 MB/s for several seconds, then blocked hard for a while (probably flushing its insane cache), then accepted data again. Download speed was kept up longer, but also wouldn’t go over around 25 MB/s (30 MB/s tops) during the whole transfer (at least until the cache grows to the size of the physical RAM and the OS starts paging out unimportant things, like its own kernel, the DHCP server, its TCP/IP stack, DNS database, the RDP server and any running foreground application the user is currently working with)

Now Samba, which is just an implementation of Microsoft’s SMB protocol, pieced together by logging network packets, combined with a (Soft-)RAID 5 partition manages a stable 20 MB/s upload and a stable 60 MB/s download. And the kernel just takes the load - no suicide by paging, swapping out of vital system components or anything noticeable happening at all! The copy beats the original - by far.

Gentoo x64 - Reinstall from Scratch

Web, General 2 Comments »

Now my enthusiasm has faded a bit. I worked under the presumption that anything linux would be tested by millions of users and nearly every obscure bug that might occur like if you are running your PSU near its limit and decide to attach an USB hairdryer to the USB hub in your keyboard would have been found eventually.

The install CD passes some unterminated string coming from GRUB to the linux kernel as a parameter. This string then creeps into your environment. When you chroot into your system as it is being installed (and maybe forget to env-update && source /etc/environment - might have happened to me because I chrooted quite often until the thing could boot itself), this unterminated string in the environment gets saved.

Linux version 2.6.24-gentoo-r7 (root@poseidon) (gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2)) #1 SMP Sat Jun 21 06:59:43 UTC 2008
Command line: root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs
loop=/image.squashfs cdroot vga=791Y^ÛóØÐö^A^È´þ¸7Õ^Fð>å)Ë6B¿u
^Cª^×ÎV^Gé^K¿ú^Éþ¢Xm.^ÍdrRW½Y^×g^Ú^C¤^ÛQ’ñ÷^5÷Vb²Iuf2õ^ʰý^ÁÀ¶^U§^Ï7ãÞ÷;9^U^Òg^
Y^SÛKÈÅd^Ù_^Óê|äKºpN» ðK´¸¼ “NÇ@ܹ¤À×ÉTÊHõ^Rùc;¨øÁ²^Ñ=PcûmMùÒû^É^YH^Óò^É!

I think gentoo’s emerge stores the environment in which a package was installed so that, when the package is uninstalled, this can be done under the exact same environment. For example, if you installed PHP with the apache USE flag, it would have installed the apache extension for php. If you now remove the apache USE flag and uninstall PHP, it wouldn’t know that it has to uninstall the apache extension — unless you let it run in a sandbox with the exact environment at the time of installation.

/var/tmp/binpkgs/app-text/ghostscript-gpl-8.62/temp/environment

[…]
vga=$’791Y\233\363\330\320\366\001\001\001\001\001\001\001\001\001\001\001\001
\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001
\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001
\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001…
[…]
vga=”791Y^ÛóØÐö^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A
^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A
^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A
^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A…

To make a long story short, this saved environment was close to 500 KB, maybe only limited by the maximum environment size being reached. Add just one more thing to the environment (something an uninstall sandbox would likely do) and restoring the environment causes it to overflow.

Whenever I tried to rebuild a package or update it, emerge would fail with an error message (and continue doing its stuff — ignoring that a required package just failed to install — wow!).

/usr/lib/portage/bin/ebuild.sh: line 1496: /bin/touch: Argument list too long

This sucks pretty hard. Not knowing how to solve this, I tried increasing my kernel’s environment size and then (after that didn’t work), tried to rob portage of its saved environments. For that, I used find|grep to make a list of all environment.bz2 files in /var/db/pkg. Then I tried to tar the files in the list with the –remove-files option and when couldn’t get tar to do what I wanted, I tried passing the list to rm.

Well, ultimately I managed to clean out my entire /var/db directory - with the exception of my list of files to delete.

I started a reinstall from scratch, this time explicitely unsetting the vga variable in my install CD’s environment before even so much as touching emerge. Hope it works out this time around.

Gentoo x64 - DSL (PPPoE) and NAT

Web, General No Comments »

Today, I finally got rid of my Windows Server 2008 trial server. No point in “trialing” this thing any more — Windows kept killing itself by paging out vital system services despite plenty of memory being available, created unkillable phantom processes and the firewall system in Windows Server 2008 is a class of itself in terms of unusability (<– I think I just created that word :))

My Gentoo Linux 2008.0 x64 install went extremely smooth. The install CD recognized my networking settings, PPPoE dial-in took just a few minutes to get working after launching the SSH daemon, I could conveniently install the system using PuTTY on my Vista box, allowing me to cross-reference the installation guide and playing some games during the longer tasks.

I still don’t have any idea how people get their linux kernels trimmed down — I simply don’t know what options I really need and which just sound like I might be needing them. Thus, I went ahead and selected any device drivers that sounded like my hardware, then added the most likely options for raid, vpn, ppp and routing.

After GRUB was installed (which was a lot easier this time around since I’ve only got one boot partition - the server hosting my blog uses two boot partitions on different hard drives as a fail-safe mechanism), the kernel booted, networking was working and basically everything just did what it should.

Amusing fact: my Corsair memory modules have LED indicators on them that display the current memory bandwidth similar to a volume indicator in a stereo. With Windows Server 2008 idling away, the LEDs were wildly flicking between 50% and 75% load. Now with linux idling, only one lonely LED (out of 20) is lit up.

It took me some time to get NAT (IP masquerading) working and I’m still not sure I got my iptables configuration right. The examples I could find on the net all had some confusing and from my limited knowledge erroneous rules in them, so I decided to try it myself. This is what I’ve come up with:

# Generated by iptables-save v1.3.8 on Sat Jul 19 16:00:29 2008
*filter

# According to man, there are three "chains"
#   INPUT = Packets from outside with a destination on this machine
#   FORWARD = Packets being routed by this machine
#             (happens when another machine in the network has this machine
#             configured as its gateway)
#   OUTPUT = Packets being sent from this machine
#

# These are the default rules. They will only apply if a packet makes it
# through our rule maze without matching any rule we set up.
#
:INPUT ACCEPT [158:13292]
:FORWARD DROP [4:224]
:OUTPUT ACCEPT [1123:117012]

# -------------------------------------------------------------------------- #
# INPUT (packets destined for this machine)

# Allow all packets originating from the local network to reach this
# machine. This in effect means we trust anyone in the intranet.
#
-A INPUT -s 192.168.124.0/24 -j ACCEPT

# Of course, we will also accept packets we sent to ourselves.
#
-A INPUT -s 127.0.0.1 -j ACCEPT

# This lets any connections, once established, keep running without
# forcing the packets through all the rules we set up.
#
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Here would be the place to local open ports in your firewall. To allow
# a web server running on this macine to be contacted from the internet
# using your ppp0 adapter, use this example:
#
#-A INPUT -i ppp0 -p tcp -m state --state NEW --dport 80 -j ACCEPT
#-A INPUT -i ppp0 -p tcp -m state --state NEW --dport 443 -j ACCEPT

# All other packets are rejected
-A INPUT -j REJECT --reject-with icmp-port-unreachable

# -------------------------------------------------------------------------- #
# FORWARDING (packets being routed through this machine)

# Allow any packets from the local network to be routed to
# the internet connection on ppp0
#
-A FORWARD -s 192.168.124.0/24 -o ppp0 -j ACCEPT

# Allow any packets coming in from the internet connection on ppp0 to
# be routed to the local network
-A FORWARD -i ppp0 -d 192.168.124.0/24 -j ACCEPT

#-A FORWARD -i eth0 -
#-A FORWARD -s 192.168.124.0/24 -m state --state NEW -j ACCEPT

COMMIT
# Completed on Sat Jul 19 16:00:29 2008

# -------------------------------------------------------------------------- #
# NAT

# Generated by iptables-save v1.3.8 on Sat Jul 19 16:00:29 2008
*nat
:PREROUTING ACCEPT [38:2923]
:POSTROUTING ACCEPT [31:2379]
:OUTPUT ACCEPT [40:3005]

-A POSTROUTING -o ppp0 -j MASQUERADE

COMMIT
# Completed on Sat Jul 19 16:00:29 2008

# Generated by iptables-save v1.3.8 on Sat Jul 19 16:00:29 2008
*mangle
:PREROUTING ACCEPT [3568:275800]
:INPUT ACCEPT [3564:275576]
:FORWARD ACCEPT [4:224]
:OUTPUT ACCEPT [3551:635930]
:POSTROUTING ACCEPT [3551:635930]
COMMIT
# Completed on Sat Jul 19 16:00:29 2008

I’m currently recompiling the entire system to make sure the stage3 packages match my compiler settings. That will probably take a few hours, after which I will proceed to set up Samba, MySQL, Apache, KDE and, ultimately, 3D acceleration and Unreal Tournament 2004 :)

70 Minutes Later

General 2 Comments »

Coming home, I turned the server back on and began implementing an idea I had during the day: Write a small utility that would reboot the server as soon as memory load went above 66%.

This is unthinkable for a server OS, but in my case, I expect an uptime increase of at least 300% - 400%.

I then decided to listen to some music. About 1 minute into the song, silence.

Several seconds later, another second of the song player, then silence again.

I tried to browse to the folder (using my remote desktop connection), the explorer window hung. Couldn’t kill explorer.exe. Had to push the reset button again.

After rebooting, PPPoE dialin failed. Then failed again. Then was automatically attempted and failed. Then succeeded.

Now I have full speed and no transmission errors. I’m curious what might cause such a hickup.

What does one have to do to install a server, go away and find it running the next time he returns?

7 Hours Later

General No Comments »

As you can probably tell, I was a little bit pissed off when I wrote that last post.

Now, less than 7 hours later, I wanted to check on the status of my Windows Server 2008 machine. Already the activity LEDs on my Corsair RAMs were giving the tell-tale “zero usage with flashing spikes” indication.

Login worked. Launching the task manager worked, too. 1,92 GB memory load (out of 2 GB I have installed). Of course, no process was consuming that much memory (and login plus launching the Task Manager was extraordinarily quick)

The task bar only showed the hour glass cursor. Task Manager also had yet to show up in the task bar.

The first thing I did was use the task manager to kill Halite.exe, my BitTorrent client. Kill Process — “Are you sure” — yes. Process still runs.

After about 3 minutes of sitting and killing, the case was clear: My server was sitting like a dead fish in the water. It had paged out absolutely everything despite no memory actually being used.

There is no hope of of waiting this out. It wouldn’t make any progress if I gave it hours. No choice but to hit the reset button once more.

After rebooting, I waited (that’s what Windows Server 2008 is all about — waiting — mostly for something to fail) until the “Routing and Remote Access Service” launched. Clicked connect on my PPPoE uplink. Connecting 1…2…3…4…5…6…7…8…9…10…

Now I know from experience that if it hasn’t connected by 5, it’ll happily count away to 30 or so and then tell me some useless error code. I clicked cancel. My next click on Connect resulted in the (for me, well-known) “invalid username or password” error message.

I also know this from experience, this error message (which is WRONG by the way) will pop up whenever I connect now, even if I turn off my PPPoE modem. No choice but to reboot.

The sorry piece of **** is turned off for now. You cannot run Windows Server 2008 unattended. Period. Luckily my PPPoE modem has an integrated NAT router (that’s based on Linux and crashes about once a week). Gotta go to work now…

Windows Server 2008 Suckage

General No Comments »

Great.

Just when I wanted to go to sleep, this sucker killed my RAID array again. Browsing into a network share got my Vista workstation’s explorer window to hang (of course — what else should windows do but rely 100% on some network peer to provide data in a timely and reliable manner). I couldn’t close the damn fucking thing and had to kill explorer.exe. My compliments for not learning to write a usable file browser in over 20 years, Microsoft.

On the server it looked no better. Tried to browse to the shared folder, but of course, the window just hung. I couldn’t restart the server either (the hung window stalked me into the reboot screen), so I had to hard-reset it. Windows Server 2008 isn’t even worth the $0.50 media it’s pressed on.

After rebooting, the RAID array was gone. I couldn’t reactivate it.

Shutdown, reboot, one RAID disk functioning, two missing, two foreign disks. WTF?

Tried to reactivate missing disks - device not ready.

Tried to import foreign disks - warning, you will loose data if you proceed, bla bla bla. Shocked, but remembering that I had that before and clicking yes actually doesn’t destroy my data. RAID array resynching. All shared folders unshared.

As I’m writing this, my Vista desktop is completely unresponsive, because I tried to browse into one of the server’s administrative shares. This sucks major ***.

Nowhere in the Event Logs can I find anything that gives me a clue as to what is happening on this freaking server. I’m going to buy a 1 TB drive, copy my RAID array onto that, then install Gentoo Linux on the server, create a new (soft) RAID-5 with the old drives, copy the data back and be done with this. Suck my ***** Windows Server 2008.

Windows Server 2008 Rant

Programming, General No Comments »

[Warning: rant follows!]

Now that the behemoth is released, I have a Windows Server 2008 trial version going again on my home NAT + File server. I had quite the trouble with Beta3 of Windows Server 2008, but expected the final product to be free of any such problems as I was encountering. Boy was I wrong.

The server is an AMD Athlon 3500+ with 2 GB of RAM (Corsair TwinX), four SATA drives (all WD - 1x 200 GB boot plus 3x 500 GB in a soft RAID 5) and a low-power passively cooled Asus GeForce 8300 card on an Asus NForce 4 mainboard.

I have to let off this rant because I’m so incredibly frustrated with this toy operating system. I’m not a linux guy and wouldn’t even remotely consider using it on my workstation for everyday work, but I’m seriously considering to go through the effort of configuring a complete linux environment just to get my home server running for good.

What the hell am I doing wrong? If what I’m experiencing is the state of things with Windows Server 2008, I can’t imaging anyone seriously using such a system professionally.

Here’s a list of the first 20 days of my Windows Server 2008 trial:

Suicide by Disk Cache

If someone downloads larger amounts of data from this server (> 2 GB), the server seems to start paging out vital parts of the operating system. It gets so bad that I cannot connect via Remote Desktop anymore.

Maybe it’s supposed to be okay paging out everything that’s not actively in use to make space for the disk cache. After all, Windows just has to store useless copies of huge, sequentially read files that aren’t going to be accessed again. That’s worth any sacrifice.

Suicide by Memory Fragmentation

Most BitTorrent clients experience strange freezes and are unresponsive about 90% of their time (literally!). Azureus works and so does Halite (the only x64 BitTorrent client I know of). Having some quite large downloads going (I’m currently downloading all of the MythBusters episodes :p), I leave my BitTorrent client running for days at a time.

Last Monday, I noticed the server wasn’t issuing my workstation a DHCP IP anymore. Attempting to log in to the server was impossible, it took several minutes to go from the password prompt to the welcome screen. I finally hard-resetted the thing (which I don’t like to do since it means a full RAID array resync)

Tuesday, the server was unresponsive again. I had to hard-reset.

Wednesday, the server had the same problem yet again. I had to hard-reset.

Thursday, unsurprisingly, was no change. Another hard-reset.

Friday and over the weekend, I resorted to rebooting the server every morning, noon and evening. That kept it working, but it’s not enough time for the RAID array to fully resync (which means after rebooting, it starts the resync all over again).

What happens is that windows’ memory usage slowly climbs all the time while my BitTorrent client is running. The process itself doesn’t eat up any more memory (assuming the windows task manager would at least show if Halite and Azureus leaked memory).

RAID Array Mess-Up

Today while I was tagging some FLACs I had just encoded (I’m in the process of re-ripping my entire audio collection using EAC), suddenly, the server’s X: partition disappeared (that’s the RAID-5 parition I store my music collection, DVD backups, virtual machines and stuff on).

The whole RAID array was just gone. Windows showed “missing” on 2 out of the 3 drives. I checked their cables tried to reactivate, but only got errors that the device was unavailable.

After rebooting, the BIOS screen showed all drives. Back in windows, a “foreign” RAID array was shown (that’s Windows slang for “inactive RAID array”). I imported it. Whenever I tried to assign a drive letter to the RAID parition, Windows reported that the “function is not supported”.

Another reboot later, my RAID array was running and had its old drive letter assigned again. But it’s resyncing. I don’t know if it’s still resyncing from last week’s happenings or resyncing due to the import. After leaving the disk management console open for 6 hours, there was still no progress indication (normally, after a few minutes, I remember a percentage being shown behind the ‘resyncing’ status).

DNS Failures

I don’t know if my NAT, routing table and DNS server have some configuration error or what else it might be, but sometimes, specific domains don’t resolve anymore through DNS.

The funny part is that, sometimes, they can be resolved on the server, but not on NAT clients. And sometimes, even stranger, they cannot be resolved on the server, but by NAT clients using the very same server.

Flushing the DNS cache on both client and server doesn’t change a thing in this situation.

Virtual Server Outage

On Beta3, I had installed Microsoft Virtual Server to run some build agents for my continuous integration server (TeamCity, now free, I can wholeheartedly recommend!).

After several hours of work getting Virtual Server installed and setting up the build agents, the whole thing was finally running.

For about 3 days. Then the network adapter of Virtual Server broke out of the blue and even reinstalling didn’t change a thing. I discovered several others with this problem and the only solution was to reinstall the whole server.

I’m not going to even try Hyper-V or Virtual Server on Windows Server 2008. I’m so sick of putting hours into this nonsense just to know that all my work will be destroyed again sooner or later.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login