Thanks for the reply!
1 and 3, got it.
2, I'm lost now. I'm fairly new to this and I've never done a dedicated server before. I test by having one instance run as a server, and then 2+ instances run as clients. All the server instance does is the logic, and then I send back the data of the position/rotation from the server instance the exact same way I send the input from the clients.
Is there a different/better way of doing this that I'm missing?