English VACheck - Check VAC Records icon

31 comments
04.12.17 02:50:49 pm
like 6 like it!
2 kb, 520 Downloads
Talented Doge
User
Offline Off
> Introduction
The addition of cs2d lua cmd reqhttp has made this easy thanks to user SQ, so I wrote this to help you in recognizing VAC banned players.

This simple lua script will request data from steam web page. If player has ever been VAC banned, they will not be able to participate in the game.(Can be set in settings)

This script also includes the function to identify the previously distinguished VAC banned players, so as to reduce the network usage of the server.

> Settings
Code:
1
2
3
4
5
logdir = "sys/lua/vaclog.txt"
vaclistdir = "sys/lua/vaclist.lua"
logusgn = true
allow_play = false
kick_player = true

logdir
: USGN log directory
vaclistdir
: VAC recognized SteamID list directory
logusgn
: Log VAC banned players' USGN if they have it.
allow_play
: Allow VAC banned players to play?
kick_player
: Kick VAC banned players?

> Note
To ensure that VAC banned players do not evade by simply logging out of steam, I forced them to log in to steam in order to play. DO NOT REMOVE THIS LINE OF CODE OR THEY MAY EVADE THE CHECK.

This script has its limits that if a player is so dedicated to ruin the game, he may join with an entirely new account without VAC record. So manual moderation is always the best choice if possible.

> Updates
Added
kick_player
option, changed
allow_watch
to
allow_play
.

> Issues
Frequent requests seem to make steam ignore the request, looking for a work around.

> License
This content is published under WTFPL 3.0.
imageimage
edited 14×, last 11.08.18 11:24:41 pm
ok This file has been reviewed and approved by SQ (04.12.17 03:48:07 pm)

Comments

31 comments
Goto Page
To the start Previous 1 2 Next To the start

Log in!

You need to log in to be able to write comments!Log in
23.03.18 06:13:18 am
Up
Talented Doge
User
Offline Off
@user mrc:
The players must log in to Steam, USGN login is optional for them. If the players do not log in to Steam, they stays as spectators.
15.03.18 03:34:11 pm
Up
mrc
User
Offline Off
This is what I was looking for? If players are logged in to steam and usgn they can join teams, if not they keep as spectators?
edited 1×, last 15.03.18 07:23:18 pm
29.12.17 02:37:04 pm
Up
Talented Doge
User
Offline Off
Fixed a minor bug where it will report non-banned users.
like I like it!
Up
Chucko Kokos
User
Offline Off
>uh muh vac checks xd
its like everytime someone codes a vac check i feel like its just same person did someone with vac really hurt you mentally or something? kek
07.12.17 04:49:36 pm
like I like it!
Up
SQ
Moderator
Offline Off
Player player is kicked... Just remove additional "player" and keep it [player name] has been kicked.
06.12.17 08:39:51 pm
like I like it!
Up
Nekomata
User
Offline Off
Good job! Regarding the issue, you may be hitting the rate limiting. It would be excellent if this hook returns HTTP status.
06.12.17 02:34:44 pm
Up
Talented Doge
User
Offline Off
Yes I understand what you say @user SQ, but I'm busy atm. Will do it later. It works now anyway.
06.12.17 12:57:08 am
like I like it!
Up
Ice_Wolf
User
Offline Off
GOOD job
edited 1×, last 06.03.19 09:44:46 pm
05.12.17 03:20:37 pm
like I like it!
Up
SQ
Moderator
Offline Off
You should do something like this at least:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mystuff = {}

table.insert(mystuff,"a")

for key, value in pairs(mystuff) do
   print("value: "..value)
   table.remove(mystuff, key)
end

local count = 0
for k, v in pairs(mystuff) do
   count = count + 1
end

print("count: ".. count)
05.12.17 03:11:28 pm
Up
Yates
Reviewer
Offline Off
Simonas is talking about this I presume:

Code:
1
2
3
4
5
players = {1, 15}

for i = 1, #players do
    print(i)
end


Output:
Code:
1
2
1
2


NOT:
Code:
1
2
1
15
05.12.17 03:06:05 pm
like I like it!
Up
SQ
Moderator
Offline Off
@user Talented Doge: I see the flaw in the code, it's not how it should be done though.
rec list doesn't seem to be cleared up as well. It is just being added all the time.
05.12.17 12:30:14 pm
Up
Talented Doge
User
Offline Off
The ID I used is the exact same to the player's ID, I don't understand why that would not work though.

That is why I used req[i][1] to store player's ID. Because even the index of the table move up or whatever, the ID still remains the same.

The table now should look like this:
req = {{1, 1}, {2, 2}, {21, 3}}


Using for loop:
for i = 1, #req
This loops the content(tables) and find the matching special ID assigned by cs2d lua cmd reqhttp
Then the first data(player ID) is used to kick/warn whatever.
05.12.17 11:35:39 am
like I like it!
Up
SQ
Moderator
Offline Off
@user Talented Doge: You still does not understand that your script won't work if 2 players joins with id's 2 and 31 for example.

Change "#req" use into table.insert and foreach loop.
05.12.17 10:29:09 am
Up
Talented Doge
User
Offline Off
Now I added an option for server owners to choose whether to kick or just warn of the VAC record.

And yes you can always evade a ban by registering another account, IP and name. I am just trying my best to help keeping cheaters at bay for CS2D.
05.12.17 06:43:18 am
Up
VADemon
User
Offline Off
Also the script is indifferent to VAC Ban time.
Would you still regard someone with 2100 days old VAC Ban as a cheater? Calculate the years yourself.
Not to mention that you can 1) register another Steam Account 2) Register USGN as user Chingy implied.
05.12.17 05:56:09 am
Up
Chingy
User
Offline Off
@user Gaios: I do. People make mistakes, they're supposed to learn out of them. That's the reason also why a VAC ban doesn't affect every game.

The idea behind this is understandable. But if someone has no VAC on record, it won't stop them from cheating. Since you don't get sent to VACation in CS2D it's quite ineffective. Someone might also have a verified alternative account (which is a way to outplay this script).
04.12.17 07:35:22 pm
like I like it!
Up
SQ
Moderator
Offline Off
Change that
Code:
1
for i = 1, #req do


Into foreach and use table.add for requests.
04.12.17 04:53:54 pm
Up
Yates
Reviewer
Offline Off
Noo it's a .txt file uughh *dies inside*

.txt is slow, just convert it to a Lua table (string) then save it in a .lua file and
dofile()
it.

10/10
04.12.17 03:57:49 pm
Up
Talented Doge
User
Offline Off
Definitely , I am extremely lazy to go through a single text file and search for strings.

Edit: I tried my best while being lazy, adding the function of "already exists". Trim it for me if you would like it. I will appreciate that.
edited 1×, last 04.12.17 04:41:35 pm
04.12.17 03:52:57 pm
like I like it!
Up
Gaios
Reviewer
Offline Off
Better to save it to variable array lol.
To the start Previous 1 2 Next To the start