!X means "communication administratively prohibited" and !Z "communication with destination host administratively prohibited" As far as I remember, you get !X on ipv4 and !Z on ipv6 and it should be documented in the man (8) pages.
Since Linux uses UDP for trace-routes, this can originate from a
--reject-with icmp-host-prohibited rule at the destination. Some Linux distros have this as a default configuration. To fix this you need to reply with
--reject-with icmp-port-unreachable on UDP ports 33434 through 33534.