Wednesday, April 18, 2007

Building A Game Server - I Never F$%! Around

Those of you who know me personally know how much I enjoy playing Counter Strike Source and other on-line first person shooters. My problem with playing on-line is, and always will be, the amount of assholes you are forced to play with on public servers. I swear if someone types the word "nOOb" in the server chat one more time I'm going to bug out! Here's a short list of words and phrases I'm sick of seeing on the public servers"

noob
newb
noobie
ownd
pwnd
owned
raped
hax
haxor
turn ur scripts off
u suk
blow me
ur g@y

Between those words, phrases and the endless cheating, scripts, and pre-pubic voices talking shit over team speak I swear I am going to lose it! All of this had made me realize just how much I would like my own game server that I can have as "invite only". I had to throw a server together for a recent LAN party and I used the Mani-Admin plug in for CSS and I have to admit I had a ball setting that up with all the custom sounds, maps, skins etc. I have already ordered half the parts for a kick ass game server, so please check back at the end of next week to see pictures specs, and tips that may help you set up your own game server on the cheap.

Thursday, April 5, 2007

Black Mesa: Source - Please tell me you've heard of this!


If you are a PC gamer and you have never heard of "Black Mesa: Source" then you should be ashamed of yourself! In a nutshell, BMS is a complete rebuild of the original Half Life utilizing the Source engine. I don't know about you, but I was seriously disappointed when I bought Half Life 2 and we were presented with that crappy Source based version of Half Life 1. Yes, the game used the Source engine to an extent, but none of the textures or models were rebuilt, so the game still looked just like it did when it was released back in '98. Don't get me wrong, Half Life is still a great game, but I don't load it up and play it on a regular basis because it looks so archaic by todays standards. What the BMS team is doing is building Half Life 1 Source the way Valve should have done it to begin with, and they are doing a great job I must say! Crappy mods come and go, but this mod is the real deal! Just a few screen shots and I think you will agree as well. In fact, the BMS team won the upcoming Mod of the Year award from ModDb two years in a row! Just after they won the award this year they released a teaser video of BMS in action, and it looks fantastic. I would also like to mention that the BMS team has developed an all new soundtrack to the game as well, which further proves that they are putting in the effort that a full Half Life rebuild deserves. Samples of the soundtrack are also available on their site.

Now for all the gaming "purists" out there I want to say that I know great graphics don't make a game great, but what is happening here is an update for an already great game. No matter how great a game is I just have a hard time getting into it if the textures and models look dated. For example, does watching TRON in any way compare to watching 300? The bottom line is you can become much more engrossed in a game when what you are seeing looks realistic. If I load up a game like the original Unreal (which is one of my all-time favs) I can't get into it anymore, simply because I find myself constantly making fun of the graphics I thought were mind blowing just 8 or 9 years ago. In fact, what I have discovered is the same people who claim that gaming has suffered because of the concentration on better graphics are the same people who for one reason or another don't have a video card capable of playing modern games. Listen, don't rag on modern games just because you are still running a Pentium II with a Voodoo graphics card. But I digress....

Do yourself a favor and head over to: http://blackmesasource.com/ Check out the screen shots, soundtrack and download the teaser trailer HERE for your own review and dissemination. This game has been in development for a LONG time, and I am hoping to see a release very soon.

Thursday, March 29, 2007

Publish a web server behind ISA 2004, the easy way.

Let's assume you have a network utitlizing ISA 2004, which is a very robust firewall solution form Microsoft. And no, I do not consider ISA 2004 to be a "software" firewall, since it applies rules to multiple NIC's in your server essentially morphing it into a hardware firewall. Not every organization can afford to use Cisco PIX firewalls and other expensive hardware solutions to create a DMZ on their network, and most organizations running SBS have only 1 nic in their server to begin with. Having said that I will show you a simple, secure way to publish a server to the Web using only web publishing rules and a custom listener in ISA. Of course, a hardware based DMZ is always preferred, but when money is tight and deadlines are close you need some kind of alternative to get that web based application or in-house FTP out to the web! All you need is one extra static IP address from your ISP! Most ISP's will give you up to five public facing IP's without much trouble, so once you have one static IP in addition to the existing IP of your server then you are ready to begin.

> The first step will be to bind the extra public IP to your ISA server's public facing NIC. Open up your servers network connections panel and go to the properties of your external NIC.

> Select TCP/IP in the General tab, click Properties and then Advanced

> Under IP addresses you should only see one address, which is the public IP of your server. Click Add and put in the information for your extra public IP we talked about earlier.

