What most people don't know is that at most restaurants, waiters and waitresses have to tip out the cooks, greeters and table bussers based on percentage of their total gross sales. They have to pay out regardless if they were tipped or not, so if you don't tip a waiter or waitress on a large bill you can actually cost them money. For this reason I pretty much always tip unless the waiter was rude or provided terrible service.
As a rule of thumb, I will tip 10% on waiters or waitresses who provide average service, and up to 20% on servers who provide amazing service or when you have a large party.
You should calculate this number off the total value of the bill before tax. So if you had an amazing server, and your bill was $100 before tax; you would give them a $20 tip. If their service was just average, you would tip $10.
Hopefully this provides some insight into how to tip your server!