From 67cc724df4d7ac5ef8e0b7a970510883a0ec6f78 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 2 Oct 2022 20:58:43 -0400 Subject: [PATCH 01/16] Major update for ECO with AMP ecometaconfig.json * Added 15 new meta config file settings. ecoconfig.json * set default game settings as originally designed by the game devs. * updated description fields to match eco server ui. * Added place holder defaults to help players identify default settings easily. * Added 1,123 additional lines of config settings to allow usage and setting options with AMP. eco.kvp * Updated support live setting changes from false to true * Added 15 additional config file generation settings. * Added HarryPlopper to template authors. --- .gitignore | 2 + .idea/.gitignore | 3 + .idea/AMPTemplates.iml | 9 + eco.kvp | 8 +- ecoconfig.json | 1167 +++++++++++++++++++++++++++++++++++++++- ecometaconfig.json | 75 +++ 6 files changed, 1234 insertions(+), 30 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/AMPTemplates.iml diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..e984e2360 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +*.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/AMPTemplates.iml b/.idea/AMPTemplates.iml new file mode 100644 index 000000000..35f0253eb --- /dev/null +++ b/.idea/AMPTemplates.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/eco.kvp b/eco.kvp index 0b368376f..03ac6f048 100644 --- a/eco.kvp +++ b/eco.kvp @@ -2,7 +2,7 @@ Meta.DisplayName=Eco Meta.Description=Eco Dedicated Server Meta.OS=Windows, Linux Meta.Arch=x86_64 -Meta.Author=Greelan, stroskler +Meta.Author=HarryPlopper, Greelan, stroskler Meta.URL=https://play.eco/ Meta.DisplayImageSource=steam:382310 Meta.EndpointURIFormat=steam://connect/{0} @@ -26,14 +26,14 @@ App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"382310"} App.CommandLineParameterFormat=-{0} {1} -App.CommandLineParameterDelimiter= +App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=stop App.ExitFile=app_exit.lck App.HasWriteableConsole=True App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=False +App.SupportsLiveSettingsChanges=True App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 App.ApplicationPort1=3000 @@ -47,7 +47,7 @@ App.AdminMethod=SourceRCON App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"},{"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"}, {"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"}, {"UpdateStageName":"Backup Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Backup.eco","UpdateSourceArgs":"./eco/739590/Configs/Backup.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Balance Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Balance.eco","UpdateSourceArgs":"./eco/739590/Configs/Balance.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Civics Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Civics.eco","UpdateSourceArgs":"./eco/739590/Configs/Civics.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Difficulty Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Difficulty.eco","UpdateSourceArgs":"./eco/739590/Configs/Difficulty.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Disasters Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Disasters.eco","UpdateSourceArgs":"./eco/739590/Configs/Disasters.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"EcoSim Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/EcoSim.eco","UpdateSourceArgs":"./eco/739590/Configs/EcoSim.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Features Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Features.eco","UpdateSourceArgs":"./eco/739590/Configs/Features.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Localization Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Localization.eco","UpdateSourceArgs":"./eco/739590/Configs/Localization.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Maintenance Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Maintenance.eco","UpdateSourceArgs":"./eco/739590/Configs/Maintenance.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"ModKit Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/ModKit.eco","UpdateSourceArgs":"./eco/739590/Configs/ModKit.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Pause Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Pause.eco","UpdateSourceArgs":"./eco/739590/Configs/Pause.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Profanity Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Profanity.eco","UpdateSourceArgs":"./eco/739590/Configs/Profanity.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Rooms Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Rooms.eco","UpdateSourceArgs":"./eco/739590/Configs/Rooms.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Sleep Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Sleep.eco","UpdateSourceArgs":"./eco/739590/Configs/Sleep.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Stats Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Stats.eco","UpdateSourceArgs":"./eco/739590/Configs/Stats.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Storage Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Storage.eco","UpdateSourceArgs":"./eco/739590/Configs/Storage.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Users Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Users.eco","UpdateSourceArgs":"./eco/739590/Configs/Users.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"World Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/World.eco","UpdateSourceArgs":"./eco/739590/Configs/World.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"WorldGenerator Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/WorldGenerator.eco.eco","UpdateSourceArgs":"./eco/739590/Configs/WorldGenerator.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"WorldObjects Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/WorldObjects.eco","UpdateSourceArgs":"./eco/739590/Configs/WorldObjects.eco.template","OverwriteExistingFiles":false}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/ecoconfig.json b/ecoconfig.json index 354a19255..908ac93b3 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -116,7 +116,7 @@ "IsFlagArgument":false, "ParamFieldName":"ServerCategory", "IncludeInCommandLine":false, - "DefaultValue":"None", + "DefaultValue":"Beginner", "EnumValues":{ "None":"None", "Beginner":"Beginner", @@ -126,49 +126,39 @@ } }, { - "DisplayName":"Player Limit", + "DisplayName":"Max Connections", "Category":"Server Settings", - "Description":"Maximum number of players that may connect to the server. Default is no limit (-1)", - "Keywords":"players,limit", + "Description":"Max number of connections allowed on at one time (negative is infinite)", + "Keywords":"max,connections", "FieldName":"$MaxUsers", "InputType":"number", "IsFlagArgument":false, "ParamFieldName":"MaxConnections", "IncludeInCommandLine":false, "DefaultValue":"-1", + "Placeholder":"-1", "Suffix":"players", "EnumValues":{} }, { - "DisplayName":"Server IP Binding", + "DisplayName":"Max Active Players", "Category":"Server Settings", - "Description":"Internal server IP-address the server should bind to. Default is Any (all IPs on the host)", - "Keywords":"ip,binding", - "FieldName":"IPAddress", - "InputType":"text", - "IsFlagArgument":false, - "ParamFieldName":"IPAddress", - "IncludeInCommandLine":false, - "DefaultValue":"Any", - "EnumValues":{} - }, - { - "DisplayName":"RCON IP Binding", - "Category":"Server Settings", - "Description":"Internal server IP-address the RCON server should bind to. Default is Any (all IPs on the host)", - "Keywords":"rcon,ip,binding", - "FieldName":"RconIPAddress", - "InputType":"text", + "Description":"Max active players, 0 = Unrestricted. Setting this gives your match score a boost in the server browser when you have fewer players than needed, and an extra boost if players have recently abandoned. (This affects your server score only and is not limiting amount of total users that can connect).", + "Keywords":"max,connections", + "FieldName":"MaxActivePlayers", + "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"RconIPAddress", + "ParamFieldName":"MaxActivePlayers", "IncludeInCommandLine":false, - "DefaultValue":"Any", + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"players", "EnumValues":{} }, { "DisplayName":"Discord Address", "Category":"Server Settings", - "Description":"ID for a Discord server (the ID after \"discord.gg/\") to provide a link to", + "Description":"The address of a Discord Server used for players on this world.", "Keywords":"discord", "FieldName":"DiscordAddress", "InputType":"text", @@ -176,7 +166,8 @@ "ParamFieldName":"DiscordAddress", "IncludeInCommandLine":false, "DefaultValue":"", - "Placeholder":"78xKTd", + "Suffix":"url", + "Placeholder":"https://discord.gg/myownserver", "EnumValues":{} }, { @@ -224,5 +215,1129 @@ "DefaultValue":"", "Placeholder":"", "EnumValues":{} + }, + { + "DisplayName": "Specialty Cost Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to the cost of learning a specialty. Values below 1 decrease speciality cost, above 1 increase speciality cost.", + "Keywords": "speciality,cost,multiplier", + "FieldName": "SpecialtyCostMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.SpecialtyCostMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Skill Gain Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to the rate of skill points gained over time. Values below 1 decrease the rate, above 1 increase the rate.", + "Keywords": "skill,gain,multiplier", + "FieldName": "SkillGainMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.SkillGainMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Speciality Experience Per Level", + "Category": "Gameplay", + "Description": "Factors into experience per level specialties. Default is 25, higher values increase experience requirement, lower values reduce it.", + "Keywords": "speciality,experience", + "FieldName": "SpecialtyExperiencePerLevel", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.SpecialtyExperiencePerLevel", + "IncludeInCommandLine": false, + "DefaultValue": "25.0", + "Placeholder": "25.0", + "EnumValues": {} + }, + { + "DisplayName": "Craft Resource Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to crafting resource cost. Values below 1 decrease crafting resource cost, above 1 increase resource cost.", + "Keywords": "craft,resource,multiplier", + "FieldName": "CraftResourceModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.CraftResourceModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Craft Time Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to crafting time. Values below 1 decrease crafting time, above 1 increase crafting time.", + "Keywords": "craft,time,multiplier", + "FieldName": "CraftTimeModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.CraftTimeModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Specialty Refund Percentage", + "Category": "Gameplay", + "Description": "Percentage to refund the player when they remove a specialty.", + "Keywords": "speciality,refund,percentage", + "FieldName": "SpecialtyRefundPercentage", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.SpecialtyRefundPercentage", + "IncludeInCommandLine": false, + "DefaultValue": "0.5", + "Placeholder":"0.5", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Player Experience Per Specialty", + "Category": "Gameplay", + "Description": "Percentage of speciality experience that is also gained as level experience. Not recommended for public servers. Default is 0.0", + "Keywords": "player,experience,speciality", + "FieldName": "PlayerExperiencePerSpecialtyExperience", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.PlayerExperiencePerSpecialtyExperience", + "IncludeInCommandLine": false, + "DefaultValue": "0.0", + "Placeholder": "0.0", + "EnumValues": {} + }, + { + "DisplayName": "Item Stack Size Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to item max stack size. Values below 1 decrease max size, above 1 increases max size. A server restart is required for correct calculation.", + "Keywords": "item,stack,size,multiplier", + "FieldName": "StackSizeModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.StackSizeModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Item Weight Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to item weight. Values below 1 decrease item weight, above 1 increase item weight. A server restart is required for correct calculation.", + "Keywords": "item,weight,multiplier", + "FieldName": "WeightModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.WeightModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Fuel Amount Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to fuel yield per unit. Values below 1 decrease yield, above 1 increase yield. A Server restart is required for correct calculation.", + "Keywords": "fuel,amount,multiplier", + "FieldName": "FuelModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.FuelModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Growth Rate Multiplier", + "Category": "Gameplay", + "Description": "Global scale for how quick plants mature.", + "Keywords": "growth,rate,multiplier", + "FieldName": "GrowthRateModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.GrowthRateModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName": "Storage Range Multiplier", + "Category": "Gameplay", + "Description": "Multiplier applied to storage connection range. Values below 1 decrease range, above 1 increases range. A server restart is required for correct calculation.", + "Keywords": "storage,range,multiplier", + "FieldName": "ConnectionRangeModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DifficultyModifiers.ConnectionRangeModifier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder": "1.0", + "EnumValues": {} + }, + { + "DisplayName":"Endgame Craft Cost", + "Category":"Gameplay", + "Description":"Endgame crafting cost presets for Laser and Computer Lab. Does not affect work orders in progress.", + "Keywords":"endgame,craft,cost", + "FieldName":"EndgameCraftCost", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"EndgameCraftCost", + "IncludeInCommandLine":false, + "DefaultValue":"Normal", + "EnumValues":{ + "Normal":"Normal", + "Expensive":"Expensive" + } + }, + { + "DisplayName": "Shelf Life Multiplier", + "Category": "Gameplay", + "Description": "Adjusts the default shelf life of all foods, with higher values causing food to last longer. For example, setting to 2 double the shelf life while setting to 0.5 halves the shelf life.", + "Keywords": "shelf,life,multiplier", + "FieldName": "ShelfLifeMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ShelfLifeMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "1.0", + "Placeholder":"1.0", + "EnumValues": {} + }, + { + "DisplayName": "Exhaustion After Hours", + "Category": "Gameplay", + "Description": "Max hours a user can play per day. After their allotted time, they can still play but not expand calories with work. 0 means no limit.", + "Keywords": "exhaustion,after,hours", + "FieldName": "ExhaustionAfterHours", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ExhaustionAfterHours", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder":"0", + "Suffix":"hrs", + "EnumValues": {} + }, + { + "DisplayName": "Rollover Daily Playtime", + "Category": "Gameplay", + "Description": "Remaining playtime can be added to the next day.", + "Keywords": "rollover,daily,playtime", + "FieldName": "RolloverDailyPlaytime", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "RolloverDailyPlaytime", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Maximum Playtime Before Exhausted", + "Category": "Gameplay", + "Description": "If Rollover Daily Playtime is true then this is the maximum hours playtime in a day. This limits how much playtime player can save up by not playing.", + "Keywords": "playtime,before,exhausted", + "FieldName": "MaximumPlaytimeBeforeExhausted", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaximumPlaytimeBeforeExhausted", + "IncludeInCommandLine": false, + "DefaultValue": "15.0", + "Placeholder":"15.0", + "Suffix":"hrs", + "EnumValues": {} + }, + { + "DisplayName": "Create Meteor", + "Category": "Disasters", + "Description": "Whether or not a meteor exists in the world.", + "Keywords": "create,meteor", + "FieldName": "CreateMeteor", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreateMeteor", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Meteor Impact Days", + "Category": "Disasters", + "Description": "Time in days when the meteor will impact. Changing this value will override impact time for current active meteor.", + "Keywords": "meteor,impact", + "FieldName": "MeteorImpactDays", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MeteorImpactDays", + "IncludeInCommandLine": false, + "DefaultValue": "30.0", + "Placeholder":"30.0", + "Suffix":"days", + "EnumValues": {} + }, + { + "DisplayName": "Rent Enabled", + "Category": "Features", + "Description": "Allows players to rent access to a given deed from another when enabled.", + "Keywords": "rent", + "FieldName": "RentEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "RentEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Voice Chat Enabled", + "Category": "Features", + "Description": "When enable, players will be able to use voice chat.", + "Keywords": "voice,chat", + "FieldName": "VoiceChatEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "VoiceChatEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Food Variety Multiplier Enabled", + "Category": "Features", + "Description": "When enabled, the variety of food you ear will provide a bonus.", + "Keywords": "food,variety,multiplier", + "FieldName": "FoodVarietyMultiplierEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "FoodVarietyMultiplierEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Food Tastiness Multiplier Enabled", + "Category": "Features", + "Description": "When enabled each player has unique preferences for each type of food that yields a bonus, and periodic 'cravings' will emerge for an additional bonus.", + "Keywords": "food,tastiness,multiplier", + "FieldName": "FoodTastinessMultiplierEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "FoodTastinessMultiplierEnabled", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Paused", + "Category": "Features", + "Description": "The World will be on Pause if this option is set.", + "Keywords": "paused", + "FieldName": "Paused", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "Paused", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Unpause At First Login", + "Category": "Features", + "Description": "The World will resume as soon as first player login to the world.", + "Keywords": "unpause,login", + "FieldName": "UnpauseAtFirstLogin", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "UnpauseAtFirstLogin", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Empty Blocks Count As Windows", + "Category": "Features", + "Description": "If set, rooms can have empty blocks serve as windows and still count as room.", + "Keywords": "empty,blocks,count,windows", + "FieldName": "EmptyBlocksCountAsWindows", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "EmptyBlocksCountAsWindows", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Room Category Diminishing Return Rate", + "Category": "Features", + "Description": "Repeated rooms earn this multiple value of the previous ones. This makes duplicate rooms less valuable in a house.", + "Keywords": "room,category,diminishing,return,rate", + "FieldName": "RoomCategoryDiminishingReturnRate", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "RoomCategoryDiminishingReturnRate", + "IncludeInCommandLine": false, + "DefaultValue": "0.5", + "Placeholder": "0.5", + "EnumValues": {} + }, + { + "DisplayName": "Wall Blocks Per Window", + "Category": "Features", + "Description": "Specifies how many wall blocks are required to make one empty window or door block without penalty. It counts all wall blocks in the room, including window blocks itself.", + "Keywords": "wall,blocks,window", + "FieldName": "WallBlocksPerWindow", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "WallBlocksPerWindow", + "IncludeInCommandLine": false, + "DefaultValue": "10", + "Placeholder": "10", + "EnumValues": {} + }, + { + "DisplayName": "Allow Fast Forward", + "Category": "Features", + "Description": "Can players fast forward time by sleeping in a bed? If all online players sleep, time will accelerate. (This shouldn't be enabled for public servers!).", + "Keywords": "allow,fast,forward", + "FieldName": "AllowFastForward", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowFastForward", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Sleep Time Pass Multiplier", + "Category": "Features", + "Description": "The max time multiplier that will pass while sleeping. Lower this to make the simulation fast-forward more reliably.", + "Keywords": "sleep,time,pass,multiplier", + "FieldName": "SleepTimePassMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SleepTimePassMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "500.0", + "Placeholder": "500.0", + "EnumValues": {} + }, + { + "DisplayName": "Time To Reach Maximum Time Rate", + "Category": "Features", + "Description": "How long it takes to reach the max sleep time. Makes for a smooth transition into sleeping.", + "Keywords": "maximum,time,rate", + "FieldName": "TimeToReachMaximumTimeRate", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TimeToReachMaximumTimeRate", + "IncludeInCommandLine": false, + "DefaultValue": "20.0", + "Placeholder":"20.0", + "Suffix":"sec", + "EnumValues": {} + }, + { + "DisplayName": "Allow Overthrow", + "Category": "Civics", + "Description": "Determines whether overthrowing a government is allowed or not. If set, then a constitution with higher house value than the current can be ratified. Setting this to true also makes it impossible to make laws about placing or crafting a constitution.", + "Keywords": "overthrow", + "FieldName": "AllowOverthrow", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowOverthrow", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Value Addition To Overthrow", + "Category": "Civics", + "Description": "To overthrow an existing government, a constitution must be placed in a building that exceeds the previous constitution's value by this percent. 100 = 100%", + "Keywords": "overthrow", + "FieldName": "ValueAdditionToOverthrow", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ValueAdditionToOverthrow", + "IncludeInCommandLine": false, + "DefaultValue": "50.0", + "Placeholder":"50.0", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Day Range For Active Demographic", + "Category": "Civics", + "Description": "The 'Active Players' demographic will check this many of the past days to determine the hours played by a user.", + "Keywords": "day,range,active,demographic", + "FieldName": "DayRangeForActiveDemographic", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DayRangeForActiveDemographic", + "IncludeInCommandLine": false, + "DefaultValue": "1.5", + "Placeholder":"1.5", + "Suffix":"days", + "EnumValues": {} + }, + { + "DisplayName": "Hours Played To Be Active Demographic", + "Category": "Civics", + "Description": "The 'Active Players' demographic will apply to any users who played this many hours within the past number of days specified above.", + "Keywords": "active,demographic", + "FieldName": "HoursPlayedToBeActiveDemographic", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "HoursPlayedToBeActiveDemographic", + "IncludeInCommandLine": false, + "DefaultValue": "0.5", + "Placeholder":"0.5", + "Suffix":"hrs", + "EnumValues": {} + }, + { + "DisplayName": "Percent Of Days To Be Active For Long Term Demographic", + "Category": "Civics", + "Description": "Percent of days a user needs to be considered active (as determined by other property) to be in the 'Long Term demographic'. 1 = 100%", + "Keywords": "days,active,long,term,demographic", + "FieldName": "PercentOfDaysToBeActiveForLongTermDemographic", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "PercentOfDaysToBeActiveForLongTermDemographic", + "IncludeInCommandLine": false, + "DefaultValue": "0.5", + "Placeholder":"0.5", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Day Range For Abandoned Demographic", + "Category": "Civics", + "Description": "The 'Abandoned Players' demographic will check this many past days for hours played by the user.", + "Keywords": "range,abandoned,demographic", + "FieldName": "DayRangeForAbandonedDemographic", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "DayRangeForAbandonedDemographic", + "IncludeInCommandLine": false, + "DefaultValue": "7.0", + "Placeholder":"7.0", + "Suffix":"days", + "EnumValues": {} + }, + { + "DisplayName": "Hours Played To Be Abandoned Demographic", + "Category": "Civics", + "Description": "The 'Abandoned Players' demographic will apply to any users who have not played more than this many hours in within the past number of days specified above.", + "Keywords": "hours,played,abandoned,demographic", + "FieldName": "HoursPlayedToBeAbandonedDemographic", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "HoursPlayedToBeAbandonedDemographic", + "IncludeInCommandLine": false, + "DefaultValue": "0.0", + "Placeholder":"0.0", + "Suffix":"days", + "EnumValues": {} + }, + { + "DisplayName": "Citizen Age For Abandoned Demographic", + "Category": "Civics", + "Description": "The 'Abandoned Players' demographic will only apply to users who have a citizen age greater than this many hours.", + "Keywords": "citizen,age,abandoned,demographic", + "FieldName": "CitizenAgeForAbandonedDemographic", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CitizenAgeForAbandonedDemographic", + "IncludeInCommandLine": false, + "DefaultValue": "24.0", + "Placeholder":"24.0", + "Suffix":"hrs", + "EnumValues": {} + }, + { + "DisplayName": "Minutes Between Civics Updates", + "Category": "Civics", + "Description": "Demographics are updated after this much time has passed.", + "Keywords": "minutes,civics,updates", + "FieldName": "MinutesBetweenCivicsUpdates", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MinutesBetweenCivicsUpdates", + "IncludeInCommandLine": false, + "DefaultValue": "5.0", + "Placeholder":"5.0", + "Suffix":"min", + "EnumValues": {} + }, + { + "DisplayName": "Allow Invalid Civic Container Time In Minutes", + "Category": "Civics", + "Description": "How much time can a civics object have an invalid or missing host object before it goes invalid?", + "Keywords": "invalid,civic,container", + "FieldName": "AllowInvalidCivicContainerTimeInMinutes", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "AllowInvalidCivicContainerTimeInMinutes", + "IncludeInCommandLine": false, + "DefaultValue": "20.0", + "Placeholder":"20.0", + "Suffix":"min", + "EnumValues": {} + }, + { + "DisplayName": "Recurring Transfer Frequency In Minutes", + "Category": "Civics", + "Description": "Recurring transfers like rent and wages are paid after this many minutes.", + "Keywords": "recurring,transfer,frequency", + "FieldName": "RecurringTransferFrequencyInMinutes", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "RecurringTransferFrequencyInMinutes", + "IncludeInCommandLine": false, + "DefaultValue": "30.0", + "Placeholder":"30.0", + "Suffix":"min", + "EnumValues": {} + }, + { + "DisplayName": "Allow Laws To Prevent Login Or Play", + "Category": "Civics", + "Description": "Can laws prevent someone from logging in or playing? Enable with caution: users can create a law that blocks everyone from logging in if this is enabled.", + "Keywords": "laws,prevent,login,play", + "FieldName": "AllowLawsToPreventLoginOrPlay", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "AllowLawsToPreventLoginOrPlay", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Maximum Election Hours", + "Category": "Civics", + "Description": "After this many hours, the election will end with or without a winner.", + "Keywords": "election,hours", + "FieldName": "MaximumElectionHours", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.MaximumElectionHours", + "IncludeInCommandLine": false, + "DefaultValue": "24.0", + "Placeholder":"24.0", + "Suffix":"hrs", + "EnumValues": {} + }, + { + "DisplayName": "Minimum Percent of Eligible Voters Required", + "Category": "Civics", + "Description": "The election will not produce a winner unless this percentage of eligible voters have cast their vote.", + "Keywords": "eligible,voters", + "FieldName": "MinimumPercentOfEligibleVotersRequired", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.MinimumPercentOfEligibleVotersRequired", + "IncludeInCommandLine": false, + "DefaultValue": "10.0", + "Placeholder":"10.0", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Minimum Days Between Elections of This Type", + "Category": "Civics", + "Description": "Once an election of this type completes, another of the same type cannot be started for this many days.", + "Keywords": "elections", + "FieldName": "MinimumDaysBetweenElectionsOfThisType", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.MinimumDaysBetweenElectionsOfThisType", + "IncludeInCommandLine": false, + "DefaultValue": "0.0", + "Placeholder":"0.0", + "Suffix":"days", + "EnumValues": {} + }, + { + "DisplayName": "End Election Early When This Percent Have Voted", + "Category": "Civics", + "Description": "If this percentage of voters have cast their vote, then the election will end early (but not sooner than the Minimum Election Time).", + "Keywords": "election,voted", + "FieldName": "EndElectionEarlyWhenThisPercentHaveVoted", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.EndElectionEarlyWhenThisPercentHaveVoted", + "IncludeInCommandLine": false, + "DefaultValue": "95.0", + "Placeholder":"95.0", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Percent Of All Voters To Instant Win", + "Category": "Civics", + "Description": "If this percent of *all possible voters* votes yes, the election will instant-finish.", + "Keywords": "voters,instant,win", + "FieldName": "PercentOfAllVotersToInstantWin", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.PercentOfAllVotersToInstantWin", + "IncludeInCommandLine": false, + "DefaultValue": "51.0", + "Placeholder":"51.0", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Percent Of All Voters To Instant Lose", + "Category": "Civics", + "Description": "If this percent of *all possible voters* votes no, the election will instant-fail.", + "Keywords": "voters,instant,lose", + "FieldName": "PercentOfAllVotersToInstantLose", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.PercentOfAllVotersToInstantLose", + "IncludeInCommandLine": false, + "DefaultValue": "51.0", + "Placeholder":"51.0", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Anonymous Voting", + "Category": "Civics", + "Description": "Should the way a citizen votes be hidden?", + "Keywords": "anonymous,voting", + "FieldName": "AnonymousVoting", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.AnonymousVoting", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Twitch Vote Weight", + "Category": "Civics", + "Description": "The percent value a vote from a twitch viewer counts relative to vote from a player.", + "Keywords": "twitch,vote,weight", + "FieldName": "TwitchVoteWeight", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.TwitchVoteWeight", + "IncludeInCommandLine": false, + "DefaultValue": "0.1", + "Placeholder":"0.1", + "EnumValues": {} + }, + { + "DisplayName": "Max Percent Twitch Votes", + "Category": "Civics", + "Description": "The maximum percent contribution all combined Twitch voters can have in election.", + "Keywords": "twitch,votes", + "FieldName": "MaxPercentTwitchVotes", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BasicElectionSettings.MaxPercentTwitchVotes", + "IncludeInCommandLine": false, + "DefaultValue": "0.5", + "Placeholder":"0.5", + "Suffix":"%", + "EnumValues": {} + }, + { + "DisplayName": "Save Name", + "Category": "Server Settings", + "Description": "Name of the save to load at startup.", + "Keywords": "save,name", + "FieldName": "SaveName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "SaveName", + "IncludeInCommandLine": false, + "DefaultValue": "Game", + "Placeholder":"Game", + "EnumValues": {} + }, + { + "DisplayName": "Save Frequency", + "Category": "Server Settings", + "Description": "How often to write changed data to disk, in seconds.", + "Keywords": "save,frequency", + "FieldName": "SaveFrequency", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SaveFrequency", + "IncludeInCommandLine": false, + "DefaultValue": "61", + "Placeholder":"61", + "Suffix":"sec", + "EnumValues": {} + }, + { + "DisplayName": "Cleanup Files On Exceptions", + "Category": "Server Settings", + "Description": "If true, removes failed to load objects upon loading.", + "Keywords": "cleanup,files,exceptions", + "FieldName": "CleanupFilesOnExceptions", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CleanupFilesOnExceptions", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Storage Directory", + "Category": "Server Settings", + "Description": "Path for storage (Leave as 'Storage' for default settings).", + "Keywords": "storage,directory", + "FieldName": "StorageDirectory", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "StorageDirectory", + "IncludeInCommandLine": false, + "DefaultValue": "Storage", + "Placeholder":"Storage", + "EnumValues": {} + }, + { + "DisplayName": "New Game Template", + "Category": "Server Settings", + "Description": "Path to file to start game from for a New World, if blank (null) then World will be generated.", + "Keywords": "new,game,template", + "FieldName": "NewGameTemplate", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "NewGameTemplate", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {} + }, + { + "DisplayName": "Auto Shutdown Hour", + "Category": "Server Settings", + "Description": "Defines the announcement countdown intervals in minutes. The second countdown is handled by the CountdownStart setting. (-1 - disabled)", + "Keywords": "auto,shutdown,hour", + "FieldName": "AutoShutdownHour", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "AutoShutdownHour", + "IncludeInCommandLine": false, + "DefaultValue": "-1", + "Suffix":"min", + "Placeholder": "-1", + "EnumValues": {} + }, + { + "DisplayName": "Auto Shutdown Reason", + "Category": "Server Settings", + "Description": "Specifies the message to be sent when the automatic restart auto shutdown occurs.", + "Keywords": "auto,shutdown,reason", + "FieldName": "AutoShutdownReason", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "AutoShutdownReason", + "IncludeInCommandLine": false, + "DefaultValue": "Automatic Restart", + "Placeholder":"Automatic Restart", + "EnumValues": {} + }, + { + "DisplayName": "Countdown Start", + "Category": "Server Settings", + "Description": "Specifies how many seconds until the shutdown counter starts.", + "Keywords": "countdown,start", + "FieldName": "CountdownStart", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CountdownStart", + "IncludeInCommandLine": false, + "DefaultValue": "30", + "Suffix":"sec", + "Placeholder": "30", + "EnumValues": {} + }, + { + "DisplayName":"In Game Language", + "Category":"Gameplay", + "Description":"The currently selected language. If you change languages, you'll need to restart the server for the changes to fully take effect.", + "Keywords":"language,game", + "FieldName":"Language", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Language", + "IncludeInCommandLine":false, + "DefaultValue":"English", + "EnumValues":{ + "English":"English", + "Français":"Français", + "Español":"Español", + "Deutsch":"Deutsch", + "한국어":"한국어", + "Português (Brasil)":"Português (Brasil)", + "汉语":"汉语", + "Русский":"Русский", + "Italiano":"Italiano", + "Português":"Português", + "日本語":"日本語", + "Polski":"Polski", + "Українська":"Українська", + "Türk":"Türk" + } + }, + { + "DisplayName":"World Tick CPU Max", + "Category":"Performance and Limits", + "Description":"Determines how much of any CPU core can be used by the server. Defaults to 25%, and should supposedly not be set higher than 75%.", + "Keywords":"world,tick,cpu,max", + "FieldName":"WorldTickCPUMax", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"WorldTickCPUMax", + "IncludeInCommandLine":false, + "DefaultValue":"0.25", + "EnumValues":{ + "0.05":"5%", + "0.10":"10%", + "0.15":"15%", + "0.20":"20%", + "0.25":"25%", + "0.30":"30%", + "0.35":"35%", + "0.40":"40%", + "0.45":"45%", + "0.50":"50%", + "0.55":"55%", + "0.60":"60%", + "0.65":"65%", + "0.70":"70%", + "0.75":"75%", + "0.80":"80%", + "0.85":"85%", + "0.90":"90%", + "0.95":"95%", + "1.00":"100%" + } + }, + { + "DisplayName": "Parallel World Object Ticks", + "Category": "Performance and Limits", + "Description": "An experimental feature that allows parallel (as opposed to sequential) world object ticks. May increase performance at the cost of stability.", + "Keywords": "parallel,world,object,ticks", + "FieldName": "ParallelWorldObjectTicks", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "ParallelWorldObjectTicks", + "IncludeInCommandLine": false, + "DefaultValue": "false", + "EnumValues": { + "False": "false", + "True": "true" + } + }, + { + "DisplayName": "Time Multiplier", + "Category": "Gameplay", + "Description": "Game progress time advances at this rate.", + "Keywords": "time,multiplier", + "FieldName": "TimeMult", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TimeMult", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "Placeholder": "1", + "EnumValues": {} + }, + { + "DisplayName": "Minimum Tree Spawn Distance", + "Category": "Performance and Limits", + "Description": "Minimum distance between trees. Lower values can impact performance negatively.", + "Keywords": "minimum,tree,spawn,distance", + "FieldName": "MinTreeSpawnDistance", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MinTreeSpawnDistance", + "IncludeInCommandLine": false, + "DefaultValue": "5", + "Placeholder": "5", + "EnumValues": {} + }, + { + "DisplayName": "Base Skill Gain Rate", + "Category": "Gameplay", + "Description": "The default experience gain for all players, regardless of their other sources of experience points and difficulty settings.", + "Keywords": "base,skill,gain,rate", + "FieldName": "BaseSkillGainRate", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BaseSkillGainRate", + "IncludeInCommandLine": false, + "DefaultValue": "12.0", + "Placeholder": "12.0", + "EnumValues": {} + }, + { + "DisplayName": "Skill Damage Multiplier", + "Category": "Gameplay", + "Description": "Scales skill penalty to suffocation. (0 to disable).", + "Keywords": "skill,damage,multiplier", + "FieldName": "SkillDamageMultiplier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SkillDamageMultiplier", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "Placeholder": "0", + "EnumValues": {} + }, + { + "DisplayName": "Time of Day Scale", + "Category": "Gameplay", + "Description": "Scales how much time of day matches real time. Higher numbers result in shorter day/night cycles (as a value of X seconds per real-world second), but will not affect simulation speed.", + "Keywords": "time,day,scale", + "FieldName": "TimeOfDayScale", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TimeOfDayScale", + "IncludeInCommandLine": false, + "DefaultValue": "48", + "Suffix":"sec", + "Placeholder": "48", + "EnumValues": {} + }, + { + "DisplayName": "Max Tooltip Cache Size", + "Category": "Performance and Limits", + "Description": "Maximum number of tooltip parts stored in server's cache. Lowering this number can reduce RAM usage, but may impact response time for user's tooltip request. Changing this setting will take effect after server restart.", + "Keywords": "max,tooltip,cache,size", + "FieldName": "MaxTooltipCacheSize", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaxTooltipCacheSize", + "IncludeInCommandLine": false, + "DefaultValue": "1000", + "Placeholder": "1000", + "EnumValues": {} + }, + { + "DisplayName":"Web Server URL", + "Category":"Server Settings", + "Description":"Web Server URL. If not specified then remote IP address will be used. Usually you should ignore it, but if you want to use DNS name or hide web server behind a proxy (for SSL or friendly name then it may be useful. Users default port if not explicit port specified (HTTP - 80, HTTPS - 443). Format: http(s)://myserver.com:[port]", + "Keywords":"web,server,url", + "FieldName":"WebServerUrl", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"WebServerUrl", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Suffix":"url", + "Placeholder":"http(s)://myserver.com:[port]", + "EnumValues":{} + }, + { + "DisplayName":"Client Update Rate", + "Category":"Performance and Limits", + "Description":"Rate at which the server updates to clients, per second. Default is 20 Seconds", + "Keywords":"rate,server,update,client", + "FieldName":"Rate", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Rate", + "IncludeInCommandLine":false, + "DefaultValue":"20", + "EnumValues":{ + "10":"10 Seconds", + "20":"20 Seconds", + "30":"30 Seconds", + "40":"40 Seconds", + "50":"50 Seconds", + "60":"60 Seconds", + "70":"70 Seconds", + "80":"80 Seconds", + "90":"90 Seconds", + "100":"100 Seconds" + } + }, + { + "DisplayName": "SLG Account Name", + "Category": "Monitoring and Metrics", + "Description": "The user account associated with this server. This is public knowledge and shared with clients. Setting this will allow achievements earned by players on this server to be visible in other servers (as well as future features to come). Visit [play.eco](https://play.eco/) to link your steam account or create a new account.", + "Keywords": "slg,account,name", + "FieldName": "SLGAccountName", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "SLGAccountName", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder":"SLG Account Name", + "EnumValues": {} + }, + { + "DisplayName": "SLG Account Password", + "Category": "Monitoring and Metrics", + "Description": "Password for the SLG Account", + "Keywords": "slg,account,password", + "FieldName": "SLGAccountPassword", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "SLGAccountPassword", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder":"SLG Account Password", + "EnumValues": {} } ] \ No newline at end of file diff --git a/ecometaconfig.json b/ecometaconfig.json index 23481c39d..41cbb56b7 100755 --- a/ecometaconfig.json +++ b/ecometaconfig.json @@ -3,5 +3,80 @@ "ConfigFile": "Configs/Network.eco", "AutoMap": true, "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Difficulty.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Balance.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Disasters.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Features.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Pause.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Rooms.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Sleep.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Civics.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Storage.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Maintenance.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Localization.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/Users.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/World.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/WorldObjects.eco", + "AutoMap": true, + "ConfigType": "json" + }, + { + "ConfigFile": "Configs/EcoSim.eco", + "AutoMap": true, + "ConfigType": "json" } ] From eaff2a01f5a826fb82287a35fc113c4405bd913f Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:51:31 -0400 Subject: [PATCH 02/16] minor updates for pull request changed live updates back to false added ip bindings that were removed for testing and not put back in. --- .gitignore | 3 ++- eco.kvp | 2 +- ecoconfig.json | 26 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e984e2360..7ddaf8636 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ - +.iml +.gitignore *.xml diff --git a/eco.kvp b/eco.kvp index 03ac6f048..5e3416431 100644 --- a/eco.kvp +++ b/eco.kvp @@ -33,7 +33,7 @@ App.ExitString=stop App.ExitFile=app_exit.lck App.HasWriteableConsole=True App.HasReadableConsole=True -App.SupportsLiveSettingsChanges=True +App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 App.ApplicationPort1=3000 diff --git a/ecoconfig.json b/ecoconfig.json index 908ac93b3..848af89f2 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -140,6 +140,32 @@ "Suffix":"players", "EnumValues":{} }, + { + "DisplayName":"Server IP Binding", + "Description":"Internal server IP-address the server should bind to. Default is Any (all IPs on the host)", + "Category": "Server Settings", + "Keywords":"ip,binding", + "FieldName":"IPAddress", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"IPAddress", + "IncludeInCommandLine":false, + "DefaultValue":"Any", + "Placeholder":"Any", + "EnumValues":{} + }, + { + "DisplayName": "RCON IP Binding", + "Category": "Server Settings", + "Description": "Internal server IP-address the RCON server should bind to. Default is Any (all IPs on the host)", + "Keywords": "rcon,ip,binding", + "FieldName": "RconIPAddress", + "InputType": "text", + "ParamFieldName": "RconIPAddress", + "DefaultValue": "Any", + "Placeholder":"Any", + "EnumValues":{} + }, { "DisplayName":"Max Active Players", "Category":"Server Settings", From cd517e66611b7e9daa81204b48197ed1c12ab633 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:52:11 -0400 Subject: [PATCH 03/16] Delete .gitignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 7ddaf8636..000000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.iml -.gitignore -*.xml From 18b7f6e571f73c16c9a11253091ef911b5eeac62 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:52:24 -0400 Subject: [PATCH 04/16] Delete .gitignore --- .idea/.gitignore | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d33521a..000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml From 6154d26151ce67d61ac3fa7ddd55b8146aa7889d Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:52:32 -0400 Subject: [PATCH 05/16] Delete AMPTemplates.iml --- .idea/AMPTemplates.iml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 .idea/AMPTemplates.iml diff --git a/.idea/AMPTemplates.iml b/.idea/AMPTemplates.iml deleted file mode 100644 index 35f0253eb..000000000 --- a/.idea/AMPTemplates.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file From 96db18685d68bcf1e1e5223c6364fd71424f8124 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:58:53 -0400 Subject: [PATCH 06/16] added space delimiter --- eco.kvp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eco.kvp b/eco.kvp index 5e3416431..c79575aea 100644 --- a/eco.kvp +++ b/eco.kvp @@ -26,7 +26,7 @@ App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"382310"} App.CommandLineParameterFormat=-{0} {1} -App.CommandLineParameterDelimiter= +App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=stop From b7fa90c170e46d3de1f268b7c2a8141b8c974e1f Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:17:49 -0400 Subject: [PATCH 07/16] Recommended changes Recommended changes to ecoconfig.json --- .idea/AMPTemplates.iml | 7 ++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 ++ .idea/vcs.xml | 6 ++ .idea/workspace.xml | 58 ++++++++++++++ ecoconfig.json | 168 ++++++++++++++++++++--------------------- 6 files changed, 169 insertions(+), 84 deletions(-) create mode 100644 .idea/AMPTemplates.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/AMPTemplates.iml b/.idea/AMPTemplates.iml new file mode 100644 index 000000000..c3305e452 --- /dev/null +++ b/.idea/AMPTemplates.iml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..639900d13 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..163c9b65a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..35eb1ddfb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000..e2a20577b --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1662871665864 + + + + \ No newline at end of file diff --git a/ecoconfig.json b/ecoconfig.json index 848af89f2..7d028a365 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -53,7 +53,7 @@ }, { "DisplayName":"Server Name", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Name of the server as it appears in the client server browser", "Keywords":"name", "FieldName":"Description", @@ -66,7 +66,7 @@ }, { "DisplayName":"Server Description", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Long form description of the server when clicked on in the client server browser", "Keywords":"description", "FieldName":"DetailedDescription", @@ -79,7 +79,7 @@ }, { "DisplayName":"Make Server Public", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"If enabled, server will appear in the client server browser", "Keywords":"public", "FieldName":"PublicServer", @@ -95,7 +95,7 @@ }, { "DisplayName":"Server Password", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Password required to connect to the server (except for whitelisted players). Default is no password", "Keywords":"password", "FieldName":"Password", @@ -108,7 +108,7 @@ }, { "DisplayName":"Server Category", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Category of the server shown when clients first select a new game", "Keywords":"category", "FieldName":"ServerCategory", @@ -127,7 +127,7 @@ }, { "DisplayName":"Max Connections", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Max number of connections allowed on at one time (negative is infinite)", "Keywords":"max,connections", "FieldName":"$MaxUsers", @@ -143,7 +143,7 @@ { "DisplayName":"Server IP Binding", "Description":"Internal server IP-address the server should bind to. Default is Any (all IPs on the host)", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Keywords":"ip,binding", "FieldName":"IPAddress", "InputType":"text", @@ -156,7 +156,7 @@ }, { "DisplayName": "RCON IP Binding", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Internal server IP-address the RCON server should bind to. Default is Any (all IPs on the host)", "Keywords": "rcon,ip,binding", "FieldName": "RconIPAddress", @@ -168,7 +168,7 @@ }, { "DisplayName":"Max Active Players", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Max active players, 0 = Unrestricted. Setting this gives your match score a boost in the server browser when you have fewer players than needed, and an extra boost if players have recently abandoned. (This affects your server score only and is not limiting amount of total users that can connect).", "Keywords":"max,connections", "FieldName":"MaxActivePlayers", @@ -183,7 +183,7 @@ }, { "DisplayName":"Discord Address", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"The address of a Discord Server used for players on this world.", "Keywords":"discord", "FieldName":"DiscordAddress", @@ -198,7 +198,7 @@ }, { "DisplayName":"Enable UPnP", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"If enabled, UPnP will be enabled on the server. Requires a UPnP-enabled router to work", "Keywords":"upnp", "FieldName":"UPnPEnabled", @@ -244,7 +244,7 @@ }, { "DisplayName": "Specialty Cost Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to the cost of learning a specialty. Values below 1 decrease speciality cost, above 1 increase speciality cost.", "Keywords": "speciality,cost,multiplier", "FieldName": "SpecialtyCostMultiplier", @@ -258,7 +258,7 @@ }, { "DisplayName": "Skill Gain Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to the rate of skill points gained over time. Values below 1 decrease the rate, above 1 increase the rate.", "Keywords": "skill,gain,multiplier", "FieldName": "SkillGainMultiplier", @@ -272,7 +272,7 @@ }, { "DisplayName": "Speciality Experience Per Level", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Factors into experience per level specialties. Default is 25, higher values increase experience requirement, lower values reduce it.", "Keywords": "speciality,experience", "FieldName": "SpecialtyExperiencePerLevel", @@ -286,7 +286,7 @@ }, { "DisplayName": "Craft Resource Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to crafting resource cost. Values below 1 decrease crafting resource cost, above 1 increase resource cost.", "Keywords": "craft,resource,multiplier", "FieldName": "CraftResourceModifier", @@ -300,7 +300,7 @@ }, { "DisplayName": "Craft Time Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to crafting time. Values below 1 decrease crafting time, above 1 increase crafting time.", "Keywords": "craft,time,multiplier", "FieldName": "CraftTimeModifier", @@ -314,7 +314,7 @@ }, { "DisplayName": "Specialty Refund Percentage", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Percentage to refund the player when they remove a specialty.", "Keywords": "speciality,refund,percentage", "FieldName": "SpecialtyRefundPercentage", @@ -329,7 +329,7 @@ }, { "DisplayName": "Player Experience Per Specialty", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Percentage of speciality experience that is also gained as level experience. Not recommended for public servers. Default is 0.0", "Keywords": "player,experience,speciality", "FieldName": "PlayerExperiencePerSpecialtyExperience", @@ -343,7 +343,7 @@ }, { "DisplayName": "Item Stack Size Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to item max stack size. Values below 1 decrease max size, above 1 increases max size. A server restart is required for correct calculation.", "Keywords": "item,stack,size,multiplier", "FieldName": "StackSizeModifier", @@ -357,7 +357,7 @@ }, { "DisplayName": "Item Weight Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to item weight. Values below 1 decrease item weight, above 1 increase item weight. A server restart is required for correct calculation.", "Keywords": "item,weight,multiplier", "FieldName": "WeightModifier", @@ -371,7 +371,7 @@ }, { "DisplayName": "Fuel Amount Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to fuel yield per unit. Values below 1 decrease yield, above 1 increase yield. A Server restart is required for correct calculation.", "Keywords": "fuel,amount,multiplier", "FieldName": "FuelModifier", @@ -385,7 +385,7 @@ }, { "DisplayName": "Growth Rate Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Global scale for how quick plants mature.", "Keywords": "growth,rate,multiplier", "FieldName": "GrowthRateModifier", @@ -399,7 +399,7 @@ }, { "DisplayName": "Storage Range Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Multiplier applied to storage connection range. Values below 1 decrease range, above 1 increases range. A server restart is required for correct calculation.", "Keywords": "storage,range,multiplier", "FieldName": "ConnectionRangeModifier", @@ -413,7 +413,7 @@ }, { "DisplayName":"Endgame Craft Cost", - "Category":"Gameplay", + "Category":"ECO - Gameplay", "Description":"Endgame crafting cost presets for Laser and Computer Lab. Does not affect work orders in progress.", "Keywords":"endgame,craft,cost", "FieldName":"EndgameCraftCost", @@ -429,7 +429,7 @@ }, { "DisplayName": "Shelf Life Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Adjusts the default shelf life of all foods, with higher values causing food to last longer. For example, setting to 2 double the shelf life while setting to 0.5 halves the shelf life.", "Keywords": "shelf,life,multiplier", "FieldName": "ShelfLifeMultiplier", @@ -443,7 +443,7 @@ }, { "DisplayName": "Exhaustion After Hours", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Max hours a user can play per day. After their allotted time, they can still play but not expand calories with work. 0 means no limit.", "Keywords": "exhaustion,after,hours", "FieldName": "ExhaustionAfterHours", @@ -458,7 +458,7 @@ }, { "DisplayName": "Rollover Daily Playtime", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Remaining playtime can be added to the next day.", "Keywords": "rollover,daily,playtime", "FieldName": "RolloverDailyPlaytime", @@ -474,7 +474,7 @@ }, { "DisplayName": "Maximum Playtime Before Exhausted", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "If Rollover Daily Playtime is true then this is the maximum hours playtime in a day. This limits how much playtime player can save up by not playing.", "Keywords": "playtime,before,exhausted", "FieldName": "MaximumPlaytimeBeforeExhausted", @@ -489,7 +489,7 @@ }, { "DisplayName": "Create Meteor", - "Category": "Disasters", + "Category": "ECO - Disasters", "Description": "Whether or not a meteor exists in the world.", "Keywords": "create,meteor", "FieldName": "CreateMeteor", @@ -505,7 +505,7 @@ }, { "DisplayName": "Meteor Impact Days", - "Category": "Disasters", + "Category": "ECO - Disasters", "Description": "Time in days when the meteor will impact. Changing this value will override impact time for current active meteor.", "Keywords": "meteor,impact", "FieldName": "MeteorImpactDays", @@ -520,7 +520,7 @@ }, { "DisplayName": "Rent Enabled", - "Category": "Features", + "Category": "ECO - Features", "Description": "Allows players to rent access to a given deed from another when enabled.", "Keywords": "rent", "FieldName": "RentEnabled", @@ -536,7 +536,7 @@ }, { "DisplayName": "Voice Chat Enabled", - "Category": "Features", + "Category": "ECO - Features", "Description": "When enable, players will be able to use voice chat.", "Keywords": "voice,chat", "FieldName": "VoiceChatEnabled", @@ -552,7 +552,7 @@ }, { "DisplayName": "Food Variety Multiplier Enabled", - "Category": "Features", + "Category": "ECO - Features", "Description": "When enabled, the variety of food you ear will provide a bonus.", "Keywords": "food,variety,multiplier", "FieldName": "FoodVarietyMultiplierEnabled", @@ -568,7 +568,7 @@ }, { "DisplayName": "Food Tastiness Multiplier Enabled", - "Category": "Features", + "Category": "ECO - Features", "Description": "When enabled each player has unique preferences for each type of food that yields a bonus, and periodic 'cravings' will emerge for an additional bonus.", "Keywords": "food,tastiness,multiplier", "FieldName": "FoodTastinessMultiplierEnabled", @@ -584,7 +584,7 @@ }, { "DisplayName": "Paused", - "Category": "Features", + "Category": "ECO - Features", "Description": "The World will be on Pause if this option is set.", "Keywords": "paused", "FieldName": "Paused", @@ -600,7 +600,7 @@ }, { "DisplayName": "Unpause At First Login", - "Category": "Features", + "Category": "ECO - Features", "Description": "The World will resume as soon as first player login to the world.", "Keywords": "unpause,login", "FieldName": "UnpauseAtFirstLogin", @@ -616,7 +616,7 @@ }, { "DisplayName": "Empty Blocks Count As Windows", - "Category": "Features", + "Category": "ECO - Features", "Description": "If set, rooms can have empty blocks serve as windows and still count as room.", "Keywords": "empty,blocks,count,windows", "FieldName": "EmptyBlocksCountAsWindows", @@ -632,7 +632,7 @@ }, { "DisplayName": "Room Category Diminishing Return Rate", - "Category": "Features", + "Category": "ECO - Features", "Description": "Repeated rooms earn this multiple value of the previous ones. This makes duplicate rooms less valuable in a house.", "Keywords": "room,category,diminishing,return,rate", "FieldName": "RoomCategoryDiminishingReturnRate", @@ -646,7 +646,7 @@ }, { "DisplayName": "Wall Blocks Per Window", - "Category": "Features", + "Category": "ECO - Features", "Description": "Specifies how many wall blocks are required to make one empty window or door block without penalty. It counts all wall blocks in the room, including window blocks itself.", "Keywords": "wall,blocks,window", "FieldName": "WallBlocksPerWindow", @@ -660,7 +660,7 @@ }, { "DisplayName": "Allow Fast Forward", - "Category": "Features", + "Category": "ECO - Features", "Description": "Can players fast forward time by sleeping in a bed? If all online players sleep, time will accelerate. (This shouldn't be enabled for public servers!).", "Keywords": "allow,fast,forward", "FieldName": "AllowFastForward", @@ -676,7 +676,7 @@ }, { "DisplayName": "Sleep Time Pass Multiplier", - "Category": "Features", + "Category": "ECO - Features", "Description": "The max time multiplier that will pass while sleeping. Lower this to make the simulation fast-forward more reliably.", "Keywords": "sleep,time,pass,multiplier", "FieldName": "SleepTimePassMultiplier", @@ -690,7 +690,7 @@ }, { "DisplayName": "Time To Reach Maximum Time Rate", - "Category": "Features", + "Category": "ECO - Features", "Description": "How long it takes to reach the max sleep time. Makes for a smooth transition into sleeping.", "Keywords": "maximum,time,rate", "FieldName": "TimeToReachMaximumTimeRate", @@ -705,7 +705,7 @@ }, { "DisplayName": "Allow Overthrow", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Determines whether overthrowing a government is allowed or not. If set, then a constitution with higher house value than the current can be ratified. Setting this to true also makes it impossible to make laws about placing or crafting a constitution.", "Keywords": "overthrow", "FieldName": "AllowOverthrow", @@ -721,7 +721,7 @@ }, { "DisplayName": "Value Addition To Overthrow", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "To overthrow an existing government, a constitution must be placed in a building that exceeds the previous constitution's value by this percent. 100 = 100%", "Keywords": "overthrow", "FieldName": "ValueAdditionToOverthrow", @@ -736,7 +736,7 @@ }, { "DisplayName": "Day Range For Active Demographic", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The 'Active Players' demographic will check this many of the past days to determine the hours played by a user.", "Keywords": "day,range,active,demographic", "FieldName": "DayRangeForActiveDemographic", @@ -751,7 +751,7 @@ }, { "DisplayName": "Hours Played To Be Active Demographic", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The 'Active Players' demographic will apply to any users who played this many hours within the past number of days specified above.", "Keywords": "active,demographic", "FieldName": "HoursPlayedToBeActiveDemographic", @@ -766,7 +766,7 @@ }, { "DisplayName": "Percent Of Days To Be Active For Long Term Demographic", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Percent of days a user needs to be considered active (as determined by other property) to be in the 'Long Term demographic'. 1 = 100%", "Keywords": "days,active,long,term,demographic", "FieldName": "PercentOfDaysToBeActiveForLongTermDemographic", @@ -781,7 +781,7 @@ }, { "DisplayName": "Day Range For Abandoned Demographic", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The 'Abandoned Players' demographic will check this many past days for hours played by the user.", "Keywords": "range,abandoned,demographic", "FieldName": "DayRangeForAbandonedDemographic", @@ -796,7 +796,7 @@ }, { "DisplayName": "Hours Played To Be Abandoned Demographic", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The 'Abandoned Players' demographic will apply to any users who have not played more than this many hours in within the past number of days specified above.", "Keywords": "hours,played,abandoned,demographic", "FieldName": "HoursPlayedToBeAbandonedDemographic", @@ -811,7 +811,7 @@ }, { "DisplayName": "Citizen Age For Abandoned Demographic", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The 'Abandoned Players' demographic will only apply to users who have a citizen age greater than this many hours.", "Keywords": "citizen,age,abandoned,demographic", "FieldName": "CitizenAgeForAbandonedDemographic", @@ -826,7 +826,7 @@ }, { "DisplayName": "Minutes Between Civics Updates", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Demographics are updated after this much time has passed.", "Keywords": "minutes,civics,updates", "FieldName": "MinutesBetweenCivicsUpdates", @@ -841,7 +841,7 @@ }, { "DisplayName": "Allow Invalid Civic Container Time In Minutes", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "How much time can a civics object have an invalid or missing host object before it goes invalid?", "Keywords": "invalid,civic,container", "FieldName": "AllowInvalidCivicContainerTimeInMinutes", @@ -856,7 +856,7 @@ }, { "DisplayName": "Recurring Transfer Frequency In Minutes", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Recurring transfers like rent and wages are paid after this many minutes.", "Keywords": "recurring,transfer,frequency", "FieldName": "RecurringTransferFrequencyInMinutes", @@ -871,7 +871,7 @@ }, { "DisplayName": "Allow Laws To Prevent Login Or Play", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Can laws prevent someone from logging in or playing? Enable with caution: users can create a law that blocks everyone from logging in if this is enabled.", "Keywords": "laws,prevent,login,play", "FieldName": "AllowLawsToPreventLoginOrPlay", @@ -887,7 +887,7 @@ }, { "DisplayName": "Maximum Election Hours", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "After this many hours, the election will end with or without a winner.", "Keywords": "election,hours", "FieldName": "MaximumElectionHours", @@ -902,7 +902,7 @@ }, { "DisplayName": "Minimum Percent of Eligible Voters Required", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The election will not produce a winner unless this percentage of eligible voters have cast their vote.", "Keywords": "eligible,voters", "FieldName": "MinimumPercentOfEligibleVotersRequired", @@ -917,7 +917,7 @@ }, { "DisplayName": "Minimum Days Between Elections of This Type", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Once an election of this type completes, another of the same type cannot be started for this many days.", "Keywords": "elections", "FieldName": "MinimumDaysBetweenElectionsOfThisType", @@ -932,7 +932,7 @@ }, { "DisplayName": "End Election Early When This Percent Have Voted", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "If this percentage of voters have cast their vote, then the election will end early (but not sooner than the Minimum Election Time).", "Keywords": "election,voted", "FieldName": "EndElectionEarlyWhenThisPercentHaveVoted", @@ -947,7 +947,7 @@ }, { "DisplayName": "Percent Of All Voters To Instant Win", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "If this percent of *all possible voters* votes yes, the election will instant-finish.", "Keywords": "voters,instant,win", "FieldName": "PercentOfAllVotersToInstantWin", @@ -962,7 +962,7 @@ }, { "DisplayName": "Percent Of All Voters To Instant Lose", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "If this percent of *all possible voters* votes no, the election will instant-fail.", "Keywords": "voters,instant,lose", "FieldName": "PercentOfAllVotersToInstantLose", @@ -977,7 +977,7 @@ }, { "DisplayName": "Anonymous Voting", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "Should the way a citizen votes be hidden?", "Keywords": "anonymous,voting", "FieldName": "AnonymousVoting", @@ -993,7 +993,7 @@ }, { "DisplayName": "Twitch Vote Weight", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The percent value a vote from a twitch viewer counts relative to vote from a player.", "Keywords": "twitch,vote,weight", "FieldName": "TwitchVoteWeight", @@ -1007,7 +1007,7 @@ }, { "DisplayName": "Max Percent Twitch Votes", - "Category": "Civics", + "Category": "ECO - Civics", "Description": "The maximum percent contribution all combined Twitch voters can have in election.", "Keywords": "twitch,votes", "FieldName": "MaxPercentTwitchVotes", @@ -1022,7 +1022,7 @@ }, { "DisplayName": "Save Name", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Name of the save to load at startup.", "Keywords": "save,name", "FieldName": "SaveName", @@ -1036,7 +1036,7 @@ }, { "DisplayName": "Save Frequency", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "How often to write changed data to disk, in seconds.", "Keywords": "save,frequency", "FieldName": "SaveFrequency", @@ -1051,7 +1051,7 @@ }, { "DisplayName": "Cleanup Files On Exceptions", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "If true, removes failed to load objects upon loading.", "Keywords": "cleanup,files,exceptions", "FieldName": "CleanupFilesOnExceptions", @@ -1067,7 +1067,7 @@ }, { "DisplayName": "Storage Directory", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Path for storage (Leave as 'Storage' for default settings).", "Keywords": "storage,directory", "FieldName": "StorageDirectory", @@ -1081,7 +1081,7 @@ }, { "DisplayName": "New Game Template", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Path to file to start game from for a New World, if blank (null) then World will be generated.", "Keywords": "new,game,template", "FieldName": "NewGameTemplate", @@ -1094,7 +1094,7 @@ }, { "DisplayName": "Auto Shutdown Hour", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Defines the announcement countdown intervals in minutes. The second countdown is handled by the CountdownStart setting. (-1 - disabled)", "Keywords": "auto,shutdown,hour", "FieldName": "AutoShutdownHour", @@ -1109,7 +1109,7 @@ }, { "DisplayName": "Auto Shutdown Reason", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Specifies the message to be sent when the automatic restart auto shutdown occurs.", "Keywords": "auto,shutdown,reason", "FieldName": "AutoShutdownReason", @@ -1123,7 +1123,7 @@ }, { "DisplayName": "Countdown Start", - "Category": "Server Settings", + "Category": "ECO - Server Settings", "Description": "Specifies how many seconds until the shutdown counter starts.", "Keywords": "countdown,start", "FieldName": "CountdownStart", @@ -1138,7 +1138,7 @@ }, { "DisplayName":"In Game Language", - "Category":"Gameplay", + "Category":"ECO - Gameplay", "Description":"The currently selected language. If you change languages, you'll need to restart the server for the changes to fully take effect.", "Keywords":"language,game", "FieldName":"Language", @@ -1166,7 +1166,7 @@ }, { "DisplayName":"World Tick CPU Max", - "Category":"Performance and Limits", + "Category":"ECO - Performance and Limits", "Description":"Determines how much of any CPU core can be used by the server. Defaults to 25%, and should supposedly not be set higher than 75%.", "Keywords":"world,tick,cpu,max", "FieldName":"WorldTickCPUMax", @@ -1200,7 +1200,7 @@ }, { "DisplayName": "Parallel World Object Ticks", - "Category": "Performance and Limits", + "Category": "ECO - Performance and Limits", "Description": "An experimental feature that allows parallel (as opposed to sequential) world object ticks. May increase performance at the cost of stability.", "Keywords": "parallel,world,object,ticks", "FieldName": "ParallelWorldObjectTicks", @@ -1216,7 +1216,7 @@ }, { "DisplayName": "Time Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Game progress time advances at this rate.", "Keywords": "time,multiplier", "FieldName": "TimeMult", @@ -1230,7 +1230,7 @@ }, { "DisplayName": "Minimum Tree Spawn Distance", - "Category": "Performance and Limits", + "Category": "ECO - Performance and Limits", "Description": "Minimum distance between trees. Lower values can impact performance negatively.", "Keywords": "minimum,tree,spawn,distance", "FieldName": "MinTreeSpawnDistance", @@ -1244,7 +1244,7 @@ }, { "DisplayName": "Base Skill Gain Rate", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "The default experience gain for all players, regardless of their other sources of experience points and difficulty settings.", "Keywords": "base,skill,gain,rate", "FieldName": "BaseSkillGainRate", @@ -1258,7 +1258,7 @@ }, { "DisplayName": "Skill Damage Multiplier", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Scales skill penalty to suffocation. (0 to disable).", "Keywords": "skill,damage,multiplier", "FieldName": "SkillDamageMultiplier", @@ -1272,7 +1272,7 @@ }, { "DisplayName": "Time of Day Scale", - "Category": "Gameplay", + "Category": "ECO - Gameplay", "Description": "Scales how much time of day matches real time. Higher numbers result in shorter day/night cycles (as a value of X seconds per real-world second), but will not affect simulation speed.", "Keywords": "time,day,scale", "FieldName": "TimeOfDayScale", @@ -1287,7 +1287,7 @@ }, { "DisplayName": "Max Tooltip Cache Size", - "Category": "Performance and Limits", + "Category": "ECO - Performance and Limits", "Description": "Maximum number of tooltip parts stored in server's cache. Lowering this number can reduce RAM usage, but may impact response time for user's tooltip request. Changing this setting will take effect after server restart.", "Keywords": "max,tooltip,cache,size", "FieldName": "MaxTooltipCacheSize", @@ -1301,7 +1301,7 @@ }, { "DisplayName":"Web Server URL", - "Category":"Server Settings", + "Category":"ECO - Server Settings", "Description":"Web Server URL. If not specified then remote IP address will be used. Usually you should ignore it, but if you want to use DNS name or hide web server behind a proxy (for SSL or friendly name then it may be useful. Users default port if not explicit port specified (HTTP - 80, HTTPS - 443). Format: http(s)://myserver.com:[port]", "Keywords":"web,server,url", "FieldName":"WebServerUrl", @@ -1316,7 +1316,7 @@ }, { "DisplayName":"Client Update Rate", - "Category":"Performance and Limits", + "Category":"ECO - Performance and Limits", "Description":"Rate at which the server updates to clients, per second. Default is 20 Seconds", "Keywords":"rate,server,update,client", "FieldName":"Rate", @@ -1340,7 +1340,7 @@ }, { "DisplayName": "SLG Account Name", - "Category": "Monitoring and Metrics", + "Category": "ECO - Server Settings", "Description": "The user account associated with this server. This is public knowledge and shared with clients. Setting this will allow achievements earned by players on this server to be visible in other servers (as well as future features to come). Visit [play.eco](https://play.eco/) to link your steam account or create a new account.", "Keywords": "slg,account,name", "FieldName": "SLGAccountName", @@ -1354,7 +1354,7 @@ }, { "DisplayName": "SLG Account Password", - "Category": "Monitoring and Metrics", + "Category": "ECO - Server Settings", "Description": "Password for the SLG Account", "Keywords": "slg,account,password", "FieldName": "SLGAccountPassword", From e4591ac5a26bcd8ff4dccf96d14e7741fa38f560 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:18:24 -0400 Subject: [PATCH 08/16] Delete AMPTemplates.iml --- .idea/AMPTemplates.iml | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 .idea/AMPTemplates.iml diff --git a/.idea/AMPTemplates.iml b/.idea/AMPTemplates.iml deleted file mode 100644 index c3305e452..000000000 --- a/.idea/AMPTemplates.iml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file From e43c112a7255c7cf550fbe28ac4c9d6d6491a2d5 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:18:40 -0400 Subject: [PATCH 09/16] Delete misc.xml --- .idea/misc.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/misc.xml diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 639900d13..000000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From a6f71af5bb712ac858ad55fd69854060d9565072 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:18:50 -0400 Subject: [PATCH 10/16] Delete workspace.xml --- .idea/workspace.xml | 58 --------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 .idea/workspace.xml diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index e2a20577b..000000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1662871665864 - - - - \ No newline at end of file From 497d985a0ca1a1eca8a8d728bb341f6029f75c9b Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:19:00 -0400 Subject: [PATCH 11/16] Delete modules.xml --- .idea/modules.xml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .idea/modules.xml diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 163c9b65a..000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file From a169aa16142af9b57c64daa886750a31155ed58b Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:19:06 -0400 Subject: [PATCH 12/16] Delete vcs.xml --- .idea/vcs.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1ddfb..000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 516fa2a02f4c51577b4a58966038c845bdc02717 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Mon, 3 Oct 2022 23:14:39 -0400 Subject: [PATCH 13/16] Minor text formatting change Changed `ECO` to `Eco` --- ecoconfig.json | 168 ++++++++++++++++++++++++------------------------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/ecoconfig.json b/ecoconfig.json index 7d028a365..cf73fe07c 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -53,7 +53,7 @@ }, { "DisplayName":"Server Name", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Name of the server as it appears in the client server browser", "Keywords":"name", "FieldName":"Description", @@ -66,7 +66,7 @@ }, { "DisplayName":"Server Description", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Long form description of the server when clicked on in the client server browser", "Keywords":"description", "FieldName":"DetailedDescription", @@ -79,7 +79,7 @@ }, { "DisplayName":"Make Server Public", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"If enabled, server will appear in the client server browser", "Keywords":"public", "FieldName":"PublicServer", @@ -95,7 +95,7 @@ }, { "DisplayName":"Server Password", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Password required to connect to the server (except for whitelisted players). Default is no password", "Keywords":"password", "FieldName":"Password", @@ -108,7 +108,7 @@ }, { "DisplayName":"Server Category", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Category of the server shown when clients first select a new game", "Keywords":"category", "FieldName":"ServerCategory", @@ -127,7 +127,7 @@ }, { "DisplayName":"Max Connections", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Max number of connections allowed on at one time (negative is infinite)", "Keywords":"max,connections", "FieldName":"$MaxUsers", @@ -143,7 +143,7 @@ { "DisplayName":"Server IP Binding", "Description":"Internal server IP-address the server should bind to. Default is Any (all IPs on the host)", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Keywords":"ip,binding", "FieldName":"IPAddress", "InputType":"text", @@ -156,7 +156,7 @@ }, { "DisplayName": "RCON IP Binding", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Internal server IP-address the RCON server should bind to. Default is Any (all IPs on the host)", "Keywords": "rcon,ip,binding", "FieldName": "RconIPAddress", @@ -168,7 +168,7 @@ }, { "DisplayName":"Max Active Players", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Max active players, 0 = Unrestricted. Setting this gives your match score a boost in the server browser when you have fewer players than needed, and an extra boost if players have recently abandoned. (This affects your server score only and is not limiting amount of total users that can connect).", "Keywords":"max,connections", "FieldName":"MaxActivePlayers", @@ -183,7 +183,7 @@ }, { "DisplayName":"Discord Address", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"The address of a Discord Server used for players on this world.", "Keywords":"discord", "FieldName":"DiscordAddress", @@ -198,7 +198,7 @@ }, { "DisplayName":"Enable UPnP", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"If enabled, UPnP will be enabled on the server. Requires a UPnP-enabled router to work", "Keywords":"upnp", "FieldName":"UPnPEnabled", @@ -244,7 +244,7 @@ }, { "DisplayName": "Specialty Cost Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to the cost of learning a specialty. Values below 1 decrease speciality cost, above 1 increase speciality cost.", "Keywords": "speciality,cost,multiplier", "FieldName": "SpecialtyCostMultiplier", @@ -258,7 +258,7 @@ }, { "DisplayName": "Skill Gain Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to the rate of skill points gained over time. Values below 1 decrease the rate, above 1 increase the rate.", "Keywords": "skill,gain,multiplier", "FieldName": "SkillGainMultiplier", @@ -272,7 +272,7 @@ }, { "DisplayName": "Speciality Experience Per Level", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Factors into experience per level specialties. Default is 25, higher values increase experience requirement, lower values reduce it.", "Keywords": "speciality,experience", "FieldName": "SpecialtyExperiencePerLevel", @@ -286,7 +286,7 @@ }, { "DisplayName": "Craft Resource Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to crafting resource cost. Values below 1 decrease crafting resource cost, above 1 increase resource cost.", "Keywords": "craft,resource,multiplier", "FieldName": "CraftResourceModifier", @@ -300,7 +300,7 @@ }, { "DisplayName": "Craft Time Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to crafting time. Values below 1 decrease crafting time, above 1 increase crafting time.", "Keywords": "craft,time,multiplier", "FieldName": "CraftTimeModifier", @@ -314,7 +314,7 @@ }, { "DisplayName": "Specialty Refund Percentage", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Percentage to refund the player when they remove a specialty.", "Keywords": "speciality,refund,percentage", "FieldName": "SpecialtyRefundPercentage", @@ -329,7 +329,7 @@ }, { "DisplayName": "Player Experience Per Specialty", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Percentage of speciality experience that is also gained as level experience. Not recommended for public servers. Default is 0.0", "Keywords": "player,experience,speciality", "FieldName": "PlayerExperiencePerSpecialtyExperience", @@ -343,7 +343,7 @@ }, { "DisplayName": "Item Stack Size Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to item max stack size. Values below 1 decrease max size, above 1 increases max size. A server restart is required for correct calculation.", "Keywords": "item,stack,size,multiplier", "FieldName": "StackSizeModifier", @@ -357,7 +357,7 @@ }, { "DisplayName": "Item Weight Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to item weight. Values below 1 decrease item weight, above 1 increase item weight. A server restart is required for correct calculation.", "Keywords": "item,weight,multiplier", "FieldName": "WeightModifier", @@ -371,7 +371,7 @@ }, { "DisplayName": "Fuel Amount Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to fuel yield per unit. Values below 1 decrease yield, above 1 increase yield. A Server restart is required for correct calculation.", "Keywords": "fuel,amount,multiplier", "FieldName": "FuelModifier", @@ -385,7 +385,7 @@ }, { "DisplayName": "Growth Rate Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Global scale for how quick plants mature.", "Keywords": "growth,rate,multiplier", "FieldName": "GrowthRateModifier", @@ -399,7 +399,7 @@ }, { "DisplayName": "Storage Range Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Multiplier applied to storage connection range. Values below 1 decrease range, above 1 increases range. A server restart is required for correct calculation.", "Keywords": "storage,range,multiplier", "FieldName": "ConnectionRangeModifier", @@ -413,7 +413,7 @@ }, { "DisplayName":"Endgame Craft Cost", - "Category":"ECO - Gameplay", + "Category":"Eco - Gameplay", "Description":"Endgame crafting cost presets for Laser and Computer Lab. Does not affect work orders in progress.", "Keywords":"endgame,craft,cost", "FieldName":"EndgameCraftCost", @@ -429,7 +429,7 @@ }, { "DisplayName": "Shelf Life Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Adjusts the default shelf life of all foods, with higher values causing food to last longer. For example, setting to 2 double the shelf life while setting to 0.5 halves the shelf life.", "Keywords": "shelf,life,multiplier", "FieldName": "ShelfLifeMultiplier", @@ -443,7 +443,7 @@ }, { "DisplayName": "Exhaustion After Hours", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Max hours a user can play per day. After their allotted time, they can still play but not expand calories with work. 0 means no limit.", "Keywords": "exhaustion,after,hours", "FieldName": "ExhaustionAfterHours", @@ -458,7 +458,7 @@ }, { "DisplayName": "Rollover Daily Playtime", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Remaining playtime can be added to the next day.", "Keywords": "rollover,daily,playtime", "FieldName": "RolloverDailyPlaytime", @@ -474,7 +474,7 @@ }, { "DisplayName": "Maximum Playtime Before Exhausted", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "If Rollover Daily Playtime is true then this is the maximum hours playtime in a day. This limits how much playtime player can save up by not playing.", "Keywords": "playtime,before,exhausted", "FieldName": "MaximumPlaytimeBeforeExhausted", @@ -489,7 +489,7 @@ }, { "DisplayName": "Create Meteor", - "Category": "ECO - Disasters", + "Category": "Eco - Disasters", "Description": "Whether or not a meteor exists in the world.", "Keywords": "create,meteor", "FieldName": "CreateMeteor", @@ -505,7 +505,7 @@ }, { "DisplayName": "Meteor Impact Days", - "Category": "ECO - Disasters", + "Category": "Eco - Disasters", "Description": "Time in days when the meteor will impact. Changing this value will override impact time for current active meteor.", "Keywords": "meteor,impact", "FieldName": "MeteorImpactDays", @@ -520,7 +520,7 @@ }, { "DisplayName": "Rent Enabled", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "Allows players to rent access to a given deed from another when enabled.", "Keywords": "rent", "FieldName": "RentEnabled", @@ -536,7 +536,7 @@ }, { "DisplayName": "Voice Chat Enabled", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "When enable, players will be able to use voice chat.", "Keywords": "voice,chat", "FieldName": "VoiceChatEnabled", @@ -552,7 +552,7 @@ }, { "DisplayName": "Food Variety Multiplier Enabled", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "When enabled, the variety of food you ear will provide a bonus.", "Keywords": "food,variety,multiplier", "FieldName": "FoodVarietyMultiplierEnabled", @@ -568,7 +568,7 @@ }, { "DisplayName": "Food Tastiness Multiplier Enabled", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "When enabled each player has unique preferences for each type of food that yields a bonus, and periodic 'cravings' will emerge for an additional bonus.", "Keywords": "food,tastiness,multiplier", "FieldName": "FoodTastinessMultiplierEnabled", @@ -584,7 +584,7 @@ }, { "DisplayName": "Paused", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "The World will be on Pause if this option is set.", "Keywords": "paused", "FieldName": "Paused", @@ -600,7 +600,7 @@ }, { "DisplayName": "Unpause At First Login", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "The World will resume as soon as first player login to the world.", "Keywords": "unpause,login", "FieldName": "UnpauseAtFirstLogin", @@ -616,7 +616,7 @@ }, { "DisplayName": "Empty Blocks Count As Windows", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "If set, rooms can have empty blocks serve as windows and still count as room.", "Keywords": "empty,blocks,count,windows", "FieldName": "EmptyBlocksCountAsWindows", @@ -632,7 +632,7 @@ }, { "DisplayName": "Room Category Diminishing Return Rate", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "Repeated rooms earn this multiple value of the previous ones. This makes duplicate rooms less valuable in a house.", "Keywords": "room,category,diminishing,return,rate", "FieldName": "RoomCategoryDiminishingReturnRate", @@ -646,7 +646,7 @@ }, { "DisplayName": "Wall Blocks Per Window", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "Specifies how many wall blocks are required to make one empty window or door block without penalty. It counts all wall blocks in the room, including window blocks itself.", "Keywords": "wall,blocks,window", "FieldName": "WallBlocksPerWindow", @@ -660,7 +660,7 @@ }, { "DisplayName": "Allow Fast Forward", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "Can players fast forward time by sleeping in a bed? If all online players sleep, time will accelerate. (This shouldn't be enabled for public servers!).", "Keywords": "allow,fast,forward", "FieldName": "AllowFastForward", @@ -676,7 +676,7 @@ }, { "DisplayName": "Sleep Time Pass Multiplier", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "The max time multiplier that will pass while sleeping. Lower this to make the simulation fast-forward more reliably.", "Keywords": "sleep,time,pass,multiplier", "FieldName": "SleepTimePassMultiplier", @@ -690,7 +690,7 @@ }, { "DisplayName": "Time To Reach Maximum Time Rate", - "Category": "ECO - Features", + "Category": "Eco - Features", "Description": "How long it takes to reach the max sleep time. Makes for a smooth transition into sleeping.", "Keywords": "maximum,time,rate", "FieldName": "TimeToReachMaximumTimeRate", @@ -705,7 +705,7 @@ }, { "DisplayName": "Allow Overthrow", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Determines whether overthrowing a government is allowed or not. If set, then a constitution with higher house value than the current can be ratified. Setting this to true also makes it impossible to make laws about placing or crafting a constitution.", "Keywords": "overthrow", "FieldName": "AllowOverthrow", @@ -721,7 +721,7 @@ }, { "DisplayName": "Value Addition To Overthrow", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "To overthrow an existing government, a constitution must be placed in a building that exceeds the previous constitution's value by this percent. 100 = 100%", "Keywords": "overthrow", "FieldName": "ValueAdditionToOverthrow", @@ -736,7 +736,7 @@ }, { "DisplayName": "Day Range For Active Demographic", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The 'Active Players' demographic will check this many of the past days to determine the hours played by a user.", "Keywords": "day,range,active,demographic", "FieldName": "DayRangeForActiveDemographic", @@ -751,7 +751,7 @@ }, { "DisplayName": "Hours Played To Be Active Demographic", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The 'Active Players' demographic will apply to any users who played this many hours within the past number of days specified above.", "Keywords": "active,demographic", "FieldName": "HoursPlayedToBeActiveDemographic", @@ -766,7 +766,7 @@ }, { "DisplayName": "Percent Of Days To Be Active For Long Term Demographic", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Percent of days a user needs to be considered active (as determined by other property) to be in the 'Long Term demographic'. 1 = 100%", "Keywords": "days,active,long,term,demographic", "FieldName": "PercentOfDaysToBeActiveForLongTermDemographic", @@ -781,7 +781,7 @@ }, { "DisplayName": "Day Range For Abandoned Demographic", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The 'Abandoned Players' demographic will check this many past days for hours played by the user.", "Keywords": "range,abandoned,demographic", "FieldName": "DayRangeForAbandonedDemographic", @@ -796,7 +796,7 @@ }, { "DisplayName": "Hours Played To Be Abandoned Demographic", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The 'Abandoned Players' demographic will apply to any users who have not played more than this many hours in within the past number of days specified above.", "Keywords": "hours,played,abandoned,demographic", "FieldName": "HoursPlayedToBeAbandonedDemographic", @@ -811,7 +811,7 @@ }, { "DisplayName": "Citizen Age For Abandoned Demographic", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The 'Abandoned Players' demographic will only apply to users who have a citizen age greater than this many hours.", "Keywords": "citizen,age,abandoned,demographic", "FieldName": "CitizenAgeForAbandonedDemographic", @@ -826,7 +826,7 @@ }, { "DisplayName": "Minutes Between Civics Updates", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Demographics are updated after this much time has passed.", "Keywords": "minutes,civics,updates", "FieldName": "MinutesBetweenCivicsUpdates", @@ -841,7 +841,7 @@ }, { "DisplayName": "Allow Invalid Civic Container Time In Minutes", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "How much time can a civics object have an invalid or missing host object before it goes invalid?", "Keywords": "invalid,civic,container", "FieldName": "AllowInvalidCivicContainerTimeInMinutes", @@ -856,7 +856,7 @@ }, { "DisplayName": "Recurring Transfer Frequency In Minutes", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Recurring transfers like rent and wages are paid after this many minutes.", "Keywords": "recurring,transfer,frequency", "FieldName": "RecurringTransferFrequencyInMinutes", @@ -871,7 +871,7 @@ }, { "DisplayName": "Allow Laws To Prevent Login Or Play", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Can laws prevent someone from logging in or playing? Enable with caution: users can create a law that blocks everyone from logging in if this is enabled.", "Keywords": "laws,prevent,login,play", "FieldName": "AllowLawsToPreventLoginOrPlay", @@ -887,7 +887,7 @@ }, { "DisplayName": "Maximum Election Hours", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "After this many hours, the election will end with or without a winner.", "Keywords": "election,hours", "FieldName": "MaximumElectionHours", @@ -902,7 +902,7 @@ }, { "DisplayName": "Minimum Percent of Eligible Voters Required", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The election will not produce a winner unless this percentage of eligible voters have cast their vote.", "Keywords": "eligible,voters", "FieldName": "MinimumPercentOfEligibleVotersRequired", @@ -917,7 +917,7 @@ }, { "DisplayName": "Minimum Days Between Elections of This Type", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Once an election of this type completes, another of the same type cannot be started for this many days.", "Keywords": "elections", "FieldName": "MinimumDaysBetweenElectionsOfThisType", @@ -932,7 +932,7 @@ }, { "DisplayName": "End Election Early When This Percent Have Voted", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "If this percentage of voters have cast their vote, then the election will end early (but not sooner than the Minimum Election Time).", "Keywords": "election,voted", "FieldName": "EndElectionEarlyWhenThisPercentHaveVoted", @@ -947,7 +947,7 @@ }, { "DisplayName": "Percent Of All Voters To Instant Win", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "If this percent of *all possible voters* votes yes, the election will instant-finish.", "Keywords": "voters,instant,win", "FieldName": "PercentOfAllVotersToInstantWin", @@ -962,7 +962,7 @@ }, { "DisplayName": "Percent Of All Voters To Instant Lose", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "If this percent of *all possible voters* votes no, the election will instant-fail.", "Keywords": "voters,instant,lose", "FieldName": "PercentOfAllVotersToInstantLose", @@ -977,7 +977,7 @@ }, { "DisplayName": "Anonymous Voting", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "Should the way a citizen votes be hidden?", "Keywords": "anonymous,voting", "FieldName": "AnonymousVoting", @@ -993,7 +993,7 @@ }, { "DisplayName": "Twitch Vote Weight", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The percent value a vote from a twitch viewer counts relative to vote from a player.", "Keywords": "twitch,vote,weight", "FieldName": "TwitchVoteWeight", @@ -1007,7 +1007,7 @@ }, { "DisplayName": "Max Percent Twitch Votes", - "Category": "ECO - Civics", + "Category": "Eco - Civics", "Description": "The maximum percent contribution all combined Twitch voters can have in election.", "Keywords": "twitch,votes", "FieldName": "MaxPercentTwitchVotes", @@ -1022,7 +1022,7 @@ }, { "DisplayName": "Save Name", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Name of the save to load at startup.", "Keywords": "save,name", "FieldName": "SaveName", @@ -1036,7 +1036,7 @@ }, { "DisplayName": "Save Frequency", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "How often to write changed data to disk, in seconds.", "Keywords": "save,frequency", "FieldName": "SaveFrequency", @@ -1051,7 +1051,7 @@ }, { "DisplayName": "Cleanup Files On Exceptions", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "If true, removes failed to load objects upon loading.", "Keywords": "cleanup,files,exceptions", "FieldName": "CleanupFilesOnExceptions", @@ -1067,7 +1067,7 @@ }, { "DisplayName": "Storage Directory", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Path for storage (Leave as 'Storage' for default settings).", "Keywords": "storage,directory", "FieldName": "StorageDirectory", @@ -1081,7 +1081,7 @@ }, { "DisplayName": "New Game Template", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Path to file to start game from for a New World, if blank (null) then World will be generated.", "Keywords": "new,game,template", "FieldName": "NewGameTemplate", @@ -1094,7 +1094,7 @@ }, { "DisplayName": "Auto Shutdown Hour", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Defines the announcement countdown intervals in minutes. The second countdown is handled by the CountdownStart setting. (-1 - disabled)", "Keywords": "auto,shutdown,hour", "FieldName": "AutoShutdownHour", @@ -1109,7 +1109,7 @@ }, { "DisplayName": "Auto Shutdown Reason", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Specifies the message to be sent when the automatic restart auto shutdown occurs.", "Keywords": "auto,shutdown,reason", "FieldName": "AutoShutdownReason", @@ -1123,7 +1123,7 @@ }, { "DisplayName": "Countdown Start", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Specifies how many seconds until the shutdown counter starts.", "Keywords": "countdown,start", "FieldName": "CountdownStart", @@ -1138,7 +1138,7 @@ }, { "DisplayName":"In Game Language", - "Category":"ECO - Gameplay", + "Category":"Eco - Gameplay", "Description":"The currently selected language. If you change languages, you'll need to restart the server for the changes to fully take effect.", "Keywords":"language,game", "FieldName":"Language", @@ -1166,7 +1166,7 @@ }, { "DisplayName":"World Tick CPU Max", - "Category":"ECO - Performance and Limits", + "Category":"Eco - Performance and Limits", "Description":"Determines how much of any CPU core can be used by the server. Defaults to 25%, and should supposedly not be set higher than 75%.", "Keywords":"world,tick,cpu,max", "FieldName":"WorldTickCPUMax", @@ -1200,7 +1200,7 @@ }, { "DisplayName": "Parallel World Object Ticks", - "Category": "ECO - Performance and Limits", + "Category": "Eco - Performance and Limits", "Description": "An experimental feature that allows parallel (as opposed to sequential) world object ticks. May increase performance at the cost of stability.", "Keywords": "parallel,world,object,ticks", "FieldName": "ParallelWorldObjectTicks", @@ -1216,7 +1216,7 @@ }, { "DisplayName": "Time Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Game progress time advances at this rate.", "Keywords": "time,multiplier", "FieldName": "TimeMult", @@ -1230,7 +1230,7 @@ }, { "DisplayName": "Minimum Tree Spawn Distance", - "Category": "ECO - Performance and Limits", + "Category": "Eco - Performance and Limits", "Description": "Minimum distance between trees. Lower values can impact performance negatively.", "Keywords": "minimum,tree,spawn,distance", "FieldName": "MinTreeSpawnDistance", @@ -1244,7 +1244,7 @@ }, { "DisplayName": "Base Skill Gain Rate", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "The default experience gain for all players, regardless of their other sources of experience points and difficulty settings.", "Keywords": "base,skill,gain,rate", "FieldName": "BaseSkillGainRate", @@ -1258,7 +1258,7 @@ }, { "DisplayName": "Skill Damage Multiplier", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Scales skill penalty to suffocation. (0 to disable).", "Keywords": "skill,damage,multiplier", "FieldName": "SkillDamageMultiplier", @@ -1272,7 +1272,7 @@ }, { "DisplayName": "Time of Day Scale", - "Category": "ECO - Gameplay", + "Category": "Eco - Gameplay", "Description": "Scales how much time of day matches real time. Higher numbers result in shorter day/night cycles (as a value of X seconds per real-world second), but will not affect simulation speed.", "Keywords": "time,day,scale", "FieldName": "TimeOfDayScale", @@ -1287,7 +1287,7 @@ }, { "DisplayName": "Max Tooltip Cache Size", - "Category": "ECO - Performance and Limits", + "Category": "Eco - Performance and Limits", "Description": "Maximum number of tooltip parts stored in server's cache. Lowering this number can reduce RAM usage, but may impact response time for user's tooltip request. Changing this setting will take effect after server restart.", "Keywords": "max,tooltip,cache,size", "FieldName": "MaxTooltipCacheSize", @@ -1301,7 +1301,7 @@ }, { "DisplayName":"Web Server URL", - "Category":"ECO - Server Settings", + "Category":"Eco - Server Settings", "Description":"Web Server URL. If not specified then remote IP address will be used. Usually you should ignore it, but if you want to use DNS name or hide web server behind a proxy (for SSL or friendly name then it may be useful. Users default port if not explicit port specified (HTTP - 80, HTTPS - 443). Format: http(s)://myserver.com:[port]", "Keywords":"web,server,url", "FieldName":"WebServerUrl", @@ -1316,7 +1316,7 @@ }, { "DisplayName":"Client Update Rate", - "Category":"ECO - Performance and Limits", + "Category":"Eco - Performance and Limits", "Description":"Rate at which the server updates to clients, per second. Default is 20 Seconds", "Keywords":"rate,server,update,client", "FieldName":"Rate", @@ -1340,7 +1340,7 @@ }, { "DisplayName": "SLG Account Name", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "The user account associated with this server. This is public knowledge and shared with clients. Setting this will allow achievements earned by players on this server to be visible in other servers (as well as future features to come). Visit [play.eco](https://play.eco/) to link your steam account or create a new account.", "Keywords": "slg,account,name", "FieldName": "SLGAccountName", @@ -1354,7 +1354,7 @@ }, { "DisplayName": "SLG Account Password", - "Category": "ECO - Server Settings", + "Category": "Eco - Server Settings", "Description": "Password for the SLG Account", "Keywords": "slg,account,password", "FieldName": "SLGAccountPassword", From c6025209b3553a95831b0f640ce1b84dd57cdc28 Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 9 Oct 2022 01:42:45 -0400 Subject: [PATCH 14/16] Updates from suggestions --- .gitignore | 5 + .idea/.gitignore | 3 + eco.kvp | 33 +- ecoconfig.json | 1925 +++++++++++++++++++++++----------------------- ecoupdates.json | 188 +++++ 5 files changed, 1173 insertions(+), 981 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 ecoupdates.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..91eeced15 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ + +.idea/vcs.xml +.idea/misc.xml +.idea/AMPTemplates.iml +.idea/modules.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/eco.kvp b/eco.kvp index c79575aea..7834355af 100644 --- a/eco.kvp +++ b/eco.kvp @@ -11,9 +11,14 @@ Meta.MetaConfigManifest=ecometaconfig.json Meta.ConfigRoot=eco.kvp Meta.MinAMPVersion=2.3.2.8 Meta.SpecificDockerImage= +Meta.DockerRequired=False Meta.ContainerPolicy=Supported +Meta.ContainerPolicyReason= Meta.Prerequsites=[] +Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +Meta.OriginalSource= App.DisplayName=Eco App.RootDir=./eco/ App.BaseDirectory=./eco/739590/ @@ -23,6 +28,7 @@ App.WorkingDir=739590 App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} +App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"382310"} App.CommandLineParameterFormat=-{0} {1} @@ -36,10 +42,11 @@ App.HasReadableConsole=True App.SupportsLiveSettingsChanges=False App.LiveSettingChangeCommandFormat=set {0} "{1}" App.ApplicationIPBinding=0.0.0.0 -App.ApplicationPort1=3000 -App.ApplicationPort2=3001 -App.ApplicationPort3=0 -App.RemoteAdminPort=3002 +App.Ports=[{"Protocol":"UDP","Port":3000,"Ref":"ApplicationPort1","Name":"Game Server Port","Description":"Port for game traffic"},{"Protocol":"TCP","Port":3001,"Ref":"ApplicationPort2","Name":"Web Server Port","Description":"Port for web server traffic"},{"Protocol":"TCP","Port":3002,"Ref":"RemoteAdminPort","Name":"RCON Server Port","Description":"Port for RCON traffic"}] +App.AdminPortRef=RemoteAdminPort +App.PrimaryApplicationPortRef=ApplicationPort1 +App.UniversalSleepApplicationUDPPortRef=ApplicationPort1 +App.UniversalSleepSteamQueryPortRef=ApplicationPort2 App.MaxUsers=-1 App.UseRandomAdminPassword=True App.RemoteAdminPassword= @@ -47,14 +54,18 @@ App.AdminMethod=SourceRCON App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"public","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"false"}, {"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"739590","UpdateSourceVersion":"{{BetaBranch}}","UpdateSourceConditionSetting":"EnableBeta","UpdateSourceConditionValue":"true"}, {"UpdateStageName":"Backup Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Backup.eco","UpdateSourceArgs":"./eco/739590/Configs/Backup.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Balance Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Balance.eco","UpdateSourceArgs":"./eco/739590/Configs/Balance.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Civics Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Civics.eco","UpdateSourceArgs":"./eco/739590/Configs/Civics.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Difficulty Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Difficulty.eco","UpdateSourceArgs":"./eco/739590/Configs/Difficulty.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Disasters Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Disasters.eco","UpdateSourceArgs":"./eco/739590/Configs/Disasters.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"EcoSim Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/EcoSim.eco","UpdateSourceArgs":"./eco/739590/Configs/EcoSim.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Features Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Features.eco","UpdateSourceArgs":"./eco/739590/Configs/Features.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Localization Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Localization.eco","UpdateSourceArgs":"./eco/739590/Configs/Localization.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Maintenance Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Maintenance.eco","UpdateSourceArgs":"./eco/739590/Configs/Maintenance.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"ModKit Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/ModKit.eco","UpdateSourceArgs":"./eco/739590/Configs/ModKit.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Network Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Network.eco","UpdateSourceArgs":"./eco/739590/Configs/Network.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Pause Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Pause.eco","UpdateSourceArgs":"./eco/739590/Configs/Pause.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Profanity Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Profanity.eco","UpdateSourceArgs":"./eco/739590/Configs/Profanity.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Rooms Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Rooms.eco","UpdateSourceArgs":"./eco/739590/Configs/Rooms.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Sleep Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Sleep.eco","UpdateSourceArgs":"./eco/739590/Configs/Sleep.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Stats Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Stats.eco","UpdateSourceArgs":"./eco/739590/Configs/Stats.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Storage Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Storage.eco","UpdateSourceArgs":"./eco/739590/Configs/Storage.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"Users Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/Users.eco","UpdateSourceArgs":"./eco/739590/Configs/Users.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"World Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/World.eco","UpdateSourceArgs":"./eco/739590/Configs/World.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"WorldGenerator Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/WorldGenerator.eco.eco","UpdateSourceArgs":"./eco/739590/Configs/WorldGenerator.eco.template","OverwriteExistingFiles":false}, {"UpdateStageName":"WorldObjects Config Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./eco/739590/Configs/WorldObjects.eco","UpdateSourceArgs":"./eco/739590/Configs/WorldObjects.eco.template","OverwriteExistingFiles":false}] +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=@IncludeJson[ecoupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= App.SupportsUniversalSleep=False -App.UniversalSleepApplicationUDPPort=27015 -App.UniversalSleepSteamQueryPort=27016 App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} @@ -62,10 +73,11 @@ Console.FilterMatchRegex= Console.FilterMatchReplacement= Console.ThrowawayMessageRegex= Console.AppReadyRegex=^\[\d\d:\d\d:\d\d\] Server Initialization\s*\.\.\. Finished in [\d.,]*(ms| sec)$ -Console.UserJoinRegex= -Console.UserLeaveRegex= -Console.UserChatRegex= +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.MetricsRegex= Console.SuppressLogAtStart=False Console.ActivateLogRegex= Console.UserActions={} @@ -74,3 +86,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/ecoconfig.json b/ecoconfig.json index cf73fe07c..08751101f 100644 --- a/ecoconfig.json +++ b/ecoconfig.json @@ -1,7 +1,7 @@ [ { "DisplayName":"Game Server Port", - "Category":"Server Settings", + "Category":"Eco - Server Settings", "Description":"", "Keywords":"", "FieldName":"$ApplicationPort1", @@ -14,7 +14,7 @@ }, { "DisplayName":"Web Server Port", - "Category":"Server Settings", + "Category":"Eco - Server Settings", "Description":"", "Keywords":"", "FieldName":"$ApplicationPort2", @@ -27,7 +27,7 @@ }, { "DisplayName":"RCON Server Port", - "Category":"Server Settings", + "Category":"Eco - Server Settings", "Description":"", "Keywords":"", "FieldName":"$RemoteAdminPort", @@ -54,7 +54,7 @@ { "DisplayName":"Server Name", "Category":"Eco - Server Settings", - "Description":"Name of the server as it appears in the client server browser", + "Description":"Name of the server as it appears in the client server browser.", "Keywords":"name", "FieldName":"Description", "InputType":"text", @@ -67,7 +67,7 @@ { "DisplayName":"Server Description", "Category":"Eco - Server Settings", - "Description":"Long form description of the server when clicked on in the client server browser", + "Description":"Long form description of the server when clicked on in the client server browser.", "Keywords":"description", "FieldName":"DetailedDescription", "InputType":"text", @@ -80,7 +80,7 @@ { "DisplayName":"Make Server Public", "Category":"Eco - Server Settings", - "Description":"If enabled, server will appear in the client server browser", + "Description":"If enabled, the server will appear in the client server browser.", "Keywords":"public", "FieldName":"PublicServer", "InputType":"checkbox", @@ -96,7 +96,7 @@ { "DisplayName":"Server Password", "Category":"Eco - Server Settings", - "Description":"Password required to connect to the server (except for whitelisted players). Default is no password", + "Description":"Password required to connect to the server (except for whitelisted players). Default is no password.", "Keywords":"password", "FieldName":"Password", "InputType":"password", @@ -109,7 +109,7 @@ { "DisplayName":"Server Category", "Category":"Eco - Server Settings", - "Description":"Category of the server shown when clients first select a new game", + "Description":"Category of the server shown when clients first select a new game.", "Keywords":"category", "FieldName":"ServerCategory", "InputType":"enum", @@ -119,7 +119,7 @@ "DefaultValue":"Beginner", "EnumValues":{ "None":"None", - "Beginner":"Beginner", + "Beginner":"Beginner (default)", "Established":"Established", "BeginnerHard":"Beginner Hard", "Strange":"Strange" @@ -128,10 +128,11 @@ { "DisplayName":"Max Connections", "Category":"Eco - Server Settings", - "Description":"Max number of connections allowed on at one time (negative is infinite)", + "Description":"Maximum number of connections allowed at one time. -1 = infinite.", "Keywords":"max,connections", "FieldName":"$MaxUsers", "InputType":"number", + "MinValue":"-1", "IsFlagArgument":false, "ParamFieldName":"MaxConnections", "IncludeInCommandLine":false, @@ -142,8 +143,8 @@ }, { "DisplayName":"Server IP Binding", - "Description":"Internal server IP-address the server should bind to. Default is Any (all IPs on the host)", - "Category": "Eco - Server Settings", + "Description":"Internal server IP address that the server should bind to. Default is Any (all IPs on the host).", + "Category":"Eco - Server Settings", "Keywords":"ip,binding", "FieldName":"IPAddress", "InputType":"text", @@ -155,21 +156,21 @@ "EnumValues":{} }, { - "DisplayName": "RCON IP Binding", - "Category": "Eco - Server Settings", - "Description": "Internal server IP-address the RCON server should bind to. Default is Any (all IPs on the host)", - "Keywords": "rcon,ip,binding", - "FieldName": "RconIPAddress", - "InputType": "text", - "ParamFieldName": "RconIPAddress", - "DefaultValue": "Any", + "DisplayName":"RCON IP Binding", + "Category":"Eco - Server Settings", + "Description":"Internal server IP address tha the RCON server should bind to. Default is Any (all IPs on the host).", + "Keywords":"rcon,ip,binding", + "FieldName":"RconIPAddress", + "InputType":"text", + "ParamFieldName":"RconIPAddress", + "DefaultValue":"Any", "Placeholder":"Any", "EnumValues":{} }, { "DisplayName":"Max Active Players", "Category":"Eco - Server Settings", - "Description":"Max active players, 0 = Unrestricted. Setting this gives your match score a boost in the server browser when you have fewer players than needed, and an extra boost if players have recently abandoned. (This affects your server score only and is not limiting amount of total users that can connect).", + "Description":"Maximum active players, 0 = Unrestricted. Setting this gives your match score a boost in the server browser when you have fewer players than needed, and an extra boost if players have recently abandoned. Affects your server score only and not the total users that can connect.", "Keywords":"max,connections", "FieldName":"MaxActivePlayers", "InputType":"number", @@ -184,7 +185,7 @@ { "DisplayName":"Discord Address", "Category":"Eco - Server Settings", - "Description":"The address of a Discord Server used for players on this world.", + "Description":"The address of a Discord server used for players on the server.", "Keywords":"discord", "FieldName":"DiscordAddress", "InputType":"text", @@ -199,7 +200,7 @@ { "DisplayName":"Enable UPnP", "Category":"Eco - Server Settings", - "Description":"If enabled, UPnP will be enabled on the server. Requires a UPnP-enabled router to work", + "Description":"When enabled, UPnP will be enabled on the server. Requires a UPnP-enabled router to work.", "Keywords":"upnp", "FieldName":"UPnPEnabled", "InputType":"checkbox", @@ -212,10 +213,166 @@ "True":"true" } }, + { + "DisplayName":"Save Name", + "Category":"Eco - Server Settings", + "Description":"Name of the save to load at startup.", + "Keywords":"save,name", + "FieldName":"SaveName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SaveName", + "IncludeInCommandLine":false, + "DefaultValue":"Game", + "Placeholder":"Game", + "EnumValues":{} + }, + { + "DisplayName":"Save Frequency", + "Category":"Eco - Server Settings", + "Description":"How often to write changed data to disk.", + "Keywords":"save,frequency", + "FieldName":"SaveFrequency", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SaveFrequency", + "IncludeInCommandLine":false, + "DefaultValue":"61", + "Placeholder":"61", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Cleanup Files On Exceptions", + "Category":"Eco - Server Settings", + "Description":"When enabled, removes failed to load objects upon loading.", + "Keywords":"cleanup,files,exceptions", + "FieldName":"CleanupFilesOnExceptions", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CleanupFilesOnExceptions", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Storage Directory", + "Category":"Eco - Server Settings", + "Description":"Path for storage (leave as \"Storage\" for default settings).", + "Keywords":"storage,directory", + "FieldName":"StorageDirectory", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"StorageDirectory", + "IncludeInCommandLine":false, + "DefaultValue":"Storage", + "Placeholder":"Storage", + "EnumValues":{} + }, + { + "DisplayName":"New Game Template", + "Category":"Eco - Server Settings", + "Description":"Path to file to start game from for a new world, if blank (null) then the world will be generated.", + "Keywords":"new,game,template", + "FieldName":"NewGameTemplate", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"NewGameTemplate", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Auto Shutdown Hour", + "Category":"Eco - Server Settings", + "Description":"Defines the announcement countdown intervalss. The second countdown is handled by the Countdown Start setting. -1 = disabled)", + "Keywords":"auto,shutdown,hour", + "FieldName":"AutoShutdownHour", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"AutoShutdownHour", + "IncludeInCommandLine":false, + "DefaultValue":"-1", + "Placeholder":"-1", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Auto Shutdown Reason", + "Category":"Eco - Server Settings", + "Description":"Specifies the message to be sent when the automatic restart auto shutdown occurs.", + "Keywords":"auto,shutdown,reason", + "FieldName":"AutoShutdownReason", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"AutoShutdownReason", + "IncludeInCommandLine":false, + "DefaultValue":"Automatic Restart", + "Placeholder":"Automatic Restart", + "EnumValues":{} + }, + { + "DisplayName":"Countdown Start", + "Category":"Eco - Server Settings", + "Description":"Specifies how many seconds until the shutdown counter starts.", + "Keywords":"countdown,start", + "FieldName":"CountdownStart", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"CountdownStart", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Suffix":"seconds", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Web Server URL", + "Category":"Eco - Server Settings", + "Description":"Web server URL. If not specified then remote IP address will be used. Usually should be ignored, but may be desired to use SSL or a friendly name. Uses default http/https port if not explicit port specified. Format: http(s)://myserver.com:[port]", + "Keywords":"web,server,url", + "FieldName":"WebServerUrl", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"WebServerUrl", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"http(s)://myserver.com:[port]", + "EnumValues":{} + }, + { + "DisplayName":"SLG Account Name", + "Category":"Eco - Server Settings", + "Description":"The user account associated with the server. This will be shared with clients and will allow achievements earned by players on this server to be visible in other servers (as well as future features to come). Visit [play.eco](https://play.eco/) to link your steam account or create a new account.", + "Keywords":"slg,account,name", + "FieldName":"SLGAccountName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"SLGAccountName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"SLG Account Password", + "Category":"Eco - Server Settings", + "Description":"Password for the SLG Account.", + "Keywords":"slg,account,password", + "FieldName":"SLGAccountPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"SLGAccountPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, { "DisplayName":"Enable Beta Branch", "Category":"SteamCMD and Updates", - "Description":"If enabled, allows beta branches (branches other than \"public\") to be installed. Specify the branch under \"Selected Beta Branch\". NOTE: Update the server after switching branches!", + "Description":"When enabled, allows beta branches (branches other than \"public\") to be installed. Specify the branch under \"Selected Beta Branch\". NOTE: Update the server after switching branches!", "Keywords":"enable,beta", "FieldName":"EnableBeta", "InputType":"checkbox", @@ -243,173 +400,230 @@ "EnumValues":{} }, { - "DisplayName": "Specialty Cost Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to the cost of learning a specialty. Values below 1 decrease speciality cost, above 1 increase speciality cost.", - "Keywords": "speciality,cost,multiplier", - "FieldName": "SpecialtyCostMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.SpecialtyCostMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Skill Gain Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to the rate of skill points gained over time. Values below 1 decrease the rate, above 1 increase the rate.", - "Keywords": "skill,gain,multiplier", - "FieldName": "SkillGainMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.SkillGainMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Speciality Experience Per Level", - "Category": "Eco - Gameplay", - "Description": "Factors into experience per level specialties. Default is 25, higher values increase experience requirement, lower values reduce it.", - "Keywords": "speciality,experience", - "FieldName": "SpecialtyExperiencePerLevel", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.SpecialtyExperiencePerLevel", - "IncludeInCommandLine": false, - "DefaultValue": "25.0", - "Placeholder": "25.0", - "EnumValues": {} - }, - { - "DisplayName": "Craft Resource Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to crafting resource cost. Values below 1 decrease crafting resource cost, above 1 increase resource cost.", - "Keywords": "craft,resource,multiplier", - "FieldName": "CraftResourceModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.CraftResourceModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Craft Time Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to crafting time. Values below 1 decrease crafting time, above 1 increase crafting time.", - "Keywords": "craft,time,multiplier", - "FieldName": "CraftTimeModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.CraftTimeModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Specialty Refund Percentage", - "Category": "Eco - Gameplay", - "Description": "Percentage to refund the player when they remove a specialty.", - "Keywords": "speciality,refund,percentage", - "FieldName": "SpecialtyRefundPercentage", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.SpecialtyRefundPercentage", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", + "DisplayName":"Time of Day Scale", + "Category":"Eco - Gameplay", + "Description":"Scales how much time of day matches real time. Higher numbers result in shorter day/night cycles (as a value of X seconds per real-world second), but will not affect simulation speed.", + "Keywords":"time,day,scale", + "FieldName":"TimeOfDayScale", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"TimeOfDayScale", + "IncludeInCommandLine":false, + "DefaultValue":"48", + "Suffix":"seconds", + "Placeholder":"48", + "EnumValues":{} + }, + { + "DisplayName":"Time Multiplier", + "Category":"Eco - Gameplay", + "Description":"Game progress time advances at this rate.", + "Keywords":"time,multiplier", + "FieldName":"TimeMult", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"TimeMult", + "IncludeInCommandLine":false, + "DefaultValue":"1", + "Placeholder":"1", + "EnumValues":{} + }, + { + "DisplayName":"Specialty Cost Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to the cost of learning a specialty. Values below 1 decrease specialty cost, above 1 increase specialty cost.", + "Keywords":"specialty,cost,multiplier", + "FieldName":"SpecialtyCostMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.SpecialtyCostMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Base Skill Gain Rate", + "Category":"Eco - Gameplay", + "Description":"The default experience gain for all players, regardless of their other sources of experience points and difficulty settings.", + "Keywords":"base,skill,gain,rate", + "FieldName":"BaseSkillGainRate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BaseSkillGainRate", + "IncludeInCommandLine":false, + "DefaultValue":"12.0", + "Placeholder":"12.0", + "EnumValues":{} + }, + { + "DisplayName":"Skill Gain Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to the rate of skill points gained over time. Values below 1 decrease the rate, above 1 increase the rate.", + "Keywords":"skill,gain,multiplier", + "FieldName":"SkillGainMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.SkillGainMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Skill Damage Multiplier", + "Category":"Eco - Gameplay", + "Description":"Scales skill penalty to suffocation. 0 to disable.", + "Keywords":"skill,damage,multiplier", + "FieldName":"SkillDamageMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SkillDamageMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Specialty Experience Per Level", + "Category":"Eco - Gameplay", + "Description":"Factors into experience per level specialties. Default is 25, higher values increase experience requirement, lower values reduce it.", + "Keywords":"specialty,experience", + "FieldName":"SpecialtyExperiencePerLevel", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.SpecialtyExperiencePerLevel", + "IncludeInCommandLine":false, + "DefaultValue":"25.0", + "Placeholder":"25.0", + "EnumValues":{} + }, + { + "DisplayName":"Craft Resource Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to crafting resource cost. Values below 1 decrease crafting resource cost, above 1 increase resource cost.", + "Keywords":"craft,resource,multiplier", + "FieldName":"CraftResourceModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.CraftResourceModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Craft Time Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to crafting time. Values below 1 decrease crafting time, above 1 increase crafting time.", + "Keywords":"craft,time,multiplier", + "FieldName":"CraftTimeModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.CraftTimeModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Specialty Refund Percentage", + "Category":"Eco - Gameplay", + "Description":"Percentage to refund a player when they remove a specialty.", + "Keywords":"speciality,refund,percentage", + "FieldName":"SpecialtyRefundPercentage", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.SpecialtyRefundPercentage", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", "Placeholder":"0.5", "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Player Experience Per Specialty", - "Category": "Eco - Gameplay", - "Description": "Percentage of speciality experience that is also gained as level experience. Not recommended for public servers. Default is 0.0", - "Keywords": "player,experience,speciality", - "FieldName": "PlayerExperiencePerSpecialtyExperience", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.PlayerExperiencePerSpecialtyExperience", - "IncludeInCommandLine": false, - "DefaultValue": "0.0", - "Placeholder": "0.0", - "EnumValues": {} - }, - { - "DisplayName": "Item Stack Size Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to item max stack size. Values below 1 decrease max size, above 1 increases max size. A server restart is required for correct calculation.", - "Keywords": "item,stack,size,multiplier", - "FieldName": "StackSizeModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.StackSizeModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Item Weight Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to item weight. Values below 1 decrease item weight, above 1 increase item weight. A server restart is required for correct calculation.", - "Keywords": "item,weight,multiplier", - "FieldName": "WeightModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.WeightModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Fuel Amount Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to fuel yield per unit. Values below 1 decrease yield, above 1 increase yield. A Server restart is required for correct calculation.", - "Keywords": "fuel,amount,multiplier", - "FieldName": "FuelModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.FuelModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Growth Rate Multiplier", - "Category": "Eco - Gameplay", - "Description": "Global scale for how quick plants mature.", - "Keywords": "growth,rate,multiplier", - "FieldName": "GrowthRateModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.GrowthRateModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} - }, - { - "DisplayName": "Storage Range Multiplier", - "Category": "Eco - Gameplay", - "Description": "Multiplier applied to storage connection range. Values below 1 decrease range, above 1 increases range. A server restart is required for correct calculation.", - "Keywords": "storage,range,multiplier", - "FieldName": "ConnectionRangeModifier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DifficultyModifiers.ConnectionRangeModifier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", - "Placeholder": "1.0", - "EnumValues": {} + "EnumValues":{} + }, + { + "DisplayName":"Player Experience Per Specialty", + "Category":"Eco - Gameplay", + "Description":"Percentage of specialty experience that is also gained as level experience. Not recommended for public servers. Default is 0.0", + "Keywords":"player,experience,speciality", + "FieldName":"PlayerExperiencePerSpecialtyExperience", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.PlayerExperiencePerSpecialtyExperience", + "IncludeInCommandLine":false, + "DefaultValue":"0.0", + "Placeholder":"0.0", + "EnumValues":{} + }, + { + "DisplayName":"Item Stack Size Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to item maximum stack size. Values below 1 decrease maximum size, above 1 increases maximum size. A server restart is required for correct calculation.", + "Keywords":"item,stack,size,multiplier", + "FieldName":"StackSizeModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.StackSizeModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Item Weight Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to item weight. Values below 1 decrease item weight, above 1 increase item weight. A server restart is required for correct calculation.", + "Keywords":"item,weight,multiplier", + "FieldName":"WeightModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.WeightModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Fuel Amount Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to fuel yield per unit. Values below 1 decrease yield, above 1 increase yield. A server restart is required for correct calculation.", + "Keywords":"fuel,amount,multiplier", + "FieldName":"FuelModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.FuelModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Growth Rate Multiplier", + "Category":"Eco - Gameplay", + "Description":"Global scale for how quickly plants mature.", + "Keywords":"growth,rate,multiplier", + "FieldName":"GrowthRateModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.GrowthRateModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} + }, + { + "DisplayName":"Storage Range Multiplier", + "Category":"Eco - Gameplay", + "Description":"Multiplier applied to storage connection range. Values below 1 decrease range, above 1 increases range. A server restart is required for correct calculation.", + "Keywords":"storage,range,multiplier", + "FieldName":"ConnectionRangeModifier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DifficultyModifiers.ConnectionRangeModifier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", + "Placeholder":"1.0", + "EnumValues":{} }, { "DisplayName":"Endgame Craft Cost", @@ -423,718 +637,587 @@ "IncludeInCommandLine":false, "DefaultValue":"Normal", "EnumValues":{ - "Normal":"Normal", + "Normal":"Normal (default)", "Expensive":"Expensive" } }, { - "DisplayName": "Shelf Life Multiplier", - "Category": "Eco - Gameplay", - "Description": "Adjusts the default shelf life of all foods, with higher values causing food to last longer. For example, setting to 2 double the shelf life while setting to 0.5 halves the shelf life.", - "Keywords": "shelf,life,multiplier", - "FieldName": "ShelfLifeMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ShelfLifeMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "1.0", + "DisplayName":"Shelf Life Multiplier", + "Category":"Eco - Gameplay", + "Description":"Adjusts the default shelf life of all foods, with higher values causing food to last longer. For example, setting to 2 doubles the shelf life while setting to 0.5 halves the shelf life.", + "Keywords":"shelf,life,multiplier", + "FieldName":"ShelfLifeMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ShelfLifeMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"1.0", "Placeholder":"1.0", - "EnumValues": {} - }, - { - "DisplayName": "Exhaustion After Hours", - "Category": "Eco - Gameplay", - "Description": "Max hours a user can play per day. After their allotted time, they can still play but not expand calories with work. 0 means no limit.", - "Keywords": "exhaustion,after,hours", - "FieldName": "ExhaustionAfterHours", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ExhaustionAfterHours", - "IncludeInCommandLine": false, - "DefaultValue": "0", + "EnumValues":{} + }, + { + "DisplayName":"Exhaustion After Hours", + "Category":"Eco - Gameplay", + "Description":"Maximum hours a user can play per day. After their allotted time, they can still play but not expand calories with work. 0 means no limit.", + "Keywords":"exhaustion,after,hours", + "FieldName":"ExhaustionAfterHours", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ExhaustionAfterHours", + "IncludeInCommandLine":false, + "DefaultValue":"0", "Placeholder":"0", - "Suffix":"hrs", - "EnumValues": {} - }, - { - "DisplayName": "Rollover Daily Playtime", - "Category": "Eco - Gameplay", - "Description": "Remaining playtime can be added to the next day.", - "Keywords": "rollover,daily,playtime", - "FieldName": "RolloverDailyPlaytime", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "RolloverDailyPlaytime", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "Suffix":"hours", + "EnumValues":{} + }, + { + "DisplayName":"Rollover Daily Playtime", + "Category":"Eco - Gameplay", + "Description":"When enabled, remaining playtime can be added to the next day.", + "Keywords":"rollover,daily,playtime", + "FieldName":"RolloverDailyPlaytime", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"RolloverDailyPlaytime", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Maximum Playtime Before Exhausted", - "Category": "Eco - Gameplay", - "Description": "If Rollover Daily Playtime is true then this is the maximum hours playtime in a day. This limits how much playtime player can save up by not playing.", - "Keywords": "playtime,before,exhausted", - "FieldName": "MaximumPlaytimeBeforeExhausted", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaximumPlaytimeBeforeExhausted", - "IncludeInCommandLine": false, - "DefaultValue": "15.0", + "DisplayName":"Maximum Playtime Before Exhausted", + "Category":"Eco - Gameplay", + "Description":"If Rollover Daily Playtime is enabled, this sets the maximum hours playtime in a day. This limits how much playtime a player can save up by not playing.", + "Keywords":"playtime,before,exhausted", + "FieldName":"MaximumPlaytimeBeforeExhausted", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MaximumPlaytimeBeforeExhausted", + "IncludeInCommandLine":false, + "DefaultValue":"15.0", "Placeholder":"15.0", - "Suffix":"hrs", - "EnumValues": {} - }, - { - "DisplayName": "Create Meteor", - "Category": "Eco - Disasters", - "Description": "Whether or not a meteor exists in the world.", - "Keywords": "create,meteor", - "FieldName": "CreateMeteor", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CreateMeteor", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "Suffix":"hours", + "EnumValues":{} + }, + { + "DisplayName":"Create Meteor", + "Category":"Eco - Disasters", + "Description":"When enabled, a meteor will exist in the world.", + "Keywords":"create,meteor", + "FieldName":"CreateMeteor", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"CreateMeteor", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Meteor Impact Days", - "Category": "Eco - Disasters", - "Description": "Time in days when the meteor will impact. Changing this value will override impact time for current active meteor.", - "Keywords": "meteor,impact", - "FieldName": "MeteorImpactDays", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MeteorImpactDays", - "IncludeInCommandLine": false, - "DefaultValue": "30.0", + "DisplayName":"Meteor Impact Days", + "Category":"Eco - Disasters", + "Description":"Time in days when the meteor will impact. Changing this value will override impact time for the current active meteor.", + "Keywords":"meteor,impact", + "FieldName":"MeteorImpactDays", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MeteorImpactDays", + "IncludeInCommandLine":false, + "DefaultValue":"30.0", "Placeholder":"30.0", "Suffix":"days", - "EnumValues": {} - }, - { - "DisplayName": "Rent Enabled", - "Category": "Eco - Features", - "Description": "Allows players to rent access to a given deed from another when enabled.", - "Keywords": "rent", - "FieldName": "RentEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "RentEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "EnumValues":{} + }, + { + "DisplayName":"Rent Enabled", + "Category":"Eco - Features", + "Description":"When enabled, allows players to rent access to a given deed from another.", + "Keywords":"rent", + "FieldName":"RentEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"RentEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Voice Chat Enabled", - "Category": "Eco - Features", - "Description": "When enable, players will be able to use voice chat.", - "Keywords": "voice,chat", - "FieldName": "VoiceChatEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "VoiceChatEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Voice Chat Enabled", + "Category":"Eco - Features", + "Description":"When enabled, players will be able to use voice chat.", + "Keywords":"voice,chat", + "FieldName":"VoiceChatEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"VoiceChatEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Food Variety Multiplier Enabled", - "Category": "Eco - Features", - "Description": "When enabled, the variety of food you ear will provide a bonus.", - "Keywords": "food,variety,multiplier", - "FieldName": "FoodVarietyMultiplierEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "FoodVarietyMultiplierEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Food Variety Multiplier Enabled", + "Category":"Eco - Features", + "Description":"When enabled, the variety of food a player eats will provide a bonus.", + "Keywords":"food,variety,multiplier", + "FieldName":"FoodVarietyMultiplierEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FoodVarietyMultiplierEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Food Tastiness Multiplier Enabled", - "Category": "Eco - Features", - "Description": "When enabled each player has unique preferences for each type of food that yields a bonus, and periodic 'cravings' will emerge for an additional bonus.", - "Keywords": "food,tastiness,multiplier", - "FieldName": "FoodTastinessMultiplierEnabled", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "FoodTastinessMultiplierEnabled", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Food Tastiness Multiplier Enabled", + "Category":"Eco - Features", + "Description":"When enabled, each player has unique preferences for each type of food that yields a bonus, and periodic \"cravings\" will emerge for an additional bonus.", + "Keywords":"food,tastiness,multiplier", + "FieldName":"FoodTastinessMultiplierEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"FoodTastinessMultiplierEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Paused", - "Category": "Eco - Features", - "Description": "The World will be on Pause if this option is set.", - "Keywords": "paused", - "FieldName": "Paused", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "Paused", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Paused", + "Category":"Eco - Features", + "Description":"When enabled, the world will be on pause.", + "Keywords":"paused", + "FieldName":"Paused", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Paused", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Unpause At First Login", - "Category": "Eco - Features", - "Description": "The World will resume as soon as first player login to the world.", - "Keywords": "unpause,login", - "FieldName": "UnpauseAtFirstLogin", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "UnpauseAtFirstLogin", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Unpause At First Login", + "Category":"Eco - Features", + "Description":"When enabled, the world will resume as soon as the first player logs in.", + "Keywords":"unpause,login", + "FieldName":"UnpauseAtFirstLogin", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UnpauseAtFirstLogin", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Empty Blocks Count As Windows", - "Category": "Eco - Features", - "Description": "If set, rooms can have empty blocks serve as windows and still count as room.", - "Keywords": "empty,blocks,count,windows", - "FieldName": "EmptyBlocksCountAsWindows", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "EmptyBlocksCountAsWindows", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Empty Blocks Count As Windows", + "Category":"Eco - Features", + "Description":"When enabled, rooms can have empty blocks serve as windows and still count as rooms.", + "Keywords":"empty,blocks,count,windows", + "FieldName":"EmptyBlocksCountAsWindows", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"EmptyBlocksCountAsWindows", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Room Category Diminishing Return Rate", - "Category": "Eco - Features", - "Description": "Repeated rooms earn this multiple value of the previous ones. This makes duplicate rooms less valuable in a house.", - "Keywords": "room,category,diminishing,return,rate", - "FieldName": "RoomCategoryDiminishingReturnRate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "RoomCategoryDiminishingReturnRate", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", - "Placeholder": "0.5", - "EnumValues": {} - }, - { - "DisplayName": "Wall Blocks Per Window", - "Category": "Eco - Features", - "Description": "Specifies how many wall blocks are required to make one empty window or door block without penalty. It counts all wall blocks in the room, including window blocks itself.", - "Keywords": "wall,blocks,window", - "FieldName": "WallBlocksPerWindow", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "WallBlocksPerWindow", - "IncludeInCommandLine": false, - "DefaultValue": "10", - "Placeholder": "10", - "EnumValues": {} - }, - { - "DisplayName": "Allow Fast Forward", - "Category": "Eco - Features", - "Description": "Can players fast forward time by sleeping in a bed? If all online players sleep, time will accelerate. (This shouldn't be enabled for public servers!).", - "Keywords": "allow,fast,forward", - "FieldName": "AllowFastForward", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowFastForward", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Room Category Diminishing Return Rate", + "Category":"Eco - Features", + "Description":"Repeated rooms earn this multiple value of the previous ones. This makes duplicate rooms less valuable in a house.", + "Keywords":"room,category,diminishing,return,rate", + "FieldName":"RoomCategoryDiminishingReturnRate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"RoomCategoryDiminishingReturnRate", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "EnumValues":{} + }, + { + "DisplayName":"Wall Blocks Per Window", + "Category":"Eco - Features", + "Description":"Specifies how many wall blocks are required to make one empty window or door block without penalty. It counts all wall blocks in the room, including window blocks.", + "Keywords":"wall,blocks,window", + "FieldName":"WallBlocksPerWindow", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"WallBlocksPerWindow", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "EnumValues":{} + }, + { + "DisplayName":"Allow Fast Forward", + "Category":"Eco - Features", + "Description":"When enabled, time will accelerate if all online players sleep in a bed. This shouldn't be enabled for public servers!", + "Keywords":"allow,fast,forward", + "FieldName":"AllowFastForward", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowFastForward", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Sleep Time Pass Multiplier", - "Category": "Eco - Features", - "Description": "The max time multiplier that will pass while sleeping. Lower this to make the simulation fast-forward more reliably.", - "Keywords": "sleep,time,pass,multiplier", - "FieldName": "SleepTimePassMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SleepTimePassMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "500.0", - "Placeholder": "500.0", - "EnumValues": {} - }, - { - "DisplayName": "Time To Reach Maximum Time Rate", - "Category": "Eco - Features", - "Description": "How long it takes to reach the max sleep time. Makes for a smooth transition into sleeping.", - "Keywords": "maximum,time,rate", - "FieldName": "TimeToReachMaximumTimeRate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "TimeToReachMaximumTimeRate", - "IncludeInCommandLine": false, - "DefaultValue": "20.0", + "DisplayName":"Sleep Time Pass Multiplier", + "Category":"Eco - Features", + "Description":"The maximum time multiplier that will pass while sleeping. Lower this to make the simulation fast-forward more reliably.", + "Keywords":"sleep,time,pass,multiplier", + "FieldName":"SleepTimePassMultiplier", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"SleepTimePassMultiplier", + "IncludeInCommandLine":false, + "DefaultValue":"500.0", + "Placeholder":"500.0", + "EnumValues":{} + }, + { + "DisplayName":"Time To Reach Maximum Time Rate", + "Category":"Eco - Features", + "Description":"How long it takes to reach the maximum sleep time. Makes for a smooth transition into sleeping.", + "Keywords":"maximum,time,rate", + "FieldName":"TimeToReachMaximumTimeRate", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"TimeToReachMaximumTimeRate", + "IncludeInCommandLine":false, + "DefaultValue":"20.0", "Placeholder":"20.0", - "Suffix":"sec", - "EnumValues": {} - }, - { - "DisplayName": "Allow Overthrow", - "Category": "Eco - Civics", - "Description": "Determines whether overthrowing a government is allowed or not. If set, then a constitution with higher house value than the current can be ratified. Setting this to true also makes it impossible to make laws about placing or crafting a constitution.", - "Keywords": "overthrow", - "FieldName": "AllowOverthrow", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowOverthrow", - "IncludeInCommandLine": false, - "DefaultValue": "true", - "EnumValues": { - "False": "false", - "True": "true" + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Allow Overthrow", + "Category":"Eco - Civics", + "Description":"When enabled, overthrowing a government will be allowed and a constitution with higher house value than the current can be ratified. It will also be impossible to make laws about placing or crafting a constitution.", + "Keywords":"overthrow", + "FieldName":"AllowOverthrow", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowOverthrow", + "IncludeInCommandLine":false, + "DefaultValue":"true", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Value Addition To Overthrow", - "Category": "Eco - Civics", - "Description": "To overthrow an existing government, a constitution must be placed in a building that exceeds the previous constitution's value by this percent. 100 = 100%", - "Keywords": "overthrow", - "FieldName": "ValueAdditionToOverthrow", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "ValueAdditionToOverthrow", - "IncludeInCommandLine": false, - "DefaultValue": "50.0", + "DisplayName":"Value Addition To Overthrow", + "Category":"Eco - Civics", + "Description":"To overthrow an existing government, a constitution must be placed in a building that exceeds the previous constitution's value by this percentage. 100 = 100%.", + "Keywords":"overthrow", + "FieldName":"ValueAdditionToOverthrow", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"ValueAdditionToOverthrow", + "IncludeInCommandLine":false, + "DefaultValue":"50.0", "Placeholder":"50.0", "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Day Range For Active Demographic", - "Category": "Eco - Civics", - "Description": "The 'Active Players' demographic will check this many of the past days to determine the hours played by a user.", - "Keywords": "day,range,active,demographic", - "FieldName": "DayRangeForActiveDemographic", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DayRangeForActiveDemographic", - "IncludeInCommandLine": false, - "DefaultValue": "1.5", + "EnumValues":{} + }, + { + "DisplayName":"Day Range For Active Demographic", + "Category":"Eco - Civics", + "Description":"The \"Active Players\" demographic will check this many of the past days to determine the hours played by a user.", + "Keywords":"day,range,active,demographic", + "FieldName":"DayRangeForActiveDemographic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DayRangeForActiveDemographic", + "IncludeInCommandLine":false, + "DefaultValue":"1.5", "Placeholder":"1.5", "Suffix":"days", - "EnumValues": {} - }, - { - "DisplayName": "Hours Played To Be Active Demographic", - "Category": "Eco - Civics", - "Description": "The 'Active Players' demographic will apply to any users who played this many hours within the past number of days specified above.", - "Keywords": "active,demographic", - "FieldName": "HoursPlayedToBeActiveDemographic", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "HoursPlayedToBeActiveDemographic", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", - "Placeholder":"0.5", - "Suffix":"hrs", - "EnumValues": {} - }, - { - "DisplayName": "Percent Of Days To Be Active For Long Term Demographic", - "Category": "Eco - Civics", - "Description": "Percent of days a user needs to be considered active (as determined by other property) to be in the 'Long Term demographic'. 1 = 100%", - "Keywords": "days,active,long,term,demographic", - "FieldName": "PercentOfDaysToBeActiveForLongTermDemographic", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "PercentOfDaysToBeActiveForLongTermDemographic", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", + "EnumValues":{} + }, + { + "DisplayName":"Hours Played To Be Active Demographic", + "Category":"Eco - Civics", + "Description":"The \"Active Players\" demographic will apply to any users who played this many hours within the specified Day Range.", + "Keywords":"active,demographic", + "FieldName":"HoursPlayedToBeActiveDemographic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"HoursPlayedToBeActiveDemographic", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", "Placeholder":"0.5", - "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Day Range For Abandoned Demographic", - "Category": "Eco - Civics", - "Description": "The 'Abandoned Players' demographic will check this many past days for hours played by the user.", - "Keywords": "range,abandoned,demographic", - "FieldName": "DayRangeForAbandonedDemographic", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "DayRangeForAbandonedDemographic", - "IncludeInCommandLine": false, - "DefaultValue": "7.0", + "Suffix":"hours", + "EnumValues":{} + }, + { + "DisplayName":"Day Range For Abandoned Demographic", + "Category":"Eco - Civics", + "Description":"The \"Abandoned Players\" demographic will check this many past days for hours played by the user.", + "Keywords":"range,abandoned,demographic", + "FieldName":"DayRangeForAbandonedDemographic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"DayRangeForAbandonedDemographic", + "IncludeInCommandLine":false, + "DefaultValue":"7.0", "Placeholder":"7.0", "Suffix":"days", - "EnumValues": {} - }, - { - "DisplayName": "Hours Played To Be Abandoned Demographic", - "Category": "Eco - Civics", - "Description": "The 'Abandoned Players' demographic will apply to any users who have not played more than this many hours in within the past number of days specified above.", - "Keywords": "hours,played,abandoned,demographic", - "FieldName": "HoursPlayedToBeAbandonedDemographic", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "HoursPlayedToBeAbandonedDemographic", - "IncludeInCommandLine": false, - "DefaultValue": "0.0", + "EnumValues":{} + }, + { + "DisplayName":"Hours Played To Be Abandoned Demographic", + "Category":"Eco - Civics", + "Description":"The \"Abandoned Players\" demographic will apply to any users who have not played more than this many hours within the past number of days specified in the Day Range setting.", + "Keywords":"hours,played,abandoned,demographic", + "FieldName":"HoursPlayedToBeAbandonedDemographic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"HoursPlayedToBeAbandonedDemographic", + "IncludeInCommandLine":false, + "DefaultValue":"0.0", "Placeholder":"0.0", - "Suffix":"days", - "EnumValues": {} - }, - { - "DisplayName": "Citizen Age For Abandoned Demographic", - "Category": "Eco - Civics", - "Description": "The 'Abandoned Players' demographic will only apply to users who have a citizen age greater than this many hours.", - "Keywords": "citizen,age,abandoned,demographic", - "FieldName": "CitizenAgeForAbandonedDemographic", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CitizenAgeForAbandonedDemographic", - "IncludeInCommandLine": false, - "DefaultValue": "24.0", + "Suffix":"hours", + "EnumValues":{} + }, + { + "DisplayName":"Citizen Age For Abandoned Demographic", + "Category":"Eco - Civics", + "Description":"The \"Abandoned Players\" demographic will only apply to users who have a citizen age greater than this many hours.", + "Keywords":"citizen,age,abandoned,demographic", + "FieldName":"CitizenAgeForAbandonedDemographic", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"CitizenAgeForAbandonedDemographic", + "IncludeInCommandLine":false, + "DefaultValue":"24.0", "Placeholder":"24.0", - "Suffix":"hrs", - "EnumValues": {} - }, - { - "DisplayName": "Minutes Between Civics Updates", - "Category": "Eco - Civics", - "Description": "Demographics are updated after this much time has passed.", - "Keywords": "minutes,civics,updates", - "FieldName": "MinutesBetweenCivicsUpdates", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MinutesBetweenCivicsUpdates", - "IncludeInCommandLine": false, - "DefaultValue": "5.0", + "Suffix":"hours", + "EnumValues":{} + }, + { + "DisplayName":"Minutes Between Civics Updates", + "Category":"Eco - Civics", + "Description":"Demographics are updated after this much time has passed.", + "Keywords":"minutes,civics,updates", + "FieldName":"MinutesBetweenCivicsUpdates", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MinutesBetweenCivicsUpdates", + "IncludeInCommandLine":false, + "DefaultValue":"5.0", "Placeholder":"5.0", - "Suffix":"min", - "EnumValues": {} - }, - { - "DisplayName": "Allow Invalid Civic Container Time In Minutes", - "Category": "Eco - Civics", - "Description": "How much time can a civics object have an invalid or missing host object before it goes invalid?", - "Keywords": "invalid,civic,container", - "FieldName": "AllowInvalidCivicContainerTimeInMinutes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "AllowInvalidCivicContainerTimeInMinutes", - "IncludeInCommandLine": false, - "DefaultValue": "20.0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Allow Invalid Civic Container Time In Minutes", + "Category":"Eco - Civics", + "Description":"Sets how much time can a civics object have an invalid or missing host object before it goes invalid", + "Keywords":"invalid,civic,container", + "FieldName":"AllowInvalidCivicContainerTimeInMinutes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"AllowInvalidCivicContainerTimeInMinutes", + "IncludeInCommandLine":false, + "DefaultValue":"20.0", "Placeholder":"20.0", - "Suffix":"min", - "EnumValues": {} - }, - { - "DisplayName": "Recurring Transfer Frequency In Minutes", - "Category": "Eco - Civics", - "Description": "Recurring transfers like rent and wages are paid after this many minutes.", - "Keywords": "recurring,transfer,frequency", - "FieldName": "RecurringTransferFrequencyInMinutes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "RecurringTransferFrequencyInMinutes", - "IncludeInCommandLine": false, - "DefaultValue": "30.0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Recurring Transfer Frequency In Minutes", + "Category":"Eco - Civics", + "Description":"Recurring transfers like rent and wages are paid after this many minutes.", + "Keywords":"recurring,transfer,frequency", + "FieldName":"RecurringTransferFrequencyInMinutes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"RecurringTransferFrequencyInMinutes", + "IncludeInCommandLine":false, + "DefaultValue":"30.0", "Placeholder":"30.0", - "Suffix":"min", - "EnumValues": {} - }, - { - "DisplayName": "Allow Laws To Prevent Login Or Play", - "Category": "Eco - Civics", - "Description": "Can laws prevent someone from logging in or playing? Enable with caution: users can create a law that blocks everyone from logging in if this is enabled.", - "Keywords": "laws,prevent,login,play", - "FieldName": "AllowLawsToPreventLoginOrPlay", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "AllowLawsToPreventLoginOrPlay", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Allow Laws To Prevent Login Or Play", + "Category":"Eco - Civics", + "Description":"When enabled, laws can prevent someone from logging in or playing. Enable with caution: users can create a law that blocks everyone from logging.", + "Keywords":"laws,prevent,login,play", + "FieldName":"AllowLawsToPreventLoginOrPlay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"AllowLawsToPreventLoginOrPlay", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Maximum Election Hours", - "Category": "Eco - Civics", - "Description": "After this many hours, the election will end with or without a winner.", - "Keywords": "election,hours", - "FieldName": "MaximumElectionHours", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.MaximumElectionHours", - "IncludeInCommandLine": false, - "DefaultValue": "24.0", + "DisplayName":"Maximum Election Hours", + "Category":"Eco - Civics", + "Description":"After this many hours, an election will end with or without a winner.", + "Keywords":"election,hours", + "FieldName":"MaximumElectionHours", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.MaximumElectionHours", + "IncludeInCommandLine":false, + "DefaultValue":"24.0", "Placeholder":"24.0", - "Suffix":"hrs", - "EnumValues": {} - }, - { - "DisplayName": "Minimum Percent of Eligible Voters Required", - "Category": "Eco - Civics", - "Description": "The election will not produce a winner unless this percentage of eligible voters have cast their vote.", - "Keywords": "eligible,voters", - "FieldName": "MinimumPercentOfEligibleVotersRequired", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.MinimumPercentOfEligibleVotersRequired", - "IncludeInCommandLine": false, - "DefaultValue": "10.0", + "Suffix":"hours", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Required Eligible Voters", + "Category":"Eco - Civics", + "Description":"An election will not produce a winner unless this percentage of eligible voters have cast their vote.", + "Keywords":"eligible,voters", + "FieldName":"MinimumPercentOfEligibleVotersRequired", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.MinimumPercentOfEligibleVotersRequired", + "IncludeInCommandLine":false, + "DefaultValue":"10.0", "Placeholder":"10.0", "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Minimum Days Between Elections of This Type", - "Category": "Eco - Civics", - "Description": "Once an election of this type completes, another of the same type cannot be started for this many days.", - "Keywords": "elections", - "FieldName": "MinimumDaysBetweenElectionsOfThisType", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.MinimumDaysBetweenElectionsOfThisType", - "IncludeInCommandLine": false, - "DefaultValue": "0.0", + "EnumValues":{} + }, + { + "DisplayName":"Minimum Days Between Election Types", + "Category":"Eco - Civics", + "Description":"Once an election of a certain type completes, another of the same type cannot be started for this many days.", + "Keywords":"elections", + "FieldName":"MinimumDaysBetweenElectionsOfThisType", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.MinimumDaysBetweenElectionsOfThisType", + "IncludeInCommandLine":false, + "DefaultValue":"0.0", "Placeholder":"0.0", "Suffix":"days", - "EnumValues": {} - }, - { - "DisplayName": "End Election Early When This Percent Have Voted", - "Category": "Eco - Civics", - "Description": "If this percentage of voters have cast their vote, then the election will end early (but not sooner than the Minimum Election Time).", - "Keywords": "election,voted", - "FieldName": "EndElectionEarlyWhenThisPercentHaveVoted", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.EndElectionEarlyWhenThisPercentHaveVoted", - "IncludeInCommandLine": false, - "DefaultValue": "95.0", + "EnumValues":{} + }, + { + "DisplayName":"End Election Early When This Percent Have Voted", + "Category":"Eco - Civics", + "Description":"If this percentage of voters have cast their vote, then the election will end early (but not sooner than the Minimum Election Time).", + "Keywords":"election,voted", + "FieldName":"EndElectionEarlyWhenThisPercentHaveVoted", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.EndElectionEarlyWhenThisPercentHaveVoted", + "IncludeInCommandLine":false, + "DefaultValue":"95.0", "Placeholder":"95.0", "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Percent Of All Voters To Instant Win", - "Category": "Eco - Civics", - "Description": "If this percent of *all possible voters* votes yes, the election will instant-finish.", - "Keywords": "voters,instant,win", - "FieldName": "PercentOfAllVotersToInstantWin", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.PercentOfAllVotersToInstantWin", - "IncludeInCommandLine": false, - "DefaultValue": "51.0", + "EnumValues":{} + }, + { + "DisplayName":"Percent Of All Voters To Instant Win", + "Category":"Eco - Civics", + "Description":"If this percent of all possible voters votes yes, the election will finish instantly.", + "Keywords":"voters,instant,win", + "FieldName":"PercentOfAllVotersToInstantWin", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.PercentOfAllVotersToInstantWin", + "IncludeInCommandLine":false, + "DefaultValue":"51.0", "Placeholder":"51.0", "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Percent Of All Voters To Instant Lose", - "Category": "Eco - Civics", - "Description": "If this percent of *all possible voters* votes no, the election will instant-fail.", - "Keywords": "voters,instant,lose", - "FieldName": "PercentOfAllVotersToInstantLose", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.PercentOfAllVotersToInstantLose", - "IncludeInCommandLine": false, - "DefaultValue": "51.0", + "EnumValues":{} + }, + { + "DisplayName":"Percent Of All Voters To Instant Lose", + "Category":"Eco - Civics", + "Description":"If this percent of all possible voters votes no, the election will fail instantly.", + "Keywords":"voters,instant,lose", + "FieldName":"PercentOfAllVotersToInstantLose", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.PercentOfAllVotersToInstantLose", + "IncludeInCommandLine":false, + "DefaultValue":"51.0", "Placeholder":"51.0", "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Anonymous Voting", - "Category": "Eco - Civics", - "Description": "Should the way a citizen votes be hidden?", - "Keywords": "anonymous,voting", - "FieldName": "AnonymousVoting", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.AnonymousVoting", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" - } + "EnumValues":{} }, { - "DisplayName": "Twitch Vote Weight", - "Category": "Eco - Civics", - "Description": "The percent value a vote from a twitch viewer counts relative to vote from a player.", - "Keywords": "twitch,vote,weight", - "FieldName": "TwitchVoteWeight", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.TwitchVoteWeight", - "IncludeInCommandLine": false, - "DefaultValue": "0.1", - "Placeholder":"0.1", - "EnumValues": {} - }, - { - "DisplayName": "Max Percent Twitch Votes", - "Category": "Eco - Civics", - "Description": "The maximum percent contribution all combined Twitch voters can have in election.", - "Keywords": "twitch,votes", - "FieldName": "MaxPercentTwitchVotes", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BasicElectionSettings.MaxPercentTwitchVotes", - "IncludeInCommandLine": false, - "DefaultValue": "0.5", - "Placeholder":"0.5", - "Suffix":"%", - "EnumValues": {} - }, - { - "DisplayName": "Save Name", - "Category": "Eco - Server Settings", - "Description": "Name of the save to load at startup.", - "Keywords": "save,name", - "FieldName": "SaveName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "SaveName", - "IncludeInCommandLine": false, - "DefaultValue": "Game", - "Placeholder":"Game", - "EnumValues": {} - }, - { - "DisplayName": "Save Frequency", - "Category": "Eco - Server Settings", - "Description": "How often to write changed data to disk, in seconds.", - "Keywords": "save,frequency", - "FieldName": "SaveFrequency", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SaveFrequency", - "IncludeInCommandLine": false, - "DefaultValue": "61", - "Placeholder":"61", - "Suffix":"sec", - "EnumValues": {} - }, - { - "DisplayName": "Cleanup Files On Exceptions", - "Category": "Eco - Server Settings", - "Description": "If true, removes failed to load objects upon loading.", - "Keywords": "cleanup,files,exceptions", - "FieldName": "CleanupFilesOnExceptions", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "CleanupFilesOnExceptions", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Anonymous Voting", + "Category":"Eco - Civics", + "Description":"When enabled, the way a citizen votes will be hidden", + "Keywords":"anonymous,voting", + "FieldName":"AnonymousVoting", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.AnonymousVoting", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Storage Directory", - "Category": "Eco - Server Settings", - "Description": "Path for storage (Leave as 'Storage' for default settings).", - "Keywords": "storage,directory", - "FieldName": "StorageDirectory", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "StorageDirectory", - "IncludeInCommandLine": false, - "DefaultValue": "Storage", - "Placeholder":"Storage", - "EnumValues": {} - }, - { - "DisplayName": "New Game Template", - "Category": "Eco - Server Settings", - "Description": "Path to file to start game from for a New World, if blank (null) then World will be generated.", - "Keywords": "new,game,template", - "FieldName": "NewGameTemplate", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "NewGameTemplate", - "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": {} - }, - { - "DisplayName": "Auto Shutdown Hour", - "Category": "Eco - Server Settings", - "Description": "Defines the announcement countdown intervals in minutes. The second countdown is handled by the CountdownStart setting. (-1 - disabled)", - "Keywords": "auto,shutdown,hour", - "FieldName": "AutoShutdownHour", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "AutoShutdownHour", - "IncludeInCommandLine": false, - "DefaultValue": "-1", - "Suffix":"min", - "Placeholder": "-1", - "EnumValues": {} - }, - { - "DisplayName": "Auto Shutdown Reason", - "Category": "Eco - Server Settings", - "Description": "Specifies the message to be sent when the automatic restart auto shutdown occurs.", - "Keywords": "auto,shutdown,reason", - "FieldName": "AutoShutdownReason", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "AutoShutdownReason", - "IncludeInCommandLine": false, - "DefaultValue": "Automatic Restart", - "Placeholder":"Automatic Restart", - "EnumValues": {} + "DisplayName":"Twitch Vote Weight", + "Category":"Eco - Civics", + "Description":"The percentage value a vote from a Twitch viewer counts relative to vote from a player.", + "Keywords":"twitch,vote,weight", + "FieldName":"TwitchVoteWeight", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.TwitchVoteWeight", + "IncludeInCommandLine":false, + "DefaultValue":"0.1", + "Placeholder":"0.1", + "EnumValues":{} }, { - "DisplayName": "Countdown Start", - "Category": "Eco - Server Settings", - "Description": "Specifies how many seconds until the shutdown counter starts.", - "Keywords": "countdown,start", - "FieldName": "CountdownStart", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "CountdownStart", - "IncludeInCommandLine": false, - "DefaultValue": "30", - "Suffix":"sec", - "Placeholder": "30", - "EnumValues": {} + "DisplayName":"Max Percent Twitch Votes", + "Category":"Eco - Civics", + "Description":"The maximum percentage contribution all combined Twitch voters can have in an election.", + "Keywords":"twitch,votes", + "FieldName":"MaxPercentTwitchVotes", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"BasicElectionSettings.MaxPercentTwitchVotes", + "IncludeInCommandLine":false, + "DefaultValue":"0.5", + "Placeholder":"0.5", + "Suffix":"%", + "EnumValues":{} }, { "DisplayName":"In Game Language", @@ -1180,7 +1263,7 @@ "0.10":"10%", "0.15":"15%", "0.20":"20%", - "0.25":"25%", + "0.25":"25% (default)", "0.30":"30%", "0.35":"35%", "0.40":"40%", @@ -1199,125 +1282,53 @@ } }, { - "DisplayName": "Parallel World Object Ticks", - "Category": "Eco - Performance and Limits", - "Description": "An experimental feature that allows parallel (as opposed to sequential) world object ticks. May increase performance at the cost of stability.", - "Keywords": "parallel,world,object,ticks", - "FieldName": "ParallelWorldObjectTicks", - "InputType": "checkbox", - "IsFlagArgument": false, - "ParamFieldName": "ParallelWorldObjectTicks", - "IncludeInCommandLine": false, - "DefaultValue": "false", - "EnumValues": { - "False": "false", - "True": "true" + "DisplayName":"Parallel World Object Ticks", + "Category":"Eco - Performance and Limits", + "Description":"An experimental feature that allows parallel (as opposed to sequential) world object ticks. May increase performance at the cost of stability.", + "Keywords":"parallel,world,object,ticks", + "FieldName":"ParallelWorldObjectTicks", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"ParallelWorldObjectTicks", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" } }, { - "DisplayName": "Time Multiplier", - "Category": "Eco - Gameplay", - "Description": "Game progress time advances at this rate.", - "Keywords": "time,multiplier", - "FieldName": "TimeMult", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "TimeMult", - "IncludeInCommandLine": false, - "DefaultValue": "1", - "Placeholder": "1", - "EnumValues": {} - }, - { - "DisplayName": "Minimum Tree Spawn Distance", - "Category": "Eco - Performance and Limits", - "Description": "Minimum distance between trees. Lower values can impact performance negatively.", - "Keywords": "minimum,tree,spawn,distance", - "FieldName": "MinTreeSpawnDistance", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MinTreeSpawnDistance", - "IncludeInCommandLine": false, - "DefaultValue": "5", - "Placeholder": "5", - "EnumValues": {} - }, - { - "DisplayName": "Base Skill Gain Rate", - "Category": "Eco - Gameplay", - "Description": "The default experience gain for all players, regardless of their other sources of experience points and difficulty settings.", - "Keywords": "base,skill,gain,rate", - "FieldName": "BaseSkillGainRate", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "BaseSkillGainRate", - "IncludeInCommandLine": false, - "DefaultValue": "12.0", - "Placeholder": "12.0", - "EnumValues": {} - }, - { - "DisplayName": "Skill Damage Multiplier", - "Category": "Eco - Gameplay", - "Description": "Scales skill penalty to suffocation. (0 to disable).", - "Keywords": "skill,damage,multiplier", - "FieldName": "SkillDamageMultiplier", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "SkillDamageMultiplier", - "IncludeInCommandLine": false, - "DefaultValue": "0", - "Placeholder": "0", - "EnumValues": {} - }, - { - "DisplayName": "Time of Day Scale", - "Category": "Eco - Gameplay", - "Description": "Scales how much time of day matches real time. Higher numbers result in shorter day/night cycles (as a value of X seconds per real-world second), but will not affect simulation speed.", - "Keywords": "time,day,scale", - "FieldName": "TimeOfDayScale", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "TimeOfDayScale", - "IncludeInCommandLine": false, - "DefaultValue": "48", - "Suffix":"sec", - "Placeholder": "48", - "EnumValues": {} - }, - { - "DisplayName": "Max Tooltip Cache Size", - "Category": "Eco - Performance and Limits", - "Description": "Maximum number of tooltip parts stored in server's cache. Lowering this number can reduce RAM usage, but may impact response time for user's tooltip request. Changing this setting will take effect after server restart.", - "Keywords": "max,tooltip,cache,size", - "FieldName": "MaxTooltipCacheSize", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "MaxTooltipCacheSize", - "IncludeInCommandLine": false, - "DefaultValue": "1000", - "Placeholder": "1000", - "EnumValues": {} + "DisplayName":"Minimum Tree Spawn Distance", + "Category":"Eco - Performance and Limits", + "Description":"Minimum distance between trees. Lower values can impact performance negatively.", + "Keywords":"minimum,tree,spawn,distance", + "FieldName":"MinTreeSpawnDistance", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"MinTreeSpawnDistance", + "IncludeInCommandLine":false, + "DefaultValue":"5", + "Placeholder":"5", + "EnumValues":{} }, { - "DisplayName":"Web Server URL", - "Category":"Eco - Server Settings", - "Description":"Web Server URL. If not specified then remote IP address will be used. Usually you should ignore it, but if you want to use DNS name or hide web server behind a proxy (for SSL or friendly name then it may be useful. Users default port if not explicit port specified (HTTP - 80, HTTPS - 443). Format: http(s)://myserver.com:[port]", - "Keywords":"web,server,url", - "FieldName":"WebServerUrl", - "InputType":"text", + "DisplayName":"Max Tooltip Cache Size", + "Category":"Eco - Performance and Limits", + "Description":"Maximum number of tooltip parts stored in server's cache. Lowering this number can reduce RAM usage, but may impact response time for user's tooltip request. Changing this setting will take effect after server restart.", + "Keywords":"max,tooltip,cache,size", + "FieldName":"MaxTooltipCacheSize", + "InputType":"number", "IsFlagArgument":false, - "ParamFieldName":"WebServerUrl", + "ParamFieldName":"MaxTooltipCacheSize", "IncludeInCommandLine":false, - "DefaultValue":"", - "Suffix":"url", - "Placeholder":"http(s)://myserver.com:[port]", + "DefaultValue":"1000", + "Placeholder":"1000", "EnumValues":{} }, { "DisplayName":"Client Update Rate", "Category":"Eco - Performance and Limits", - "Description":"Rate at which the server updates to clients, per second. Default is 20 Seconds", + "Description":"Rate at which the server updates to clients, per second.", "Keywords":"rate,server,update,client", "FieldName":"Rate", "InputType":"enum", @@ -1326,44 +1337,16 @@ "IncludeInCommandLine":false, "DefaultValue":"20", "EnumValues":{ - "10":"10 Seconds", - "20":"20 Seconds", - "30":"30 Seconds", - "40":"40 Seconds", - "50":"50 Seconds", - "60":"60 Seconds", - "70":"70 Seconds", - "80":"80 Seconds", - "90":"90 Seconds", - "100":"100 Seconds" + "10":"10 seconds", + "20":"20 seconds (default)", + "30":"30 seconds", + "40":"40 seconds", + "50":"50 seconds", + "60":"60 seconds", + "70":"70 seconds", + "80":"80 seconds", + "90":"90 seconds", + "100":"100 seconds" } - }, - { - "DisplayName": "SLG Account Name", - "Category": "Eco - Server Settings", - "Description": "The user account associated with this server. This is public knowledge and shared with clients. Setting this will allow achievements earned by players on this server to be visible in other servers (as well as future features to come). Visit [play.eco](https://play.eco/) to link your steam account or create a new account.", - "Keywords": "slg,account,name", - "FieldName": "SLGAccountName", - "InputType": "text", - "IsFlagArgument": false, - "ParamFieldName": "SLGAccountName", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder":"SLG Account Name", - "EnumValues": {} - }, - { - "DisplayName": "SLG Account Password", - "Category": "Eco - Server Settings", - "Description": "Password for the SLG Account", - "Keywords": "slg,account,password", - "FieldName": "SLGAccountPassword", - "InputType": "password", - "IsFlagArgument": false, - "ParamFieldName": "SLGAccountPassword", - "IncludeInCommandLine": false, - "DefaultValue": "", - "Placeholder":"SLG Account Password", - "EnumValues": {} } ] \ No newline at end of file diff --git a/ecoupdates.json b/ecoupdates.json new file mode 100644 index 000000000..839c53573 --- /dev/null +++ b/ecoupdates.json @@ -0,0 +1,188 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"739590", + "UpdateSourceVersion":"public", + "UpdateSourceConditionSetting":"EnableBeta", + "UpdateSourceConditionValue":"false" + }, + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"739590", + "UpdateSourceVersion":"{{BetaBranch}}", + "UpdateSourceConditionSetting":"EnableBeta", + "UpdateSourceConditionValue":"true" + }, + { + "UpdateStageName":"Backup Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Backup.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Backup.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Balance Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Balance.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Balance.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Civics Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Civics.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Civics.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Difficulty Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Difficulty.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Difficulty.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Disasters Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Disasters.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Disasters.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"EcoSim Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/EcoSim.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/EcoSim.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Features Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Features.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Features.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Localization Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Localization.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Localization.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Maintenance Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Maintenance.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Maintenance.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"ModKit Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/ModKit.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/ModKit.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Network Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Network.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Network.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Pause Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Pause.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Pause.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Profanity Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Profanity.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Profanity.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Rooms Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Rooms.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Rooms.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Sleep Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Sleep.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Sleep.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Stats Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Stats.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Stats.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Storage Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Storage.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Storage.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Users Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/Users.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/Users.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"World Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/World.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/World.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"WorldGenerator Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/WorldGenerator.eco.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/WorldGenerator.eco.template", + "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"WorldObjects Config Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Configs/WorldObjects.eco", + "UpdateSourceArgs":"{{$FullBaseDir}}Configs/WorldObjects.eco.template", + "OverwriteExistingFiles":false + } +] \ No newline at end of file From a016066abb6dfdd6ba8d054b2b2680c41cb1eada Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 9 Oct 2022 01:43:20 -0400 Subject: [PATCH 15/16] Delete .gitignore --- .gitignore | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 91eeced15..000000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ - -.idea/vcs.xml -.idea/misc.xml -.idea/AMPTemplates.iml -.idea/modules.xml From 2d65172e7e98e9577983b9e944a97e3faaaca01d Mon Sep 17 00:00:00 2001 From: HarryPlopper <98628933+HarryPlopper91@users.noreply.github.com> Date: Sun, 9 Oct 2022 01:43:30 -0400 Subject: [PATCH 16/16] Delete .gitignore --- .idea/.gitignore | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d33521a..000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml