Feb 22
Setting Up UT2K4 Dedicated Server on Linux
posted by: Player0 in gaming on 02 22nd, 2008 | | No Comments »

0.) Check to see if your brand of *nix has an RPM or DEB that you can just run and install. If you can do something as simple as yum install or apt-get then this tutorial isn’t for you.

1.) Download UT Dedicated Server from some webserver to your Linux box of choice. I recommend finding one with the latest patch. Note that you will likely have problems finding a download link that works well with wget but lynx worked for me in a pinch. Expect it to be about 900M.

1a.) You may need to install compat-libstdc++ if your server doesn’t already have it. When you go to run Unreal, it will certainly complain about any missing dependencies.
2.) Create a new user to run unreal under with adduser and passwd, or just install it as yourself if you’d like assuming you’re not root. You’ll probably want to make an unreal/ directory somewhere as well.

3.) Move your UT server zip file to your unreal folder and unzip it.

4.) Now is an excellent time to create an unreal.sh script. It should cd in to the System path for Unreal and call the ucc-bin file with the options of your choice. Here’s mine:

cd ut2k4/System
./ucc-bin server DM-Antalus?game=XGame.xDeathMatch ini=UT2004-ln.ini log=UT2004.log -nohomedir &

This starts the server off on the Antalus map in DeathMatch mode. It’s using my custom UT2004 script. I find that the start up settings aren’t too important as you’ll do most of the configuration through the webadmin or map voting.

Be sure to chmod u+x your unreal.sh file!

5.) Try to start your Unreal server by running ./unreal.sh. Hopefully you won’t have any dependency problems.  This script will run the Unreal server in the background.  I’m not sure how to have it start as an actual service at this time.

6.) Once you have a working server it’s time to start messing with the UT2004.ini file, or whatever .ini file you’re calling from your unreal.sh. This is a link to a handy ini file generator. It’s not perfect and I did a diff between the original and the generated one to find any new things that were missing. Don’t worry too much about editing map entries and such from in here. You can do that with the web admin.

7.) Make sure you open port 7777 UDP and port 8080 TCP, or whatever port numbers you prefer, in your firewall. If you need to figure out iptables, don’t ask me. I just used Fedora’s handy little ’setup’ program to add some firewall entries.

8.) You can connect to your Unreal webserver, assuming you left it enabled in your .ini file, by going to http://ip-or-host-of-unrealserver:8080/and logging in with Admin / Admin. Case is important here. Be sure to change your Admin password later from the webadmin interface.

You can edit nearly all of the UT settings you’d ever need here, just be sure to look around in here before resorting to an .ini change. You will certainly want to add all the maps you want for gametype rotations. You can adjust bot settings here as well as mutators.

9.) I highly recommend you enable map voting. This doesn’t seem to be a default so here is what you’ll need to add to your .ini file. Remember to restart your server to make sure these changes take effect.

