Making a match schedule

Soooo, I’m not entirely sure this counts as a maths-problem, though I think it might be possible to solve it mathematically, hence the post

BACKSTORY – skip this for TL;DR

A couple of mates and myself started a FIFA competition some time ago. We live some time apart but this way we can play against each other in a season format, without having to travel all the time. Every once in a while we get together for beers, pizza and some good ol’ head to head FIFA. We started out with I believe 4, but we’ve grown to a group of 9 now, which is great. Every time we have our FIFA-fest (as we like to call it) I am tasked with making a one-night match schedule, which is something I like to do. From the moment we reached 5 people I’ve tried to make a schedule with 2v2 matches only, mixing teams all the time. There’s a challenge to make the schedule so you play with every player the same number of times, and against every player the same number of times. While this game (as player 1) you might play with 2 against 3 and 4. The next, you’ll play with player 4 against 2 and 5. Scores are then tallied individually with a single winner in the end.

This time, we’re with 9. And I’m stuck.

PROBLEM

So we’re with 9 players, numbered 1 to 9. I want to make a match schedule that uses 2v2 matches only, mixing teams every game. I want to end up with a schedule that has every player play with everyone else once, and against every opponent the same number of times.

Matches will look something like this:

Player 1 and player 2 versus player 3 and player 4 (denoted as 12-34). See EXAMLPE below.

There’s a total of 36 team combinations to make (8 for player 1 + 7 for player 2 etc), so for a single (half-) season we’d end up with 18 matches.

I think it should be possible to work this out, but I can’t make it work somehow. I end up with the opponents being unevenly distributed, for example player 7 playing against player 6 for 3 times, while only once against player 4.

QUESTION

Can you help me make this schedule? Or at least explain to me why this cannot work. Is there any mathematics to this?

I’ve managed to make this work with 8 players, and I remember having to make a work-around with 7 players because it didn’t pan out.

EXAMPLE:

Player 1:

12-34

13-45

14-56

15-67

16-78

17-89

18-29

19-23

Player 2:

12-34 (already filled in at Player 1 row)

23-19 (same)

24-37

25-68

26-57

27-59

28-46

29-18 (same)

Now this may seem like a good start. But already 5 and 6 are pitted against each other 3 times. While in this format everyone should play against each other just twice. And this is a problem I’m getting every single time.