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.
TShock is a fork of the Terraria server that adds a number of features.
Vanilla is the original Terraria server.
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.
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.
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.
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.
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.
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.
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.
Value is optional for flags like -heaptile
For example:
Key: -lang
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.
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.
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"]] 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.
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"]] 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
- Plain Integer - eg. 1
- Float - eg. 0.5
- 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
- Suffixed with E/P/T/G/M/K - eg. 1G
- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
- Plain Integer in bytes - eg. 1024
- Exponent - eg. 134e6 default: "8Gi" required: true