> You will now see the extra public IP in the IP addresses box in the Advanced TCP/IP Settings. Click OK and exit the properties of your external Nic.

> Now that we have the extra IP binded to our external Nic we have some work to do in ISA 2004. Open up the ISA 2004 MMC and click "Publish a Web Server" under Firewall Tasks.

> Create a name for the rule, such as "FTP Server" in my example, and click Next.

> Click "Allow" then Next

> Enter the LOCAL IP address of the server you want to publish to the Web and click Next

> On the Public Name Details page you will enter the address people will type in the address bar of their browser to access your server. You can have your ISP create a public name that will resolve to your extra public IP such as ftp://company.example.com, but for this example we will just type in the extra public IP in the "Public name" box.

> Now we come to the page where we select or create a web listener. When you configure a Web listener, you are specifying:

• The network corresponding to the network adapter on the ISA Server computer that will listen for incoming Web requests. The Web listener can listen on all the Internet Protocol (IP) addresses associated with a network or on specific IP addresses.

• The port number that will listen for incoming Web requests on the selected network IP addresses.

• Client authentication methods (optional).

> Select "New" to create a new web listener.

> Name your custom listener and click Next.

> Select your external NIC, but do NOT click Next yet! If you select External and click Next it will listen based on ALL IP addresses for that interface, which is what we don't want! Select External then click the Address button.

> Now select "Specified IP Addresses" and in the box below select ONLY the extra public IP you bound to the external Nic earlier. Click add to move it to the "Selected IP Addresses" box and click OK.

> Now we select which port the listener will monitor for traffic. In my case I am publishing an FTP server, so I will select 21. If you are publishing a web site, or other web based application you will leave the default of 80. You can also enable SSL for a secure connection, provided you have a certificate server or another means of using a certificate.

> We are now at the final page of the Web Listener wizard, so review your selections and click Next.

> We are now back in the "Web Publishing" wizard and you should see the web listener we just created in the selection box. (If not, use the pull down and select it) Click Next

> Since we are publishing this server to the web the rule must apply to "All Users", so make sure that user set is selected and click Next

> We are now at the final page of the "Web Publishing" wizard, so review your selections and click Finish.

> Now click Apply in ISA 2004 to put the settings we just made into effect.

Now go to a web browser and enter the public IP address you bound to the external Nic and you will be taken to whatever you decided to publish to the web! You may also want to call a friend external to your Lan and have him do the same to ensure it works from the net as well.

Monday, March 26, 2007

I'm a die hard PC gamer, but I'm beginning to get a little pissed.

I'm about to give you an extremely opinionated blog on the topic of PC gaming, why I have a love\hate relationship with consoles, and what exactly is pissing me off. You just might want to grab a coffee or drink some BAWLS, because this will take a minute, and this has been on my mind for a while so now it's time to let it all out.

As you all know by looking at my blog I love PC's, and I doubt that will ever change. I work on a computer all day, and when I finally get home after a long day I still sit in front of my own rig until it's time for bed. Why do I love PC's so much you may ask? It all comes down to two words that I know all you PC guys will agree with me on: POWER and UNIQUENESS. Now when I say uniqueness I'm not referring to Aunt Mary and her Dell Dimension, I'm referring to all of you out there who build your own rigs piece by piece. I'm referring to the joy that comes along with the UPS guy when he hands you a bunch of brown boxes with NewEgg.com in the sender field. I'm referring to the feeling that come with a job well done when you build a rig the way you want and it exceeds your expectations. That's right, the challenge is how much performance you can squeeze out of a computer and still stay within your budget. It's all about the do-it-yourself attitude that hardcore PC gamers have, and this is why consoles bore me. When was the the last time you saw a bunch of XBOX enthusiasts get together and benchmark their consoles? That's what I thought.

