Best approach for competitive racing multiplayer

Hello, we are the team behind Real Drift Car Racing, a quite successful mobile drift racing game.
We are planning to implement real time multiplayer for our game.
Players will have a expertise lever (it will be zero for everyone at the beginning).
A player can select several rooms (drift race, time attack race, timed event etc) which should be hosted on the server and should be persistent. We are not sure about user created rooms (we read abut potential exploits regarding rooms creations https://forum.photonengine.com/discussion/14131/photon-bolt-cloud-matchmaking-exploits). The player will be matched with another player with around the same level of expertise (and with a car of the same ). Once found, the race will start (so only two players with two cars that dont collide each other). Ideally the player can also race also against a ghost saved on the server (so there will be a leaderboard with the best players with the relative ghost to race against). The winner will have its expertise level increased, the loser will have it decreased.
This is clearly a competitive multiplayer, so I need a service with an authoritative server and client prediction.
Is this possible in Bolt?
In the case, which is the best approach to go for?

Comments