Triple redudant system descentralized

I’m building a triple redundant system with PX4. To test the system I’m doing the Software In The Loop but I have to run 3 fight stack at the same simulator: jmavsim or gazebo. Just one of the PX4 will be on charge, the other two will be running but not sending the outputs to the simulator although they need to be ready to change with the PX4 on charge and take its place at any time if I detect a failure based on the estimator_status message. Is it possible to do some changes at the PX4 code allowing to accept data from Gazebo on the 3 fight stack but just one of them sending output values to Gazebo? Does the TCP protocol with gazebo allow me to connect the 3 flight stack and to change the PX4 flight stack which is sending the outputs in flight ? Thanks in advance!