PlayerTrust - a blacklist system based on Steam Profile Stats

PlayerTrust is a trust system based on checking the joining players’ steam profile stats, this aims to prevent cheaters with new accounts joining and cheating on your server, this system includes:

  • Blacklisting players with VAC Bans
  • Whitelisting Players with old VAC Bans
  • Account Age check
  • Minimum FiveM Playtime
  • Minimum Owned Games
  • Minimum Total Playtime ( on all games )

Players who do not meet all ( activated ) requirements will be prevented from entering the server, an example declination could look like this:

image

image taken from a newly created steam account
( no newlines as FiveM deferrals don’t support these yet, elementsplsfix )

Requirements:

  • A FiveM Server
  • A Steam API Key

Documentation:

Configuration is done using the “config.json” file

APIKey

You will need to add an API Key by generating one from https://steamcommunity.com/dev/apikey, without this key, PlayerTrust will not function

EnableVACBans

This will Enable or Disable VAC Ban checks.

MaxVACCount

This dictates the maximum amount of VAC Bans a player can have before being declined.

MaxDaysSinceLastBan

If the “Days Since last Ban” Count is bigger than the value here, the bans will be ignored.

EnableAccountAgeCheck

This will Enable or Disable the Account Age check.

MinimumAccountAge

Minimum Account Age, in Unix Time Format

MinimumAccountAgeLabel

Minium Account Age, in English. ( to add to the reason in case of declination )

EnableMinimumPlaytime

This will Enable or Disable the Minimum Playtime check, based on Source SDK Base 2007 Playtime.

MinimumPlaytimeHours

The Minimum Time a Player should have played Source SDK Base 2007 for them to be able to join the server.

EnableMinimumOwnedGames

This will Enable or Disable the Minimum Owned Games check, based on total owned games on steam.

MinimumOwnedGames

The Minimum Games a player should own on their Steam Account to be able to join the server.

MinimumTotalPlaytimeHours

The Minimum Amount a player should have played games on steam, takes all game playtimes and merges them into one, enter 0 to disable

MaxStrikes

The Maximum amount of strikes a player can have before being declined, for example:
If a player has 10 games on their steam account but has more than 2 VAC Bans and MaxStrikes is set to 2, then they will still be allowed, however, if their account is less than 4 months old and has 2 VAC Bans, they will still be declined as their strikes are equal (or more than) 2 MaxStrikes

Finally, a download

HERE

Credits:

some random element on the fivem discord: idea
Me: Most of the Code
IllusiveTea: Code and Research

Have Fun!

28 Likes

Essentially a white(black)list system made easy, I like it. Good job Bluium.

this is exactly the issue that we were facing, since it’s a bit of both but also neither :frowning:

Good to see that it’s customization in terms of of what’s required, only sucky part is people are bound to complain that it requires Steam.

~95% of fivem users use steam

2 Likes

You’re ~100% correct however I was being facetious :slight_smile: <3 you.

Sexy

#IDidTheFirstIssue

i dont need it but nice rel and thx for sharing

Nice work, hopefully this filters out the broke 6 year olds lol.

Awesome as always. Nice job.

Out of curiosity, what happens if someone does join who is a social club purchaser? Are they dropped or allowed? Not overly concerned, just curious. Looking forward to adding this one to the server. Great script as always.

Im sure it will tell them they need steam to play on this server as it would when you enabled steam required within the server configs.

It will display a message that steam must be running to play on that server, note that it just needs steam to be running, doesn’t matter if it’s an RSC Copy or not.

1 Like

Painful Productions approves this release.

Update ½

  • Fix an issue where private profiles would get ignored completely, these will now always be declined with a prompt to unprivate their steam profile
  • improved the invalid api key check
  • fix a few small crashes ( well, they aren’t so small if the player cant join because of it )
4 Likes

How to calculate 6 Month in Unix time? 11664000 right?

Always looking forward to your releases, thanks Blu! Lovin the anticheat updates.

@Blumlaut can you please answer my question

look up what unix time is, the answers are out there

Do you think, I would ask if i correct understand that…thx for that nice support - See that you do not stumble over something when you carry your nose too high :wink: