bool Settings::load(const char* settingsFile) { GKeyFile* keyfile; GKeyFileFlags flags; GError* error = 0; keyfile = g_key_file_new(); if(!keyfile) return false; flags = GKeyFileFlags( G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS); if( !g_key_file_load_from_file( keyfile, settingsFile, flags, &error ) ) { g_key_file_free( keyfile ); if (error) g_error_free(error); return false; } KEY_BOOLEAN("Debug","turnOnNovacomAtStart",m_turnNovacomOnAtStartup); KEY_BOOLEAN("Debug","saveLastBackedUpTempDb",m_saveLastBackedUpTempDb); KEY_BOOLEAN("Debug","saveLastRestoredTempDb",m_saveLastRestoredTempDb); KEY_STRING("Debug","logLevel",m_logLevel); KEY_BOOLEAN("ImageService","useComPalmImage2",m_useComPalmImage2); KEY_STRING("ImageService","comPalmImage2Binary",m_comPalmImage2BinaryFile); KEY_INTEGER("General", "schemaValidationOption", schemaValidationOption); g_key_file_free( keyfile ); return true; }
void ConfigPlanetServer::install(void) { ConfigServerUtility::install(); ExitChain::add(&remove, "ConfigPlanetServer::remove"); data = new ConfigPlanetServer::Data; KEY_STRING (centralServerAddress, "swo-dev1.station.sony.com"); KEY_INT (centralServerPort, 44455); KEY_STRING (sceneID, "default"); KEY_INT (gameServicePort, 0); KEY_INT (taskManagerPort, 60001); KEY_INT (watcherServicePort, 60002); KEY_INT (maxWatcherConnections, 1); KEY_INT (watcherOverflowLimit, 1024 * 1024 * 8); // 8MB overflow for CS PlanetWatcher tool KEY_BOOL (logObjectLoading, false); KEY_INT (maxWatcherUpdatesPerMessage,500); // Max object updates to send to the watcher in a single message KEY_STRING (gameServiceBindInterface, ""); KEY_STRING (watcherServiceBindInterface, ""); KEY_BOOL (loadWholePlanet, false); KEY_BOOL (loadWholePlanetMultiserver, false); KEY_BOOL (logPreloading, false); KEY_INT (numTutorialServers, 1); KEY_INT (maxInterestRadius, Node::getNodeSize()); KEY_INT (populationCountTime, 60); // seconds KEY_BOOL (logChunkLoading, false); KEY_INT (preloadBailoutTime, 0); // seconds KEY_STRING (preloadDataTableName, "datatables/planet_server/preload_list.iff"); KEY_INT (authTransferSanityCheckTimeMs, 15000); KEY_INT (gameServerRestartDelayTimeSeconds, 60); KEY_BOOL (enableContentsChecking, false); KEY_INT (maxGameServers, 0); KEY_BOOL (enableStartupCreateProxies, true); KEY_BOOL (requestDbSaveOnGameServerCrash, true); KEY_BOOL (gameServerProfiling, false); KEY_BOOL (gameServerDebugging, false); KEY_INT (gameServerDebuggingPortBase, 0); KEY_INT (maxTimeToWaitForGameServerStartSeconds, 5*60); // seconds }
void Settings::load(const char* settingsFile) { GKeyFile* keyfile; GKeyFileFlags flags; GError* error = 0; keyfile = g_key_file_new(); if(!keyfile) return; flags = GKeyFileFlags( G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS); if( !g_key_file_load_from_file( keyfile, settingsFile, flags, &error ) ) { g_key_file_free( keyfile ); if (error) g_error_free(error); return ; } // Fill in with the macros above. KEY_STRING("General","ApplicationPath", lunaAppsPath ); // apps path can now be multiple paths, separated by : (setenv PATH style) KEY_STRING("General","AppInstallBase", appInstallBase); // due to all the churn surrounding moving of apps around, this is now a conf option KEY_STRING("General","AppInstallRelative", appInstallRelative); // due to all the churn surrounding moving of apps around, this is now a conf option // KEY_STRING("General","PackageInstallBase", packageInstallBase); KEY_STRING("General","PackageInstallRelative", packageInstallRelative); KEY_STRING("General","DownloadPathMedia",downloadPathMedia); //validate path, reset to default if necessary if (!validateDownloadPath(downloadPathMedia)) { downloadPathMedia = "/media/internal/downloads"; } KEY_STRING("General","AppInstallTemp",appInstallerTmp); KEY_STRING("General","SystemPath", lunaSystemPath ); KEY_STRING("General","AppLauncherPath", lunaAppLauncherPath ); KEY_STRING("General","SystemResourcesPath", lunaSystemResourcesPath ); KEY_STRING("General","SystemLocalePath", lunaSystemLocalePath ); KEY_STRING("General","PresetLaunchPointsPath",lunaPresetLaunchPointsPath); KEY_STRING("General","LaunchPointsPath", lunaLaunchPointsPath); KEY_STRING("General", "PreferencesPath", lunaPrefsPath); KEY_STRING("General","UiComponentsPath", lunaQmlUiComponentsPath ); KEY_BOOLEAN("General", "ShowReticle", showReticle); KEY_INTEGER("General", "NotificationSoundDuration", notificationSoundDuration); KEY_INTEGER( "CoreNavi", "ThrobberBrightnessInLight", ledPulseMaxBrightness); KEY_INTEGER( "CoreNavi", "ThrobberBrightnessInDark", ledPulseDarkBrightness); KEY_BOOLEAN( "CoreNavi", "EnableLightBar", lightbarEnabled); KEY_INTEGER( "CoreNavi", "CoreNaviBrightnessScaler", coreNaviScaler); KEY_INTEGER( "CoreNavi", "GestureAnimationSpeedInMs", gestureAnimationSpeed); KEY_INTEGER( "CoreNavi", "HomeDoubleClickDuration", homeDoubleClickDuration); KEY_INTEGER( "Display", "BrightnessOutdoorScale", backlightOutdoorScale); KEY_INTEGER( "Display", "BrightnessDimScale", backlightDimScale); KEY_INTEGER( "Display", "BrightnessDarkScale", backlightDarkScale); KEY_BOOLEAN( "Display", "EnableALS", enableAls); KEY_BOOLEAN( "Display", "TurnOffAccelerometerWhenDimmed", turnOffAccelWhenDimmed); KEY_BOOLEAN( "Display", "DisableLocking", disableLocking); KEY_INTEGER( "Display", "LockScreenTimeoutMs", lockScreenTimeout); KEY_INTEGER( "Memory", "CardLimit", cardLimit ); KEY_INTEGER( "General","DisplayWidth",displayWidth); KEY_INTEGER( "General","DisplayHeight",displayHeight); KEY_INTEGER( "General","DisplayNumBuffers", displayNumBuffers); KEY_INTEGER("General", "MaxPenMoveFreq", maxPenMoveFreq); KEY_INTEGER("General", "MaxPaintLoad", maxPaintLoad); KEY_INTEGER("General", "MaxGestureChangeFreq", maxGestureChangeFreq); KEY_INTEGER("General", "MaxTouchChangeFreq", maxTouchChangeFreq); KEY_BOOLEAN( "Debug", "WatchPenEvents", debug_trackInputEvents ); KEY_BOOLEAN( "Debug", "EnableDebugModeByDefault", debug_enabled ); KEY_BOOLEAN( "Debug", "PiranhaDrawColoredOutlines", debug_piranhaDrawColoredOutlines); KEY_BOOLEAN( "Debug", "PiranhaDisplayFps", debug_piranhaDisplayFps); KEY_BOOLEAN( "Debug", "ShowGestures", debug_showGestures); KEY_BOOLEAN( "Debug", "DoVerboseCrashLogging", debug_doVerboseCrashLogging); KEY_BOOLEAN( "Debug", "LoopInCrashHandler", debug_loopInCrashHandler); KEY_INTEGER( "Debug", "AppInstallerCleaner",debug_appInstallerCleaner ); KEY_STRING( "General", "CmdResourceHandlers", lunaCmdHandlerPath ); KEY_STRING( "General", "CmdResourceHandlersActiveCopy", lunaCmdHandlerSavedPath); KEY_STRING( "Fonts", "Banner", fontBanner ); KEY_STRING( "Fonts", "ActiveBanner", fontActiveBanner ); KEY_STRING( "Fonts", "LockWindow", fontLockWindow ); KEY_STRING( "Fonts", "DockMode", fontDockMode ); KEY_STRING( "Fonts", "Quicklaunch", fontQuicklaunch ); KEY_STRING( "Fonts", "StatusBar", fontStatusBar ); KEY_STRING( "Fonts", "KeyboardKeys", fontKeyboardKeys ); KEY_STRING( "Fonts", "StatusBar", fontStatusBar ); KEY_INTEGER("TouchEvents", "TapRadiusMax", tapRadius); KEY_INTEGER("TouchEvents", "TapRadiusMin", tapRadiusMin); KEY_INTEGER("TouchEvents", "TapRadiusShrinkPerc", tapRadiusShrinkPercent); KEY_INTEGER("TouchEvents", "TapRadiusShrinkGranMs", tapRadiusShrinkGranMs); KEY_BOOLEAN("TouchEvents", "EnableForWebApps", enableTouchEventsForWebApps); tapRadiusSquared = tapRadius * tapRadius; KEY_INTEGER("TouchEvents", "DoubleClickDuration", tapDoubleClickDuration); // Clamp to sensible values if (tapDoubleClickDuration < 50) tapDoubleClickDuration = 50; else if (tapDoubleClickDuration > 2000) tapDoubleClickDuration = 2000; KEY_INTEGER("VTrackBall", "PixelsPerMoveH", h_trackball_pixels_per_move ); KEY_INTEGER("VTrackBall", "PixelsPerMoveV", v_trackball_pixels_per_move ); KEY_INTEGER("VTrackBall", "AccelRateH1", h_accel_rate1 ); KEY_INTEGER("VTrackBall", "AccelRateV1", v_accel_rate1 ); KEY_INTEGER("VTrackBall", "AccelConstH1", h_accel_const1 ); KEY_INTEGER("VTrackBall", "AccelConstV1", v_accel_const1 ); KEY_INTEGER("VTrackBall", "AccelRateH2", h_accel_rate2 ); KEY_INTEGER("VTrackBall", "AccelRateV2", v_accel_rate2 ); KEY_INTEGER("VTrackBall", "AccelConstH2", h_accel_const2 ); KEY_INTEGER("VTrackBall", "AccelConstV2", v_accel_const2 ); KEY_STRING("General", "QuickLaunchDefaultPositions", quicklaunchDefaultPositions ); #if defined(TARGET_DESKTOP) //If we don't have a home directory, we'll set it to /tmp. Otherwise, this does nothing. setenv("HOME", "/tmp", 0); const std::string homeFolder = getenv("HOME"); quicklaunchUserPositions = homeFolder + "/.user-dock-positions.json"; #endif KEY_STRING("General", "QuickLaunchUserPositions", quicklaunchUserPositions ); KEY_INTEGER( "General", "StatusBarTitleMaxWidth", statusBarTitleMaxWidth); KEY_BOOLEAN( "DockMode", "DockModePrelaunchAllApps", dockModePrelaunchAllApps); KEY_BOOLEAN( "DockMode", "DockModeCloseAppOnMinimize", dockModeCloseOnMinimize); KEY_BOOLEAN( "DockMode", "DockModeCloseAppsOnExit", dockModeCloseOnExit); KEY_INTEGER( "DockMode", "DockModeMaxApps", dockModeMaxApps); KEY_INTEGER( "DockMode", "DockModeNightBrightness", dockModeNightBrightness); KEY_INTEGER( "DockMode", "DockModeMenuHeight", dockModeMenuHeight); KEY_STRING("DockMode", "DockModeDefaultPositions", quicklaunchDefaultPositions ); #if defined(TARGET_DESKTOP) dockModeUserPositions = homeFolder + "/.user-dock-mode-launcher-positions.json"; #endif KEY_STRING("DockMode", "DockModeUserPositions", quicklaunchUserPositions ); KEY_BOOLEAN( "VirtualKeyboard", "VirtualKeyboardEnabled", virtualKeyboardEnabled); KEY_BOOLEAN( "VirtualCoreNavi", "VirtualCoreNaviEnabled", virtualCoreNaviEnabled); KEY_INTEGER( "VirtualCoreNavi", "VirtualCoreNaviHeight", virtualCoreNaviHeight); KEY_DOUBLE("Launcher", "CardSideScrollSwipeThreshold", launcherSideSwipeThreshold); KEY_BOOLEAN("Launcher", "UseOGLHardwareAntialias", launcherUsesHwAA); KEY_INTEGER("Launcher", "LauncherItemRowSpacingAdjust",launcherRowSpacingAdjust); KEY_INTEGER("Launcher", "LauncherLabelWidthAdjust",launcherLabelWidthAdjust); KEY_INTEGER("Launcher", "LauncherLabelXPadding",launcherLabelXPadding); KEY_DOUBLE("Launcher","LauncherIconReorderPositionThreshold",launcherIconReorderPositionThreshold); KEY_BOOLEAN("UI", "DisplayUiRotates", displayUiRotates); KEY_BOOLEAN("UI", "TabletUi", tabletUi); KEY_INTEGER("UI", "HomeButtonOrientationAngle", homeButtonOrientationAngle); KEY_INTEGER("UI", "EmuModeOrientationAngle", emuModeOrientationAngle); KEY_INTEGER("UI", "PositiveSpaceTopPadding", positiveSpaceTopPadding); KEY_INTEGER("UI", "PositiveSpaceBottomPadding", positiveSpaceBottomPadding); KEY_DOUBLE("UI", "MaximumNegativeSpaceHeightRatio", maximumNegativeSpaceHeightRatio); KEY_DOUBLE("UI", "ActiveCardWindowRatio", activeCardWindowRatio); KEY_DOUBLE("UI", "NonActiveCardWindowRatio", nonActiveCardWindowRatio); KEY_DOUBLE("UI", "GhostCardFinalRatio", ghostCardFinalRatio); KEY_INTEGER("UI", "CardGroupRotFactor", cardGroupRotFactor); KEY_INTEGER("UI", "GapBetweenCardGroups", gapBetweenCardGroups); KEY_INTEGER("UI", "OverlayNotificationsHeight", overlayNotificationsHeight); KEY_INTEGER("UI", "SplashIconSize", splashIconSize); KEY_BOOLEAN("UI", "EnableSplashBackgrounds", enableSplashBackgrounds); KEY_BOOLEAN("UI", "AtlasEnabled", atlasEnabled); KEY_INTEGER("UI", "EmulatedCardWidth", emulatedCardWidth); KEY_INTEGER("UI", "EmulatedCardHeight", emulatedCardHeight); KEY_INTEGER("UI", "ModalWindowWidth", modalWindowWidth); KEY_INTEGER("UI", "ModalWindowHeight", modalWindowHeight); KEY_DOUBLE("UI", "CardGroupingXDistanceFactor", cardGroupingXDistanceFactor); KEY_DOUBLE("UI", "CardDimmPercentage", cardDimmPercentage); KEY_INTEGER("UI", "AtlasMemThreshold", atlasMemThreshold); KEY_BOOLEAN("Debug", "LauncherAtlasStatistics", launcherAtlasStatistics); KEY_BOOLEAN("Debug", "DumpLauncherAtlas", launcherDumpAtlas); if (forceSoftwareRendering) { atlasEnabled = false; launcherAtlasStatistics = false; } else if (atlasEnabled && atlasMemThreshold > 0 && MeasureTotalRAM() < atlasMemThreshold * 1024) { g_message("Atlas disabled because physical memory below %dMB threshold\n", atlasMemThreshold); atlasEnabled = false; } KEY_INTEGER("DownloadManager", "MaxQueueLength", maxDownloadManagerQueueLength); KEY_INTEGER("DownloadManager", "MaxConcurrent", maxDownloadManagerConcurrent); KEY_INTEGER("DownloadManager", "MaxRecvSpeed", maxDownloadManagerRecvSpeed); KEY_STRING( "Demo", "GestureRepeaterIp", cesGestureRepeaterIp ); KEY_INTEGER( "Demo", "GestureRepeaterPort", cesGestureRepeaterPort ); KEY_BOOLEAN( "Demo", "EnableGestureRepeater", enableGestureRepeater ); KEY_BOOLEAN( "Demo", "DemoMode", demoMode ); KEY_BOOLEAN( "Debug", "ShowAppStats", showAppStats ); KEY_BOOLEAN( "General", "CollectUseStats", collectUseStats ); KEY_BOOLEAN( "General" , "UsePartialKeywordMatchForAppSearch",usePartialKeywordAppSearch); KEY_BOOLEAN( "General" , "ScanCalculatesAppSizes",scanCalculatesAppSizes); KEY_INTEGER("KeepAlive", "MaxParked", maxNumParkedApps ); KEY_INTEGER("CpuShare", "UiMainLow", uiMainCpuShareLow); KEY_INTEGER("CpuShare", "UiOtherLow", uiOtherCpuShareLow); KEY_INTEGER("CpuShare", "JavaLow", javaCpuShareLow); KEY_INTEGER("CpuShare", "WebLow", webCpuShareLow); KEY_INTEGER("CpuShare", "GameLow", gameCpuShareLow); KEY_INTEGER("CpuShare", "Default", cpuShareDefault); KEY_BOOLEAN("AllowTurboMode", "General", allowTurboMode); KEY_STRING( "General", "WifiInterfaceName", wifiInterfaceName ); KEY_STRING( "General", "WanInterfaceName", wanInterfaceName ); KEY_BOOLEAN( "Memory", "CanRestartHeadlessApps", canRestartHeadlessApps ); KEY_BOOLEAN( "Debug", "PerformanceLogs", perfTesting); KEY_INTEGER("General", "schemaValidationOption", schemaValidationOption); // apps to launch at boot time gchar** appsToLaunchAtBootStr = g_key_file_get_string_list(keyfile, "LaunchAtBoot", "Applications", NULL, NULL); if (appsToLaunchAtBootStr) { int index = 0; appsToLaunchAtBoot.clear(); while (appsToLaunchAtBootStr[index]) { appsToLaunchAtBoot.insert(appsToLaunchAtBootStr[index]); SETTINGS_TRACE("App to launch at boot time: %s\n", appsToLaunchAtBootStr[index]); ++index; } g_strfreev(appsToLaunchAtBootStr); } // apps to keep alive gchar** appsToKeepAliveStr = g_key_file_get_string_list(keyfile, "KeepAlive", "Applications", NULL, NULL); if (appsToKeepAliveStr) { int index = 0; appsToKeepAlive.clear(); while (appsToKeepAliveStr[index]) { appsToKeepAlive.insert(appsToKeepAliveStr[index]); SETTINGS_TRACE("App to keep alive: %s\n", appsToKeepAliveStr[index]); ++index; } g_strfreev(appsToKeepAliveStr); } // apps to keep alive forever (pinned) gchar** appsToKeepAliveForeverStr = g_key_file_get_string_list(keyfile, "KeepAliveUntilMemPressure", "Applications", NULL, NULL); if (appsToKeepAliveForeverStr) { int index = 0; appsToKeepAliveUntilMemPressure.clear(); while (appsToKeepAliveForeverStr[index]) { appsToKeepAliveUntilMemPressure.insert(appsToKeepAliveForeverStr[index]); SETTINGS_TRACE("App to keep alive until memory pressure: %s\n", appsToKeepAliveForeverStr[index]); ++index; } g_strfreev(appsToKeepAliveForeverStr); } // apps to allow under low memory conditions gchar** appsToAllowInLowMemoryStr = g_key_file_get_string_list(keyfile, "Memory", "AppsToAllowInLowMemory", NULL, NULL); if (appsToAllowInLowMemoryStr) { int index = 0; appsToAllowInLowMemory.clear(); while (appsToAllowInLowMemoryStr[index]) { appsToAllowInLowMemory.insert(appsToAllowInLowMemoryStr[index]); g_message("App to allow in Low memory: %s", appsToAllowInLowMemoryStr[index]); ++index; } g_strfreev(appsToAllowInLowMemoryStr); } // apps with accelerated compositing disabled gchar** appsToDisableAccelCompositingStr = g_key_file_get_string_list(keyfile, "AccelCompositingDisabled", "Applications", NULL, NULL); if (appsToDisableAccelCompositingStr) { int index = 0; appsToDisableAccelCompositing.clear(); while (appsToDisableAccelCompositingStr[index]) { appsToDisableAccelCompositing.insert(appsToDisableAccelCompositingStr[index]); SETTINGS_TRACE("App with accelerated compositing disabled: %s\n", appsToDisableAccelCompositingStr[index]); ++index; } g_strfreev(appsToDisableAccelCompositingStr); } // SUC apps that have special launch privs gchar** sucAppsList = g_key_file_get_string_list(keyfile, "SUCApps", "Applications", NULL, NULL); if (sucAppsList) { int index = 0; sucApps.clear(); while (sucAppsList[index]) { sucApps.insert(sucAppsList[index]); SETTINGS_TRACE("SUC App with special launch priviledge: %s\n", sucAppsList[index]); ++index; } g_strfreev(sucAppsList); } // ... g_key_file_free( keyfile ); // sanity check on the homeButtonOrientationAngle value: if(homeButtonOrientationAngle >= 360) homeButtonOrientationAngle = homeButtonOrientationAngle%360; if(homeButtonOrientationAngle < -90) homeButtonOrientationAngle += 360; if((homeButtonOrientationAngle != 0) && (homeButtonOrientationAngle != 90) && (homeButtonOrientationAngle != 180) && (homeButtonOrientationAngle != 270) && (homeButtonOrientationAngle != -90)) homeButtonOrientationAngle = 0; // sanity check on the emuModeOrientationAngle value: if(emuModeOrientationAngle >= 360) emuModeOrientationAngle = emuModeOrientationAngle%360; if(emuModeOrientationAngle < -90) emuModeOrientationAngle += 360; if((emuModeOrientationAngle != 0) && (emuModeOrientationAngle != 90) && (emuModeOrientationAngle != 180) && (emuModeOrientationAngle != 270) && (emuModeOrientationAngle != -90)) emuModeOrientationAngle = 0; }
void ConfigServerDatabase::install(void) { ExitChain::add(ConfigServerDatabase::remove,"ConfigServerDatabase::remove"); ConfigServerUtility::install(); data = &staticData; KEY_INT (objvarNameCleanupTime, 0); KEY_INT (orphanedObjectCleanupTime, 0); KEY_INT (marketAttributesCleanupTime, 0); KEY_INT (messagesCleanupTime, 0); KEY_INT (brokenObjectCleanupTime, 0); KEY_INT (vendorObjectCleanupTime, 0); KEY_STRING (customSQLFilename,""); KEY_BOOL (enableFixBadCells, false); KEY_STRING (objectTemplateListUpdateFilename,""); KEY_STRING (DSN,"gameserver"); KEY_STRING (alternateDSN,""); KEY_STRING (databaseUID,"gameserver"); KEY_STRING (databasePWD,"gameserver"); KEY_STRING (databaseProtocol,"DEFAULT"); KEY_STRING (centralServerAddress, "localhost"); KEY_INT (centralServerPort, 44451); KEY_STRING (commoditiesServerAddress, "localhost"); KEY_INT (commoditiesServerPort, 44457); //todo: confirm that this is a good port MSH KEY_INT (taskManagerPort, 60001); KEY_INT (expectedDBVersion, 270); KEY_BOOL (correctDBVersionRequired,true); KEY_INT (saveFrequencyLimit,10); KEY_STRING (schemaOwner, ""); KEY_STRING (goldSchemaOwner, ""); KEY_FLOAT (uniqueMessageCacheTimeSec, 30.0f); KEY_INT (loaderThreads,2); KEY_INT (persisterThreads,1); KEY_INT (newCharacterThreads,1); KEY_INT (characterImmediateDeleteMinutes,120); KEY_BOOL (logObjectLoading, false); KEY_BOOL (enableQueryProfile, false); KEY_BOOL (verboseQueryMode, false); KEY_BOOL (logWorkerThreads, false); KEY_STRING (gameServiceBindInterface, ""); KEY_BOOL (reportSaveTimes, false); KEY_BOOL (shouldSleep, true); KEY_BOOL (enableLoadLocks, true); KEY_INT (databaseReconnectTime, 0); KEY_BOOL (logChunkLoading,false); KEY_BOOL (useMemoryManagerForOCI,true); KEY_INT (maxCharactersPerLoadRequest,10); KEY_INT (maxChunksPerLoadRequest,200); KEY_FLOAT (maxLoadStartDelay,300.0f); KEY_INT (maxErrorCountBeforeDisconnect,5); KEY_INT (maxErrorCountBeforeBailout,15); KEY_INT (errorSleepTime,5000); KEY_INT (disconnectSleepTime,30000); KEY_INT (saveAtModulus,-1); KEY_INT (saveAtDivisor,10); KEY_INT (backloggedQueueSize,50); KEY_INT (backloggedRecoveryQueueSize,25); KEY_INT (maxTimewarp,data->saveFrequencyLimit * 2 < 600 ? 600 : data->saveFrequencyLimit * 2); KEY_BOOL (enableObjvarPacking, true); KEY_INT (prefetchNumRows,0); KEY_INT (prefetchMemory,0); KEY_INT (defaultFetchBatchSize,1000); KEY_INT (queryReportingRate,60); KEY_INT (enableDatabaseErrorLogging, 0); KEY_INT (defaultMessageBulkBindSize, 1000); KEY_BOOL (enableGoldDatabase, false); KEY_STRING (maxGoldNetworkId, "10000000"); KEY_FLOAT (defaultQueueUpdateTimeLimit, 0.25f); KEY_BOOL (enableDataCleanup, false); KEY_INT (defaultLazyDeleteBulkBindSize, 100); KEY_INT (defaultLazyDeleteSleepTime, 1000); KEY_INT (writeDelay, 0); KEY_BOOL (delayUnloadIfObjectStillHasData, true); KEY_FLOAT (experienceConsolidationTime, 0.0f); KEY_INT (maxLoaderFinishedTasks, 100); KEY_FLOAT (reportLongFrameTime, 1.0f); KEY_BOOL (enableVerboseMessageLogging, false); KEY_BOOL (profilerExpandAll, true); KEY_INT (profilerDisplayPercentageMinimum, 0); KEY_BOOL (fatalOnDataError, false); KEY_INT (maxUnackedLoadCount, 1000000000); // by default, set to an "unlimited" number, and use maxUnackedLoadCountPerServer as the cap KEY_INT (maxUnackedLoadCountPerServer, 2); KEY_INT (auctionLocationLoadBatchSize, 100); KEY_INT (auctionLoadBatchSize, 100); KEY_INT (auctionAttributeLoadBatchSize, 100); KEY_INT (auctionBidLoadBatchSize, 100); KEY_INT (oldestUnackedLoadAlertThresholdSeconds, 10*60); // seconds }