gmsv_luamd5

This module allows you to retrieve a client’s “Lua MD5”, as seen in the command lua_md5.

Example:

[lua]
for k, v in ipairs(player.GetAll()) do
print(v:Name(), v:GetLuaMD5())
end
[/lua]

The return is a string that should be “Undefined” or the MD5.

SVN:

What exactly can we do with the lua MD5?

Nice module anyways. Good job.

Awesome module Chris. Should included in GMod.

Some people were requesting a method of accessing it to check it against everyone else’s as well as verifying is wasn’t “Undefined” forever.

Sad thing is, there are so many reasons that the MD5 wouldn’t match everyone else’s. While a good method for checking on large servers, the average server shouldn’t trust the MD5.

Useful for logging more than anything else.

[editline]05:44PM[/editline]

Check the possibility that someone bypassed Scriptenforcer, for example.

Make sure you record the majority of MD5s. The way SE2 checks it is by recording everyone’s md5 and looking for outliers.



lua_md5
2 1701 a58540ba1cd8ef97d5e7ba3bf56c7e16 tangoen
3 1938 a58540ba1cd8ef97d5e7ba3bf56c7e16 [OB] Alden
4 1959 a58540ba1cd8ef97d5e7ba3bf56c7e16 MrMunchies
5 1841 a58540ba1cd8ef97d5e7ba3bf56c7e16 .:RND`=- Tiger Guy
6 1998 a58540ba1cd8ef97d5e7ba3bf56c7e16 Alex Gardasian
7 1764 a58540ba1cd8ef97d5e7ba3bf56c7e16 bashaffer9
8 1887 a58540ba1cd8ef97d5e7ba3bf56c7e16 sZ tiemp0
9 1977 a58540ba1cd8ef97d5e7ba3bf56c7e16 £than
10 1986 a58540ba1cd8ef97d5e7ba3bf56c7e16 Kitty <3
11 1974 a58540ba1cd8ef97d5e7ba3bf56c7e16 Tommaco
12 1833 d251bb4c42918cde6d8e618b627e7e23 'Trawl <3 [D]ucky
13 1995 79fcdd34338ded6938595b180196a97c {PP} NuclearLag
14 1996 a58540ba1cd8ef97d5e7ba3bf56c7e16 Nostroma
15 1834 a58540ba1cd8ef97d5e7ba3bf56c7e16 |  ҉  ٩a apple٩  ҉  |
16 1948 a58540ba1cd8ef97d5e7ba3bf56c7e16 jak
17 1957 a58540ba1cd8ef97d5e7ba3bf56c7e16 ๖ۜRyu
18 1984 d4a6353132760a9886d902375deff864 Gravity Cat!
19 1950 a58540ba1cd8ef97d5e7ba3bf56c7e16 =TGC=Blackcat
20 1972 a58540ba1cd8ef97d5e7ba3bf56c7e16 «¦HG¦» Cousainofdeath |M|
21 1987 a58540ba1cd8ef97d5e7ba3bf56c7e16 FaceRoll- Pyro
22 1868 a58540ba1cd8ef97d5e7ba3bf56c7e16 [KoSC Ldr.] PPK157
24 1862 a58540ba1cd8ef97d5e7ba3bf56c7e16 Pretty Pink Pony
25 1768 a58540ba1cd8ef97d5e7ba3bf56c7e16 PanCakes
26 1955 a58540ba1cd8ef97d5e7ba3bf56c7e16 Webbyninja
27 1999 a58540ba1cd8ef97d5e7ba3bf56c7e16 nightmare32349
28 1962 a58540ba1cd8ef97d5e7ba3bf56c7e16 ^2Eclipse - is nao 18 :D
29 1990 6a1e1375645bcc84a7851c42eec41a15 Not.Quite.Dead
31 1964 a58540ba1cd8ef97d5e7ba3bf56c7e16 A-Team
32 1872 a58540ba1cd8ef97d5e7ba3bf56c7e16 Nemesis
34 1991 a58540ba1cd8ef97d5e7ba3bf56c7e16 Forsaken|D3|
35 1930 a58540ba1cd8ef97d5e7ba3bf56c7e16 [HG] K0killer2
36 1716 a58540ba1cd8ef97d5e7ba3bf56c7e16 †§§†killer
37 1975 a58540ba1cd8ef97d5e7ba3bf56c7e16 etmer c:
38 1980 a58540ba1cd8ef97d5e7ba3bf56c7e16 [TME]Redx
39 1882 a58540ba1cd8ef97d5e7ba3bf56c7e16 .:RND`=-  Tomcat
40 1809 a58540ba1cd8ef97d5e7ba3bf56c7e16 [HD]MCBGamer
42 1886 a58540ba1cd8ef97d5e7ba3bf56c7e16 tonere123
44 1916 a58540ba1cd8ef97d5e7ba3bf56c7e16 prop_physics
45 1979 a58540ba1cd8ef97d5e7ba3bf56c7e16 ninnys dick
46 1982 a58540ba1cd8ef97d5e7ba3bf56c7e16 Nenzar
47 1969 a58540ba1cd8ef97d5e7ba3bf56c7e16 [T.I.T.S] Mastershake
48 1917 a58540ba1cd8ef97d5e7ba3bf56c7e16 ZAKeeSHAParker.Jr
49 1981 a58540ba1cd8ef97d5e7ba3bf56c7e16 stormbringer
50 1919 a58540ba1cd8ef97d5e7ba3bf56c7e16 -=[C.D]=-|Code Reality
51 1921 a58540ba1cd8ef97d5e7ba3bf56c7e16 Nazo Nice
55 1643 a58540ba1cd8ef97d5e7ba3bf56c7e16 R.U.S.H | BFBC2>CODMW2
57 1923 a58540ba1cd8ef97d5e7ba3bf56c7e16 lovely life