[xVoting.xVotingHandler]
VoteTimeLimit=70
ScoreBoardDelay=5
bAutoOpen=True
MidGameVotePercent=50
bScoreMode=False
bAccumulationMode=False
bEliminationMode=False
MinMapCount=2
MapVoteHistoryType=xVoting.MapVoteHistory_INI
RepeatLimit=4
DefaultGameConfig=0
bDefaultToCurrentGameType=True
bMapVote=False
bKickVote=False
bMatchSetup=False
KickPercent=51
bAnonymousKicking=True
MapListLoaderType=xVoting.DefaultMapListLoader
ServerNumber=1
CurrentGameConfig=0
VoteTimeLimit=60
ScoreBoardDelay=3
bAutoOpen=True
MidGameVotePercent=50
bScoreMode=False
bAccumulationMode=False
bEliminationMode=False
MinMapCount=2
MapVoteHistoryType=xVoting.MapVoteHistory_INI
RepeatLimit=4
DefaultGameConfig=0
bDefaultToCurrentGameType=True
bMapVote=True
bKickVote=False
bMatchSetup=False
KickPercent=51
bAnonymousKicking=True
MapListLoaderType=xVoting.DefaultMapListLoader
ServerNumber=1
CurrentGameConfig=3
GameConfig=(GameClass="Onslaught.ONSOnslaughtGame",Prefix="ONS",Acronym="ONS",GameName="Onslaught",Mutators=,Options=)
GameConfig=(GameClass=,Prefix=,Acronym=,GameName=,Mutators=,Options=)
GameConfig=(GameClass="XGame.xDeathMatch",Prefix="DM",Acronym="DM",GameName="DeathMatch",Mutators=,Options=)
GameConfig=(GameClass="XGame.xCTFGame",Prefix="CTF",Acronym="CTF",GameName="Capture the Flag",Mutators=,Options=)
GameConfig=(GameClass="XGame.xTeamGame",Prefix="TDM",Acronym="TDM",GameName="Team DeathMatch",Mutators=,Options=)
GameConfig=(GameClass="Onslaught.ONSOnslaughtGame",Prefix="ONS",Acronym="ONS",GameName="Onslaught",Mutators=,Options=)
GameConfig=(GameClass="UT2k4Assault.ASGameInfo",Prefix="AS",Acronym="AS",GameName="Assault",Mutators=,Options=)
GameConfig=(GameClass="XGame.xBombingRun",Prefix="BR",Acronym="BR",GameName="Bombing Run",Mutators=,Options=)
GameConfig=(GameClass="XGame.xDoubleDom",Prefix="DD",Acronym="DD",GameName="Double Domination",Mutators=,Options=)
GameConfig=(GameClass="XGame.InstagibCTF",Prefix="iCTF",Acronym="iCTF",GameName="Instagib CTF",Mutators=,Options=)
GameConfig=(GameClass="SkaarjPack.Invasion",Prefix="INV",Acronym="INV",GameName="Invasion",Mutators=,Options=)
GameConfig=(GameClass="BonusPack.xLastManStandingGame",Prefix="LMS",Acronym="LMS",GameName="Last Man Standing",Mutators=,Options=)
GameConfig=(GameClass="BonusPack.xMutantGame",Prefix="MU",Acronym="MU",GameName="Mutant",Mutators=,Options=)

10.) Adding maps, mutators, and other game play elements is as easy as just copying the appropriate files over to the unreal server directories, just like you would for your Unreal client.

Feb 22
Disappointment
posted by: Player0 in reviews on 02 22nd, 2008 | | No Comments »

I’ve been attempting to modernize my personal gaming environment with a few new add ons for the gaming rig.  Not everything can be a winner.  Those Sennheiser PC166 headphones I was so happy about?  Dead.  Developed a bad crackling noise in the right ear plus I’m not sure the microphone was ever loud enough.  The new 22″ Samsung LCD?  It’s crap.  The 204B blows it away for color rendering.  The 226BW makes everything look ‘fluorescent’ and washed out.  It’s crap.  Those extremely high NewEgg ratings?  Also crap.  Don’t trust them.  I was lead to believe that the 226BW was better than the 204B because of it.

I got the Logitech G11 keyboard in yesterday.  It’s pretty to be sure.  All the keys seem to be in their proper places.  It makes wonderful clicking noises and I can see what I’m doing in the dark.  It’s free of many of those annoying ‘media’ keyboard buttons but I do miss an extra scroll wheel.  In it’s place are 18 programmable buttons in a nice accessible configuration.

The problem with these G keys is that they suck.  They might be a bit small to use for WASD, but I’m still getting used to that.  My biggest complaint is that the damn things are simply software emulated keys as far as I can tell so far.  I have to map each one of the 18 keys to a corresponding existing key in software.  So G1 is maybe Q.  G2 is maybe W.   That’s real lame.  Maybe there’s a way around this, I just don’t know.  But I don’t have 18 new keys, I just get the same old keys moved around to a new location.

Otherwise it’s okay.  Key feel is a bit harder than the old wireless MX models I have.  Keys might be just a bit smaller too.  At least things are generally in the right places, such as the insert and delete keys, slash/pipe, etc and the backslash is the right size.  It does have some spare USB ports (woo) though I’m not sure they are USB2.0 at the moment.  Also there’s a handy switch that disables the Windows key for gaming.  Not bad.

