public async void OnResourceStart() { Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine($"\n\n---------------------------- STARTING {Globals.SERVER_NAME} ({Globals.VERSION}) ----------------------------"); Console.ResetColor(); Console.WriteLine(); // Server Settings NAPI.Server.SetAutoSpawnOnConnect(false); NAPI.Server.SetAutoRespawnAfterDeath(false); NAPI.Server.SetDefaultSpawnLocation(DefaultSpawnPos); NAPI.Server.SetGlobalServerChat(false); // Initialize the Logger Logger.GetInstance(); // Get Database Settings (meta.xml) DbConnectionProvider.ProviderName = NAPI.Resource.GetSetting <string>(this, "DB_PROVIDER"); var dbConnectionStringBuilder = DbConnectionProvider.CreateDbConnectionStringBuilder(); dbConnectionStringBuilder.Add("Server", NAPI.Resource.GetSetting <string>(this, "DB_HOST")); dbConnectionStringBuilder.Add("Port", NAPI.Resource.GetSetting <uint>(this, "DB_PORT")); dbConnectionStringBuilder.Add("Database", NAPI.Resource.GetSetting <string>(this, "DB_DATABASE")); dbConnectionStringBuilder.Add("UserID", NAPI.Resource.GetSetting <string>(this, "DB_USERNAME")); dbConnectionStringBuilder.Add("Password", NAPI.Resource.GetSetting <string>(this, "DB_PASSWORD")); dbConnectionStringBuilder.Add("ConvertZeroDateTime", true); DbConnectionProvider.ConnectionString = dbConnectionStringBuilder.ConnectionString; // Test SQL Connection await DbConnectionProvider.TestConnection(); // Get SMTP Settings (meta.xml) EmailSender.SmtpHost = NAPI.Resource.GetSetting <string>(this, "SMTP_HOST"); EmailSender.SmtpPort = NAPI.Resource.GetSetting <int>(this, "SMTP_PORT"); EmailSender.SmtpUsername = NAPI.Resource.GetSetting <string>(this, "SMTP_USERNAME"); EmailSender.SmtpPassword = NAPI.Resource.GetSetting <string>(this, "SMTP_PASSWORD"); // Have expired tokens get removed once per hour _expiredEmailTokensTimer = new Timer(OnRemoveExpiredEmailTokens, null, 1, 1000 * 60 * 60); // Sever World Settings var worldData = await WorldModel.GetWorldData(); WorldHandler.CurrentTime = worldData.ServerTime; NAPI.World.ResetIplList(); }