Alfred, Is the update to make the Steam API more or less accessible? Sorry for off topic.
On Wed, Jun 4, 2008 at 11:42 AM, Alfred Reynolds <[EMAIL PROTECTED]> wrote: > You really don't want to do this in shipping code, we are about to release > an update that would break this as we have changed those private API's we > export from steamclient.dll. > > - Alfred > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:hlcoders- > > [EMAIL PROTECTED] On Behalf Of Ashley Cowey > > Sent: Tuesday, June 03, 2008 7:00 PM > > To: Discussion of Half-Life Programming > > Subject: Re: [hlcoders] Limiting access by Steam ID > > > > Yes this is possible. Get the steamid by > > > > typedef unsigned __int32 HSteamPipe; > > typedef unsigned __int32 HSteamUser; > > typedef unsigned __int32 uint32; > > typedef unsigned __int16 uint16; > > typedef unsigned __int64 uint64; > > > > typedef UINT64 (*pfnGetUserSteamID)(void *phSteamHandle); > > typedef void *(*pfnSteam_GetGSHandle)(HSteamUser hUser, HSteamPipe > > hSteamPipe); > > typedef HSteamUser (*pfnSteam_CreateGlobalUser)(HSteamPipe > > *phSteamPipe); > > typedef HSteamPipe (*pfnSteam_CreateSteamPipe)(void); > > typedef void (*pfnSteam_ReleaseUser)(HSteamPipe hSteamPipe, HSteamUser > > hUser); > > typedef BOOL (*pfnSteam_BReleaseSteamPipe)(HSteamPipe hSteamPipe); > > > > pfnGetUserSteamID GetUserSteamID; > > pfnSteam_GetGSHandle GetSteamHandle; > > pfnSteam_CreateGlobalUser CreateGlobalUser; > > pfnSteam_CreateSteamPipe CreateSteamPipe; > > pfnSteam_ReleaseUser ReleaseUser; > > pfnSteam_BReleaseSteamPipe ReleaseSteamPipe; > > > > int main() { > > > > UINT64 uiSteamID; > > HINSTANCE SteamClientLibrary; > > HSteamUser hSteamUser; > > HSteamPipe hPipe; > > void *hSteam; > > BOOL ret; > > > > > > SteamClientLibrary = LoadLibrary("steamclient.dll"); > > > > if ( SteamClientLibrary != 0 ) { > > > > printf("[steamclient.dll] loaded successfully ...\n"); > > > > } > > else { > > > > printf("[steamclient.dll] failed to load ...\n"); > > return 1; > > > > } > > > > CreateSteamPipe = > > (pfnSteam_CreateSteamPipe)GetProcAddress(SteamClientLibrary, > > "Steam_CreateSteamPipe"); > > CreateGlobalUser = > > (pfnSteam_CreateGlobalUser)GetProcAddress(SteamClientLibrary, > > "Steam_CreateGlobalUser"); > > GetSteamHandle = > > (pfnSteam_GetGSHandle)GetProcAddress(SteamClientLibrary, > > "Steam_GetGSHandle"); > > GetUserSteamID = > > (pfnGetUserSteamID)GetProcAddress(SteamClientLibrary, > > "Steam_GSGetSteamID"); > > ReleaseUser = > > (pfnSteam_ReleaseUser)GetProcAddress(SteamClientLibrary, > > "Steam_ReleaseUser"); > > ReleaseSteamPipe = > > (pfnSteam_BReleaseSteamPipe)GetProcAddress(SteamClientLibrary, > > "Steam_BReleaseSteamPipe"); > > > > //---------------------------- > > // uint64 Steam_GSGetSteamID(void *phSteamHandle) > > //----------------------------------------------- > > // It would appear that the return value is > > // the numerical value of the SteamID * 2. > > // > > > > hPipe = CreateSteamPipe(); > > > > if (hPipe) { > > > > printf("Steam_CreateSteamPipe returned [%i]\n", hPipe); > > > > hSteamUser = CreateGlobalUser(&hPipe); > > > > if (hSteamUser) { > > > > printf("Steam_CreateGlobalUser returned [%i]\n", > > hSteamUser); > > > > hSteam = GetSteamHandle(hSteamUser, hPipe); > > > > if (hSteam!=NULL) { > > > > printf("Recieved handle [%i]\n", hSteam); > > > > uiSteamID = GetUserSteamID(hSteam); > > > > printf("Steam_GSGetSteamID returned [%i]\n", > > uiSteamID); > > printf("SteamID for current user is [%i]\n", > > (((int)uiSteamID) / 2)); > > > > SetFromUint64( uiSteamID ); > > > > ReleaseUser( hPipe, hSteamUser ); > > ret = ReleaseSteamPipe( hPipe ); > > > > printf("ReleaseSteamPipe returned [%i]\n", ret); > > > > FreeLibrary(SteamClientLibrary); > > > > } > > else { > > > > ReleaseUser( hPipe, hSteamUser ); > > ReleaseSteamPipe( hPipe ); > > FreeLibrary(SteamClientLibrary); > > return 1; > > > > } > > > > } > > else { > > > > ReleaseSteamPipe( hPipe ); > > FreeLibrary(SteamClientLibrary); > > return 1; > > > > } > > > > } > > > > return 0; > > > > } > > > > I know this can be done using the steamapi lib but when i wrote this i > > wasnt > > aware of its existence. > > > > hope this helps > > > > > > On Wed, Jun 4, 2008 at 6:26 AM, Spencer 'voogru' MacDonald < > > [EMAIL PROTECTED]> wrote: > > > > > You can use the Steam Client API to get their FriendID, which > > converts to > > > their STEAM ID, this would be implemented on the client. > > > > > > Then for the server end you put some protection there as well. > > > > > > - voogru. > > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] On Behalf Of vivoli > > > Sent: Tuesday, June 03, 2008 6:01 PM > > > To: Discussion of Half-Life Programming > > > Subject: Re: [hlcoders] Limiting access by Steam ID > > > > > > You can't because in LAN (or localhost), the SteamID is > > STEAM_PENDING. > > > So you can't limiting access by SteamID. > > > > > > > > > > Nuclear Dawn does something like this, with Steam ID's as far as I > > know. > > > > I > > > > imagine a good place would be the DLL's init function (server & > > client?). > > > > > > > > That's my best guess. > > > > > > > > /ScarT > > > > > > > > > > > > On 03/06/2008, Spencer 'voogru' MacDonald <[EMAIL PROTECTED]> > > wrote: > > > >> > > > >> This is your best bet. > > > >> > > > >> -----Original Message----- > > > >> From: [EMAIL PROTECTED] > > > >> [mailto:[EMAIL PROTECTED] On Behalf Of Adam > > > Maras > > > >> (memzero) > > > >> Sent: Tuesday, June 03, 2008 5:17 PM > > > >> To: 'Discussion of Half-Life Programming' > > > >> Subject: Re: [hlcoders] Limiting access by Steam ID > > > >> > > > >> Could you invite the testers to a private Steam Communities group > > and > > > >> hard-code the group ID into the mod instead? Then, simply use the > > Steam > > > >> API > > > >> to check for membership in that group. > > > >> > > > >> // Adam Maras (memzero) > > > >> > > > >> -----Original Message----- > > > >> From: [EMAIL PROTECTED] > > > >> [mailto:[EMAIL PROTECTED] On Behalf Of Jed > > > >> Sent: Tuesday, June 03, 2008 2:04 PM > > > >> To: Discussion of Half-Life Programming > > > >> Subject: [hlcoders] Limiting access by Steam ID > > > >> > > > >> I know this is going to be a controversial subject but bear with > > me. > > > >> > > > >> I was asked by one of our Mod team if it would be possible for the > > > >> internal beta version to lock them so that they could only be > > played > > > >> by certain people. As we use SVN to allow testers to > > download/update > > > >> the various builds it's percieveable they could give/share their > > SVN > > > >> info and others could happily leech off it. > > > >> > > > >> The idea was to hard code a list of steam ID's into the DLLs for > > the > > > >> duration of testing and basically refuse to load the game if > > you're > > > >> not on the list. We're not thinking just stopping people joining > > games > > > >> but actually stopping them completely so they can't make local > > listen > > > >> or LAN servers. > > > >> > > > >> I've never gone this deep into the whole Steam side of things for > > > >> getting ID's or where would be a suitable or safe place to put the > > > >> check/reject code. > > > >> > > > >> Thoughts? Suggestions? > > > >> > > > >> - Jed > > > >> > > > >> P.S. We're a EP1 mod. > > > >> > > > >> _______________________________________________ > > > >> 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 > > > >> > > > >> > > > > _______________________________________________ > > > > To unsubscribe, edit your list preferences, or view the list > > archives, > > > > please visit: > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > > > > > > > > > -- > > > Utilisant le client e-mail révolutionnaire d'Opera : > > > http://www.opera.com/mail/ > > > > > > _______________________________________________ > > > 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 > > > _______________________________________________ > 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