I also got my lovely Yamaha HTR-6030 receiver in the mail yesterday.  It replaced the dying Optimus.  A lot has changed in ten years when it comes to receivers.  Even this amp, which I got for dirt cheap, sports excellent features such as DTS, coaxial and fiber digital inputs, all sorts of DSP modes, and more inputs than I could dream about using.  Gone are my beloved bass, treble, balance knobs and some front inputs take their place.  Considering I just needed something basic to power my full towers this has definitely made me a little happier.  No complaints here so far but time will tell.  It always does.

*waits for the UPS guy to bring his replacement gaming headset*

I’m really annoyed at NewEgg.  Even if they send me a shitty defective product, I have to pay a restocking fee if I’d rather have my money back.  So I had to exchange the headset.  I know Sennheiser is typically a quality brand so I’m not too worried about a one time defect.  This LCD that I’m not loving?  I can’t exchange it no matter what at the Egg.  At least if I got it from a retail store I could return it for an upgrade.  They’d probably make more money in the long run.

Feb 18
Mouseballs
posted by: Player0 in reviews on 02 18th, 2008 | | No Comments »

Playing a lot of CoD4 lately and really needed some extra buttons on my mouse.  Finding the right mouse is really a challenge with all the different gaming mice options around.  I went out to the local Circuit City and BestBuy to try some out.  Input devices aren’t actually priced much differently retail then they are online which is good.  I do hate giving BestBuy any money but thats a different story.

Both stores had a pretty decent selection.  Circuit City had the best variety and had the most mice out to actually touch and feel.  I went there first but gave Best Buy a shot after and didn’t want to bother driving back so they got my money even though they didn’t have ONE gaming mouse out for display.  I did rip a couple Razer boxes open though.

After touching and ‘trying’ dozens of gaming mice I came out with two favorites.  The Razer Lachesis and the Microsoft Sidewinder.  I bought both and completely plan to return the looser to the store.  No, I don’t feel guilty about that, see above.

The Razer weighed in with the steepest price.  The Lachesis looked wider than the other Razers I got to play with today.  I found this one more comfortable overall.  I’ve always wanted to try a Razer since they look so damn sexy.  They were the first real gaming mice available back when opticals were a new thing.  I always voted to go with an optical mouse back then.

I picked up a Razer mousepad tonight to replace the Ratpadz I’ve had forever.  I mention this because during my Razer testing I lost tracking!  I tried the smooth and rough side of the Razer mousepad as well as the ratpadz and just randomly during play I’d completely loose any mouse movement.  This was awful.  It worked pretty good otherwise.  It might just be surface picky.  The thing I disliked most was the side buttons.  This is where most all mice I tested fail.  The Razer side buttons are well placed but lack good tactile feedback when pressed.  And it takes more pressure than I would like to engage them.  I felt my thumb getting strained while using the side buttons for toggling Zoom mode on CoD4 weapons.   Weight wise this Razer is about medium and it didn’t cause me too much grief.

The Sidewinder is my new best friend.  This thing shines with it’s extra width, it’s EXTREMELY usable side buttons, and it’s adjustable weights.  I’ve been using wireless mice for a while and got used to the extra mass.  I think it helps me slow down my view scanning when I see a target without needing an overly abrasiveness mousing surface.  Personal preferences aside it also has on the fly DPI adjustments.  This can be good for immediately slowing down the mouse sensitivity for some sniper action.  This is usually better accomplished with a macro but making these is not always easy for different games.

So I’m back to using a Microsoft mouse.  I still have a few Intellimice around from the olden days and I do think they’ve made some great mice.  Logitech has always been a solid choice as well but I haven’t liked some of their recent designs.  I did not get a chance to try the Logitech G9 since not one store seems to carry it.  It certainly might have been a contender against the Sidewinder.  I did not see any Razer Boomslangs either and suspect I might have liked it better than the Lachesis though it still has crappy side buttons I’m sure.

Speaking of side button comfort, the Logitech G5 was seriously close.  It only has one side button but its well placed and I really liked it.  It’s a solid mouse but feels a bit small for my hand.  But I had to give them props for getting the side button right.

