@Override
	public boolean activate()
	{
		if(serviceClient==null)
		{
			name="THPlayers"+Thread.currentThread().getThreadGroup().getName().charAt(0);
			serviceClient=CMLib.threads().startTickDown(this, Tickable.TICKID_SUPPORT|Tickable.TICKID_SOLITARYMASK, MudHost.TIME_SAVETHREAD_SLEEP, 1);
			CMLib.threads().executeRunnable(new Runnable()
			{
				@Override
				public void run()
				{
					final List<Pair<String,Integer>>[][] pStats = CMLib.database().DBScanPridePlayerWinners(PRIDE_TOP_SIZE, (short)5);
					for(int x=0;x<pStats.length;x++)
					{
						for(int y=0;y<pStats[x].length;y++)
							topPlayers[x][y]=pStats[x][y];
					}
					if(CMProps.isUsingAccountSystem())
					{
						final List<Pair<String,Integer>>[][] aStats = CMLib.database().DBScanPrideAccountWinners(PRIDE_TOP_SIZE, (short)5);
						for(int x=0;x<aStats.length;x++)
						{
							for(int y=0;y<aStats[x].length;y++)
								topAccounts[x][y]=aStats[x][y];
						}
					}
					for(final TimeClock.TimePeriod period : TimeClock.TimePeriod.values())
						topPrideExpiration[period.ordinal()] = period.nextPeriod();
				}

			});
		}
		return true;
	}