I do not recommend option 2, because you have less control than option 1 and 3. If you need only to host a server for friends, I recommend that you host it with your own PC.
Either way even if you find a free host you will have to know that:
1. Your files will not be safe, someone can steal them.
2. You will have little to no control, mostly if the guy who hosts is offline or in a different time zone.
3. It wont last long, talking from experience, those hosts last for a few months if you are lucky.
4. You might not get features like:
4a. Back up system, you might lose your files in case of some reason so you will have to back up your files pretty often, which sucks.
4b. No anti crash (DoS and the like) so you are pretty easy to crash.
4c. No anti restart, similar to 4b this is the plan B, in case your server crashed because 4b didn't work there should be a feature to restart your server which is very useful but not often given.
Overall just host it on your computer or on a old machine you are not using and leave it on 24/7, I do that and everything is fine.
You can get a dedicated binary for server hosting from this place. Just download the dedicated server which is compatible with your OS, extract to your CS2D folder, run it and this is it.
This little documentation is helpful if you're inexperienced at using the dedicated server.
Guys stop asking and sending private messages to get servers.
As I said I'll be hosting CS2D servers again soon when I'm free, so please be patient till I post about it in