Three people on this list I am positive are bypassing SE, to kick them or just to log them instead of banning them for 30 minutes them is perfect.

1/51 is a pretty good ratio for consistency compared to how it used to be 18/50



         lua_md5
         1 4 4ff831a55fd254fcebd8f3f8bb26f7a3 ^1Jack ^7of ^4Blades
         2 80 2b75e0d130401c9127ae65e306ed0d1e =?g= Wally77
         3 36 501249b6ebf908e8371c3a0ee048ce8b Crawler
         5 86 501249b6ebf908e8371c3a0ee048ce8b Sweller
         7 85 501249b6ebf908e8371c3a0ee048ce8b ^9Holy ^0Necromancer
         8 12 501249b6ebf908e8371c3a0ee048ce8b Dav0r
         9 31 501249b6ebf908e8371c3a0ee048ce8b ^0[^1R^7E^4B^0^5Jr^0] ^7Nariku
         10 46 2e90fb53def009053d9614a15a5cdc45 pettyfan45 owner of ishamael
         11 17 4ff831a55fd254fcebd8f3f8bb26f7a3 {Papoli} Mega Messiah
         12 58 4ff831a55fd254fcebd8f3f8bb26f7a3 ^1Su^7rf^4God
         13 56 501249b6ebf908e8371c3a0ee048ce8b {MBZ} Public Enemy #1
         14 29 501249b6ebf908e8371c3a0ee048ce8b meroniuk
         16 82 501249b6ebf908e8371c3a0ee048ce8b Sad panda
         18 32 1dd1605cf52c665af53a7f2d8a83426d General.Fenexs
         23 42 501249b6ebf908e8371c3a0ee048ce8b ^1W^2h^3a^4l^5e Of ^1F^2a^3i^4l
         25 50 501249b6ebf908e8371c3a0ee048ce8b Swífty
         31 74 501249b6ebf908e8371c3a0ee048ce8b Douglas


MD5s on my server are weird. They are never consistent…

That’s pretty much the only remaining problem in luamd5. Unless almost half of your players have a SE bypass :v:

It’s weird though because even though there are inconsistencies, some times more that 3 different md5s are being used. ( I’ve seen it happen )

For example in my above post… Two different hashes, but they match another players…



         11 17 4ff831a55fd254fcebd8f3f8bb26f7a3 {Papoli} Mega Messiah
         12 58 4ff831a55fd254fcebd8f3f8bb26f7a3 ^1Su^7rf^4God
         13 56 501249b6ebf908e8371c3a0ee048ce8b {MBZ} Public Enemy #1
         14 29 501249b6ebf908e8371c3a0ee048ce8b meroniuk


AHA! Great example from another server of mine.



