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
- Penalize their characters Don't remove XP, levels, items or anything they have, but if the above doesn't work you can always try things like:
- Skip them on their turn, after you let them know. "Hey Dan, I notice you are playing on your phone again after we discussed not doing that... you are going to be skipped this turn, please keep your eye on the prize!"
- Give less or no loot/XP for a session. If things were really bad with people getting distracted and not responding to your reminders during game to pay attention, dock them that night's XP. "After talking about paying attention out of game and your blatant disregard for my requests for you to pay attention tonight, you shall not be getting any rewards this session. Sorry everyone. Next time be on your game and maybe I'll give you some of tonight's XP on top of what you earn then." (Maybe after the next session if they are more engaged you could give them 50% of the XP lost on the really bad night.)
- If it is one player who is the real problem child you can do the above step, but isolate them while rewarding those that do make an effort to remain focused.
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!
My suggestions, coming from the other side of the fence where I (and some of the other players) feel that the DM plays a little too fast and loose with the rules, and makes changes to things that we think ought to be "canon" for the well-known world we are playing in:
1) Be willing to consider that the player may be right. Allow him to make a brief argument referencing the rules. Then make a ruling. Make a mental note of how often you rule against the player versus how often you change your mind and agree with him, and try (later, outside the session) to assess whether you're being particularly harsh and/or truly weakening one character's abilities relative to the others'.
2) Be firm if you still disagree with him. If he still disagrees with your ruling, tell him, "I need to ask you to go with the DM ruling for the moment and we can discuss it more later outside of game time, to figure out how we'll play this type of situation in the future."
2a) Try to offer the player another way to reach his objective. Say something like, "Look, the rules say that you give away your position if you attack from hiding. If you then, in full view of the enemy, duck behind the same tree, they are going to know where you are, even if you are so well hidden that they can't perceive you. Thus you do not get the advantages of being hidden in that case. Now if on your next turn you stealthily move to the next tree and hide there without being noticed, and then attack, that would be unexpected and give advantage."
3) Ask players not to use the Monster Manual at the table, and to avoid using metagame knowledge about monsters. That said, try not to mess with well-known monsters in a canonical setting without a really good story justification. If you're playing in a canonical setting, Mummies are going to be something that most adventurers will know the legends of, and the way that Mummies are described in this universe really does preclude a "good-aligned Mummy". If there's going to be a good-aligned Mummy, there should be a good story to go with that, to say how that happened contrary to the usual Mummy creation process, that the PCs have at least been given hints about. Otherwise, yeah, it's pretty appropriate for a PC to automatically kill any Mummy he comes across on sight. They will know the stories....
Note that the 5e MM does say (page 7 if need a reference for your rules lawyer):
The alignment specified in a monster's stat block is the default. Feel free to depart from it and change a monster's alignment to suit the needs of your campaign. If you want a good-aligned green dragon or an evil storm giant, there's nothing stopping you".
However, unless there is a good story behind the anomalous alignment, and your PCs have access to clues about that story, I think it would usually be better (and annoy your players less) if you either make up a new monster that isn't in the MM, or be clear that you are playing in a non-canonical setting and using monsters that don't match the descriptions in the MM. Even in a canonical setting, you can play variations on less-legendary monsters, but be clear (out of character) with your players that this is what you are doing. In all cases, allow the players relevant checks to recall some in-game, in-setting lore about the monster you are actually playing.
For example instead of just putting in a good-aligned Mummy you could say, "You see a medium-sized humanoid, wrapped in bandages. Make a religion check". Tell everyone with a low score that they think it's a Mummy. Tell whoever got the highest check, "Because of [some detail that they can perceive] you think this might not be a true Mummy but rather a Pseudo-Mummy. Pseudo-Mummies are created by a different process than True Mummies and in some cases can maintain their pre-death alignment." If you want, you can go into the process more, or you can just say that the character doesn't know any more than that. Now you have a good-aligned Mummy that your player shouldn't complain about.
4) Consider having a talk with the players about what game everyone wants to play. You have a conflict in play style with the "rules lawyer" player. Do the others also want to play "his" game, or do they prefer your approach? Can whoever is in the minority live with adjusting their expectations to what the group as a whole prefers? Can there be some compromise?
Best Answer
The usual advice is talk to the player in the first instance, or to the DM if you are uncomfortable with approaching the player directly.
At the end of the day it is the DM's responsibility to ensure everyone is having fun, but they often need a prompt from the players to recognize that something has crossed the line from "slightly annoying" to "morale-sapping".
As a DM, the first step is to approach the player and have a word. Often the player simply doesn't realize they've been causing friction (maybe they're bad at picking up nonverbal cues, for example).
The next step is to adjust the game flow to reduce how often such a situation comes up - whether it's actively monitoring and reining in the player, printing out cheat sheets for situations that often hold up the game, or setting some sort of limit on out-of-game chatter (personally I use a "take five" rule with a little timer at regular intervals).
If the DM is unable or unwilling to address the problem (maybe they're cutting a close friend too much slack, maybe the problem player doesn't take them seriously, etc) you should consider having a group discussion. Often this is a prelude to the player leaving (or being asked to leave), so diplomacy and tact are important especially if all you want is for someone to cultivate a tiny bit more patience!
One constructive way to channel his frustration might be to get him writing the cheat sheet for the questions that annoy him. When you're an expert at something it can be hard to remember how much there is for a beginner to learn.