Anything to replace firewall-cmd? (I know about ufw but it just feels too simple for my use case).
firewall-cmd commands are all fucked up and it feels like they use different verbs for very similar actions. Plus - - help is a few miles long which is not helpful. I just wish that it would have subcommands. Something like firewall-cmd zone public info
There are a couple of things you can do. If it is frozen then try pressing ctrl+alt+1/2/3/4 to swith to a different terminal this will let you either restart your DE or reboot the system safely.
As far as debugging it I would typically start with looking at journal logs
journalctl -b-1should show you logs from the last boot.