One last thing I want to mention is the wire.  I’ve been gaming with a wireless mouse for years now and I never noticed any issues.  A lot of people claim that the extra latency can throw off their precision.  With my desk always cluttered and the wire always getting in the way I usually find that to be a larger issue.  I’m going to give a serious gaming mouse a try though and find out if I can actually notice any improvement in my game with a wire.  Everyone’s mileage will vary widely!

Feb 17
We Are Dust Borg
posted by: Player0 in projects on 02 17th, 2008 | | 1 Comment »

File server before I decided to clean slash upgrade it.

Auron, The Cubist Fileserver of them all

Feb 17
NSLU2 Backup System
posted by: Player0 in projects on 02 17th, 2008 | | No Comments »

NSLU2 & Thermaltake USB Enclosures

Feb 17
Photoshop & Depth of Field
posted by: Player0 in projects on 02 17th, 2008 | | No Comments »

Because why not take fancy pictures once in a while?

WD Caviar GP 1TB & HPT RocketRaid 1740

Feb 16

I’ve been behind in blogging. I do have some new toys to review. Even a couple games. But alas time is always against me. So I will summarize.

Sennheiser PC166 gaming headset:

Well padded on-the-ear model. Sub $100 and worth every penny. Quite linear sound response for lightweight headphones. They’re good enough that any headsets I buy in the future will be Sennheiser and not Koss. Bass response is quite terrible but really tense and dramatic mids and highs. No distortion at any volume levels. I haven’t bothered trying the USB soundcard, opting instead to use my X-Fi directly. Extra long cable and the inline volume control is great. On/Off button for the mic is also a necessity. Push to talk would have been even better but the mic functions extremely directionally and has been good to not pick up keyboard noises or my screaming child. The only thing I regret about these is the lack of any sound canceling.

Western Digital 1TB Caviar GP:

Still plugging away in RAID5 with no issues. As I mentioned before I’m really impressed with how quiet and cool these drives run. Only a 3 year warranty and still that looming RAID failure issue. Slow drives at 5400RPM and small cache. I’d never recommend these for an OS drive but throw some data on here for sure. They’ll also make great USB caddy drives. I have three and might go to a fourth before summer especially at their low low price.

Highpoint RocketRaid 1740:

A ‘cheap’ ‘hardware’ SATA RAID5 solution. Highpoint has come a long way since their cheap on-board days. I haven’t had any issues with it and performance is good. It seems to be okay with the Caviars. The time will tell on this purchase since recovering/rebuilding arrays, or keeping them intact in the first place, is the true virtue of any controller. Got my fingers crossed. Anyway the software is robust and supports all sorts of advanced features like online capacity expansion.

Thermaltake Silver River DUO External HDD Enclosure:

I ordered four of these to house my old 250GB drives that got swapped out of the file server. Why talk about something as mundane as a USB enclosure? I spent a lot of time trying to decide on the right enclosures. I looked for decent heat handling, reliable power bricks, drive compatibility, overall stability and price. There are a lot of enclosures to be had under $30 or even $25. I decided to spend $35 on these because they seem to have the best reputation. They support PATA and SATA drives and seem to have no capacity limits that I can tell. They worked with all the various drives I plugged in. The cases are solid and transfer heat extremely well. The cables and power switch feel sturdy and safe. I think they look not bad either. I think these cases will last me a long time to come.

Linksys NSLU2:

What else to plug USB hard drives in to than a little USB drive capable NAS! At sub-$100 it’s a steal I think. There’s even an underground Linux/Hacking community for it. Sort of reminds me of the WRT54G. I haven’t hacked mine yet. I haven’t torn off the little resistor that ‘overclocks’ it’s brain. From what I hear, new units come with that little resistor missing anyway. I’m using it as a backup solution for my file server. With my four old 250GB drives I can now backup up to 1TB of important data. The speed of this thing is not great. Linux could fix this from what I hear. The speed is not as bad as some people report. I think I can move about 5-10G per hour to it. Not bad for a backup which from that point on will be incremental. I wouldn’t want to use it as a main file server though. My biggest complaint about this thing is that it only supports two USB drives at once unless you install Linux (and even then picking the right USB2.0 hub can be tricky). This isn’t a huge let down since I can simply swap USB cables to access the other two 250GB drives. Once my weekly backups are done I just turn everything off so no wasted power or fear of power spikes destroying family photos. And maybe if theres some disaster that strikes this house, knocking on wood so this doesn’t happen, I can run to the living room and grab the drives to save some data. I wouldn’t dare try to carry my file server out to safety in an emergency. This is a DIRT cheap solution if you look at other NAS solutions which cost 2-3x as much and don’t perform much better. I still recommend a dedicated old PC for this kind of work.

