Add Settings to Craftopia

This adds all the settings to the Craftopia GUI and cleans up a few items.

The port must be put in manually until the functionality is added to use AMP variables in automap.
This commit is contained in:
IceOfWraith 2022-01-21 20:34:05 -06:00
parent 9b51cb0b5a
commit 1fff412b79
4 changed files with 553 additions and 29 deletions

88
CraftopiaTemplate.ini Normal file
View File

@ -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

View File

@ -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\=(?<userid>.+)\ Active\=True\ Name=(?<username>.+)$
Console.UserLeaveRegex=^ActiveSlave\:Id\=(?<userid>.+)\ Active\=False\ Name=(?<username>.+)$
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/
Console.UserChatRegex=^\[\d\d:\d\d:\d\d\] \[CHAT\] <(?<username>.+?)> (?<message>.+)$
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

View File

@ -1 +1,391 @@
[]
[
{
"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": {}
}
]

6
craftopiametaconfig.json Normal file
View File

@ -0,0 +1,6 @@
[
{
"ConfigFile": "ServerSetting.ini",
"AutoMap": true
}
]