Files
chart/library/ix-dev/community/terraria/questions.yaml
Stavros Kois 4613b1f7bd Set storage type immutable (#1676)
* set type immutable

* bump versions

* apply immutable to syncthing/enterprise

* update description for smb

* more immutable types

* bump apps

* missed one

* break line

* bump
2023-10-28 21:48:36 +03:00

334 lines
11 KiB
YAML

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: 30030
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
immutable: 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
immutable: 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
max_length: 6
valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
valid_chars_error: |
Valid CPU limit formats are</br>
- Plain Integer - eg. 1</br>
- Float - eg. 0.5</br>
- Milicpu - eg. 500m
default: "4000m"
required: true
- variable: memory
label: Memory
description: Memory limit for Terraria.
schema:
type: string
max_length: 12
valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
valid_chars_error: |
Valid Memory limit formats are</br>
- Suffixed with E/P/T/G/M/K - eg. 1G</br>
- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
- Plain Integer in bytes - eg. 1024</br>
- Exponent - eg. 134e6
default: "8Gi"
required: true