So where am I going with all of this you ask? Well, all I'm saying is gaming began with PC's, and PC's blazed the trail for consoles in the living room. It was the homebrew guys decades ago that brought entertainment on computers, yet PC's seem to get the shaft lately from a lot of game studios. Let me set the stage for a few great examples. I built my current rig back in December and it has an 8800 GTS in it, which supports Direct-X 10. So why didn't I wait until the price dropped to build my new rig? Well, I can remember last summer seeing articles everywhere about all the new titles like Unreal Tournament 3, Team Fortress 2, Portal, and Half Life Episode 2 and Shadowrun. Just looking at the trailers for these games got me excited, which isn't easy to do. What's more, the release dates for these games ALL pointed to Q1 2007! Maybe I fell victim to the hype, and maybe I believed what I read, but I set out to prepare for these highly anticipated games and build an 8800 based rig. Of course, here it is almost April and I'm not even playing a demo of any of these games. What do these highly anticipated titles have in common? They are all being released on consoles at the same time as the PC. Now I can't blame a game developer for wanting to make more money, but I also can't shake the suspicion that these titles keep being pushed back because of the coding for the console versions. In fact, I will go out on a limb and say that the reason I'm not playing Unreal Tournament 3 right now is because of the PS3 and XBOX 360. Beta testing and releasing a game on one platform is a much different story than trying to do the same on three different platforms. Send me hate mail if you want, but it's a logistical nightmare.

Now don't get me wrong, I don't HATE consoles, I just wish the PC platform would stop being pushed aside all the time. For instance, Microsoft keeps pushing this "Games for Windows" initiative, which I think is great, but what disappoints me is there half ass attitude towards it. If they REALLY wanted to push "Games for Windows" they would release Halo 3 on the PC simultaneously with the XBOX 360, rather than give me some BULLSHIT, half ass Halo 2 release for Vista. Gee, thanks Microsoft, and only 3 years after the XBOX release. Do you see what I am getting at? I have to wait for the Valve Black Box so the consoles can enjoy a simultaneous release, but I get Halo 2 three years after the fact. And by the way, what's the big deal with Halo? Run and gun bullshit in my opinion. Play Counter Strike Source for an hour and see if you go back to Halo. Then again, console gamers are "casual" gamers, and enjoy the run and gun style of Halo. Would you like me to keep going? Alright then, how about the big disappointment when Call of Duty 3 was a console only release? I mean, what were they thinking? Talk about turning your back on PC gamers! The Call of Duty franchise was MADE on the PC platform!

But, there is light at the end of the tunnel for us PC gamers! In my estimation, one game and one game only will turn the tide and it will happen this year. This one game will change the way even the most dedicated console fanboy will view the PC platform. Still don't know what I am talking about? I'm referring to Crysis, and it will go down in history as the game that raised the bar forever, akin to the Half-Life series. Also, let's not forget all the games that will support the new Physx processor like Warmonger and Cell Factor Revolution. And since you need to have a Physx card in your computer to play these games I doubt the console guys will ever see most of them.

I suppose this article wouldn't be complete if I didn't give consoles their props as well. I will concede that there are a few console titles I am anxious to get my hands on. And yes, it is convenient to KNOW for a fact that any game you buy for your console will work perfectly, since they are all designed around the same hardware. This is a moot point for me, because I can't remember the last time I didn't have a good enough video card to run ANY game. Also, consoles are cheaper to buy which is great for people that like video games but don't want to spend $500 on a new video card. For me, this is also irrelevant since I am an avid gamer and I enjoy having the latest and the greatest. I would also have to admit, (and this is hard for me since I am a hard core first person shooter kinda guy) every time I see a Mario Galaxy trailer I can't but imagine how much fun that game will be.

See you this fall on the Team Fortress 2 servers....

Sunday, March 25, 2007

Customizing XP and Vista's Interface Without Utilizing Precious System Resources

I don't know about you but I consider myself a power user, and when someone is looking at my computer I want them to know that. This is the reason I build my own custom power rigs, and spend hours tweaking and fine tuning to ensure the best performance I can get. Even when it comes to something as trivial as my user interface I want everyone to know that I mean business. But, programs like Windows Blinds and Style XP just seem clumsy and resource intensive to me. Believe me, I have run them both and sometimes they work great, and sometimes they don't. Loading an updated video card driver sometimes causes Style XP and Window Blinds to crash, and why would you want to run any more applications in the background than you absolutely have to when there is a better way? The solution is UXTheme, and all it does it allow you to use 3rd party visual styles with XP's existing theme interface.

> Download XTheme HERE
> Run the program and let it reboot your computer for you.
> You can download visual styles from the same site listed above, but I have found a much better selection HERE
> All you have to do now is extract the zipped styles to C:\WINDOWS\Resources\Themes
> Now you can apply the new visual styles by right clicking the desktop and selecting "Properties" and then going to the "Themes" tab.

And that's all there is to it! You get new visual styles without any 3rd party interface or unnecessary services running in the background. The same concept can be applied to Vista as well, and all you need to apply new visual styles are the hacked system files which can be found HERE (Both x64 and 32 bit versions are listed) Since Vista hasn't been out long there aren't too many visual styles available, but a good place to keep and eye on is Deviant Art.

