You are wise to realize your current situation is untenable. As a fellow non-socialite I have the following suggestions.
1.) Stick to what you know. Make yourself go on outings with workmates or others who share your professional interests.
e.g. - I make myself go to social events with other physicists, even if my first choice would be to stay home and program/game/read. Help organize and/or participate in outings to see the latest Star Trek movie (or whatever). This is a great way to meet fellow geeks provided that your acquaintances are invited to bring their friends and it will cultivate relationships that will get you invited to other stuff, provided that you...
2.) PRACTICE not being a geeky asshole.
Yes being with people is hard work. PRACTICE being nice to them. Pick a role model that you think is suave and awesome: mine is Captain Picard (yes, I am embarrassed). Right before you roll your eyes and explain in childish terms to your acquaintance the differences between TCP and UDP (and GOD how could ANYONE not know this!) think to yourself: would --insert role model here-- do this?
3.) Go places and do stuff (examples below).
It's so simple but so often overlooked. What to know where I met my girlfriend? I audited a German class *three* years ago at a university. At the time she was in a relationship - *1.5 years ago* I saw her at a bus stop and asked her (in German) if she had been practicing the language. Instant relationship. The take-away message? Invest in your future. Join a book club, join a table top gaming club, go take guitar lessons at a place that does group lessons, join a choir (ok, maybe that's pushing the envelope...but I did it), go to craigslist>groups and see if something there interests you...do SOMETHING to get out and do things you like with others. Keep it up and it will pay off. The biggest dork I know goes to public dance nights every weekend. He found a fellow Linux T-shirt wearing girlfriend there -- and learned how to dance pretty well, to boot.
4.) Wash your clothes, wash yourself, lose a bit of weight, brush your teeth.
Yes, these physical processes matter, whether you want to admit it or not - and if these are things you have failed to do in the past, then the resulting change in your bearing will be noticeable to others.
5.) Be patient.
A relationship isn't something you can pick up at Kroger. It may take time for something to develop. Enjoy whatever events you chose in response to item #3 and allow this enjoyment to be satisfaction enough for you - for the time being. But always keep your eyes open for an opportunity to make an acquaintance into a friend - or a girlfriend! Keep in mind, the more good friends you make, the larger your social cross section becomes. You don't have to be Barack Obama to get a girlfriend - but it sure don't hurt.