08-29 Shinigami
Changed : player.spyonclient2 renamed to player.clientinfo (check 01-24)
01-24 Shinigami
Added : player.clientinfo -- returns a struct with a lot of usefull
infomation about client PC
Example :
Function TestClientInfo(who)
Var info:=who.clientinfo;
If (info.unknown1) // in most/all cases 0x02
SysLog("ClientInfo '"+who.name+"' ["+who.acctname+"]");
SysLog(" Unknown1 = "+Lower(Hex(info.unknown1)));
SysLog(" Unique Instance ID of UO = "+Lower(Hex(info.instance)));
SysLog(" OS Version = "+info.os_major+"."+info.os_minor+"."+info.os_revision);
SysLog(" CPU Manufacturer = "+info.cpu_manufacturer);
SysLog(" CPU Family = "+info.cpu_family);
SysLog(" CPU Model = "+info.cpu_model);
SysLog(" CPU Clock Speed = "+info.cpu_clockspeed+" MHz");
SysLog(" CPU Quantity = "+info.cpu_quantity);
SysLog(" Memory = "+info.memory+" MB");
SysLog(" Screen Resolution = "+info.screen_width+" x "+info.screen_height+" x "+info.screen_depth+" Bit");
SysLog(" Direct X Version = "+info.directx_major+"."+info.directx_minor);
SysLog(" Video Card Description = "+CChrZ(info.video_description));
SysLog(" Video Card Vendor ID = "+info.video_vendor);
SysLog(" Video Card Device ID = "+info.video_device);
SysLog(" Video Card Memory = "+info.video_memory+" MB");
SysLog(" Distribution = "+info.distribution);
SysLog(" Clients Running = "+info.clients_running);
SysLog(" Clients Installed = "+info.clients_installed);
SysLog(" Partial Insstalled = "+info.partial_installed);
SysLog(" Language Code = "+CChrZ(info.langcode));
SysLog(" Unknown2 = "+info.unknown2);
Else
SysLog("No ClientInfo '"+who.name+"' ["+who.acctname+"]");
EndIf
EndFunction
Limitations :
The client doesn't send this Packet every time,
if available you can use it first time in your misc/logon.src.
If your login server differs from play/shard server it doesn't work
(Packet will be send before you choose the server only).
This will work for Win release only, until now. Win and Linux core
handle server-choose- and play-connection in a different way.
Not sure why, must be something with OS-Socks implementation

(
Comment :
Seems to be very usefull to detect shadow accounts...
You love 1984? OSI too ;oP
(p.s.: in 08-29 renamed from player.spyonclient2 to player.clientinfo)