How do I differentiate between the players in a multiplayer game?

Hi, as of right now I am able to play with multiple clients and have them shoot each other in a 3rd person template. My problem is that the players characters are hitting themselves when shooting and taking damage. Also, I later would like to be able to click my character or another players character and have certain actions occur when I do. What I am having the most problems with is understanding how to differentiate between the different players in a multiplayer game. Like server 1(not running dedicated) and client 1. I have search the forums well and watched videos. I attempted the tag method with the teams enum. I was unable to get it. Is there a proper way for me to refer to each player? Thanks and btw this is all Blueprints.

Create an Int variable and manually record their ID number. Configure the blueprint so it checks the ID first to decide what actio nto take. For your shooting problem, you can add the soawning character to the ignore list on the hit trace node.

Thanks for the response. I tried this technique only to find they have the same id since they are replicated. Both are coming up at 0 and 1 when I print string. I started looking into the create player function, but I want to avoid split screen. Any advice?