Ejemplo n.º 1
0
        public bool Setup()
        {
            //TODO: (in order)
            LoadEvents();
            Logger.Init();
            Logger.Log("Starting Server");
            SQLiteDB = new SQLiteDatabase();  //
            UpdateDB();
            //ItemDB = new ItemDB();
            LoadFiles();

            Properties.Load("properties/server.properties");
            Command.InitCore();
            BlockChange.InitAll();
            Physics.Handlers.InitAll();
            Plugin.Load();
            Command.SortCommands();

            //Get latest developerlist
            new Thread(new ThreadStart(UpdateDevs)).Start();

            //load groups
            consolePlayer = new ConsolePlayer(s);
            consolePlayer.SetUsername(ConsoleName);
            //Group.DefaultGroup = new DefaultGroup(); //debug
            Group.LoadGroups();

            BanList.AddRange(Properties.LoadList("properties/banned.txt"));
            if (usewhitelist)
            {
                WhiteList.AddRange(Properties.LoadList("properties/whitelist.txt"));
            }
            if (useviplist)
            {
                VIPList.AddRange(Properties.LoadList("properties/viplist.txt"));
            }

            loadLevels();
            loadCleanUp();

            try
            {
                IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, port);
                listen = new Socket(endpoint.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                listen.Bind(endpoint);
                listen.Listen(int.MaxValue);

                listen.BeginAccept(new AsyncCallback(Accept), null);

                return(true);
            }
            catch (SocketException e) { Logger.Log(e.Message + e.StackTrace); return(false); }
            catch (Exception e) { Logger.Log(e.Message + e.StackTrace); return(false); }
        }