ace/Source/ACE.Database/Models/Shard/ConfigPropertiesString.cs

14 lines
255 B
C#
Raw Permalink Normal View History

using System;
Add a configurable property storing database to resolve issue #753 (#820) * Added the configuration database base script. This should initialize the config database to hold different values that can be changed during the server operation. * Added database models and connection. This should begin to add in the new configuration database and its models so that it can be accessed from the server. * Added boolean statistic access methods. Modified the database file so that it was properly casting to a boolean and added the methods into the server configuration database API. * Added the ability to access/modify integers in the config database. * Added the ability to access/modify floating point variables in the configuration database * Added the ability to access/modify string values in the configuration database * Added the ServerConfigurationDatabase to the DatabaseManager. * Added in the initial caching layer for configuration * Added the ability to modify cached items. * Changed from regular dictionaries to concurrent dictionaries. * Added in the ability for the ConfigurationManager to self-update from the database. * Added fallback parameters instead of forcing a default * Added customizable vitae statistics. This is the first big stat that can be modified. It is a float, so more floats should now work when they have support added. * Updated the configuration manager to separate methods and ensure semantics are correct. * Added command to fetch float value from server * Add property for XP/Lum multipler. * Welcome message/MOTD is now configurable from the database. * Added string modification commands * Database is no longer required for server configuration. * Added in all modification/fetch commands and a resync command * Renamed ConfigurationManager -> PropertyManager as this removes ambiguity * Changed logging string to be more consistent * Pass w/ StyleCop * Added comments to the property manager * Added the ability to disable caching fallback values. This can be used for default settings or if a fetch with the default fallback should not cache (ie fetching xp_multipler before xp_multiplier has been fetched from the DB/the default value has been given, and therefore xp_multiplier is fetched as 0 and cached as 0). This functionality should be used for server commands. * The admin commands now properly obey cacheFallback restrictions * Added initial default property handling. * Moved to using constant values as defaults. * Switched to using a Dictionary for resolution of default properties * Added warning when the server configuration database is not loaded. * Corrected MOTD default string * Renamed some of the database connection objects and changed float -> double and int -> long * Fixed admin commands not being named correctly * Fixed spelling error * Config tables now lie in the shard database * Added descriptions to properties across the board that can be analyzed through admin commands * Removed property from PlayerXP file * Removed vitae properties from EnchantmentManager * Added null checks to make output nicer * Added command to modify property descriptions * Fixed string not being stored properly in the DB and crashing the server * Wrapped the old ServerPropertyDatabase into SerializedShardDatabase * Fixed ShardDbContext having a modified OnConfiguring method
2018-06-20 20:58:17 -05:00
using System.Collections.Generic;
namespace ACE.Database.Models.Shard;
public partial class ConfigPropertiesString
Add a configurable property storing database to resolve issue #753 (#820) * Added the configuration database base script. This should initialize the config database to hold different values that can be changed during the server operation. * Added database models and connection. This should begin to add in the new configuration database and its models so that it can be accessed from the server. * Added boolean statistic access methods. Modified the database file so that it was properly casting to a boolean and added the methods into the server configuration database API. * Added the ability to access/modify integers in the config database. * Added the ability to access/modify floating point variables in the configuration database * Added the ability to access/modify string values in the configuration database * Added the ServerConfigurationDatabase to the DatabaseManager. * Added in the initial caching layer for configuration * Added the ability to modify cached items. * Changed from regular dictionaries to concurrent dictionaries. * Added in the ability for the ConfigurationManager to self-update from the database. * Added fallback parameters instead of forcing a default * Added customizable vitae statistics. This is the first big stat that can be modified. It is a float, so more floats should now work when they have support added. * Updated the configuration manager to separate methods and ensure semantics are correct. * Added command to fetch float value from server * Add property for XP/Lum multipler. * Welcome message/MOTD is now configurable from the database. * Added string modification commands * Database is no longer required for server configuration. * Added in all modification/fetch commands and a resync command * Renamed ConfigurationManager -> PropertyManager as this removes ambiguity * Changed logging string to be more consistent * Pass w/ StyleCop * Added comments to the property manager * Added the ability to disable caching fallback values. This can be used for default settings or if a fetch with the default fallback should not cache (ie fetching xp_multipler before xp_multiplier has been fetched from the DB/the default value has been given, and therefore xp_multiplier is fetched as 0 and cached as 0). This functionality should be used for server commands. * The admin commands now properly obey cacheFallback restrictions * Added initial default property handling. * Moved to using constant values as defaults. * Switched to using a Dictionary for resolution of default properties * Added warning when the server configuration database is not loaded. * Corrected MOTD default string * Renamed some of the database connection objects and changed float -> double and int -> long * Fixed admin commands not being named correctly * Fixed spelling error * Config tables now lie in the shard database * Added descriptions to properties across the board that can be analyzed through admin commands * Removed property from PlayerXP file * Removed vitae properties from EnchantmentManager * Added null checks to make output nicer * Added command to modify property descriptions * Fixed string not being stored properly in the DB and crashing the server * Wrapped the old ServerPropertyDatabase into SerializedShardDatabase * Fixed ShardDbContext having a modified OnConfiguring method
2018-06-20 20:58:17 -05:00
{
public string Key { get; set; }
public string Value { get; set; }
public string Description { get; set; }
Add a configurable property storing database to resolve issue #753 (#820) * Added the configuration database base script. This should initialize the config database to hold different values that can be changed during the server operation. * Added database models and connection. This should begin to add in the new configuration database and its models so that it can be accessed from the server. * Added boolean statistic access methods. Modified the database file so that it was properly casting to a boolean and added the methods into the server configuration database API. * Added the ability to access/modify integers in the config database. * Added the ability to access/modify floating point variables in the configuration database * Added the ability to access/modify string values in the configuration database * Added the ServerConfigurationDatabase to the DatabaseManager. * Added in the initial caching layer for configuration * Added the ability to modify cached items. * Changed from regular dictionaries to concurrent dictionaries. * Added in the ability for the ConfigurationManager to self-update from the database. * Added fallback parameters instead of forcing a default * Added customizable vitae statistics. This is the first big stat that can be modified. It is a float, so more floats should now work when they have support added. * Updated the configuration manager to separate methods and ensure semantics are correct. * Added command to fetch float value from server * Add property for XP/Lum multipler. * Welcome message/MOTD is now configurable from the database. * Added string modification commands * Database is no longer required for server configuration. * Added in all modification/fetch commands and a resync command * Renamed ConfigurationManager -> PropertyManager as this removes ambiguity * Changed logging string to be more consistent * Pass w/ StyleCop * Added comments to the property manager * Added the ability to disable caching fallback values. This can be used for default settings or if a fetch with the default fallback should not cache (ie fetching xp_multipler before xp_multiplier has been fetched from the DB/the default value has been given, and therefore xp_multiplier is fetched as 0 and cached as 0). This functionality should be used for server commands. * The admin commands now properly obey cacheFallback restrictions * Added initial default property handling. * Moved to using constant values as defaults. * Switched to using a Dictionary for resolution of default properties * Added warning when the server configuration database is not loaded. * Corrected MOTD default string * Renamed some of the database connection objects and changed float -> double and int -> long * Fixed admin commands not being named correctly * Fixed spelling error * Config tables now lie in the shard database * Added descriptions to properties across the board that can be analyzed through admin commands * Removed property from PlayerXP file * Removed vitae properties from EnchantmentManager * Added null checks to make output nicer * Added command to modify property descriptions * Fixed string not being stored properly in the DB and crashing the server * Wrapped the old ServerPropertyDatabase into SerializedShardDatabase * Fixed ShardDbContext having a modified OnConfiguring method
2018-06-20 20:58:17 -05:00
}