public static void Init()
        {
            GameAvatarManager.m_documents = new Dictionary <long, GameAvatar>();

            int[] higherIDs = ServerGame.GameDatabase.GetCounterHigherIDs();

            for (int i = 0; i < higherIDs.Length; i++)
            {
                int highId = i;

                Parallel.For(1, higherIDs[i] + 1, lowId =>
                {
                    LogicLong id = new LogicLong(highId, lowId);

                    if (ServerManager.GetDocumentSocket(ServerCore.Type, id) == ServerCore.Socket)
                    {
                        IOperationResult <string> document = ServerGame.GameDatabase.Get(id).Result;

                        if (document.Success)
                        {
                            lock (GameAvatarManager.m_documents)
                            {
                                GameAvatar gameDocument = CouchbaseDocument.Load <GameAvatar>(document.Value);

                                GameAvatarManager.m_documents.Add(id, gameDocument);
                                GameMatchmakingManager.Enqueue(gameDocument);
                            }
                        }
                    }
                });
            }
        }