Esempio n. 1
0
        public static DeltaConfig NewConfig(string path)
        {
            var cfg = new DeltaConfig(path);

            //Generate secure tokens
            cfg.secrets.steam_token_key        = Convert.ToBase64String(SecureStringTool.GenerateSecureRandomBytes(16));
            cfg.secrets.corenet_encryption_key = Convert.ToBase64String(SecureStringTool.GenerateSecureRandomBytes(256));

            return(cfg);
        }
        public static DeltaManagerServer CreateManagerServer(string label, IPAddress address)
        {
            //Prepare
            DeltaConfigManagerServer configEntry;

            lock (cfg.registered_servers)
            {
                //Create key
                byte[] key = SecureStringTool.GenerateSecureRandomBytes(16);

                //Create ID
                short  id;
                Random rand = new Random();
                do
                {
                    id = (short)rand.Next(257, short.MaxValue - 1);
                } while (cfg.registered_servers.Where(x => x.id == id).Count() != 0);

                //Create config entry
                configEntry = new DeltaConfigManagerServer
                {
                    label   = label,
                    ip_addr = address.ToString(),
                    id      = id,
                    key     = Convert.ToBase64String(key)
                };

                //Add
                cfg.registered_servers.Add(configEntry);
                cfg.Save();
            }

            //Create instance and add it
            DeltaManagerServer server = new DeltaManagerServer(configEntry);

            lock (servers)
                servers.Add(server);

            return(server);
        }