You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
40 lines
1.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Code for the CEconGameAccount object |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "cbase.h" |
|
|
|
#include "econ_game_account_server.h" |
|
|
|
using namespace GCSDK; |
|
|
|
#ifdef GC_DLL |
|
//--------------------------------------------------------------------------------- |
|
// Purpose: |
|
//--------------------------------------------------------------------------------- |
|
IMPLEMENT_CLASS_MEMPOOL( CEconGameServerAccount, 100, UTLMEMORYPOOL_GROW_SLOW ); |
|
|
|
void GameServerAccount_GenerateIdentityToken( char* pIdentityToken, uint32 unMaxChars ) |
|
{ |
|
static const char s_ValidChars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890./+!$%^-_+?<>()&~:"; |
|
const int nLastValidIndex = ARRAYSIZE(s_ValidChars) - 2; // last = size - 1, minus another one for null terminator |
|
|
|
// create a randomized token |
|
for ( uint32 i = 0; i < unMaxChars - 1; ++i ) |
|
{ |
|
pIdentityToken[i] = s_ValidChars[ RandomInt( 0, nLastValidIndex ) ]; |
|
} |
|
pIdentityToken[unMaxChars - 1] = 0; |
|
} |
|
|
|
//--------------------------------------------------------------------------------- |
|
// Purpose: Selective account-level data for game servers |
|
//--------------------------------------------------------------------------------- |
|
IMPLEMENT_CLASS_MEMPOOL( CEconGameAccountForGameServers, 10 * 1000, UTLMEMORYPOOL_GROW_SLOW ); |
|
#endif |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h"
|
|
|