Probably the most basic thing to wear to in one of these situations is Under Armour. This is basically a tight-fitting shirt that goes under one's jersey. The most common colors are white and black, and they are really a soccer players go-to for cold and wet games. Don't think that you can get off with a normal, cotton long-sleeved shirt, because those will soak up rain/sweat and weigh you down. Unfortunately Under Armour does not totally repel the water, and it can weigh you down, but definitely not as much as cotton. I have yet to find a completely repellent undershirt, but for now Under Armour works well.
My second go-to, for games that require more warmth than just Under Armour, I use a thick, ear-covering headband. This is worn along the hairline, not touching the ponytail. I prefer this to a normal beanie, as beanies tend to fall off in games or can be difficult to wear with a ponytail. I find that it provides the same amount of warmth, and fits very nicely. The headband I use is from Nike, but they can be found at stores such as Walmart too.
A very helpful article of clothing that I do not take advantage of enough, is gloves. The hands tend to get very cold during games, and having gloves can be very comfortable. In addition, I recommend putting hand warmers inside the gloves to create more warmth.
Under Armour leggings are for VERY extreme conditions, and I rarely have the need for them. But for those playing in the snow or in freezing temperatures, these are great. Players are not allowed to wear sweats during a game, so these can be worn under the shorts and socks for the same effect.
While sweats and jackets cannot actually be worn during a game, I strongly recommend wearing them during warm-up and whenever on the bench.
Those are my must-haves for all rainy and freezing games, and hopeful they help you out with your next game! If you have your own ideas, feel free to comment them below!