You should know, there is a bug with hlds 3.1.1.1 in banning VALVE id's. Valve is aware of it and it will be fixed in the next maintenance release/version.
The bug is when you try to ban someone using a valve id (probably steam also) banid 0.0 VALVE_1:0:123456 <- this will fail to get it to ban you need to issue it like so: banid 0.0 VALVE_1:123456 Cheers, James ----- Original Message ----- From: "Moby" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, July 20, 2003 6:02 AM Subject: [hlcoders] Re: [hlds_apps] MetaMod DLL_FUNCTIONS ClientConnect and Steam or DoD Retail User IDs > >Florian Zschocke wrote: > > > Moby wrote: > > > > > > -) Do I have to use some other routine as GETPLAYERAUTHID to get a > > > proper ID string? > > > > No. > > > > > -) Am I on the wrong hook, and should move my program somewhere else? > > > (But I only want to check the users once per connect and that right at > > > the beginning of the connection (see my first topic "Info for banned > > > User") > > > > The problem is that you cannot rely on a user having a valid auth id the > > instant that he joins a server. The server will first have to go and ask > > the Steam auth server for validation. This is done asynchronously. AFAIK > > there is no hook or event or whatsoever that you could use to get > > notified once the auth id was validated. Also, don't be fooled by the > > VALVE_ID_LAN, that has nothing to do with LAN (on an Inet server) but > > just means that the id has not yet been validated. A somewhat unlucky > > naming. It's the same like STEAM_ID_PENDING. > > > > What we do is to keep unauthed connecting users in a queue and > > periodically (in StartFrame()) check the players in the queue if they > > have by now been validated by the auth server. If yes, we dequeue them > > and do whatever checks we need to do. If no, we keep them queued. This > > does assume that every player is at some point validated or dropped from > > the server. > > > > Florian. > > _______________________________________________ > > hlds_apps mailing list > > [EMAIL PROTECTED] > > http://list.valvesoftware.com/mailman/listinfo/hlds_apps > > > > So If I understand this right, there is no way at the beginning of an > connection to get a proper VALVE_ID or STEAM_ID, the only solution would be > to check those players in game too, from time to time, if their VALVE_ID or > STEAM_ID changes to a proper value? > > WOW... thats quite insane! :) > > So I will put my program into the spawn routine too, and everytime a player > spawns I will have to look up a table of still to controlled players. > > I wanted to avoid that, that costs CPU and produces Lag, which was not > necessary with the old WonID system, where the client did sent a proper > value. Even if the server checks up that value afterwards it didn't > interfere with the VALVE built in ban solution. > > Which takes me to my next question: > How to ban a STEAM_ID or VALVE_ID, whats the mechanics behind it? > Normal WonID is a string sent by the client, the server has his banned.cfg > (or whatever *.cfg with BANID 0 <id>) and checks right before even access is > granted the client wonid against that table. > How does this now function with STEAM_IDs or VALVE_IDs? > > Or to make it more easy. Where is a comprehensive VALVE readout about > STEAM_ID, VALVE_ID and their influence on the existing HL engine. > > Regards Moby > > > _______________________________________________ > hlds_apps mailing list > [EMAIL PROTECTED] > http://list.valvesoftware.com/mailman/listinfo/hlds_apps > _______________________________________________ hlds_apps mailing list [EMAIL PROTECTED] http://list.valvesoftware.com/mailman/listinfo/hlds_apps
