I think there's a misalignment of the game the two sides want to play. The wonderful thing about D&D is that there's no right way to play it. You could spend an entire campaign cutting deals and playing a trader, provided the table can scrape together house rules sufficient to make that work. Alternately, you could play a dungeon crawler and effectively be playing a bunch of sociopaths that massacre their way through drow in the Underdark so that they can steal their lucky charms. Most groups run a more in the middle path where they work with a DM's provided NPCs to get their marching orders to go kill the drow and steal their lucky charms for the NPC. There's of course many other ways to play as well.
Regarding your specific problem, it appears to me that you and your players are not seeking the same game, and one or both sides isn't acknowledging that this is a cooperative game between DM and the players. Both sides need to be interested in the same play style for things to work at the table. Unfortunately, it appears that a discussion didn't occur early on to handle this matter and it appears you let your frustration on the matter explode at the table, and now everyone's cowed into submission for fear of angering you again and possibly the whole game being scrapped as a result.
The fact that the players have shown up and so dramatically reversed course is, in my opinion, a good thing for you. This means that they want to play, but they don't want it to be a burden for you. So I would recommend the following prior to your next session:
- Apologize for your behavior at the outset. You may have been right, but how you presented it may not have been. It brings you back down to their level and helps remind everybody that we're all friends here. D&D is not a game worth losing friends over.
- Discuss with the group how they envision the game should be and compare it to how you view it. Be advised that they may feel compelled to state that they want to be super diplomats, so ask if they had more fun playing murder hobos. It is extremely important to acknowledge that neither way is 'right'. We're playing make-believe, so it's a lot less necessary to worry how the Orc chieftain feels after the session's over.
- Be sure to discuss how you want the game to be, but be sure to provide a bit of "why" on that. You are the DM and the arbiter of the rules, but if you've no players then you're god of a pretty barren wasteland.
If you spend the entire session having this discussion and get no playtime in, that's fine. This is a very helpful discussion to have at times.
Personally, I occasionally have the opposite problem where I blow up a the table because I don't like the way a rule gets adjudicated. I've gotten better at it, but I do need to check myself and apologize when I get out of hand. I think folks would prefer it didn't happen at all, but when it does a lot can be accomplished with a sincere apology and discussion. This has gotten easier as I've gotten older (I'm 33) compared to when I was 20 something and knew everything.
Your party is in the middle of a classic movie plot, where the team has an initial setback caused by a failure to work together effectively. Take heart that these stories have happy endings.
Real feelings come first
Your players seem to be really sniping at each other, and you want to make sure there are no ill feelings after people step away from the table.
Many experienced players can really get snide or even downright nasty in-character, and then stand up from the table and laugh about it. Other players, though, might get their “real” feelings hurt by comments about their character’s performance.
Please keep an eye out for this. If your players are getting truly upset with each other as people, not just as party members, you should take a little break from the game. Have a little fun with each other doing something else, until everyone cools off. (Maybe watch one of those movies with the teamwork theme.)
So they really like your knight...
A common trope in the “Learning to work together as a team” plot is the wise outsider who helps the team overcome its problems (The Sphinx in Mystery Men, the Vision in The Avengers, Gandalf in The Hobbit/LOTR, etc.) In your case, it’s the knight who came to their rescue. So yes, use the knight to help solve your party’s teamwork problem.
In and out of game issues
You now have 2 voices to deal with the bickering issues: your knight for game issues, and your own voice, for out-of-game issues. If things seem to be getting personal, use your own voice and step back from the game.
“Sir Coach-a-lot”
You want the party to be able to stand on their own, but right now they are teetering. Let the knight coach them along until their are ready to act alone.
Your knight might tell the party, “I am really getting too old to be an adventurer. But you are such a promising team. If you can rise above your current problems, I feel you are destined to do great things. Should you so see fit, I will try to help. May I accompany you for you next journey?”
This lets you model a humble spirit of teamwork, and sets the expectation that the knight’s help is for a limited time. The knight’s goal is not to become the leader of the party, but to make them capable of leading themselves.
Coaching, not Commanding
Feel free to give general tactical advice in the voice of the knight. The battle at the city wall might have gone differently if the party had hit the enemy a little harder early on; the knight can explain how important it is to gain the upper hand.
In battle, keep the knight’s advice as general as possible, ultimately devolving to simple encouragement, a la, “You know what do do!”
You might give your knight a heart-breaking backstory themed failing to save a companion, and how he has worked to redeem himself. The moral of the story being: Everyone makes mistakes, sometimes leading to calamity. But resiliency in the face of adversity is the true test.
Model Resiliency
Your knight’s prime purpose is to change the tenor of the party to one where the characters support each other instead of blaming each other when things go sideways. Let him be almost relentlessly supportive of the other characters, and relentlessly humble about his own accomplishments.
When a character snipes at another (“Aren’t you ever going to cast a spell?”) he might simply rephrase it in a more positive way (“Your magic will turn the tide!”)
If a character does make a serious mistake, the knight can model dealing with it in a mature and humble way. If one party member starts laying into another for a mistake, the knight can intervene, “If you are going to blame someone, blame me. I promised I would help you work as a team, and I have not yet succeeded.”
Saying Goodbye
Keep the arrow of this plot pointed squarely at, “the knight will leave the party as soon as possible.” He will do so when he deems the party is ready. This should provide the party a feeling of pride, being ready to face the world on their own.
The other way to remove the knight from the party is to see that he meets a tragic end, perhaps sacrificing himself to save the party. This has the advantage of forcing the party to really stand on its own, but be aware it would permanently take away a good tool you have to influence the party.
Do whichever you feel is appropriate for your story. Just don’t feel you need to kill him to get him out of the party. The last thing you want is for his death to be the trigger that starts your party bickering again.
Best Answer
It's perfectly fair to not want part-time players
I run games periodically, and I would never accept someone in my game who could only show up half the time.
I've occasionally had players who developed scheduling conflicts and had to miss multiple sessions in a row. Generally I grit my teeth and put up with it, and if they still have scheduling conflicts when the adventure ends, I don't invite them to the next adventure.
In this case, banning your sister seems counterproductive
If you tell your sister she can't play with you, then your game will have even fewer players and your attendance problem will be even worse. It doesn't seem like this will help you.
It sounds like you're attempting to tell her she's required to play with you (meaning she has to skip her church thing) but in my experience this doesn't usually work -- it just causes the player to drop out entirely.
See if you can fix your problem some other way
Why are you playing in a game store at all? The usual reason to play in a game store is to recruit new players, but it sounds like that's not working for you. Can you play at someone's house instead? Or in a mall, or something?
Can you play on a different day, one when your sister doesn't have a conflict?
Your DM says she won't run a game if half the players are missing. But maybe she should amend that to "...if half the full-time players are missing", since it sounds like two of your play group don't really count.