ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.6k stars 598 forks source link

Bring back IsPlayingSharedGame API method for Goldsrc games #3323

Open ShiroYasha456 opened 1 year ago

ShiroYasha456 commented 1 year ago

The method was particularly useful to check if a user is sharing game using Steam Family Share. Banned players in Goldsrc games use this feature to avoid bans since new steamid is used when the player is sharing the game. The plugin which allowed server owners to disallow players doesn't work anymore due to this.

deprale commented 1 year ago

Hello, please use this if possible: https://forums.alliedmods.net/showthread.php?t=340871

It checks if the steam profile is private then kicks the player until he sets it to public so he can pass the family sharing test, it's not ideal but it works.

It's the best method right now to combat family sharing, I will add MYSQL support in the future if more people ask me to add it, or you can add it yourself.

Alternatively if you feel like it, you can always make your own CRUD api and an amxx plugin which will communicate with the server and check whether the player owns the game even without the official api.

Note that doing this is kind of not helping much anyway, some1 can just buy like 100 copies of the game when its at 50 cents on sale, or a lot more if they have turkish accounts or argentinian/indian/brazilian accounts, they can buy thousands and spend under 100 euros.

ShiroYasha456 commented 1 year ago

Replying to https://github.com/ValveSoftware/halflife/issues/3323#issuecomment-1427812532

Hey, thank for you the reply. I appreciate your effort, but I'm not so sure about using this. I already have one admin reservation slot setup, this will make it too annoying for the actual players. They may have several reasons they want to keep their profile private. I attempted the hard decision to make server Steam only multiple times with failure (Its no secret that most servers allow non-steam players). Now its working and we don't see much of player loss. Although the game is dying in our country due to constant DDoS attacks we receive.