Your job is never to get recognition and praise for hard work. Your job is to make your boss look good. It sucks to not get credit for your work, but that's how things are. A team player is someone who doesn't care about individual praise, but makes others look good.
You keep your head down, do good work, make your boss look good and hope someone notices when it comes time for raises, contracts, promotions, and so on. If it doesn't, well, that's why you should be making use of all the training and education opportunities your job offers so you can take those skills and get a better job somewhere else. Most people aren't at a job longer than 5 years these days, so do everything to get more skills and good recommendations.