• gmsv_gatekeeper - Lua controlled server authentication
    453 replies, posted
  • Avatar of ComWalk
  • [QUOTE=infinitywrai;23087431]Excuse me, please fix GetNumClients()[/QUOTE] Or you could try reading the thread, as I not only responded to your post (within hours), but included a link to the fixed version. The download link on the main page was updated as well.
  • [QUOTE=huntskikbut;23208322]How well does the anti-spoof work?[/QUOTE] Perfectly. Unless backend is exploitable.
  • Avatar of ComWalk
  • [QUOTE=Chrisaster;23208417]Perfectly. Unless backend is exploitable.[/QUOTE] Not quite. It requires the server to have an active connection to the steam backend. Spoofed clients do not get approval callbacks, so if that callback is received and the server is connected, you are absolutely guaranteed that they are a legitimate client. Due to the absence of these callbacks when the server periodically gets disconnected for whatever reason, it's not quite perfect.
  • Avatar of infinitywrai
  • The module works better at getting number of players now, but today it was reporting 1 more player than there actually was for a while. After a restart it went away, but I thought i'd let you know.
  • Avatar of ComWalk
  • [QUOTE=infinitywrai;23232447]The module works better at getting number of players now, but today it was reporting 1 more player than there actually was for a while. After a restart it went away, but I thought i'd let you know.[/QUOTE] Do you know anything more about the discrepancy? Was it in total, active, spawning, or some combination of the three? The information all comes straight from the internal engine stuff, so it should be identical to what you would get from 'status.' Anything else would help me track it down.
  • Avatar of ComWalk
  • Just released 4.2 which features linux support. Linux compile includes all anti-tranquility and anti-serenity features of the 4.1 windows build. The makefile is now standalone (don't have to mess around with the sdk supplied makefiles), but a valid srcds install and a slightly modified sourcesdk is required (if you wish to compile it on your own, the changes you need to make are fairly obvious).
  • Avatar of ComWalk
  • [QUOTE=Killalot;23404301]The latest version doesn't have the sourcecode. D:[/QUOTE] [url=http://code.google.com/p/gmodmodules/source/browse/#svn/trunk/gmsv_gatekeeper]If only there was some kind of publicly-accessible repo with everything, conveniently accessible from the download link...[/url]
  • Avatar of Gbps
  • [QUOTE=ComWalk;23409490][URL="http://code.google.com/p/gmodmodules/source/browse/#svn/trunk/gmsv_gatekeeper"]If only there was some kind of publicly-accessible repo with everything, conveniently accessible from the download link...[/URL][/QUOTE] Oh you.
  • I must be stupid or something, but where do I put this file? The Windows file if that matters.
  • Avatar of ComWalk
  • [QUOTE=Ghezzo;23452204]I must be stupid or something, but where do I put this file? The Windows file if that matters.[/QUOTE] In garrysmod/lua/includes/modules.
  • Avatar of ComWalk
  • [QUOTE=Ghezzo;23452318]Its already one in there, it came with the srcds server I guess?[/QUOTE] Uh, no. You probably installed it before without realizing it, and unless that happened within the last week or two the version already there is out of date. Just overwrite it.
  • I downloaded a fresh server today, went to that directory. Its the same size, and I didnt install anything on this server. I did replace it though.
  • Avatar of ComWalk
  • [QUOTE=Ghezzo;23452406]I downloaded a fresh server today, went to that directory. Its the same size, and I didnt install anything on this server. I did replace it though.[/QUOTE] I can absolutely guarantee you that gatekeeper is not being distributed with garrysmod or any other official channel, as it's not only potentially quite unstable across engine changes but also relies on code modification of the engine binary at runtime to function. There is no way that anybody in their right mind would bundle it. You missed something.
  • Avatar of Grocel
  • [QUOTE=Ghezzo;23452318]Its already one in there, it came with the srcds server I guess?[/QUOTE] I think we need a sticky that says how to install modules. ;)
  • Avatar of ComWalk
  • [QUOTE=Grocel;23453091]I think we need a sticky that says how to install modules. ;)[/QUOTE] Or people could simply realize that lua/includes/modules is the place where the default modules already are and is also the only place in lua/ that has binaries. If they can't figure that out they probably have no use for modules in the first place.
  • This might have been asked before, but I don't feel like sifting through the thread. Does the PlayerPasswordAuth get called if the player doesn't send a password?
  • Avatar of Shane
  • [QUOTE=lavacano;23502302]This might have been asked before, but I don't feel like sifting through the thread. Does the PlayerPasswordAuth get called if the player doesn't send a password?[/QUOTE] Yea, the hook is triggered where the password auth happens so even if it is blank it is still checking, which triggers the hook.
  • Avatar of LiquidGame
  • The latest update seems to of broke this on Linux. [code] Lua initialized (Lua 5.1) Gatekeeper: CBaseServer::RunFrame signature failed! [/code]
  • Avatar of ComWalk
  • The fix has been uploaded and can be downloaded [url=http://code.google.com/p/gmodmodules/downloads/detail?name=gmsv_gatekeeper4.21.zip&can=2&q=]here[/url]. Also fixes a bug with steamid rendering for pirated clients that attempt to join; it will now correctly display as STEAM_ID_UNKNOWN instead of a series of numbers. Cracked servers that attempt to run gatekeeper will crash. Stop asking me for help fixing this; it was introduced on accident but will be kept in on purpose. Enjoy!
  • Avatar of LiquidGame
  • Getting this error: [code] Gatekeeper: pServer is NULL! [/code] When using gatekeeper.DropAllClients(reason)
  • Avatar of ComWalk
  • [QUOTE=LiquidGame;23730067]Getting this error: [code] Gatekeeper: pServer is NULL! [/code] When using gatekeeper.DropAllClients(reason)[/QUOTE] Are you by any chance running any other modules based on gatekeeper source? The only thing that could cause this that I can think of is something else modifying CBaseServer::RunFrame causing the detour to not be applied, causing gatekeeper to never get the CBaseServer pointer. At the very least, I can't reproduce the issue, so if you could provide any additional information that would be great.
  • Avatar of LiquidGame
  • [QUOTE=ComWalk;23733923]Are you by any chance running any other modules based on gatekeeper source? The only thing that could cause this that I can think of is something else modifying CBaseServer::RunFrame causing the detour to not be applied, causing gatekeeper to never get the CBaseServer pointer. At the very least, I can't reproduce the issue, so if you could provide any additional information that would be great.[/QUOTE] OS: CentOS 5 x86 3rd party modules: MySQLOO. Gatekeeper.
  • Avatar of ComWalk
  • [QUOTE=LiquidGame;23741649]OS: CentOS 5 x86 3rd party modules: MySQLOO. Gatekeeper.[/QUOTE] And you aren't running anything like metamod, correct? My development server is running OB server version 54 and gmod version 92 and I'm completely unable to reproduce the problem; if it's creating the functions then the signature scan had to have succeeded, and I'm having trouble thinking of anything that would break the RunFrame detour (unless there is something silently causing that code to fail, but I have no idea what that would be) but none of that code has changed recently and I'm assuming that older versions worked just fine for you.
  • Avatar of LiquidGame
  • [QUOTE=ComWalk;23745939]And you aren't running anything like metamod, correct? I'm assuming that older versions worked just fine for you.[/QUOTE] Correct.