1 218   a65223e1af4cd0f614b57a5cefba3147 Mr.Awzome
6 222   a65223e1af4cd0f614b57a5cefba3147 Austin
2 201   7e954fa26339cb4a6a1190a271242243 ¤Coming¤Undone¤
4 171   7e954fa26339cb4a6a1190a271242243 [JJ]SGThedcrab
5 225   7e954fa26339cb4a6a1190a271242243 [«B?SS»] Mr. Fox
11 227  7e954fa26339cb4a6a1190a271242243 =?g= Wally77
12 185  7e954fa26339cb4a6a1190a271242243 super cookie
13 228  7e954fa26339cb4a6a1190a271242243 zombie_assassin12
3 209   88df7ad6b659aff1f3b34fc1987033e6 Stirmmy
9 183   88df7ad6b659aff1f3b34fc1987033e6 Rusty 9k™
7 223   88df7ad6b659aff1f3b34fc1987033e6 Bog Frog
8 224   9057e9f0b9ee3beebe8fd4155b9381ac Mr. Rice
16 189  9057e9f0b9ee3beebe8fd4155b9381ac ^2Mr.^3Happy^4Face^6436
17 203  9057e9f0b9ee3beebe8fd4155b9381ac ^7|AFR|Al Capwned|VP|
20 198  9057e9f0b9ee3beebe8fd4155b9381ac :$:KingKiller:$:
10 226  500746c25252f0395dafebc3b65a7cae Inane


MD5s are not reliable to detect cheaters unless 80%> of the server has the same hash and a single person doesn’t match any of the other hashes

The problem with MD5 hashes are the addons.

I remove all the addons on my servers which come with Gmod except Derma.

My MD5’s are 100% consistent currently.



lua_md5
1 1445 a58540ba1cd8ef97d5e7ba3bf56c7e16 roflsaurous
2 1276 a58540ba1cd8ef97d5e7ba3bf56c7e16 Beccy ❤ :)
3 1402 a58540ba1cd8ef97d5e7ba3bf56c7e16 Anemos
4 1368 a58540ba1cd8ef97d5e7ba3bf56c7e16 ape_engler
5 1410 a58540ba1cd8ef97d5e7ba3bf56c7e16 tonere123
6 1411 a58540ba1cd8ef97d5e7ba3bf56c7e16 Ramirez!!!!
7 1474 a58540ba1cd8ef97d5e7ba3bf56c7e16 ΓÿåPerv KittehΓÿå
8 1483 a58540ba1cd8ef97d5e7ba3bf56c7e16 Inferno
9 1484 a58540ba1cd8ef97d5e7ba3bf56c7e16 Loucks
10 1462 42a9ee41c68263d176a92e5cceb19860 -Prowler-
11 1376 a58540ba1cd8ef97d5e7ba3bf56c7e16 Bradley
12 1434 a58540ba1cd8ef97d5e7ba3bf56c7e16 Sippin' Coffee
13 1345 a58540ba1cd8ef97d5e7ba3bf56c7e16 ﮱﯖoulĦarvester[USA]
14 1469 a58540ba1cd8ef97d5e7ba3bf56c7e16 -^Lust4Nick^-
15 1321 a58540ba1cd8ef97d5e7ba3bf56c7e16 Sir Cake the Lie
16 1489 a58540ba1cd8ef97d5e7ba3bf56c7e16 Stealth
18 1380 a58540ba1cd8ef97d5e7ba3bf56c7e16 sZ tiemp0
19 1354 a58540ba1cd8ef97d5e7ba3bf56c7e16 ZaroX
20 1488 a58540ba1cd8ef97d5e7ba3bf56c7e16 FpsMcDonalds
21 1485 a58540ba1cd8ef97d5e7ba3bf56c7e16 Myg0t [FH][A]COMboy112
22 1486 573b1f0a316249b7721f71e0fee0e9cd 'Trawl <3 [D]ucky
23 1415 a58540ba1cd8ef97d5e7ba3bf56c7e16 KETAMINE OCEAN
24 1461 a58540ba1cd8ef97d5e7ba3bf56c7e16 watermelon
25 1471 a58540ba1cd8ef97d5e7ba3bf56c7e16 «SG.Mem» Geno
26 1487 a58540ba1cd8ef97d5e7ba3bf56c7e16 T/5. Heat [D.101]
27 1412 a58540ba1cd8ef97d5e7ba3bf56c7e16 BowieBoy <TWM>
28 1395 a58540ba1cd8ef97d5e7ba3bf56c7e16 [mn] YouGotKeyed
30 1464 a58540ba1cd8ef97d5e7ba3bf56c7e16 Nubby the Red Nosed Noobcake
31 1482 a58540ba1cd8ef97d5e7ba3bf56c7e16 £than
33 1331 a58540ba1cd8ef97d5e7ba3bf56c7e16 DG| Redwire
34 651 a58540ba1cd8ef97d5e7ba3bf56c7e16 PanCakes
35 1455 a58540ba1cd8ef97d5e7ba3bf56c7e16 -_xXx_-
36 1332 a58540ba1cd8ef97d5e7ba3bf56c7e16 ^3[xZ] ^0Fu^1zy^3yy
40 1386 a58540ba1cd8ef97d5e7ba3bf56c7e16 [avᴣnger]¬SF⌐[FB-PT]SR!
45 1446 a58540ba1cd8ef97d5e7ba3bf56c7e16 GerSnowBlind | Nowxer
46 1424 a58540ba1cd8ef97d5e7ba3bf56c7e16 Kilroy {HoM}
47 1340 a58540ba1cd8ef97d5e7ba3bf56c7e16 Osama Bin Laden
49 1451 a58540ba1cd8ef97d5e7ba3bf56c7e16 Bee
50 1418 a58540ba1cd8ef97d5e7ba3bf56c7e16 Xela Nothgieh
51 1409 a58540ba1cd8ef97d5e7ba3bf56c7e16 Crausiadia
54 1373 a58540ba1cd8ef97d5e7ba3bf56c7e16 †§§†killer
59 1456 a58540ba1cd8ef97d5e7ba3bf56c7e16 Soyboy241