But wait, there’s more! I did LCD monitor research this weekend. The wife wanted an LCD so it seemed like a good idea to give her my Samsung 204B and pick up a little birthday gift for myself. There are a lot of choices out there. I finally decided on the NEC 2470WNX. It’s a 24″ S-PVA panel, all the inputs you could want and rave reviews for the most part.

I didn’t actually buy it. Not for $700+ I didn’t. As much as I would like 1920×120, brilliat contrast, well balanced color saturation, and decent viewing angles I settled for the well weathered Samsung 226BW. This may be the defacto standard gaming LCD of 2007. It’s a 22″ TN panel. This means really fast refresh rates (2ms GTG) and poor color rendering. It should be a slight upgrade over the 204B for me.

Why am I so eager to part with the Samsung 204B anyway? It’s not that I think it has a bad picture at all. After dealing with the 30″ Dell at work and my 15″ Dell notebook at home I’m used to crummy TN panels. The 204B was an upgrade from the Sony E400 19″ CRT so it made my life instantly better. It’s a 20″ 5ms GTG panel. Never have any ghosting issues in games. I’ve had two problems with it. The first is a ’stuck’ pixel in the lower right of the monitor. It’s bright cyan in color and only visible in fast moving scenes or on any dark static screen. I can’t see it right now on this white colored window. It hardly bothers me. The bigger issue is the DVI bugs with my Nvidia video cards. Apparently this is a known issue with certain makes of 204B panels. The video will completely blank out, come back, blank out, etc at random intervals while gaming. Maybe every 5-10 minutes it will power cycle a few times. HORRIBLE. It’s apparently a serviceable issue and I will send it to Samsung for warranty work as soon as my replacement gets here. VGA mode works fine, but blurry. The blurry can actually be GOOD for helping to make game edges look less harsh but it’s horrible for plain old text rendering. The wife will be upgrading from the 19″ Sony and will be thrilled with ANY LCD since she doesn’t seem to be picky with anything visual.

Feb 10
Risky Business
posted by: Player0 in projects on 02 10th, 2008 | | No Comments »

My hard drives are well out of warranty.  I’ve been thinking about that for a long time now with a bit of dread.  I’ve had plenty of hard drives last longer than five years but my file server has been approaching that mark and I’ve felt less than comfortable in seeing how good my RAID5 really is.  I do have backups elsewhere, this is true.  But they aren’t always fresh and I know I’d regret loosing something or another.  A stable file system is just something I need to have and there’s no excuses not to have one.

My file server is a beast.  It’s sitting in an old cube case I had hacked to bits for a water cooling project many years ago and is the size of a short end table.  If the size of the thing isn’t a theft deterrent than the weight of it surely is.  I’d be tempted to fill part of the case with concrete to make it even less desirable but I figure that I’d be the one having to eventually lug it to a new apartment.

Right now it’s an old Asus P4C800 and P4 3.2C with some good PC4000 RAM, and Audigy 2, a FX5200, and a Hauppage dual-tuner capture card.   Basically all of my left overs and remnants from years past.  This machine is more than a file server actually since I use it as my main workstation as well.  I have a better machine but that one’s solely for overclocking and gaming.  If I want to watch movies, check email, or if my other machines are down for the count, this is my baby.  My last resort.  The forgotten.

It hasn’t been cleaned in two years and since it sits on the floor its a real mess.  I’ll have pictures of this later.

