questions.yaml 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. groups:
  2. - name: Minecraft Configuration
  3. description: Configure Minecraft
  4. - name: User and Group Configuration
  5. description: Configure User and Group for Minecraft
  6. - name: Network Configuration
  7. description: Configure Network for Minecraft
  8. - name: Storage Configuration
  9. description: Configure Storage for Minecraft
  10. - name: Resources Configuration
  11. description: Configure Resources for Minecraft
  12. questions:
  13. - variable: TZ
  14. group: Minecraft Configuration
  15. label: Timezone
  16. schema:
  17. type: string
  18. default: Etc/UTC
  19. required: true
  20. $ref:
  21. - definitions/timezone
  22. - variable: mcConfig
  23. label: ""
  24. group: Minecraft Configuration
  25. schema:
  26. type: dict
  27. attrs:
  28. - variable: eula
  29. label: EULA
  30. description: Accept the EULA.
  31. schema:
  32. type: boolean
  33. default: false
  34. required: true
  35. - variable: imageSelector
  36. label: Image
  37. description: |
  38. The image to use for Minecraft.</br>
  39. Depending on the image you select, you might
  40. need to adjust the Version and Type fields.
  41. schema:
  42. type: string
  43. default: "j17Image"
  44. required: true
  45. enum:
  46. - value: j8Image
  47. description: Java 8 HotSpot (Alpine)
  48. - value: j8j9Image
  49. description: Java 8 OpenJ9 (Debian)
  50. - value: j8jdkImage
  51. description: Java 8 HotSpot+JDK (Ubuntu)
  52. - value: j8gceImage
  53. description: Java 8 GraalVM CE (Oracle)
  54. - value: j11Image
  55. description: Java 11 HotSpot (Ubuntu)
  56. - value: j11j9Image
  57. description: Java 11 OpenJ9 (Debian)
  58. - value: j11jdkImage
  59. description: Java 11 HotSpot+JDK (Ubuntu)
  60. - value: j17Image
  61. description: Java 17 HotSpot (Ubuntu)
  62. - value: j17j9Image
  63. description: Java 17 OpenJ9 (Debian)
  64. - value: j17jdkImage
  65. description: Java 17 HotSpot+JDK (Ubuntu)
  66. - value: j17gceImage
  67. description: Java 17 GraalVM CE (Oracle)
  68. - value: j17alpineImage
  69. description: Java 17 HotSpot (Alpine)
  70. - value: j19Image
  71. description: Java 19 HotSpot (Ubuntu)
  72. - variable: type
  73. label: Type
  74. description: |
  75. The type of Minecraft server to run.</br>
  76. Depending on the type you select, you might need
  77. to add additional environment variables. </br>
  78. https://itzg.github.io/docker-minecraft-docs/java/server-types/bukkit-spigot
  79. schema:
  80. type: string
  81. default: "VANILLA"
  82. required: true
  83. enum:
  84. - value: VANILLA
  85. description: Vanilla
  86. - value: SPIGOT
  87. description: Spigot
  88. - value: BUKKIT
  89. description: Bukkit
  90. - value: FORGE
  91. description: Forge
  92. - value: CATSERVER
  93. description: CatServer
  94. - value: CRUCIBLE
  95. description: Crucible
  96. - value: AUTO_CURSEFORGE
  97. description: Auto CurseForge
  98. - value: CUSTOM
  99. description: Custom
  100. - value: FABRIC
  101. description: Fabric
  102. - value: FTBA
  103. description: Feed The Beast
  104. - value: FORGE
  105. description: Forge
  106. - value: LOLISERVER
  107. description: LoliServer
  108. - value: LIMBO
  109. description: Limbo
  110. - value: MAGMA
  111. description: Magma
  112. - value: MOHIST
  113. description: Mohist
  114. - value: FABRIC
  115. description: Fabric
  116. - value: PAPER
  117. description: Paper
  118. - value: PUFFERFISH
  119. description: Pufferfish
  120. - value: PURPUR
  121. description: Purpur
  122. - value: QUILT
  123. description: Quilt
  124. - value: SPONGEVANILLA
  125. description: SpongeVanilla
  126. - variable: version
  127. label: Version
  128. description: |
  129. The minecraft version.</br>
  130. https://itzg.github.io/docker-minecraft-docs/java/versions/minecraft
  131. schema:
  132. type: string
  133. default: "LATEST"
  134. required: true
  135. - variable: serverName
  136. label: Server Name
  137. description: |
  138. The name of the Minecraft server.</br>
  139. https://itzg.github.io/docker-minecraft-docs/java/configuration/servername
  140. schema:
  141. type: string
  142. default: "Minecraft Server"
  143. required: true
  144. - variable: difficulty
  145. label: Difficulty
  146. description: |
  147. The difficulty of the Minecraft server.</br>
  148. https://itzg.github.io/docker-minecraft-docs/java/configuration/difficulty
  149. schema:
  150. type: string
  151. default: "easy"
  152. required: true
  153. enum:
  154. - value: peaceful
  155. description: Peaceful
  156. - value: easy
  157. description: Easy
  158. - value: normal
  159. description: Normal
  160. - value: hard
  161. description: Hard
  162. - variable: seed
  163. label: Seed
  164. description: |
  165. The seed for the Minecraft server.</br>
  166. https://itzg.github.io/docker-minecraft-docs/java/configuration/seed </br>
  167. (Quotes is handled by the field automatically)
  168. schema:
  169. type: string
  170. default: ""
  171. - variable: mode
  172. label: Game Mode
  173. description: |
  174. The game mode of the Minecraft server.</br>
  175. https://itzg.github.io/docker-minecraft-docs/java/configuration/gamemode
  176. schema:
  177. type: string
  178. default: "survival"
  179. required: true
  180. enum:
  181. - value: survival
  182. description: Survival
  183. - value: creative
  184. description: Creative
  185. - value: adventure
  186. description: Adventure
  187. - value: spectator
  188. description: Spectator
  189. - variable: levelType
  190. label: Level Type
  191. description: |
  192. The level type of the Minecraft server.</br>
  193. https://itzg.github.io/docker-minecraft-docs/java/configuration/#level-type-and-generator-settings
  194. schema:
  195. type: string
  196. default: "minecraft:default"
  197. required: true
  198. enum:
  199. - value: minecraft:default
  200. description: Default
  201. - value: minecraft:flat
  202. description: Flat
  203. - value: minecraft:large_biomes
  204. description: Large Biomes
  205. - value: minecraft:amplified
  206. description: Amplified
  207. - value: minecraft:single_biome_surface
  208. description: Single Biome Surface
  209. - value: buffet
  210. description: Buffet
  211. - value: customized
  212. description: Customized
  213. - variable: motd
  214. label: Message of the Day
  215. description: |
  216. The message of the day for the Minecraft server.</br>
  217. https://itzg.github.io/docker-minecraft-docs/java/configuration/motd
  218. schema:
  219. type: string
  220. default: "Welcome to Minecraft on TrueNAS!"
  221. required: true
  222. - variable: enableRcon
  223. label: Enable RCON
  224. description: |
  225. Enable RCON for the Minecraft server.</br>
  226. It is recommended to keep this enabled, as it helps to
  227. shut down the minecraft server gracefully.</br>
  228. https://itzg.github.io/docker-minecraft-docs/java/rcon
  229. schema:
  230. type: boolean
  231. default: true
  232. - variable: rconPassword
  233. label: RCON Password
  234. description: The RCON password for the Minecraft server.
  235. schema:
  236. type: string
  237. default: ""
  238. show_if: [["enableRcon", "=", true]]
  239. private: true
  240. required: true
  241. - variable: maxPlayers
  242. label: Max Players
  243. description: |
  244. The maximum number of players that can join the server.</br>
  245. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxplayers
  246. schema:
  247. type: int
  248. default: 20
  249. min: 1
  250. required: true
  251. - variable: maxWorldSize
  252. label: Max World Size
  253. description: |
  254. The maximum possible size in blocks, expressed as a radius.</br>
  255. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxworldsize
  256. schema:
  257. type: int
  258. default: 10000
  259. min: 1
  260. required: true
  261. - variable: maxBuildHeight
  262. label: Max Build Height
  263. description: |
  264. The maximum height in which building is allowed.
  265. Terrain may still naturally generate above a low height limit.</br>
  266. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxbuildheight
  267. schema:
  268. type: int
  269. default: 256
  270. min: 1
  271. required: true
  272. - variable: allowNether
  273. label: Allow Nether
  274. description: |
  275. Allows players to travel to the Nether.</br>
  276. https://itzg.github.io/docker-minecraft-docs/java/configuration/allownether
  277. schema:
  278. type: boolean
  279. default: true
  280. - variable: announcePlayerAchievements
  281. label: Announce Player Achievements
  282. description: |
  283. Allows server to announce when a player gets an achievement.</br>
  284. https://itzg.github.io/docker-minecraft-docs/java/configuration/announceachievements
  285. schema:
  286. type: boolean
  287. default: true
  288. - variable: enableCommandBlock
  289. label: Enable Command Block
  290. description: |
  291. Enables the command blocks.</br>
  292. https://itzg.github.io/docker-minecraft-docs/java/configuration/enablecommandblock
  293. schema:
  294. type: boolean
  295. default: false
  296. - variable: forceGameMode
  297. label: Force Game Mode
  298. description: |
  299. Force players to join in the default game mode.</br>
  300. https://itzg.github.io/docker-minecraft-docs/java/configuration/forcegamemode
  301. schema:
  302. type: boolean
  303. default: false
  304. - variable: generateStructures
  305. label: Generate Structures
  306. description: |
  307. Defines whether structures (such as villages) will be generated.</br>
  308. https://itzg.github.io/docker-minecraft-docs/java/configuration/generatestructures
  309. schema:
  310. type: boolean
  311. default: true
  312. - variable: hardcore
  313. label: Hardcore
  314. description: |
  315. If set to true, players will be set to spectator mode if they die.</br>
  316. https://itzg.github.io/docker-minecraft-docs/java/configuration/hardcore
  317. schema:
  318. type: boolean
  319. default: false
  320. - variable: spawnAnimals
  321. label: Spawn Animals
  322. description: |
  323. Determines if animals will be able to spawn.</br>
  324. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnanimals
  325. schema:
  326. type: boolean
  327. default: true
  328. - variable: spawnNpcs
  329. label: Spawn NPCs
  330. description: |
  331. Determines if villagers will be spawned.</br>
  332. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnnpcs
  333. schema:
  334. type: boolean
  335. default: true
  336. - variable: spawnMonsters
  337. label: Spawn Monsters
  338. description: |
  339. Determines if monsters will be spawned.</br>
  340. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnmonsters
  341. schema:
  342. type: boolean
  343. default: true
  344. - variable: spawnProtection
  345. label: Spawn Protection
  346. description: |
  347. The radius of the spawn protection.</br>
  348. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnprotection
  349. schema:
  350. type: int
  351. default: 16
  352. min: 0
  353. required: true
  354. - variable: pvp
  355. label: PVP
  356. description: |
  357. Determines if PVP will be enabled.</br>
  358. https://itzg.github.io/docker-minecraft-docs/java/configuration/pvp
  359. schema:
  360. type: boolean
  361. default: true
  362. - variable: allowFlight
  363. label: Allow Flight
  364. description: |
  365. Allows users to use flight on your server while in Survival mode,
  366. if they have a mod that provides flight installed.</br>
  367. https://itzg.github.io/docker-minecraft-docs/java/configuration/allowflight
  368. schema:
  369. type: boolean
  370. default: false
  371. - variable: viewDistance
  372. label: View Distance
  373. description: |
  374. Sets the amount of world data the server sends the client,
  375. measured in chunks in each direction of the player (radius, not diameter).
  376. It determines the server-side viewing distance.</br>
  377. https://itzg.github.io/docker-minecraft-docs/java/configuration/viewdistance
  378. schema:
  379. type: int
  380. default: 10
  381. min: 3
  382. max: 32
  383. required: true
  384. - variable: onlineMode
  385. label: Online Mode
  386. description: |
  387. If set to true, the server will attempt to authenticate clients
  388. connecting to it with the Minecraft account database.</br>
  389. https://itzg.github.io/docker-minecraft-docs/java/configuration/onlinemode
  390. schema:
  391. type: boolean
  392. default: true
  393. - variable: maxTickTime
  394. label: Max Tick Time
  395. description: |
  396. The maximum number of milliseconds a single tick may take
  397. before the server watchdog stops the server with the message,
  398. A single server tick took 60.00 seconds (should be max 0.05);
  399. Considering it to be crashed, server will forcibly shutdown.</br>
  400. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxticktime
  401. schema:
  402. type: int
  403. default: 60000
  404. min: 0
  405. required: true
  406. - variable: ops
  407. label: Operators / Administrators
  408. description: |
  409. A list of player names who should be considered operators.</br>
  410. https://itzg.github.io/docker-minecraft-docs/java/configuration/ops
  411. schema:
  412. type: list
  413. default: []
  414. items:
  415. - variable: opPlayer
  416. label: OP Player
  417. schema:
  418. type: string
  419. default: ""
  420. required: true
  421. - variable: whitelist
  422. label: Whitelist
  423. description: |
  424. A list of player names who are allowed to play on the server.</br>
  425. https://itzg.github.io/docker-minecraft-docs/java/configuration/whitelist
  426. schema:
  427. type: list
  428. default: []
  429. items:
  430. - variable: whitePlayer
  431. label: Whitelisted Player
  432. schema:
  433. type: string
  434. default: ""
  435. required: true
  436. - variable: additionalEnvs
  437. label: Additional Environment Variables
  438. description: Configure additional environment variables for Minecraft.
  439. schema:
  440. type: list
  441. default: []
  442. items:
  443. - variable: env
  444. label: Environment Variable
  445. schema:
  446. type: dict
  447. attrs:
  448. - variable: name
  449. label: Name
  450. schema:
  451. type: string
  452. required: true
  453. - variable: value
  454. label: Value
  455. schema:
  456. type: string
  457. required: true
  458. - variable: mcID
  459. label: ""
  460. group: User and Group Configuration
  461. schema:
  462. type: dict
  463. attrs:
  464. - variable: user
  465. label: User ID
  466. description: The user id that Minecraft files will be owned by.
  467. schema:
  468. type: int
  469. min: 568
  470. default: 568
  471. required: true
  472. - variable: group
  473. label: Group ID
  474. description: The group id that Minecraft files will be owned by.
  475. schema:
  476. type: int
  477. min: 568
  478. default: 568
  479. required: true
  480. - variable: mcNetwork
  481. label: ""
  482. group: Network Configuration
  483. schema:
  484. type: dict
  485. attrs:
  486. - variable: hostNetwork
  487. label: Host Network
  488. description: |
  489. Bind to the host network. It's recommended to keep this disabled.</br>
  490. schema:
  491. type: boolean
  492. default: false
  493. - variable: serverPort
  494. label: Server Port
  495. description: |
  496. The port for the Minecraft Server.</br>
  497. This will apply to both external and internal ports.
  498. schema:
  499. type: int
  500. default: 25535
  501. min: 9000
  502. max: 65535
  503. required: true
  504. - variable: rconPort
  505. label: RCON Port
  506. description: |
  507. The RCON port for the Minecraft.</br>
  508. This will apply to both external and internal ports.
  509. schema:
  510. type: int
  511. default: 25575
  512. min: 9000
  513. max: 65535
  514. required: true
  515. - variable: mcStorage
  516. label: ""
  517. group: Storage Configuration
  518. schema:
  519. type: dict
  520. attrs:
  521. - variable: data
  522. label: Minecraft Data Storage
  523. description: The path to store Minecraft Data.
  524. schema:
  525. type: dict
  526. attrs:
  527. - variable: type
  528. label: Type
  529. description: |
  530. ixVolume: Is dataset created automatically by the system.</br>
  531. Host Path: Is a path that already exists on the system.
  532. schema:
  533. type: string
  534. required: true
  535. default: "ixVolume"
  536. enum:
  537. - value: "hostPath"
  538. description: Host Path (Path that already exists on the system)
  539. - value: "ixVolume"
  540. description: ixVolume (Dataset created automatically by the system)
  541. - variable: datasetName
  542. label: Dataset Name
  543. schema:
  544. type: string
  545. show_if: [["type", "=", "ixVolume"]]
  546. required: true
  547. hidden: true
  548. immutable: true
  549. default: "data"
  550. $ref:
  551. - "normalize/ixVolume"
  552. - variable: hostPath
  553. label: Host Path
  554. schema:
  555. type: hostpath
  556. show_if: [["type", "=", "hostPath"]]
  557. immutable: true
  558. required: true
  559. - variable: additionalStorages
  560. label: Additional Storage
  561. description: Additional storage for Minecraft.
  562. schema:
  563. type: list
  564. default: []
  565. items:
  566. - variable: storageEntry
  567. label: Storage Entry
  568. schema:
  569. type: dict
  570. attrs:
  571. - variable: type
  572. label: Type
  573. description: |
  574. ixVolume: Is dataset created automatically by the system.</br>
  575. Host Path: Is a path that already exists on the system.
  576. schema:
  577. type: string
  578. required: true
  579. default: "ixVolume"
  580. enum:
  581. - value: "hostPath"
  582. description: Host Path (Path that already exists on the system)
  583. - value: "ixVolume"
  584. description: ixVolume (Dataset created automatically by the system)
  585. - variable: mountPath
  586. label: Mount Path
  587. description: The path inside the container to mount the storage.
  588. schema:
  589. type: path
  590. required: true
  591. - variable: hostPath
  592. label: Host Path
  593. description: The host path to use for storage.
  594. schema:
  595. type: hostpath
  596. show_if: [["type", "=", "hostPath"]]
  597. required: true
  598. - variable: datasetName
  599. label: Dataset Name
  600. description: The name of the dataset to use for storage.
  601. schema:
  602. type: string
  603. show_if: [["type", "=", "ixVolume"]]
  604. required: true
  605. immutable: true
  606. default: "storage_entry"
  607. $ref:
  608. - "normalize/ixVolume"
  609. - variable: resources
  610. group: Resources Configuration
  611. label: ""
  612. schema:
  613. type: dict
  614. attrs:
  615. - variable: limits
  616. label: Limits
  617. schema:
  618. type: dict
  619. attrs:
  620. - variable: cpu
  621. label: CPU
  622. description: CPU limit for Minecraft.
  623. schema:
  624. type: string
  625. max_length: 6
  626. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  627. valid_chars_error: |
  628. Valid CPU limit formats are</br>
  629. - Plain Integer - eg. 1</br>
  630. - Float - eg. 0.5</br>
  631. - Milicpu - eg. 500m
  632. default: "4000m"
  633. required: true
  634. - variable: memory
  635. label: Memory
  636. description: Memory limit for Minecraft.
  637. schema:
  638. type: string
  639. max_length: 12
  640. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  641. valid_chars_error: |
  642. Valid Memory limit formats are</br>
  643. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  644. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  645. - Plain Integer in bytes - eg. 1024</br>
  646. - Exponent - eg. 134e6
  647. default: "8Gi"
  648. required: true