Friday, March 23, 2007

WDS Rocks! The COMPLETE guide to using WDS to deploy XP images

Those of you who work as a network administrator and have to deal with either the addition of multiple computers to a network or constant reformatting are surely familiar with RIS, or Remote Installation Services. RIS is a great way to easily deploy images across a network, and best of all it's a free program included with Windows Server! However, I have experienced great pains in the past dealing with troublesome network drivers (Damn Intel Pro 100VE!) which will prevent you from successfully deploying your image. In order to add the appropriate network driver to your image you had to create the dreaded \$oem$\$1\Drivers\Nic series of folders that RIS could recognize and then modify the .sif file. Of course, this is easier said than done, and not all network drivers worked will with RIS. Well, for me those days are gone, now that windows has released WDS or Windows Deployment Services. WDS is the new, updated version of RIS that was designed for Vista deployment from the upcoming Longhorn Server which is to be released later this year. WDS is included in the newly released Windows 2003 SP2, or it can be downloaded independently from Microsoft. Not planning on running Vista in your organization? No problem, WDS works great with XP Pro as well! WDS uses a new format for images called a WIM, which when used with Vista is hardware independent. That's right, from now on as far as Vista is concerned you do not have to worry about hardware abstraction layers anymore! You can also service the image offline, including adding and deleting optional components, updates, and drivers, without fundamentally creating a new image. In the following steps I will describe how to use WDS to deploy XP Pro images across your network from a Windows 2003 server:

> Download the Microsoft Vista AIK or Automated Installation Kit here
> Burn the Image to disc or mount with Daemon tools which can be found here
> Right click and Explore the AIK Disc
> Open the WDS folder and install the appropriate WDS version: 64 bit or x86 then reboot the server
> Double click the WinPE Zip file and extract both files: F1_WinPE and F3_WinPE
The files you have extracted in the last step are WinPE bootable operating systems, which will be used to capture the sysprepped image and upload it to the server. To deploy the images you will PXE boot into these PE os environments to install the sysprepped image on a bare metal computer.
> Start WDS and follow the configuration steps listed below:

1. On the Start menu, click Administrative Tools, and then click Windows Deployment Services
2. In the left pane of the Windows Deployment Services MMC snap-in, expand the server list.

3. Click the server that you want to manage..

4. If the server is not in the servers list, right-click the Servers node to add a server.

5. In the Add Server(s) dialog box, click Another computer, and then browse to select the computer to manage.

6. In the Add Server Warning dialog box, click Yes to add the server.

7. Right-click the server that you want to manage, and click Configure Server to start the Windows Deployment Services Configuration Wizard.

8. At the Welcome page, click Next.

9. At the Remote Installation Folder Location page, click Next to accept the default location (C:\RemoteInstall).

10.If the Microsoft DHCP service is on the server that is being configured as a Windows Deployment Services server, set DHCP Option 60 to PXEClient and set Windows Deployment Services to Do not listen on Port 67.

11. On the PXE Server Initial Settings page, click Respond to all (known and unknown) client computers.

12. Click Finish

