You sound like a total defeatist with no confidence at all.
You will never attract a girl with that attitude.
Girls want a guy to have a reasonable amount of self confidence (we don't all want cocky guys but we want them to have some belief in themselves as decent human beings). If you are into the self-hating stuff why would a girl think you are worth her time?
You need to work on loving yourself before you will be of any use to a girl, sorry to sound harsh but it's true.
You say yourself that you are ugly and a geek, well why should a girl want you at all?
If you consider yourself ugly then work on your appearance. You can make yourself attractive without having to be some conventional hunk.
There are plenty of non-conventionally handsome men out there who get loads of women, how do you think they do it? Work on your personality if you don't think you can improve your looks, personality is so much more important.
Being a geek means nothing, whatever you might find geeky about yourself someone else will share that interest and enjoy too. The term 'geeky' is so subjective and means nothing. You need to get out of this self-insulting frame of mind.
When you don't look for it, if you work instead on improving yourself, you are far more likely to attract women to you.
Tell your Mum to back off and stop putting pressure on you, it's not helping.
If you have an interest (something outside of the house, so not computer games and such that isolate you further) try and get properly involved in it, you are more likely to meet people you will get on with who share your interests. Pubs and bars are not the only places to meet people.