lua_md5
1 1438 27f8b9925bbfe9a35231eeea32cb04eb کaint
2 1472 27f8b9925bbfe9a35231eeea32cb04eb Dee Sturbed
3 1437 27f8b9925bbfe9a35231eeea32cb04eb ^5Pie^8Guy
4 1488 27f8b9925bbfe9a35231eeea32cb04eb nightmare32349
5 1492 Undefined Cool James
8 1477 27f8b9925bbfe9a35231eeea32cb04eb SGC | Colin
10 1470 27f8b9925bbfe9a35231eeea32cb04eb [HD]MCBGamer
11 1471 27f8b9925bbfe9a35231eeea32cb04eb [KoSC Ldr.] PPK157
12 1480 27f8b9925bbfe9a35231eeea32cb04eb etmer c:
13 1487 27f8b9925bbfe9a35231eeea32cb04eb Pretty Pink Pony
14 1476 27f8b9925bbfe9a35231eeea32cb04eb |  ҉  ٩a apple٩  ҉  |
15 1486 27f8b9925bbfe9a35231eeea32cb04eb Alex Gardasian
24 1332 27f8b9925bbfe9a35231eeea32cb04eb SlyDawg


My admins seem to be smarter than the rest of the server, the MD5 seems to report about 99% correctly for me.

However, that 99% might even be wrong because of me not being totally sure on a few people who could be bypassing SE.

Though, BaconBot doesn’t change the MD5. So I guess you could say 99% accurate.

Last time I checked the md5 with SE enabled it was quite inconsistent, it’s interresting how Slayer got those results :open_mouth:

You just gotta remove the default addons, they don’t really add anything to your server unless you use the weapon_cs_base which can easily be copied over to your gamemode.

Seems to work pretty good for me.

The only solution to the addon problem I can think of is to make GCFRequires ignored for SE. The addons will always be loaded on the server, but some people don’t have ep2 etc.

Oh I get it, well that would be the right way I guess.

I just committed a fix for the latest update. My method of retrieving it is pretty hacky so I don’t know how often it’s going to break.

I’ve also tidied up the code a bit, credit to AzuiSleet for the CBaseEntityList signature and haza55 for information on GMod’s “Entity” userdata.

This broke in the last update.

Offsets…

I might be better off sigscanning for a nearby member and calculating the position from that. Or I could steal the offset from the lua_md5 command.

-snip-

Nevermind, I’m fixing it properly now.

[editline]01:30PM[/editline]

Fixed.