Re: [hlcoders] Compiling and running dll (.so)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Sat, Jul 12, 2003 at 09:48:03AM -0400, Michael Fisher wrote: I am compiling the Ricochet dll with minor changes. I first compiled on Windows, tested it and then prepared to port it over to Linux. After compiling the ricochet dll and putting it on my own linux server, it worked fine. Next, I put it on a friend's hosted server running on a machine with SuSE 7.3. Upon game startup he received the following error message: L 07/07/2003 - 09:05:37: [META] ERROR: dll: Couldn't load game DLL /home/hlserv2/hlds_l/ricochet/dlls/ricochet_i386.so: /lib/libc.so.6: version `GLIBC_2.3' not found (required by /home/hlserv2/hlds_l/ricochet/dlls/ricochet_i386.so) L 07/07/2003 - 09:05:37: [META] ERROR: Failure to load game DLL; exiting... Your .so is linked against glibc 2.3 and the server has an older version. You need to find what in the code is being linked against 2.3 and remove it. You can do this as follows(here is how I fixed it): This will tell you what symbols are using glibc 2.3: [EMAIL PROTECTED]:~/dpbcode/dlls$ objdump -T pb_i686.so |grep '2\.3' DF *UND* 0069 GLIBC_2.3 __ctype_toupper_loc DF *UND* 0069 GLIBC_2.3 __ctype_b_loc Now find out which object files are using this symbol: [EMAIL PROTECTED]:~/dpbcode/dlls$ grep __ctype_ *.o Binary file pm_shared.o matches At the top of pm_shared.c there is a #includectype.h. This header is apparently unneccesary, and removing it(or putting it in #ifdef _WIN32 since I haven't checked if it's required for windows) will remove the references to the ctype stuff. Do this for every reference to 2.3 you found in the first command(this is the only one I had), and then it will run properly on 2.2 systems. -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/EaPFflGtzWCyItURAmfCAKC2H6wnSWf2FCO7jDLP9GygvZK+TACeOdYC 3V9rEZTJztNv25QRTR5Iels= =DcPm -END PGP SIGNATURE- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Client-Side Hitbox Tracing
-- -- As some of you know valve disabled hit-box tests for client-side tracelines. This causes problems with inconsistent hits between the client and server, leading to many OMG HAXXOR I SHOT YOU!!111s. To fix this, I implemented my own hitbox tests using the ray-polyhedron intersection algorithm from Graphics Gems II. Code is attached. g_BonePositions[n] is the stored value of m_pbonetransform after StudioDrawPlayer for player index n+1. Jonah -- extern floatg_BonePositions[32][ MAXSTUDIOBONES ][ 3 ][ 4 ]; void RealTrace(vec3_t start, vec3_t end,pmtrace_t *tr) { vec3_t dir,c[2],vec[3],o; int idx,i,x; cl_entity_t *ent; studiohdr_t *hdr; mstudiobbox_t *bbox; float t_near,t_far,t_max,t,vd,vn; gEngfuncs.pEventAPI-EV_PlayerTrace(start,end,PM_NORMAL,-1,tr); if(tr-fraction==1.0f) return; idx=gEngfuncs.pEventAPI-EV_IndexFromTrace(tr); if(idx1 || idx gEngfuncs.GetMaxClients()) return; ent=gEngfuncs.GetEntityByIndex(idx); if(!ent) return; hdr=(studiohdr_t*)IEngineStudio.Mod_Extradata(ent-model); bbox=(mstudiobbox_t*)((unsigned long)hdr + hdr-hitboxindex); idx--; VectorSubtract(end,start,dir); VectorScale(dir,1/Length(dir),dir); for(i=hdr-numhitboxes-1;i=0;i--,bbox++) { vec[0][0]=g_BonePositions[idx][bbox-bone][0][0]; vec[0][1]=g_BonePositions[idx][bbox-bone][1][0]; vec[0][2]=g_BonePositions[idx][bbox-bone][2][0]; vec[1][0]=g_BonePositions[idx][bbox-bone][0][1]; vec[1][1]=g_BonePositions[idx][bbox-bone][1][1]; vec[1][2]=g_BonePositions[idx][bbox-bone][2][1]; vec[2][0]=g_BonePositions[idx][bbox-bone][0][2]; vec[2][1]=g_BonePositions[idx][bbox-bone][1][2]; vec[2][2]=g_BonePositions[idx][bbox-bone][2][2]; o[0]=g_BonePositions[idx][bbox-bone][0][3]; o[1]=g_BonePositions[idx][bbox-bone][1][3]; o[2]=g_BonePositions[idx][bbox-bone][2][3]; VectorMA(o,bbox-bbmax[0],vec[0],c[0]); VectorMA(c[0],bbox-bbmax[1],vec[1],c[0]); VectorMA(c[0],bbox-bbmax[2],vec[2],c[0]); VectorMA(o,bbox-bbmin[0],vec[0],c[1]); VectorMA(c[1],bbox-bbmin[1],vec[1],c[1]); VectorMA(c[1],bbox-bbmin[2],vec[2],c[1]); t_near=-9.0; t_far=9.0; t_max=9.0f; for(x=0;x2;x++) { if(x) { VectorInverse(vec[0]); VectorInverse(vec[1]); VectorInverse(vec[2]); } for(int j=0;j3;j++) { vd=DotProduct(dir,vec[j]); if(vd==0.0f) continue; vn=DotProduct(vec[j],start)-DotProduct(vec[j],c[x]); t=-vn/vd; if(vd0.0tt_far) t_far=t; else if(vd0.0ftt_near) t_near=t; if(t_neart_far) goto box_end; } } tr-fraction=0.5f; return; box_end: do { } while(0); } tr-fraction=1.0f; } -- [ Content of type application/pgp-signature deleted ] ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Client-Side Hitbox Tracing
Sorry if this got sent a second time, my first message did not go through as of a day later... Anyway, as some of you know valve removed client-side hitbox tracing from 1110 for whatever reason, meaning that if any traceline hits a player hull, it will count as hitting a player, leading to eg players seeing other players bleed when they shoot them between the legs or above the shoulder. This becomes quite annoying...here is how you can get hitbox testing on the client for more consistent hit detection: g_BonePositions are bonetransform values for each player, saved from StudioDrawPlayer. extern floatg_BonePositions[32][ MAXSTUDIOBONES ][ 3 ][ 4 ]; void RealTrace(vec3_t start, vec3_t end,pmtrace_t *tr) { vec3_t dir,c[2],vec[3],o; int idx,i,x; cl_entity_t *ent; studiohdr_t *hdr; mstudiobbox_t *bbox; float t_near,t_far,t_max,t,vd,vn; gEngfuncs.pEventAPI-EV_PlayerTrace(start,end,PM_NORMAL,-1,tr); if(tr-fraction==1.0f) return; idx=gEngfuncs.pEventAPI-EV_IndexFromTrace(tr); if(idx1 || idx gEngfuncs.GetMaxClients()) return; ent=gEngfuncs.GetEntityByIndex(idx); if(!ent) return; hdr=(studiohdr_t*)IEngineStudio.Mod_Extradata(ent-model); bbox=(mstudiobbox_t*)((unsigned long)hdr + hdr-hitboxindex); idx--; VectorSubtract(end,start,dir); VectorScale(dir,1/Length(dir),dir); for(i=hdr-numhitboxes-1;i=0;i--,bbox++) { vec[0][0]=g_BonePositions[idx][bbox-bone][0][0]; vec[0][1]=g_BonePositions[idx][bbox-bone][1][0]; vec[0][2]=g_BonePositions[idx][bbox-bone][2][0]; vec[1][0]=g_BonePositions[idx][bbox-bone][0][1]; vec[1][1]=g_BonePositions[idx][bbox-bone][1][1]; vec[1][2]=g_BonePositions[idx][bbox-bone][2][1]; vec[2][0]=g_BonePositions[idx][bbox-bone][0][2]; vec[2][1]=g_BonePositions[idx][bbox-bone][1][2]; vec[2][2]=g_BonePositions[idx][bbox-bone][2][2]; o[0]=g_BonePositions[idx][bbox-bone][0][3]; o[1]=g_BonePositions[idx][bbox-bone][1][3]; o[2]=g_BonePositions[idx][bbox-bone][2][3]; VectorMA(o,bbox-bbmax[0],vec[0],c[0]); VectorMA(c[0],bbox-bbmax[1],vec[1],c[0]); VectorMA(c[0],bbox-bbmax[2],vec[2],c[0]); VectorMA(o,bbox-bbmin[0],vec[0],c[1]); VectorMA(c[1],bbox-bbmin[1],vec[1],c[1]); VectorMA(c[1],bbox-bbmin[2],vec[2],c[1]); t_near=-9.0; t_far=9.0; t_max=9.0f; for(x=0;x2;x++) { if(x) { VectorInverse(vec[0]); VectorInverse(vec[1]); VectorInverse(vec[2]); } for(int j=0;j3;j++) { vd=DotProduct(dir,vec[j]); if(vd==0.0f) continue; vn=DotProduct(vec[j],start)-DotProduct(vec[j],c[x]); t=-vn/vd; if(vd0.0tt_far) t_far=t; else if(vd0.0ftt_near) t_near=t; if(t_neart_far) goto box_end; } } tr-fraction=0.5f; return; box_end: do { } while(0); } tr-fraction=1.0f; } ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] DOD hw/sw.dll redistribution?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 DOD 1.0 replaces the engine hw.dll and sw.dll with new ones that support transparent models. This would be a very cool feature for other mods too. Obviously valve is allowed to redistribute their own engine dlls however they want, but can a non-valve mod include the DOD hw/sw.dll's so transparent models can be used? I would really appreciate it if someone from valve would answer this so we know if we can include them or not... - -Jonah -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.2 (GNU/Linux) iD4DBQE/ANElflGtzWCyItURAl5XAJja4Z6GW6bAeog0kFVqgfXzKgf3AJ9GfsEn UBsRb0i9VOOKxTnfHJaj3w== =Uq/x -END PGP SIGNATURE- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] SDK line crashing linux servers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Sat, Jun 07, 2003 at 12:22:19PM -0700, James Couzens wrote: if (!pPlayer || !pPlayer-IsNetClient()) Why does this logic crash a linux dedicated server? I'm assuming you're using MSVC on windows. If so, MSVC does not evaluate boolean expressions according to the ANSI standard. The correct way to do what you want is: if( (!pPlayer) || !pPlayer - IsNetClient()) what you have is basically: if( ! (pPlayer || !pPlayer -IsNetClient()), which will crash if pPlayer is NULL. Jonah -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE+47IdflGtzWCyItURApmfAKDcaa/xOEWe+Zifvf5dLCOIQVxQLwCfQbux Hd9gz1f/cIOeorZ8c4RecOk= =6yTx -END PGP SIGNATURE- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Traceline going through people
-- On Wed, Feb 19, 2003 at 09:58:45PM -0600, Entropy wrote: The head of the model extends beyond the bounding box when ducked. You can see this if you uncomment the call to PM_ShowClipbox in PM_PlayerMove. If my understanding of the engine's collision detection is correct, the hitboxes on the model will never get checked if they are outside the bounding box. I *think* using SetObjectCollisionBox to increase the size of the box when ducked might solve the problem. Thank you! I checked the playermodel, and realized that it's head when ducked is 36 units above the origin, while gman is only 18. With that GetHullBounds fix, it is working perfectly now. Thanks again. -- [ Content of type application/pgp-signature deleted ] ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Modifying non-player physics code
-- I need to add air resistance for a particular entity's movement. However, there is nothing the SDK which contains the movement code for non-player entities(PM_* is Player Movement only). Basically I need to modify MOVETYPE_TOSS to add a VectorScale(velocity,1.0-frametime*DRAG_COEF,velocity) As the SDK doesn't contain non-player movement code, how should I go about doing this? I was thinking about using the entity's Think function, and just have it called every frame. To do this, what should nextthink be set to? One last comment.. it appears that the HL movement code is inconsistent. The gravity calculations in the SDK PM code is correct - it multiplies 0.5*gravity*frametime, however in the non-player movement code, there is no 0.5 multiplication. This is the reason for hacks such as setting gravity to 0.5 in grenade.c, and should probably be made more consistent... Jonah -- [ Content of type application/pgp-signature deleted ] ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] mins/maxs/SetSize
hi, i was wondering what the mins/maxs fields of a player entity do specifically? I thought the hit detection was done based on hitboxes on the model's bones. So where do mins/maxs come in? The only thing I can think of is that the engine first checks for a hit in mins/maxs and then if there is one, checks each hitbox individually. Is that what they are used for? or are they used for something completely different...? Thanks, Jonah _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Client commands
It is generally better for the client to do the updating, as alot of servers have firewalls to prevent extraneous socket communications(why cheating-death was more popular than paladin). Also, there is no way a client hack could do anything with the system I described without breaking your master server's signature keys. Actually, the system I described is *exactly* how the WON authentication works, you send a crypted version of cdkey to won with timestamp, it sends back your wonid as well as a hash of your wonid+ip+timestamp signed, then when you connect to a server the client sends the wonid+signed hash in the second packet(you can packet sniff and see this, it will say \uniqueid\12345\raw\AABBCCDDEEFF112233445566778899\ where the uniqueid is your wonid and the raw is a signed hash of the wonid + ip + timestamp. The only way for someone to spoof their wonid is either with a keygen or by breaking WON's signature keys(something that wont be happening in the next 10^27 years given current technology). It is almost always better to use an existing protocol than to develop your own. Existing protocols, such as kerberos, have been torn apart by security experts and still held strong. Also, it wont be much different for the clients now. In addition to connecting to the won master server, they connect to your server..thats all thats required. From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Client commands Date: Sun, 16 Jun 2002 08:53:04 +0100 I was intending to make the master server allow updates only from registered 'trusted' IP addresses. Whats trusted and whats not would be down to me trusting an admin. Since I'm pretty much the only admin for our mod (no-one else ever seems to run a dedicated server) it's why I'm not overly worried about this being a chore. If I have select trusted game servers then I can relax a lot of the concerns. I'm intending for the client to have no interaction with the database server, but instead to send username/password to the game server, which then either gets their data or makes a new database entry if they don't exist (or tells them where to go if the password is wrong). This reduces the amount of places I need to trust, and also means clients have no power to change their stats with clientside hacks. Opinions? - Original Message - From: Jonah Sherman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, June 15, 2002 9:47 PM Subject: Re: [hlcoders] Client commands For that, the most secure way would be something like... Master server contains users keys(passwords), and data When connecting to a server, the client connects to the master server, and gives its login name. The server sends back the clients name, its data, and a timestamp, encrypted with the clients password. It also sends a SHA1 hash of an unencrypted version of what it sent to the client, digitally signed with the master servers private key. The client decrypts the data packet, then sends this to the server, the server checks the timestamp is recent, and that the signed hash matches the data. If so, all is well and the client is authenticated. This only covers GETTING the data. As for updating it..there is no real secure way to do that. Any method you do would rely both on a secure client and a secure server, neither of which could exist in reality. The server could spoof whatever it wants to the master server, and the master server has no way of verifying this. So, anyone could just make a server and send spoofed updates the master server. There is absolutely no way to prevent this whatsoever. From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Client commands Date: Sat, 15 Jun 2002 21:32:21 +0100 All servers. Master DB server kind of thing. And please drop the patronising tone, I will understand your answer. The reason I'm asking for clarification is I want to make find out if what you're thinking of is something I've already thought of or not. - Original Message - From: Jonah Sherman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, June 15, 2002 8:20 PM Subject: Re: [hlcoders] Client commands You wont understand what i said untill you answer my question: Is this persistent data for a player just on that server or for all servers? From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Client commands Date: Sat, 15 Jun 2002 19:04:03 +0100 But your argument there can be applied to anything. Yes, someone can intercept the username and hashed password, but that can be said for pretty much everything I log onto on the web. There's no way to prevent that without me putting SSL code in and rewriting the database server code as well (like I'm gonna do that). And what exactly do you mean by just sending a hash of your password
Re: [hlcoders] Client commands
Actually, this isnt as much of a problem as you might think. ALL HL data is encrypted before being sent over the network.. Are you planning on storing player data for just that server or globally? If you planning on having a master server store everyones info, you might want to rethink your protocol, just sending a hash of your password to the server isnt secure, as the server can just replay that hash and act as you... From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [hlcoders] Client commands Date: Fri, 14 Jun 2002 18:54:21 +0100 Is it possible to preprocess client commands being sent to the server before they're sent? I'd like to run an md5digest on a password argument before it flys off over the internet to the server. Is this possible? I was going to have players persistent info stored against AuthID, but then I realised it'd be nice to be able to log in at someone elses machine and still get your stats/score updated. So now I need some way of a player entering a username/password combo and not have a plaintext password either travel across the network or be stored in a text file (which would happen if I used a cvar wouldn't it?). Any suggestions to throw into the pot? Paul ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Client commands
You wont understand what i said untill you answer my question: Is this persistent data for a player just on that server or for all servers? From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Client commands Date: Sat, 15 Jun 2002 19:04:03 +0100 But your argument there can be applied to anything. Yes, someone can intercept the username and hashed password, but that can be said for pretty much everything I log onto on the web. There's no way to prevent that without me putting SSL code in and rewriting the database server code as well (like I'm gonna do that). And what exactly do you mean by just sending a hash of your password to the server isnt secure, as the server can just replay that hash and act as you... ?. Not sure which server you mean by 'server' and also how you think they'd use this to their advantage? - Original Message - From: Jonah Sherman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, June 15, 2002 6:11 PM Subject: Re: [hlcoders] Client commands Actually, this isnt as much of a problem as you might think. ALL HL data is encrypted before being sent over the network.. Are you planning on storing player data for just that server or globally? If you planning on having a master server store everyones info, you might want to rethink your protocol, just sending a hash of your password to the server isnt secure, as the server can just replay that hash and act as you... From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [hlcoders] Client commands Date: Fri, 14 Jun 2002 18:54:21 +0100 Is it possible to preprocess client commands being sent to the server before they're sent? I'd like to run an md5digest on a password argument before it flys off over the internet to the server. Is this possible? I was going to have players persistent info stored against AuthID, but then I realised it'd be nice to be able to log in at someone elses machine and still get your stats/score updated. So now I need some way of a player entering a username/password combo and not have a plaintext password either travel across the network or be stored in a text file (which would happen if I used a cvar wouldn't it?). Any suggestions to throw into the pot? Paul ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Client commands
For that, the most secure way would be something like... Master server contains users keys(passwords), and data When connecting to a server, the client connects to the master server, and gives its login name. The server sends back the clients name, its data, and a timestamp, encrypted with the clients password. It also sends a SHA1 hash of an unencrypted version of what it sent to the client, digitally signed with the master servers private key. The client decrypts the data packet, then sends this to the server, the server checks the timestamp is recent, and that the signed hash matches the data. If so, all is well and the client is authenticated. This only covers GETTING the data. As for updating it..there is no real secure way to do that. Any method you do would rely both on a secure client and a secure server, neither of which could exist in reality. The server could spoof whatever it wants to the master server, and the master server has no way of verifying this. So, anyone could just make a server and send spoofed updates the master server. There is absolutely no way to prevent this whatsoever. From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Client commands Date: Sat, 15 Jun 2002 21:32:21 +0100 All servers. Master DB server kind of thing. And please drop the patronising tone, I will understand your answer. The reason I'm asking for clarification is I want to make find out if what you're thinking of is something I've already thought of or not. - Original Message - From: Jonah Sherman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, June 15, 2002 8:20 PM Subject: Re: [hlcoders] Client commands You wont understand what i said untill you answer my question: Is this persistent data for a player just on that server or for all servers? From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Client commands Date: Sat, 15 Jun 2002 19:04:03 +0100 But your argument there can be applied to anything. Yes, someone can intercept the username and hashed password, but that can be said for pretty much everything I log onto on the web. There's no way to prevent that without me putting SSL code in and rewriting the database server code as well (like I'm gonna do that). And what exactly do you mean by just sending a hash of your password to the server isnt secure, as the server can just replay that hash and act as you... ?. Not sure which server you mean by 'server' and also how you think they'd use this to their advantage? - Original Message - From: Jonah Sherman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, June 15, 2002 6:11 PM Subject: Re: [hlcoders] Client commands Actually, this isnt as much of a problem as you might think. ALL HL data is encrypted before being sent over the network.. Are you planning on storing player data for just that server or globally? If you planning on having a master server store everyones info, you might want to rethink your protocol, just sending a hash of your password to the server isnt secure, as the server can just replay that hash and act as you... From: Paul Samways [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [hlcoders] Client commands Date: Fri, 14 Jun 2002 18:54:21 +0100 Is it possible to preprocess client commands being sent to the server before they're sent? I'd like to run an md5digest on a password argument before it flys off over the internet to the server. Is this possible? I was going to have players persistent info stored against AuthID, but then I realised it'd be nice to be able to log in at someone elses machine and still get your stats/score updated. So now I need some way of a player entering a username/password combo and not have a plaintext password either travel across the network or be stored in a text file (which would happen if I used a cvar wouldn't it?). Any suggestions to throw into the pot? Paul ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Join the world's
Re: [hlcoders] New anti-cheat update...
It computes a hash of memory regions, and server tests it. You can see this by dumping CS functions, and replacing add val instructions with sub -val, it will say you are cheating. Well I assume that OGC and all these other hacks affect all mods - not just CS. So is this something all mods can inherit? Or does revealing how to make it work basically show how to get around it? [EMAIL PROTECTED] wrote: -- [ Picked text/plain from multipart/alternative ] Be an officially Valve sponsered mod? ~Ghoul Lets leave it at that... ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders -- I think...I think it's in my basement. Let me go upstairs and check. -M.C. Escher ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp. ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Anti-cheat code in mods
dont ask how I got these? You obviously arent very bright, and you still try to take credit for other's work. I posted them on the clientbot forum before you posted them here(because they are mine) http://clientbot.counter-strike.ru/forum/showthread.php?s=threadid=1227perpage=15pagenumber=1 From: Kuja [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: RE: [hlcoders] Anti-cheat code in mods Date: Sun, 28 Apr 2002 14:20:12 -0400 MIME-Version: 1.0 Received: from [205.158.143.9] by hotmail.com (3.2) with ESMTP id MHotMailBE958872006040043151CD9E8F0909B60; Sun, 28 Apr 2002 11:20:35 -0700 Received: from list.valvesoftware.com (localhost [127.0.0.1])by list.valvesoftware.com (Postfix) with ESMTPid 995903152; Sun, 28 Apr 2002 10:24:09 -0700 (PDT) Received: from ntmail.gamespy.com (mail1b.gamespy.com [207.38.1.98])by list.valvesoftware.com (Postfix) with ESMTP id D84342F69for [EMAIL PROTECTED]; Sun, 28 Apr 2002 10:23:47 -0700 (PDT) Received: from [68.49.48.59] by ntmail.contaminated.net (NTMail 7.00.0022/AX0191.00.1ce0e1da) with ESMTP id gnnhsiaa for [EMAIL PROTECTED]; Sun, 28 Apr 2002 11:20:34 -0700 From [EMAIL PROTECTED] Sun, 28 Apr 2002 11:21:26 -0700 Delivered-To: [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600. In-Reply-To: [EMAIL PROTECTED] Importance: Normal Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.8 Precedence: bulk List-Help: mailto:[EMAIL PROTECTED]?subject=help List-Post: mailto:[EMAIL PROTECTED] List-Subscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=subscribe List-Id: Discussion of Half-Life Programming hlcoders.list.valvesoftware.com List-Unsubscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=unsubscribe List-Archive: http://list.valvesoftware.com/pipermail/hlcoders/ X-Original-Date: Sun, 28 Apr 2002 14:20:12 -0400 www.digitalpaintball.net/~noskill/noskill.rar Dont ask how I got these, but, well, more proof its been hacked. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Dynerman David M Sent: Sunday, April 28, 2002 2:08 PM To: [EMAIL PROTECTED] Subject: RE: [hlcoders] Anti-cheat code in mods Perhaps, but I think that clamping down, hiding code, and hurting development as a whole isn't the solution. You don't ban freedom of speech, even when the Neo-Nazi's hold a rally in predominately Jewish Skokie, Illinois, or when the KKK marches outside an African-American mayor's house. david -Original Message- From: David Flor [mailto:[EMAIL PROTECTED]] Sent: Sunday, April 28, 2002 12:05 PM To: [EMAIL PROTECTED] Subject: RE: [hlcoders] Anti-cheat code in mods Exactly, but seeing as how we're programmers... That's the problem: not everyone on this list is a nice programmer. Don't you think that the cheat developers weren't the first ones to register to this list? ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Anti-cheat code in mods
The protection of client.dll is nothing more than a RC4-hybrid which is easy to find. entire loader: http://clientbot.counter-strike.ru/forum/showthread.php?s=threadid=1226 proof its not even a halfass fix: http://www.digitalpaintball.net/~noskill/cs14.jpg From: Michael A. Hobson [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [hlcoders] Anti-cheat code in mods Date: Thu, 25 Apr 2002 11:39:41 -0700 MIME-Version: 1.0 Received: from [205.158.143.9] by hotmail.com (3.2) with ESMTP id MHotMailBE91974300464004375ECD9E8F090B240; Thu, 25 Apr 2002 11:34:44 -0700 Received: from list.valvesoftware.com (localhost [127.0.0.1])by list.valvesoftware.com (Postfix) with ESMTPid DD27B3203; Thu, 25 Apr 2002 10:44:07 -0700 (PDT) Received: from web.thecrusaderbbs.com (web.thecrusaderbbs.com [209.151.237.98])by list.valvesoftware.com (Postfix) with ESMTP id 1CDCA2F3Dfor [EMAIL PROTECTED]; Thu, 25 Apr 2002 10:43:30 -0700 (PDT) Received: from DOLPHIN.mail.thecrusaderbbs.com (dolphin.thecrusaderbbs.com.242.151.209.in-addr.arpa [209.151.242.202] (may be forged))by web.thecrusaderbbs.com (8.11.6/8.11.6) with ESMTP id g3PIiCn19254;Thu, 25 Apr 2002 11:44:12 -0700 From [EMAIL PROTECTED] Thu, 25 Apr 2002 11:36:46 -0700 Delivered-To: [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] X-Sender: No X-Mailer: Not Available. In-Reply-To: [EMAIL PROTECTED] Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.8 Precedence: bulk List-Help: mailto:[EMAIL PROTECTED]?subject=help List-Post: mailto:[EMAIL PROTECTED] List-Subscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=subscribe List-Id: Discussion of Half-Life Programming hlcoders.list.valvesoftware.com List-Unsubscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=unsubscribe List-Archive: http://list.valvesoftware.com/pipermail/hlcoders/ X-Original-Date: Thu, 25 Apr 2002 11:39:41 -0700 Botman: Actually, AHL Beta 5 and Desert Crisis both have API Hooking detection anti-cheat built-in and have had it since HL 1.1.0.8 / SDK 2.2. This code was developed by Ikkyo of Desert Crisis. I had some small technical input into version 2 of this code, which now uses an additional technique I devised called API Inventorying on the modules loaded into HL.EXE's process space. API Inventorying detects PE Images with duplicate exported API's, which is the signature of any DLL replacement API Hooking. This particular technique catchs all OPENGL32.DLL replacement cheat programs. At 09:59 AM 04/25/2002 -0700, Botman wrote: Valve has stated in the dedicated server e-mail lists that right now the only thing that is included in the anti-cheat is the blocking of client DLL hooking. OpenGL wall hacks and other non-client DLL cheats (scripts, etc.) will still work. Also Counter-Strike is the only MOD with anti-cheat protection built into it. Anti-cheats will be added to the other MODs in the near future. {OLD}Sneaky_Bastard! Michael A. Hobson email: [EMAIL PROTECTED] icq:#2186709 ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] UTIL_SharedRandomFloat() always returning low value
anyone know what could cause this? _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] UTIL_SharedRandomFloat() always returning low value
Yep, I just checked. Im getting the random_seed from HUD_PostRunCmd() then use it as: sx=UTIL_SharedRandomFloat(pl.random,-0.06f,0.06f); sy=UTIL_SharedRandomFloat(pl.random,0.0f,0.12)-0.06f; //Testing to see if negative #s were problem..they werent gEngfuncs.Con_Printf(Random Float: %i %f %f\n,pl.random,sx,sy); This prints out a different random seed each time..but always -0.12 for the floats :( From: Lord Booga [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] UTIL_SharedRandomFloat() always returning low value Date: Sat, 6 Apr 2002 04:43:09 +1200 MIME-Version: 1.0 Received: from [205.158.143.9] by hotmail.com (3.2) with ESMTP id MHotMailBE771F47006640043721CD9E8F0910D40; Fri, 05 Apr 2002 08:43:52 -0800 Received: from list.valvesoftware.com (localhost [127.0.0.1])by list.valvesoftware.com (Postfix) with ESMTPid 84BA7C49B; Fri, 5 Apr 2002 08:45:04 -0800 (PST) Received: from deborah.paradise.net.nz (deborah.paradise.net.nz [203.96.152.32])by list.valvesoftware.com (Postfix) with ESMTP id C3FF6C431for [EMAIL PROTECTED]; Fri, 5 Apr 2002 08:44:20 -0800 (PST) Received: from boogsy (203-96-146-26.apx1.paradise.net.nz [203.96.146.26])by deborah.paradise.net.nz (Postfix) with SMTP id 6F137D1796for [EMAIL PROTECTED]; Sat, 6 Apr 2002 04:42:46 +1200 (NZST) From [EMAIL PROTECTED] Fri, 05 Apr 2002 08:44:37 -0800 Delivered-To: [EMAIL PROTECTED] Message-ID: 001901c1dcc0$f84445e0$1a9260cb@boogsy References: [EMAIL PROTECTED] X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.8 Precedence: bulk List-Help: mailto:[EMAIL PROTECTED]?subject=help List-Post: mailto:[EMAIL PROTECTED] List-Subscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=subscribe List-Id: Discussion of Half-Life Programming hlcoders.list.valvesoftware.com List-Unsubscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=unsubscribe List-Archive: http://list.valvesoftware.com/pipermail/hlcoders/ X-Original-Date: Sat, 6 Apr 2002 04:43:09 +1200 (long shot) But is the random generator being seeded properly? - Original Message - From: Jonah Sherman [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, April 06, 2002 4:24 AM Subject: [hlcoders] UTIL_SharedRandomFloat() always returning low value anyone know what could cause this? _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Ok Thanks for the help guys. New topic: Menu positions.
Im just wondering...does anyone know where i could find a binary of egcs 1.1.2? I have gcc 2.95.3 and 3.0.3 on my linux system, but they give errors when I attempt to compile the EGCS 1.1.2 source release... _ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] bones/ bone controllers
Hi, I want to set the position of a bone on the player. But, all bonecontrollers for the player are used. So, instead, i was wondering, how do you set the position of a bone directly, in the studiomodel code, instead of using the bone controller? Thanks, Jonah _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] boned/sequences
I was looking through the player model code, and I don't understand where it is defined which bones get controlled by the gaitsequence, and which bones get controlled by the sequence. can anyone help? Also, as my first messing around with the model rendering code, I would like to hardcode the movement of the shoulders with the players viewpoint, instead of using blending(IE: the model will contain only a horizontal aim sequence, no blending). Any ideas on where to start? Thanks, Jonah _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp. ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] events
I cant figure out why...but my event isnt being called! In my PrimaryAttack, i have a PLAYBACK_EVENT with FEV_NOHOST. PrimaryAttack IS being called on the client, because i added a Con_Printf() before the call to test, and it iis being called. I have the HookEvent() call in the same place all the HL defaults. But Still, the handler i registered isnt getting called :( I can't figure out what im missing! _ Chat with friends online, try MSN Messenger: http://messenger.msn.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Bone controller
wellThe only thing i intend to use bone controlling on IS the player model :/ From: Reedbeta [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [hlcoders] Bone controller Date: Sat, 8 Dec 2001 11:17:12 -0800 (PST) MIME-Version: 1.0 Received: from [205.158.143.9] by hotmail.com (3.2) with ESMTP id MHotMailBDDBB2EB006A40042A1ACD9E8F090E790; Sat, 08 Dec 2001 11:20:12 -0800 Received: from list.valvesoftware.com (localhost [127.0.0.1])by list.valvesoftware.com (Postfix) with ESMTPid 5151FC478; Sat, 8 Dec 2001 11:15:05 -0800 (PST) Received: from web13807.mail.yahoo.com (web13807.mail.yahoo.com [216.136.175.17])by list.valvesoftware.com (Postfix) with SMTP id 71783C423for [EMAIL PROTECTED]; Sat, 8 Dec 2001 11:14:41 -0800 (PST) Received: from [65.58.3.15] by web13807.mail.yahoo.com via HTTP; Sat, 08 Dec 2001 11:17:12 PST From [EMAIL PROTECTED] Sat, 08 Dec 2001 11:21:49 -0800 Delivered-To: [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] In-Reply-To: [EMAIL PROTECTED] Sender: [EMAIL PROTECTED] Errors-To: [EMAIL PROTECTED] X-BeenThere: [EMAIL PROTECTED] X-Mailman-Version: 2.0.6 Precedence: bulk List-Help: mailto:[EMAIL PROTECTED]?subject=help List-Post: mailto:[EMAIL PROTECTED] List-Subscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=subscribe List-Id: Discussion of Half-Life Programming hlcoders.list.valvesoftware.com List-Unsubscribe: http://list.valvesoftware.com/mailman/listinfo/hlcoders,mailto:[EMAIL PROTECTED]?subject=unsubscribe List-Archive: http://list.valvesoftware.com/pipermail/hlcoders/ X-Original-Date: Sat, 8 Dec 2001 11:17:12 -0800 (PST) Well if it's the player model you're using, it's quite possible that something else is overriding the bone controller values you set. There are a lot of special cases in the model rendering code that apply only to player models, since they are the only ones that have to deal with gaitsequences and the like...perhaps you should try doing this on a model other than the player model (for example a grunt or something). --- Jonah Sherman [EMAIL PROTECTED] wrote: i was trying to learn how to use the bone controller...but i had no luck :( I added this to my ClientCommand() function: else if(FStrEq(pcmd,bset)) { char *a1=(char*)CMD_ARGV(1),*a2=(char*)CMD_ARGV(2); if(!a1||!a2) return; int cont=atoi(a1); float val=atof(a2); GetClassPtr((CBasePlayer *)pev)-SetBoneController(cont,val); ClientPrint(pev,HUD_PRINTCONSOLE,UTIL_VarArgs(Contorller: %i, value: %f\n,cont,val)); } I then started with the modified DLL and typed bset 0 20 as Gman. I tried many other things, from 0-3 for arg1 and -30 to 30 for arg2(gmans QC file defined these limits). I was in 3rd person mode, and did not notice ANY changes in the models appearance. What did I do wrong? with the stuff i set the bones should be all deranged, but they didnt change at all! _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders __ Do You Yahoo!? Send your FREE holiday greetings online! http://greetings.yahoo.com ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Bone controller
i was trying to learn how to use the bone controller...but i had no luck :( I added this to my ClientCommand() function: else if(FStrEq(pcmd,bset)) { char *a1=(char*)CMD_ARGV(1),*a2=(char*)CMD_ARGV(2); if(!a1||!a2) return; int cont=atoi(a1); float val=atof(a2); GetClassPtr((CBasePlayer *)pev)-SetBoneController(cont,val); ClientPrint(pev,HUD_PRINTCONSOLE,UTIL_VarArgs(Contorller: %i, value: %f\n,cont,val)); } I then started with the modified DLL and typed bset 0 20 as Gman. I tried many other things, from 0-3 for arg1 and -30 to 30 for arg2(gmans QC file defined these limits). I was in 3rd person mode, and did not notice ANY changes in the models appearance. What did I do wrong? with the stuff i set the bones should be all deranged, but they didnt change at all! _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders