I am a new person and I am not someone experienced in this but i have an idea about how to do it.
NOTE : People use Multiple Terms for Database/Datastore/Datatable, i will only use Datastore Term
Solution 1 :
- While Registering Player, Give Them ID or Add all their Connected ids in Datastore Steamid/EpicId/etc. [ since they are unique ]
- When you ban Someone, have a Seperate Datastore to add the Banned Ids and Their Types like [ Example : 1234346345 - Steam ]
- Check Player IDs while they are Connecting to Server or every second in-game
- Kick or Warn Player with Ban and Reason to Client
Solution 2 :
- Have Player have a Bool Value and Reason String Value inside Their Datastore, Turn it True and Put Reason
- Make Game Check Player’s Ban Status on Connecting or every second in-game
- Kick or Warn Player with Ban and Reason to Client
To Ban by IP, i am not experienced… I remember IPs can be changed with enough knowledge like HWID Bans