I'll see if I can find last year's "graduation party" thread..... lots of good ideas there.
But basically, there are plenty of places that will let you rent a small hall if you want to do a party away from home (catered or do-it-yourself food)....
American Legion, Masonic Lodges, churches and temples, Grange halls, KofC.... some are nicer than others, so definitely check them out. The nice thing about these is that they usually have a full kitchen (with dishes, glassware, and silverware), and plenty of tables and chairs. The drawbacks is that sometimes they are a little rundown or you have to be a member. But the prices are very reasonable and then you could choose to have it catered or do the food yourself (although if you plan to serve liquor, most churches and temples would be out).
Some restaurants and hotels will give you a private room for 20-ish people, but there is usually a food and drink minimum associated with that.... and most restaurants will not let you bring in ANY outside food (although most I've found will let you bring in a decorated sheet cake).
We have usually had our kids' birthday parties here at home, but that didn't stop us from having DD"s graduation party here. We tried to make it extra special with the decorations. Plus we rented a small party tent (to supplement the back deck area), plus tables and chairs.
The food was done buffet style (mostly in chafing dishes and a few crockpots, although I hate the look of crockpots on a "fancier" buffet

), but I still ran around like a NUT for most of the party and will do things a bit differently in a few years for DS's party.
Good luck with whatever you decide to do!.............P