> Now in the WDS MMC right click the "Boot Images" folder and select "Add Boot Image"
> Browse to the location you saved the WinPE we extracted earlier: F1_WinPE and F3_WinPE
> Select to add both images and once finished restart WDS and a few boot images will now appear in the "Boot Images" folder, but the one we will concentrate on is the "Windows Vista PE" image.
> Right click the "Windows Vista PE" image and select "Create Capture Boot Image" This is the PE environment we will use to move our sysprep image from the workstation to the server.
> Name the capture image and select a place to save it and click Next
> Now right click the "Boot Images" folder and select to add another boot image
> Navigate to the location you just saved you capture image and import it to WDS
> You will now see your capture image in the "Boot Images" folder, and this means we are now ready to get our workstation ready to be sysprepped!
> Install Windows XP Pro on the workstation along with whatever software you would like on the image to be deployed such as Office 2003, Acrobat etc.
> Create a folder in the root of the C: drive called sysprep
> Put the Windows XP Cd in the drive and navigate to the Support folder
> Extract "Deploy" to the sysprep folder on the root of C; that you just made
> Go to the sysprep folder and double click "setupmgr.exe" to create the answer file needed for an automatic installation on Windows.
> In the setup manager fill in whatever info you would like such as registration key, default settings etc. This will automatically place the unattended answer file in the appropriate place for Windows to retrieve the information during install.
> Go to the sysprep folder on the root of C: and double click the sysprep executable
> IMPORTANT: In order to properly image your computer to the WDS server you must remove ALL sid information, so tick the box "Use Mini Setup" and click the "RESEAL" button
> Sysprep now does it's thing and shuts the computer down. Assuming your workstation to be imaged is configured to PXE boot restart and press F12 and select Network Boot (If not go into the BIOS and configure the workstation to PXE boot prior to this step)
> The workstation will now get a DHCP address from the WDS server and a text-based selection screen will pop up.
> Select the capture image you created earlier
> You are now booted into a Vista PE environment. Follow the steps to image the appropriate volume and choose a location to save the image on the WDS server.
> Grab a coffee and wait for the image to be moved to the server
> We have now successfully imaged an XP workstation and saved it on the WDS server as a WIM image format!
> On the WDS server right click "Install Images" and select to add an install image
> Browse to the location you saved the sysprepped image we just uploaded to the server and select it.
> The XP Pro image is now located in the "Install Images" folder
> Now go to a bare metal PC with the same HAL as the image machine (HAL independence is only a feature of Vista images) and PXE boot
> Now select the "Microsoft Windows Vista PE", NOT the capture image! We do not want to capture an image in this step, we want to install one!
> A Vista PE install environment opens and you can now select the XP Pro image to install


And that's it! Since we are using a Vista PE 2.0 environment that has all modern network drivers slipstreamed we no longer have to worry about adding the drivers just to install the image. What's more, you may have noticed a "Add Drivers" link in the PE environment install page, which can be used to automatically add drivers to the install image by CD or USB key! No more modifying .sif files, no more driver directories on the flat RIS image!

Thursday, March 22, 2007

FTP on a Windows Domain...the easy way.

At the company I work for, we have a "plethora" of clients and vendors we have to swap files with. Some of these files are Photoshop files, so they can be Gigs in size on occasion. When moving files this large it only make sense to host your own FTP server. This way, you can move files TO the FTP via a 100mb or Gigabit link, depending on your network. This cuts the time in half for getting a file to or from a client\vendor, since you will always be retrieving the file or putting the file on the FTP with a big pipe. You also want the ability to easily control access to different folders on your FTP, and easily create FTP users and passwords. Unfortunately, creating users in active directory and assigning permissions is the LONG way down this road. I don't know about you, but I like to keep my active directory clean and organized, and creating containers for FTP users and mixing that up with the users on my LAN just doesn't seem like a good idea. There is always the possibility for error, and you might give one of these people access to something that they shouldn't. For example, you might create user Joe Blow with the intention of giving him FTP access to a single folder, but by mistake he is a member of the "Domain users" group, which depending on your network might give him access to your company portal. Now I know what you are saying: "Just create an FTP user template, test it, and create all subsequent users that way." Alright, that would work, but there is a much easier way, and it's called Serv-U FTP Server.

Serv-U is available as a free download as the Personal Edition, but this will limit you to 5 users, which is unacceptable for a business. The Standard Edition gives you the ability to have 100 users on a single domain, with 25 concurrent connections, which is more a corporations speed. Here's an example of how easy it is to use Serv-U to set up a password protected folder for Joe Blow:

Make sure port 21 is forwarded through your firewall to the server hosting Serv-U
Install Serv-U on a server in your DMZ
Create a folder on the root of the server hosting Serv-U named "Joe_FTP"
Start up Serv-U and go to the "Users" node
Right click "users" to create a new user
Create the username for Joe Blow and click Next
Create the password for Joe Blow and click Next
Name the directory you would like Joe to have access to, in this case we would enter: c:\joe_ftp
Make sure "Lock user in home directory" is checked to keep Joe out of anything else and click Finish
Go to the "Directory Access" tab for Joe's account
Give Joe whatever permissions you feel are necessary. For example, if Joe only needs to retrieve a file from his folder, just give him the "Read" permission.

And that's it! To further simplify the process, install Serv-U on your desktop and during the install point it to the server hosting the Serv-U FTP site so you can create users from your workstation! You can also create a "Master" FTP folder on the FTP server and map that folder to your desktop so you can create directories as needed all in one fell swoop from your personal desktop.

This process simplifies the burden of creating FTP folders and user accounts, all while keeping everything separate from your active directory. This is only the tip of the iceberg, since you can also control FTP access with Serv-U by IP address, as well as add time limits, create bandwidth restrictions, enable upload and download ratios etc.