/// <summary> /// Initializes the session offline, or not connected to any router server /// </summary> /// <returns></returns> public void InitOffline(LoginServerConfig config, int[] ports) { //Set config enviornment = config.enviornment; loggingEnabled = config.log; steamApiKey = config.steam_api_key; steamCacheExpireMinutes = config.steam_cache_expire_minutes; firebaseUcBucket = config.firebase_uc_bucket; steamTokenKey = Convert.FromBase64String(config.steam_token_key); userPorts = ports; instanceId = "OFFLINE_INSTANCE"; hosts = config.hosts; //Connect to database OpenDatabase(config.mongodb_connection, config.enviornment); //Log Log("Init", $"Init succeeded. Running offline.", DeltaLogLevel.Medium); }
/// <summary> /// Initializes the session online, connected to a router server /// </summary> /// <returns></returns> public async Task InitNetworked() { //Wait for login to succeed. Log("Init", "Login packet sent, waiting for router to respond...", DeltaLogLevel.Medium); while (!net.loggedIn) { ; } //Request config Log("Init", "Login succeeded. Requesting config, waiting for router to respond...", DeltaLogLevel.Medium); var loginDetails = await net.RequestConfig(); //Make sure login was successful if (!loginDetails.success) { throw new Exception("Failed to request config. Server rejected our request."); } //Set config enviornment = loginDetails.config.enviornment; loggingEnabled = loginDetails.config.log; steamApiKey = loginDetails.config.steam_api_key; steamCacheExpireMinutes = loginDetails.config.steam_cache_expire_minutes; firebaseUcBucket = loginDetails.config.firebase_uc_bucket; steamTokenKey = Convert.FromBase64String(loginDetails.config.steam_token_key); userPorts = loginDetails.user_ports; instanceId = loginDetails.instance_id; hosts = loginDetails.config.hosts; //Connect to database OpenDatabase(loginDetails.config.mongodb_connection, loginDetails.config.enviornment); //Open event handler events = new DeltaEventMaster(this); //Log Log("Init", $"Init succeeded. Connected with instance ID {loginDetails.instance_id}.", DeltaLogLevel.Medium); }