So me and my friend have been hitting the grind on network programming for the server side of our real-time multiplayer game. Our game involves handling collisions with synchronized enemies and projectile/melee-based weapons. We don't really care about player-player collisions, but it might be something we want.
From what I've been understanding, for this game I'd want to have an authoritative server that essentially has a game loop running that simulates the game state. The clients will interject with their desired actions and use client-side predictions to render what they think should be happening, which will be corrected by the server on a tick-based system. Correct me if I'm wrong in thinking this is the best method to use.