Hello dear modders,
christmas is soon and will give a presents to et mod community.
My wish is to help et to have a long life
PB didn’t want give guid to our dear players…
Since some weeks, i had work on a code which allows mod to give a valid pbguid to a client without pb thing.
In the fact , its a client side mod, so that couldn’t runs on a no download server…
code make few things:
[ul]
[li] its check if the cl_guid is a valid one[/li][li]if, not that s download a new one on etkey.org site[/li][li]When etkey file is found ( or download) a guid is computed as pb compute it so the new client guid is fully compatible with pb , xpsave.[/li][/ul]
the code file can be divided as it :
[ul]
[li]cgame folder[/li][li]cg_uid.c cg_uid.h, these files contain the guid computation and detection part.[/li][li]md5.c, md5.h, they contains md5 computation[/li][li]cg_osfile.h, cg_file.c, these file manipulate osfile system, as its come from an old noquarter copy i hope no quarter team will not be angry about me ( if yes , let me know and i will remove it)[/li][li]curl directory, its contains file need to achieve the downloading of etkey file, as its a library, i give you build for windows and linux ( build on an old debian virtual machine) [/li][/ul]
At this point i have to say thats i build windows file on visual on a windows machine, linux one on a virtual debian machine runs with vmware so i couldn’t give you the way to make the crosscompiling for windows on linux. I didn’t try it on mac compilation as i didn’t make ones…
Here is the differents steps to achieve compilation of this :
- [li]1rst step[/li]Add cgame file in yr cgame folder
copy curl directory on the same place that your cgame directory.
add guid-test() call in yr mod ( mine is into client init) - 2nd step
[LIST]
[li]On visual in windows[/li]add cgame file into yr cgame project
modify propriety of the project
in C/C++ tab,in genaral part
edit the include directory to add the curl/include folder
(if u copy at the correct place, u ll have something like .\curl-7.22.0\include)
in link editor tab, in input part add this to your dependaries library
odbc32.lib
odbccp32.lib
ws2_32.lib
wldap32.lib
winmm.lib
wsock32.lib
…/curl-7.22.0/lib/LIB-Release/libcurl.lib
Maybe some of them are no need as i have others specials features on my mod.
[li]On linux[/li]you need to edit Sconscript.cgame file
add cg_osfile.c ,cg_uid.c , md5.c on the source file list
add local_env.Append(CPPPATH = [’./curl-7.22.0/include’]
add local_env.Append(LINKFLAGS = [’-L ./curl-7.22.0/lib/LIB-Release/’, ‘-lcurl’]
[li]3rd step Enjoy and compile[/li][/LIST]
As i am a nice guy , i give you the curl library release, if u want u can download curl source and build it by yourself.
Since some players have pb enable but not etkey, their cl_guid fiel is now equals to NO_GUID value, etpub has update his code few days ago to avoid invalid kick on duplicate guid spoof and others.
The code is gave you check all invalid know value for cl_guid field. I know it can be improved to check if cl_guid has the correct size and contains only 0-9 A F characters ( hexa value in char).I let add this part as u want.
File can be foundhere
If u ask yourself why put this and catch it for me, just becasue this knowledge will be more valuable if its shared!!!