Well, you have a range of different options.
Change Your Game Metaphor
Does this happen 'all the time' with your group? Not all RPG campaigns are dependent on the "we all work together in a happy little party" model. I always like to bring up Amber Diceless Roleplaying, one of the early games, in which each player being largely opposed to the others was the default metaphor. There are more modern storygames like Fiasco that go this way too, though you can do it in any system really, it's more a way of running a game. If your players chronically don't like the "happy little party" metaphor, don't require it as a part of the campaign setup. Think about all the TV dramas. In how many of them does everyone get along well? Very few.
Solve It In The Game World
Speaking of TV shows with discord in the group - often it is handled by an in-game setup forcing them to cooperate. There's "light forcing," like in Burn Notice, where they main characters are kinda in the same situation and know each other, so there's some friendship bonds etc. in play. Then there's "heavy forcing," like in Walking Dead. It's a zombie apocalypse! Don't like that other guy? Tough titties, unless you think you can go it alone. Or there's stuff like all being part of the military or other non-optional formative unit. "Hey sarge I don't like the way that other guy does stuff!" "HOW ABOUT A NICE HEAPING CUP OF SHUT THE F@#@ UP!" Usually junk like this dissipates if people are properly engaged and challenged in whatever else is going on.
These kind of bonds can be set up a priori by the GM, or they can be created by the characters. Our groups over the last like decade have put some of the responsibility for this on the players in terms of coming up with some starting party metaphor that takes the primary responsibility off the GM to "keep the party together."
Often times disruptiveness is justified by roleplay. But I find that when you press for more immersive roleplay, PCs start to realize that they have bonds with these people... In one long campaign we had a party with a "goody goody" faction and a "getting too into the Cthulhu magic" faction, but they were on an important mission and had to talk it out amongst themselves in game. We all have work groups, gaming groups, etc. with both Christians and pagans, straight and gay, etc... A properly immersive RPG party has both the conflict and the bonds that keep people together despite them.
Metagaming
I strongly believe in trying in-world first, but there is some metagaming stuff to try. Ask the PCs what's up - maybe they don't want a party metaphor at all (see solution 1) but have been in the D&D Ghetto all their life and don't know another option exists. Maybe one (or both) of them likes the character conflict, just sees it as "acting," and doesn't know you're crying in your beer about it.
And of course it's worth having them engaged in trying to "play their characters" in a way that might keep the group more on track. It's very immature to consider that the GM's job and a lot of your stress is coming from the fact you seem to think it is. Just run the game, you're not their mom. Say "I can run a normal party game, or we can try a competitive kind of game, but if we all agree it's a normal party game y'all have to work it out, or kill each other, or whatever your characters would do - but it's not my job to get involved in your beef."
And if course if a character "leaves" - well, have them roll a new character. "I can't deal with these cultists I'm off to purify myself in a monastery!" "OK, great, roll a new character, I'm only really interested in running the group on the main quest in this game..."
Other Stuff To Try
Courtesy your friendly neighborhood RPG.SE.
- Try out game mechanics that encourage team cohesion
- Wrangle
one problem player
- Come up with a good mutual starting party
story
Roles Can Be A Bummer
Making actions/options not available to people can force people out of the magic circle pretty quickly. Sure, roles can help people feel special, but it can go overboard. This does not mean that the rogue shouldn't be stealthy, or that the cleric can't be tank-y, but not being able to use or do something because of an arbitrary class restriction breaks the circle, which means less fun for everyone.
Sometimes, multiple people actually can do the same thing, and that should happen sometimes. If every task you throw at the player characters cannot be accomplished except for 1 person's specialization, it may be a harder adventure than these players (as a group) are fit for. Not that there can't be a situation where you need a particular player to do a something, but that it shouldn't happen all the time.
Perhaps It is a Matter of Perception
So maybe this player is simply just does not imagine the same thing you do. You can try to reinforce what you envision by describing what is going on. Is she/he making informed choices? Does she/he realize what the gravity of the situation, or how her/his character has certain strengths?
Does this player realize the cleric is running around in thick armor, while that player's character is running around in normal clothes? For example, if I think the cleric is running around in normal clothes, and goes into combat and comes out unscathed, I could run in my normal clothes, and also come out unscathed.
If this is the problem, you simply need to be more descriptive! Describe how the cleric is wearing armor, or how the rogue is especially cat-like, and how this player's character is not.
For Games Which Depend On Roles
It may be time to have your other players step up. Have the cleric yell at the other character to stay back, or that the cleric "has this." Alternatively, the cleric may ask "PEASE SUMMON THIS TO HELP ME!" as he charges in.
If the rogue attempts to sneak around, the rogue can give specific instructions; "Can you make a distraction over there?" "Wait here, and if I'm not back in 15 minutes, go get the others to rescue me." Or even: "this looks super dangerous. I don't think you'll make it. We don't want to get ourselves killed, yeah?"
In short, give him tasks, or have the other players give him tasks to help with things. Talking is a free action in combat; use it. This is especially good for players who may be experiencing some mental handicap; it gives them something concrete to act on. It allows them to contribute (which feels great and is fun) without going through negative experiences.
Finally, a player or the DM can specifically highlight when certain actions will require a specific specialization, and who has that training. If it becomes obvious that a task is dangerous and requires training, then most people leave it to the person with the training. The DM can further forbid people without specialization from trying, stating that it's obviously too hard. This is more "hand-holdy" than some people like it, but sometimes people just need their hands held.
Talk About It
Talk with the player about the roles. What is her/his character good at? What should she/he focus on? These other characters have something special about them, what is she/he special at?
Talk about how their character is so good at magic/whatever else, and how they should try to make their magic/whatever else be the solution for the current situation. (After all, we're solving these situations using our strengths, use your strengths to help solve it!)
Tough Love
Finally, you may have to resort to letting the consequences of this player's action happen. Let the events, despite other character's best efforts, happen. Talk about how that character was not focusing on what they were good at, or how their play-style does not match up well with the class they chose. Make a new character that does okay at everything, such as most games' version of a "bard." Note: this does not mean make a character who is rule-breaking and superior to all the others, but one that stands a decent chance at performing many things, and isn't a large risk to the success of most tasks.
Best Answer
This situation is certainly less than optimal and not something any of us like to deal with. And while I don't have problems with players falling asleep, I do have experience with players that are easily distracted. So here are a few ideas I have to help you reengage your players.
Talk to them openly, honestly and calmly Outside of game time, be upfront with them about how you feel and through an open and calm discourse brainstorm specific solutions that you and your players think will help keep everyone equally engaged in the story.
Remind Them During Game one big thing that helps me is when players start day dreaming or what ever, is to say "Hey Dan, important things are happening and it might behoove you to pay attention." Get more stern the next time, "Dan, I already asked you once to pay attention, when you keep playing on your phone, it's distracting to me and that causes me to tell a sub-par story...not to mention having to take time out to remind you not to play Tetris on your phone takes valuable game time away from the people who are paying attention." and if they still continue, refer to the more harsh punishments in the "Less Ideal Solution" section.
Disallow Phones/Electronics By reducing the amount of distractions at the table you might see improved engagement from the players. You can allow them to use electronics to check PDFs of rule books, but no Facebooking and phones should probably be turned off.
Try to Change the Game Time Due to your problem including people falling asleep, a meeting time change might be a good option. Talk to your player and ask him why he is nodding off during play, did he get a new job? Start new hours? Does he have a newborn child? There are a myriad of possibilities and combined effort to find solutions to his sleep ailments could prove helpful to your plight. Perhaps playing earlier in the day would make it easier for your player to ward off sleepiness.
Take a Break Maybe the reason people are not engaged is as simple as being burnt out. I know, as a DM, this is like asking you to cut off an appendage you are overly fond of. We never want to break from our hard thought out campaign. We spend so much time preparing sessions, intricate story arcs, PC development, world building, etc. that we (or at least me) would probably like to play more than 1 night a week. Nevertheless, some players don't realize, appreciate, care or pay any attention to the work we put into giving them a great experience. One option would be to perhaps try a palette cleanser. Take a break from your current game and try something new! It could be a different RPG, or even a different setting with new characters with in your game of choice.
This has worked well for me. We have only been playing our current campaign (D&D) for 5-6 months and my players were getting visibly burnt out with the current state of the game, we had been stuck in the same place since the start, and even though they were advancing the plot they really needed a change of scenery. To remedy this we played All Flesh Must be Eaten on Halloween and again around Christmas. We also played 2 sessions of D&D with different characters in a different part of the world quite recently. All of these times have served to give them a breather from the long running campaign and get them excited to get back to their regular characters.
Less Ideal Solution
Hopefully you will not have to resort to punishments, but as DM we assume the role of referee, and sometimes the refs need to put the players in the penalty box. It's never pleasant but sometimes necessary. I do strongly suggest talking to your player who keeps falling asleep and home in on why he is nodding off, solutions that work best usually present themselves through a cooperative collaboration between the people involved. Much luck to you in your struggle!