Whoops! After cleaning up some virtual machines, I went too aggressive on some normal machines and removed some necessary stuff. I think I'll be able to fix this though, as I'm still able to issue commands via ssh.
I reinstalled and re-enabled udev but I was still having problems, so I did this:
ssh example.com "sudo bash -i" echo "none /dev/pts devpts defaults 0 0" >> /etc/fstab mount -a
Then I was able to login again.