It sports EIGHT 250G drives.  Six Western Digitals at nearly 5 years of age.  Two Maxtors less than two years old, purchased to replace two of the WD’s that fell out of the RAID5 array and wouldn’t go back.  Strangely enough, the two ‘dead’ WD’s started working again after I ran drive fitness on them.  I reconnected them to the machine as a simple JBOD backup set which I stored downloaded video on, nothing of importance.

One of those two started making horrible grinding noises and died completely two weeks ago, spurring me on to rethink this entire situation.

Those two drives were JBOD as my Q: drive, worth 500GB.  I have two WD’s running off of the onboard Promise controller in a 500GB RAID0.  This runs the C: (boot and swap), E: (OS) and O: (Video & Downloads) drives.  Nothing of importance stays on the RAID0 array and I keep around simply for speed.  I would have originally added this to the X: drive array but it was full.   Speaking of the devil, X: consisted of four 250GB drives in RAID5 mode giving me around 750GB of redundant storage.  Not bad in 2003 or 2008.  This was on a 3Ware 7500-4 RAID controller.  Really good for the day.

All of these drives, except the two in RAID0, are PATA drives.  This complicated the upgrade path since I really wanted to go SATA, and needed to do this so I could get the larger drives.  Larger drives because having EIGHT drives at once is noisy and a greater risk of failure than having fewer drives.  Also this machine is on 24×7 and anything I can do for power savings is worth it.

Cost was no object five years ago but it was a huge object this time.  I couldn’t afford to get the best drives and RAID controller this time.  A fact which might bite me in the ass sooner than later.  What enabled me to finally do this upgrade was a beautiful Amazon gift certificate I got for the holidays from work.  There are a couple PC vendors you can buy through on Amazon and the prices are actually competitive.  But the selection is smaller than I would have liked.

I wanted Seagates but was forced to go with Western Digital Caviar WD10EACS drives.  These are desktop drives with only a three year warranty and 5400RPMs.  But they are CHEAP and have 1TB of storage each.  I only needed two but RAID5 requires at least three drives.  RAID5 has the benefit of really decent read speeds and also only costs one drives worth of space for the redundancy, in this case 33% of the space.  RAID1 mirroring costs 50% and doesn’t have any performance benefits.

I needed a SATA RAID controller and here 3Ware and other top end brands hit the $300 mark quickly.  I went with a much more affordable Highpoint 1740 controller.  It has all the features I needed, RAID5, PCI (not PCIe), etc.  It’s not a true hardware RAID so the CPU is going to get abused a bit more.  On the other hand it does support online capacity expansion which will be great if I decide to add a forth 1TB drive to my array.  I regret not being able to get a PCIe 4x version as the extra bandwidth there would have been nice but I have no plans to upgrade the rest of this PC anytime soon.

Installation is ongoing.  It took over 24 hours to initialize the 2TB RAID5 array and another 6-8 hours to copy over the 600GB of data from the old RAID5 array to the new one.  I’ve unplugged the old four drives and controller now and everything seems to be working fine.

But I’m worried.  You see, WD10EACS drives aren’t meant to be run in RAID arrays.  Apparently if the drives encounter a data error they will enter a ’scrub’ cycle designed to help recover any lost data.  This forces the drive to time out and causes the RAID controller to drop the drive.  This is according to Western Digital.  They recommend that you spend $20 more, get their RAID version drive which has firmware set to have a smaller ’scrub’ cycle.  If there’s any other difference to the drives I have no idea.  Unfortunately the option to get the RAID drives wasn’t available to me due to limited selection and funds.  There are reports of other people having no problems with these drives in RAID.  So far I have not had any.  I hope that the worst case scenario for me is that I loose one drive and I may need to rebuild the array, but I should have no major faults.  If two drives fall out of the array at once though I could be screwed.

There might be a way to hack the firmware of course.  Maybe WD will come to their senses and make this an ‘option’.   Either way, I knew I should have gone with another brand.  Beggers can’t be choosers though.

What will happen to the old drives?  I got a few USB enclosures and a network share box for them.  One will find its way to my MP3 box at work.  None of that will happen until I’m sure that my data survived the transfer and that this new array isn’t going to kerplode anytime soon.  I wonder how long I should wait?