Issues with server-client logic

I am working on a first person shooter, and similar to RIVALS, you match up with another person and duke it out on a selected map. I think RIVALS uses client-side map loading, so u dont interfere with other matches. The shooting and everything however, is handled on the server. The problem with this is that since the map loading is client side, it can’t do raycasts and interact with the map. How does RIVALS do this and how can I do it too?

Maybe you load all the maps transparent.

If I had to assume, they have the map loaded somewhere on the server either far away from the player, or the client hides it, and that’s how they handle raycasting imo.