You’ve misunderstood what we are sending the server.
Think of a ship with controls. We are sending what the user is pressing, turning, etc… It’s up to the ship decide what to do with that information. What does speed “3” mean? It’s 3x more than speed 1.
How that turns into thrust is completely up to the server. The pilot can press that button as hard as he wants, it doesn’t necessarily mean that the ship will fly any faster.
Similarly for turn speed (which I think is not sent at all as we send raw rotation, yes?). We send to the server the direction the player is looking at that time because we decouple looking from the actual ship to avoid making them sick. It’s still up to the server code to decide how to make the ship orient to that look vector. The simple case, we just force them to be the same but that need not be what happens.
I’ve directly coupled these things together for simplicity but in a real game you certainly wouldn’t. The values in the player input messages would just be recommendations to the ship driver object.
Edit: and note if you ever did decouple the speed/strafe values from thrust then you could rescale them back to 0 to 1… where 1 is the “fast mode/boost” and some fraction of 1 is normal speed. Else if you wish to modify boost as a limited resource then speed and boost would be two separate parameters sent… and both could be 0…1. Continuous values are nice for joystick control where a little stick gets a little movement.