Shove is not implemented the way it should be by the 5e rules. Players Handbook, page 195:
Using the Attack action, you can make a special melee attack to shove a creature, either to knock it prone, -OR- push it away from you. If you're able to make multiple attacks with the Attack action, this replaces one of them.
The target must be no more than one size larger than you and must be within your reach. Instead of making an attack roll, you make an Athletics check contested by the target's Athletics or Acrobatics (whichever is higher). You succeed automatically if the target is incapacitated. If you succeed, you either knock the target prone, or knock it 5 feet away from you.
For the sake of the Rule of Cool, the part about only knocking the target 5 feet away can be ignored, because that's more fun. The rule about knocking them prone instead could maybe be ignored for the sake of simplicity. But the rest cannot be.
Not only is Shove far too strong by being a bonus action instead of a full action, it also seemingly works just about all the time. I looked at the combat log and there is NO check for the shove attack. If it CAN fail, the contested check rolls should be displayed in the combat log, like they are for attacks. The roll should be against the target's Athletics or Acrobatics, whichever is higher.
EDIT 2: My Suggestions, simplified.
- Shove should be a contested Athletics d20 check, versus a d20 check modified by the higher of the target's Acrobatics or Athletics. Higher score succeeds.
- Display the check in the combat log.
- The attacker rolls with advantage if the attacker is one size category larger that the target. If the attacker is two categories larger than the target, the shove automatically succeeds.
- The attacker rolls with disadvantage if the target is one size category larger than the attacker. If the target is two categories larger than the attacker, the shove automatically fails.
- The attacker rolls with advantage if the target has the surprised condition.
- If the target is completely unaware, the shove is an automatic success, if the attacker is the same size category or larger than the target.
- If the target is completely unaware, the shove is a contested roll if the attacker is one size category SMALLER than the target. (A straight roll, as the advantage from the target being unaware is cancelled by the target being a larger size than the attacker.)
- Shove should be a bonus action for Fighters and Barbarians, and a full action for every other class.
- Mage Hands should not be able to shove living creatures (or undead, constructs, summons, etc). Shoving dead bodies is fine.
To be clear about this suggestion:
- Shove should be a bonus action for Fighters and Barbarians, and a full action for every other class.
I am also completely fine with making Shove a full attack action for everyone. My reasoning for that suggestion is because it's a compromise between Larian's concern about Fighters feeling like there's not much to do in the early game, and the actual 5e rules.
Perhaps eventually, there could be two variations of shove implemented as well, one which pushes, the other knocks the target prone in place. But that seems like it could be complicated or confusing.