diff --git a/CraftopiaTemplate.ini b/CraftopiaTemplate.ini new file mode 100644 index 0000000..2573c22 --- /dev/null +++ b/CraftopiaTemplate.ini @@ -0,0 +1,88 @@ + +; Game World Data Setting - name, difficulty, gameMode +; name : world name +; difficulty : 0- Easy, 1- Normal(default), 2- Hard, 3- VeryHard +; gameMode : 1- NormalWorld(default), 2- CreativeWorld_Build, 3- CreativeWorld_Play + +; Server Setting - isUseSteamLobby, port +; isUseSteamLobby : using steam account to host the server(1- True(not supported) / 0- False) +; port : used when not using steam lobby function +; maxPlayerNumber : maximum number of player can join into the server(1 ~ 127) +; usePassword : using server password(1- True / 0- False) +; serverPassword : setting server password up to 8 digit number pin + +; Graphics Setting - vSyncCount, maxFPS, grassBend, clothSimOption +; vSyncCount : vertical sync, 0- disable, 1- once per frame 2- per two frame +; maxFPS : max frames per second, set to -1 for unlimited fps +; grassBend : enable Grass Bend(1- True / 0- False) +; ClothSimOption : cloth simulation, 1- animate everybody's, 2- animate nobody's + +; Save Setting - autoSaveSec, autoSavePerHour +; autoSaveSec : autoSavePer ** second, to disable, set to -1 +; autoSavePerHour : enable autoSavePerHour(1- True / 0- False) +; savePath : relative path base on ServerSetting.ini folder or absolute path + +; Creative Mode Setting - +; quickCraft : crafting without checking item cost(1- True / 0- False) +; ageLevel : age Level of the game world, effect crafting recipe +; islandLevel : island level override, effect monster and dungeon level, set to -1 to disable override +; noDeath : player character would not dead(1- True / 0- False) +; noDamage : player character would not take damage(1- True / 0- False) +; noHunger : player character would not be hungry(1- True / 0- False) +; infinitStamina : player character has infinit stamina(1- True / 0- False) +; forceDayTime : game world day time override, 0 to 24, set to -1 to disable +; buildingIgnoreDamage : building would not take damage(1- True / 0- False) +; noBuild : player can not place new building(1- True / 0- False) + +; Creative Mode Player Status Override - apply at gameStart +; Level : override character level, set to 0 to disable +; Health : override character health, set to 0 to disable +; Mana : override character mana, set to 0 to disable +; Stamina : override character stamia, set to 0 to disable +; Money : override character money +; SkillPoint : override character skill point +; EnchantPoint : override character enchant point + +[GameWorld] +name=NoName +difficulty=1 +gameMode=1 + +[Host] +isUseSteamLobby=0 +port=6587 +maxPlayerNumber=7 +usePassword=0 +serverPassword=00000000 + +[Graphics] +vSyncCount=0 +maxFPS=60 +grassBend=0 +clothSimOption=2 + +[Save] +autoSaveSec=300 +autoSavePerHour=1 +savePath=DedicatedServerSave/ + +[CreativeModeSetting] +quickCraft=1 +ageLevel=7 +islandLevel=-1 +noDeath=1 +noDamage=1 +noHunger=1 +infinitStamina=1 +forceDayTime=-1 +buildingIgnoreDamage=0 +noBuild=0 + +[CreativeModePlStatus] +Level=0 +Health=0 +Mana=0 +Stamina=0 +Money=1000 +SkillPoint=0 +EnchantPoint=0 diff --git a/craftopia.kvp b/craftopia.kvp index 2c2c41d..e9d8d73 100644 --- a/craftopia.kvp +++ b/craftopia.kvp @@ -1,34 +1,74 @@ -App.AdminMethod=STDIO -App.ApplicationPort1=6587 -App.ApplicationReadyMode=RegexMatch -App.BaseDirectory=./craftopia/1670340/ -App.CommandLineArgs=-batchmode -showlogs -App.CommandLineParameterDelimiter= -App.CommandLineParameterFormat=-{0} "{1}" +Meta.DisplayName=Craftopia +Meta.Description= +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Andy Boatman, IceOfWraith +Meta.URL=https://store.steampowered.com/app/1307550/Craftopia/ +Meta.DisplayImageSource=steam:1307550 +Meta.EndpointURIFormat=steam://connect/{0} +Meta.ConfigManifest=craftopiaconfig.json +Meta.MetaConfigManifest=craftopiametaconfig.json +Meta.ConfigRoot=craftopia.kvp +Meta.MinAMPVersion= +Meta.SpecificDockerImage= +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified App.DisplayName=Craftopia -App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "1670340"} -App.ExecutableLinux=1670340/Craftopia.x86_64 -App.ExecutableWin=1670340\Craftopia.exe -App.ExitMethod=String -App.ExitString=quit -App.HasReadableConsole=true -App.HasWritableConsole=true -App.RapidStartup=false App.RootDir=./craftopia/ -App.UpdateSource=Multi -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "1670340"}] +App.BaseDirectory=./craftopia/1670340/ +App.ExecutableWin=1670340\Craftopia.exe +App.ExecutableLinux=1670340/Craftopia.x86_64 App.WorkingDir=1670340 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs=-batchmode -showlogs +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1670340"} +App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=quit +App.ExitFile=app_exit.lck +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.ApplicationPort1=7778 +App.ApplicationPort2=27032 +App.ApplicationPort3=27033 +App.RemoteAdminPort=27031 +App.MaxUsers=20 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":31,"UpdateSource":4,"UpdateSourceData":"1670340","UpdateSourceArgs":null,"UpdateSourceVersion":null,"UpdateSourceTarget":null,"UnzipUpdateSource":false,"OverwriteExistingFiles":false,"ForceDownloadPlatform":0,"UpdateSourceConditionSetting":null,"UpdateSourceConditionValue":null},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All", "UpdateSource": "FetchURL", "UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/CraftopiaTemplate.ini","UpdateSourceTarget":"1670340/ServerSetting.ini"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.SupportsUniversalSleep=False +App.UniversalSleepApplicationUDPPort=27015 +App.UniversalSleepSteamQueryPort=27016 +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+)|(Add a hecking prefab with a line renderer.+)|(RenderTexture.Create failed.+)|(Invalid pass number.+)|(Failed to create RenderTexture with R16 UNorm.+)$ Console.AppReadyRegex=^World is loaded.$ -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex= Console.UserJoinRegex=^ActiveSlave\:Id\=(?.+)\ Active\=True\ Name=(?.+)$ Console.UserLeaveRegex=^ActiveSlave\:Id\=(?.+)\ Active\=False\ Name=(?.+)$ -Meta.Author=Andy Boatman -Meta.ConfigManifest=craftopiaconfig.json -Meta.ConfigRoot=craftopia.kvp -Meta.Description= -Meta.DisplayImageSource=steam:1307550 -Meta.DisplayName=Craftopia -Meta.EndpointURIFormat= -Meta.OS=3 -Meta.URL=https://store.steampowered.com/app/1307550/Craftopia/ \ No newline at end of file +Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?.+?)> (?.+)$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 diff --git a/craftopiaconfig.json b/craftopiaconfig.json index 0637a08..27fe3a6 100644 --- a/craftopiaconfig.json +++ b/craftopiaconfig.json @@ -1 +1,391 @@ -[] \ No newline at end of file +[ + { + "DisplayName": "World Name", + "Description": "World name", + "Category": "Server Settings", + "Keywords": "world name", + "FieldName": "name", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "GameWorld.name", + "IncludeInCommandLine": false, + "DefaultValue": "AMP World", + "EnumValues": {} + }, + { + "DisplayName": "Difficulty", + "Category": "Server Settings", + "Description": "Difficulty", + "Keywords": "Difficulty", + "FieldName": "difficulty", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "GameWorld.difficulty", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "0": "Easy", + "1": "Normal", + "2": "Hard", + "3": "Very Hard" + } + }, + { + "DisplayName": "Game Mode", + "Category": "Server Settings", + "Description": "Game mode", + "Keywords": "gameMode", + "FieldName": "gameMode", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "GameWorld.gameMode", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "1": "Normal World", + "2": "Creative World - Build", + "3": "Creative World - Play" + } + }, + { + "DisplayName": "Port (REQUIRED)", + "Description": "Must match Application Port 1 in the ADS Edit Ports menu.", + "Category": "Server Settings", + "Keywords": "port", + "FieldName": "port", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "Host.port", + "IncludeInCommandLine": true, + "DefaultValue": "6587", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Description": "Maximum number of player can join into the server.", + "Category": "Server Settings", + "Keywords": "max players", + "FieldName": "maxPlayerNumber", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "Host.maxPlayerNumber", + "IncludeInCommandLine": true, + "DefaultValue": "7", + "EnumValues": {}, + "suffix": "1-127" + }, + { + "DisplayName": "Enable Password", + "Description": "Enable the server password.", + "Category": "Server Settings", + "Keywords": "enable password", + "FieldName": "usePassword", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "Host.usePassword", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Server Password", + "Category": "Server Settings", + "Description": "Set the server password, up to 8 digit number pin.", + "Keywords": "server password", + "FieldName": "serverPassword", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "Host.serverPassword", + "IncludeInCommandLine": false, + "DefaultValue": "Password123", + "EnumValues": {} + }, + { + "DisplayName": "Auto Save Interval", + "Description": "Seconds between each save. Set to -1 to disable.", + "Category": "Server Settings", + "Keywords": "auto save interval", + "FieldName": "autoSaveSec", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "Save.autoSaveSec", + "IncludeInCommandLine": false, + "DefaultValue": "300", + "EnumValues": {}, + "suffix": "sec" + }, + { + "DisplayName": "Auto Save Per Hour", + "Description": "Auto save every hour.", + "Category": "Server Settings", + "Keywords": "auto save per hour", + "FieldName": "autoSavePerHour", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "Save.autoSavePerHour", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Save Path", + "Description": "Path to save the server in.", + "Category": "Server Settings", + "Keywords": "save Path", + "FieldName": "savePath", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "Save.savePath", + "IncludeInCommandLine": false, + "DefaultValue": "DedicatedServerSave/", + "EnumValues": {} + }, + { + "DisplayName": "Quick Craft", + "Description": "Crafting without checking item cost.", + "Category": "Server Settings", + "Keywords": "quick craft", + "FieldName": "quickCraft", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "quickCraft", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Age Level", + "Description": "Age Level of the game world, effects crafting recipes.", + "Category": "Server Settings", + "Keywords": "age level", + "FieldName": "ageLevel", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.ageLevel", + "IncludeInCommandLine": false, + "DefaultValue": "7", + "EnumValues": {} + }, + { + "DisplayName": "Island Level", + "Description": "Island level override, effects monster and dungeon levels. Set to -1 to disable override.", + "Category": "Server Settings", + "Keywords": "island level", + "FieldName": "islandLevel", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.islandLevel", + "IncludeInCommandLine": false, + "DefaultValue": "-1", + "EnumValues": {} + }, + { + "DisplayName": "No Death", + "Description": "Player character would not die.", + "Category": "Server Settings", + "Keywords": "no death", + "FieldName": "noDeath", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.noDeath", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "No Damage", + "Description": "Player character would not take damage.", + "Category": "Server Settings", + "Keywords": "no Damage", + "FieldName": "noDamage", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.noDamage", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "No Hunger", + "Description": "Player character would not be hungry.", + "Category": "Server Settings", + "Keywords": "no Hunger", + "FieldName": "noHunger", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.noHunger", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Infinite Stamina", + "Description": "Player character has infinit stamina.", + "Category": "Server Settings", + "Keywords": "infinite stamina", + "FieldName": "infinitStamina", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.infinitStamina", + "IncludeInCommandLine": false, + "DefaultValue": "1", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Force Day Time", + "Description": "Game world day time override, 0 to 24, set to -1 to disable.", + "Category": "Server Settings", + "Keywords": "force Day Time", + "FieldName": "forceDayTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.forceDayTime", + "IncludeInCommandLine": false, + "DefaultValue": "-1", + "EnumValues": {} + }, + { + "DisplayName": "Building Ignore Damage", + "Description": "Building would not take damage.", + "Category": "Server Settings", + "Keywords": "building Ignore Damage", + "FieldName": "buildingIgnoreDamage", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.buildingIgnoreDamage", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "No Build", + "Description": "Player can not place new building.", + "Category": "Server Settings", + "Keywords": "no Build", + "FieldName": "noBuild", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModeSetting.noBuild", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": { + "True": "1", + "False": "0" + } + }, + { + "DisplayName": "Level", + "Description": "Override character level, set to 0 to disable.", + "Category": "Server Settings", + "Keywords": "Level", + "FieldName": "Level", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.Level", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Health", + "Description": "Override character health, set to 0 to disable.", + "Category": "Server Settings", + "Keywords": "Health", + "FieldName": "Health", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.Health", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Mana", + "Description": "Override character mana, set to 0 to disable.", + "Category": "Server Settings", + "Keywords": "Mana", + "FieldName": "Mana", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.Mana", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Stamina", + "Description": "Override character stamia, set to 0 to disable.", + "Category": "Server Settings", + "Keywords": "Stamina", + "FieldName": "Stamina", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.Stamina", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Money", + "Description": "Override character money.", + "Category": "Server Settings", + "Keywords": "Money", + "FieldName": "Money", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.Money", + "IncludeInCommandLine": false, + "DefaultValue": "1000", + "EnumValues": {} + }, + { + "DisplayName": "Skill Point", + "Description": "Override character skill point.", + "Category": "Server Settings", + "Keywords": "SkillPoint", + "FieldName": "SkillPoint", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.SkillPoint", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Enchant Point", + "Description": "Override character enchant point.", + "Category": "Server Settings", + "Keywords": "EnchantPoint", + "FieldName": "EnchantPoint", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "CreativeModePlStatus.EnchantPoint", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {} + } +] \ No newline at end of file diff --git a/craftopiametaconfig.json b/craftopiametaconfig.json new file mode 100644 index 0000000..b0a71dc --- /dev/null +++ b/craftopiametaconfig.json @@ -0,0 +1,6 @@ +[ + { + "ConfigFile": "ServerSetting.ini", + "AutoMap": true + } +]