|
@@ -0,0 +1,316 @@
|
|
|
+groups:
|
|
|
+ - name: Terraria Configuration
|
|
|
+ description: Configure Terraria
|
|
|
+ - name: Network Configuration
|
|
|
+ description: Configure Network for Terraria
|
|
|
+ - name: Storage Configuration
|
|
|
+ description: Configure Storage for Terraria
|
|
|
+ - name: Resources Configuration
|
|
|
+ description: Configure Resources for Terraria
|
|
|
+
|
|
|
+questions:
|
|
|
+ - variable: terrariaConfig
|
|
|
+ label: ""
|
|
|
+ group: Terraria Configuration
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: imageSelector
|
|
|
+ label: Image Selector
|
|
|
+ description: |
|
|
|
+ Selects the image to use for the Terraria server.</br>
|
|
|
+ TShock is a fork of the Terraria server that adds a number of features.</br>
|
|
|
+ Vanilla is the original Terraria server. </br>
|
|
|
+ Only applies to newly generated worlds.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: image
|
|
|
+ required: true
|
|
|
+ immutable: true
|
|
|
+ enum:
|
|
|
+ - value: image
|
|
|
+ description: TShock
|
|
|
+ - value: vanillaImage
|
|
|
+ description: Vanilla
|
|
|
+ - variable: worldName
|
|
|
+ label: World Name
|
|
|
+ description: |
|
|
|
+ Sets the world's name.</br>
|
|
|
+ Only applies to newly generated worlds.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: My-World
|
|
|
+ required: true
|
|
|
+ immutable: true
|
|
|
+ - variable: worldSeed
|
|
|
+ label: World Seed
|
|
|
+ description: |
|
|
|
+ Sets the world's seed.</br>
|
|
|
+ Only applies to newly generated worlds.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: ''
|
|
|
+ immutable: true
|
|
|
+ - variable: worldEvil
|
|
|
+ label: World's Evil
|
|
|
+ description: |
|
|
|
+ Sets the world's evil state.</br>
|
|
|
+ Only applies to newly generated worlds.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: random
|
|
|
+ required: true
|
|
|
+ immutable: true
|
|
|
+ enum:
|
|
|
+ - value: random
|
|
|
+ description: Random
|
|
|
+ - value: corrupt
|
|
|
+ description: Corrupt
|
|
|
+ - value: crimson
|
|
|
+ description: Crimson
|
|
|
+ - variable: worldSize
|
|
|
+ label: World Size
|
|
|
+ description: |
|
|
|
+ Sets the world's size.</br>
|
|
|
+ Only applies to newly generated worlds.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: small
|
|
|
+ required: true
|
|
|
+ immutable: true
|
|
|
+ enum:
|
|
|
+ - value: small
|
|
|
+ description: Small (1)
|
|
|
+ - value: medium
|
|
|
+ description: Medium (2)
|
|
|
+ - value: large
|
|
|
+ description: Large (3)
|
|
|
+ - variable: worldDifficulty
|
|
|
+ label: World Difficulty
|
|
|
+ description: |
|
|
|
+ Sets the world's difficulty.</br>
|
|
|
+ Only applies to newly generated worlds.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: normal
|
|
|
+ required: true
|
|
|
+ immutable: true
|
|
|
+ enum:
|
|
|
+ - value: normal
|
|
|
+ description: Normal (0)
|
|
|
+ - value: expert
|
|
|
+ description: Expert (1)
|
|
|
+ - value: master
|
|
|
+ description: Master (2)
|
|
|
+ - value: journey
|
|
|
+ description: Journey (3)
|
|
|
+ - variable: maxPlayers
|
|
|
+ label: Maximum Players
|
|
|
+ description: Starts the server with the given player count as the maximum.
|
|
|
+ schema:
|
|
|
+ type: int
|
|
|
+ default: 8
|
|
|
+ min: 1
|
|
|
+ max: 255
|
|
|
+ required: true
|
|
|
+ - variable: password
|
|
|
+ label: Server Password
|
|
|
+ description: Sets the server password.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ private: true
|
|
|
+ default: ''
|
|
|
+ - variable: secure
|
|
|
+ label: Secure Server
|
|
|
+ description: Turns on the base game's "anti-spam" feature.
|
|
|
+ schema:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+ - variable: forceUpdate
|
|
|
+ label: Force Update
|
|
|
+ description: |
|
|
|
+ Forces the server to continue running, and not hibernating when no players are on. </br>
|
|
|
+ This results in time passing, grass growing, and cpu running.
|
|
|
+ schema:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+ - variable: additionalEnvs
|
|
|
+ label: Additional Environment Variables
|
|
|
+ description: Configure additional environment variables for Terraria.
|
|
|
+ schema:
|
|
|
+ type: list
|
|
|
+ default: []
|
|
|
+ items:
|
|
|
+ - variable: env
|
|
|
+ label: Environment Variable
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: name
|
|
|
+ label: Name
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - variable: value
|
|
|
+ label: Value
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - variable: additionalArgs
|
|
|
+ label: Additional Arguments
|
|
|
+ description: |
|
|
|
+ Configure additional arguments for Terraria. </br>
|
|
|
+ Value is optional for flags like -heaptile </br>
|
|
|
+ For example: </br>
|
|
|
+ Key: -lang </br>
|
|
|
+ Value: en-US
|
|
|
+ schema:
|
|
|
+ type: list
|
|
|
+ default: []
|
|
|
+ items:
|
|
|
+ - variable: arg
|
|
|
+ label: Argument
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: key
|
|
|
+ label: Key
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ - variable: value
|
|
|
+ label: Value
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+
|
|
|
+ - variable: terrariaNetwork
|
|
|
+ label: ""
|
|
|
+ group: Network Configuration
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: serverPort
|
|
|
+ label: Server Port
|
|
|
+ description: The port for the Terraria Server.
|
|
|
+ schema:
|
|
|
+ type: int
|
|
|
+ default: 30000
|
|
|
+ min: 9000
|
|
|
+ max: 65535
|
|
|
+ required: true
|
|
|
+ - variable: hostNetwork
|
|
|
+ label: Host Network
|
|
|
+ description: |
|
|
|
+ Bind to the host network. It's recommended to keep this disabled.</br>
|
|
|
+ schema:
|
|
|
+ type: boolean
|
|
|
+ default: false
|
|
|
+
|
|
|
+ - variable: terrariaStorage
|
|
|
+ label: ""
|
|
|
+ group: Storage Configuration
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: world
|
|
|
+ label: Terraria World Storage
|
|
|
+ description: The path to store Terraria World.
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: type
|
|
|
+ label: Type
|
|
|
+ description: |
|
|
|
+ ixVolume: Is dataset created automatically by the system.</br>
|
|
|
+ Host Path: Is a path that already exists on the system.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ default: "ixVolume"
|
|
|
+ enum:
|
|
|
+ - value: "hostPath"
|
|
|
+ description: Host Path (Path that already exists on the system)
|
|
|
+ - value: "ixVolume"
|
|
|
+ description: ixVolume (Dataset created automatically by the system)
|
|
|
+ - variable: datasetName
|
|
|
+ label: Dataset Name
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ show_if: [["type", "=", "ixVolume"]]
|
|
|
+ required: true
|
|
|
+ hidden: true
|
|
|
+ immutable: true
|
|
|
+ default: "world"
|
|
|
+ $ref:
|
|
|
+ - "normalize/ixVolume"
|
|
|
+ - variable: hostPath
|
|
|
+ label: Host Path
|
|
|
+ schema:
|
|
|
+ type: hostpath
|
|
|
+ show_if: [["type", "=", "hostPath"]]
|
|
|
+ immutable: true
|
|
|
+ required: true
|
|
|
+ - variable: plugins
|
|
|
+ label: Terraria Plugins Storage
|
|
|
+ description: The path to store Terraria Plugins.
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: type
|
|
|
+ label: Type
|
|
|
+ description: |
|
|
|
+ ixVolume: Is dataset created automatically by the system.</br>
|
|
|
+ Host Path: Is a path that already exists on the system.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ required: true
|
|
|
+ default: "ixVolume"
|
|
|
+ enum:
|
|
|
+ - value: "hostPath"
|
|
|
+ description: Host Path (Path that already exists on the system)
|
|
|
+ - value: "ixVolume"
|
|
|
+ description: ixVolume (Dataset created automatically by the system)
|
|
|
+ - variable: datasetName
|
|
|
+ label: Dataset Name
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ show_if: [["type", "=", "ixVolume"]]
|
|
|
+ required: true
|
|
|
+ hidden: true
|
|
|
+ immutable: true
|
|
|
+ default: "plugins"
|
|
|
+ $ref:
|
|
|
+ - "normalize/ixVolume"
|
|
|
+ - variable: hostPath
|
|
|
+ label: Host Path
|
|
|
+ schema:
|
|
|
+ type: hostpath
|
|
|
+ show_if: [["type", "=", "hostPath"]]
|
|
|
+ immutable: true
|
|
|
+ required: true
|
|
|
+
|
|
|
+ - variable: resources
|
|
|
+ group: Resources Configuration
|
|
|
+ label: ""
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: limits
|
|
|
+ label: Limits
|
|
|
+ schema:
|
|
|
+ type: dict
|
|
|
+ attrs:
|
|
|
+ - variable: cpu
|
|
|
+ label: CPU
|
|
|
+ description: CPU limit for Terraria.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: "4000m"
|
|
|
+ required: true
|
|
|
+ - variable: memory
|
|
|
+ label: Memory
|
|
|
+ description: Memory limit for Terraria.
|
|
|
+ schema:
|
|
|
+ type: string
|
|
|
+ default: "8Gi"
|
|
|
+ required: true
|