I don't understand how this could work for a real-time game. I don't know what the input format is like but assuming you need to provide control commands eg:
{accelerate:1.0, steer:-0.01, brake:0}
Then the behaviour of my car depends wholly on when that command arrives at the server. If there is a small delay it could have a dramatic effect on the position of the car. Similarly, my AI needs to react to information sent by the server which similarly could be delayed when sending over TCP.Assuming the input format is the actual status of the car, eg:
{positionx:123, positiony:234}
Then what is to stop me from submitting illegal inputs? Validation might work but it will be impossible for me to validate the output of my AI without access to the simulation code (apparently that is being kept closed source).Maybe there is another technical solution I haven't thought of? Or maybe the simulation won't run in realtime but will actually work on fixed time steps?