LTRESULT CTO2GameServerShell::OnServerInitialized() { LTRESULT nResult = CGameServerShell::OnServerInitialized(); // Don't do anything special if we're playing single-player if (!IsMultiplayerGame( )) { SetServerDir(0); return nResult; } IServerDirectory *pServerDir = Factory_Create_IServerDirectory_Titan( false, *g_pLTServer, NULL ); if( !pServerDir ) { ASSERT( !"ServerDir is NULL!" ); return LT_ERROR; } SetServerDir(pServerDir); // Set the game's name pServerDir->SetGameName(g_pVersionMgr->GetNetGameName()); // Set the version pServerDir->SetVersion(g_pVersionMgr->GetNetVersion()); pServerDir->SetRegion(g_pVersionMgr->GetNetRegion()); // Set up the network messaging header CAutoMessage cMsg; cMsg.Writeuint8(0xD); // SMSG_MESSAGE cMsg.Writeuint8(MID_MULTIPLAYER_SERVERDIR); pServerDir->SetNetHeader(*cMsg.Read()); StartupInfo_Titan startupInfo; startupInfo.m_sGameSpyName = "nolf2"; // Obfuscate the secret key a little. startupInfo.m_sGameSpySecretKey = "g"; startupInfo.m_sGameSpySecretKey += "3"; startupInfo.m_sGameSpySecretKey += "F"; startupInfo.m_sGameSpySecretKey += "o"; startupInfo.m_sGameSpySecretKey += "6"; startupInfo.m_sGameSpySecretKey += "x"; cMsg.Writeuint32(( uint32 )&startupInfo ); pServerDir->SetStartupInfo( *cMsg.Read( )); return nResult; }