Exemple #1
0
        public WorldNode GetWorldNode(int mapId)
        {
            WorldNode worldNode;

            // Try to get available world servers for the specific map or for all maps (-1).
            if (WorldNodes.TryGetValue(mapId, out worldNode) || WorldNodes.TryGetValue(-1, out worldNode))
            {
                if (Helper.CheckConnection(worldNode.Address, worldNode.Port))
                {
                    return(worldNode);
                }
            }

            return(null);
        }
Exemple #2
0
        void LoadAvailableWorldNodes()
        {
            var worldNodes = DB.Auth.Select <WorldNode>();

            if (worldNodes.Count == 0)
            {
                Log.Error("No WorldNodes available.");
            }

            worldNodes.ForEach(ws =>
            {
                if (WorldNodes.TryAdd(ws.MapId, ws))
                {
                    Log.Normal("Added new WorldNode for Map '{0}' at '{1}:{2}'.", ws.MapId, ws.Address, ws.Port);
                }
            });

            Log.Normal("Loaded {0} WorldNodes.", WorldNodes.Count);
            Log.Message();
        }