questions.yaml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664
  1. groups:
  2. - name: Minecraft Bedrock Configuration
  3. description: Configure Minecraft Bedrock
  4. - name: User and Group Configuration
  5. description: Configure User and Group for Minecraft Bedrock
  6. - name: Network Configuration
  7. description: Configure Network for Minecraft Bedrock
  8. - name: Storage Configuration
  9. description: Configure Storage for Minecraft Bedrock
  10. - name: Labels Configuration
  11. description: Configure Labels for Minecraft Bedrock
  12. - name: Resources Configuration
  13. description: Configure Resources for Minecraft Bedrock
  14. questions:
  15. - variable: TZ
  16. group: Minecraft Bedrock Configuration
  17. label: Timezone
  18. schema:
  19. type: string
  20. default: Etc/UTC
  21. required: true
  22. $ref:
  23. - definitions/timezone
  24. - variable: minecraft_bedrock
  25. label: ""
  26. group: Minecraft Bedrock Configuration
  27. schema:
  28. type: dict
  29. attrs:
  30. - variable: eula
  31. label: EULA
  32. description: |
  33. The end user license agreement for Minecraft Bedrock. </br>
  34. https://www.minecraft.net/en-us/eula
  35. Must be checked...
  36. schema:
  37. type: boolean
  38. default: false
  39. required: true
  40. - variable: version
  41. label: Version
  42. description: |
  43. Version of the minecraft server to load on startup : </br>
  44. LATEST : determines the latest version (can be used to auto-upgrade on start). </br>
  45. PREVIOUS : uses the previously maintained major version. (Useful when the mobile app is gradually being upgraded across devices.) </br>
  46. otherwise any specific server version can be provided to allow for temporary bug avoidance, etc. </br>
  47. https://github.com/truenas/apps/issues/1641
  48. schema:
  49. type: string
  50. default: "LATEST"
  51. required: true
  52. - variable: server_name
  53. label: Server Name
  54. schema:
  55. type: string
  56. default: "Minecraft Bedrock Server"
  57. required: true
  58. - variable: level_name
  59. label: Level Name
  60. description: The name of which level used/generated. Each level has its own folder in /worlds.
  61. schema:
  62. type: string
  63. default: "Bedrock level"
  64. valid_chars: "^[^\\n\\r\\t\\f`?*\\<>|\"':]+$"
  65. valid_chars_error: |
  66. Cannot contain illegal filename characters: /\n\r\t\f`?*\\<>|\":
  67. required: true
  68. - variable: level_type
  69. label: Level Type
  70. description: |
  71. Type of generation for the world. </br>
  72. Only used on world creation during install. </br>
  73. https://minecraft.fandom.com/wiki/Server.properties#Option_keys -> level-type
  74. schema:
  75. type: string
  76. default: "DEFAULT"
  77. required: true
  78. enum:
  79. - value: DEFAULT
  80. description: Default
  81. - value: FLAT
  82. description: Flat
  83. - value: LEGACY
  84. description: Legacy
  85. - variable: level_seed
  86. label: Level Seed
  87. description: |
  88. The seed for the world generator in the Minecraft Bedrock server.</br>
  89. If left empty, a seed is chosen at random. </br>
  90. Only used on world creation during install. </br>
  91. https://minecraft.fandom.com/wiki/Server.properties#Option_keys -> seed
  92. schema:
  93. type: string
  94. default: ""
  95. - variable: game_mode
  96. label: Game Mode
  97. schema:
  98. type: string
  99. default: "survival"
  100. required: true
  101. enum:
  102. - value: survival
  103. description: Survival
  104. - value: creative
  105. description: Creative
  106. - value: adventure
  107. description: Adventure
  108. - variable: force_game_mode
  109. label: Force Game Mode
  110. schema:
  111. type: boolean
  112. default: false
  113. - variable: difficulty
  114. label: Difficulty
  115. schema:
  116. type: string
  117. default: "easy"
  118. required: true
  119. enum:
  120. - value: peaceful
  121. description: Peaceful
  122. - value: easy
  123. description: Easy
  124. - value: normal
  125. description: Normal
  126. - value: hard
  127. description: Hard
  128. - variable: allow_cheats
  129. label: Allow Cheats
  130. description: |
  131. Allow usage of cheat like commands within game. </br>
  132. https://minecraft.fandom.com/wiki/Commands#List_and_summary_of_commands
  133. schema:
  134. type: boolean
  135. default: false
  136. - variable: view_distance
  137. label: View Distance
  138. schema:
  139. type: int
  140. default: 32
  141. min: 5
  142. required: true
  143. - variable: tick_distance
  144. label: Tick Distance
  145. schema:
  146. type: int
  147. default: 4
  148. min: 4
  149. max: 12
  150. required: true
  151. - variable: emit_server_telemetry
  152. label: Emit Server Telemetry
  153. schema:
  154. type: boolean
  155. default: false
  156. - variable: texture_pack_required
  157. label: Texture Pack Required
  158. schema:
  159. type: boolean
  160. default: false
  161. - variable: enable_lan_visibility
  162. label: Enable LAN Visibility
  163. schema:
  164. type: boolean
  165. default: false
  166. - variable: online_mode
  167. label: Online Mode
  168. description: |
  169. Enable online mode. </br>
  170. When enabled, all connected players must be authenticated to Xbox Live. </br>
  171. https://minecraft.fandom.com/wiki/Server.properties#Option_keys -> Online Mode
  172. schema:
  173. type: boolean
  174. default: true
  175. - variable: max_players
  176. label: Max Players Number
  177. description: |
  178. Maximum number of player that can be connected at the same Time. </br>
  179. https://minecraft.fandom.com/wiki/Server.properties#Option_keys -> max-players
  180. schema:
  181. type: int
  182. default: 10
  183. min: 1
  184. required: true
  185. - variable: player_idle_timeout
  186. label: Player Idle Timeout
  187. description: |
  188. Number of minutes a player can be idle before being kicked from the server.</br>
  189. 0 to disable. </br>
  190. https://minecraft.fandom.com/wiki/Server.properties#Option_keys -> player-idle-timeout
  191. schema:
  192. type: int
  193. default: 30
  194. min: 0
  195. required: true
  196. - variable: default_player_permission_level
  197. label: Default Player Permission Level
  198. description: |
  199. Permission level for new players joining for the first time. </br>
  200. https://minecraft.fandom.com/wiki/Server.properties#Option_keys -> default-player-permission-level
  201. schema:
  202. type: string
  203. default: "member"
  204. required: true
  205. enum:
  206. - value: visitor
  207. description: Visitor
  208. - value: member
  209. description: Member
  210. - value: operator
  211. description: Operator
  212. - variable: ops
  213. label: Operators
  214. description: |
  215. Sets operator permissions for listed players.</br>
  216. Operator can use commands. </br>
  217. https://hub.docker.com/r/itzg/minecraft-bedrock-server -> Permissions</br>
  218. One XUID per field. (Xbox User ID can be found at https://www.cxkes.me/xbox/xuid)
  219. schema:
  220. type: list
  221. default: []
  222. items:
  223. - variable: op
  224. label: Op
  225. schema:
  226. type: string
  227. default: ""
  228. required: true
  229. - variable: members
  230. label: Members
  231. description: |
  232. Sets member permissions for listed players.</br>
  233. https://hub.docker.com/r/itzg/minecraft-bedrock-server -> Permissions </br>
  234. One XUID per field. (Xbox User ID can be found at https://www.cxkes.me/xbox/xuid)
  235. schema:
  236. type: list
  237. default: []
  238. items:
  239. - variable: member
  240. label: Member
  241. schema:
  242. type: string
  243. default: ""
  244. required: true
  245. - variable: visitors
  246. label: Visitors
  247. description: |
  248. Sets visitor permissions for listed players. </br>
  249. https://hub.docker.com/r/itzg/minecraft-bedrock-server -> Permissions </br>
  250. One XUID per field. (Xbox User ID can be found at https://www.cxkes.me/xbox/xuid)
  251. schema:
  252. type: list
  253. default: []
  254. items:
  255. - variable: visitor
  256. label: Visitor
  257. schema:
  258. type: string
  259. default: ""
  260. required: true
  261. - variable: allow_list_users
  262. label: Allow List Users
  263. schema:
  264. type: list
  265. default: []
  266. items:
  267. - variable: allow_list_user
  268. label: Allow List User
  269. schema:
  270. type: dict
  271. attrs:
  272. - variable: name
  273. label: Name
  274. schema:
  275. type: string
  276. default: ""
  277. required: true
  278. - variable: uuid
  279. label: UUID
  280. schema:
  281. type: string
  282. default: ""
  283. required: true
  284. - variable: additional_envs
  285. label: Additional Environment Variables
  286. schema:
  287. type: list
  288. default: []
  289. items:
  290. - variable: env
  291. label: Environment Variable
  292. schema:
  293. type: dict
  294. attrs:
  295. - variable: name
  296. label: Name
  297. schema:
  298. type: string
  299. required: true
  300. - variable: value
  301. label: Value
  302. schema:
  303. type: string
  304. - variable: run_as
  305. label: ""
  306. group: User and Group Configuration
  307. schema:
  308. type: dict
  309. attrs:
  310. - variable: user
  311. label: User ID
  312. description: The user id that Minecraft Bedrock files will be owned by.
  313. schema:
  314. type: int
  315. min: 568
  316. default: 568
  317. required: true
  318. - variable: group
  319. label: Group ID
  320. description: The group id that Minecraft Bedrock files will be owned by.
  321. schema:
  322. type: int
  323. min: 568
  324. default: 568
  325. required: true
  326. - variable: network
  327. label: ""
  328. group: Network Configuration
  329. schema:
  330. type: dict
  331. attrs:
  332. - variable: server_port
  333. label: Server Port
  334. schema:
  335. type: dict
  336. attrs:
  337. - variable: bind_mode
  338. label: Port Bind Mode
  339. description: |
  340. The port bind mode.</br>
  341. - Publish: The port will be published on the host for external access.</br>
  342. - Expose: The port will be exposed for inter-container communication.</br>
  343. - None: The port will not be exposed or published.</br>
  344. Note: If the Dockerfile defines an EXPOSE directive,
  345. the port will still be exposed for inter-container communication regardless of this setting.
  346. schema:
  347. type: string
  348. default: "published"
  349. enum:
  350. - value: "published"
  351. description: Publish port on the host for external access
  352. - value: "exposed"
  353. description: Expose port for inter-container communication
  354. - value: ""
  355. description: None
  356. - variable: port_number
  357. label: Port Number
  358. schema:
  359. type: int
  360. default: 19132
  361. min: 1
  362. max: 65535
  363. required: true
  364. - variable: host_ips
  365. label: Host IPs
  366. description: IPs on the host to bind this port
  367. schema:
  368. type: list
  369. show_if: [["bind_mode", "=", "published"]]
  370. default: []
  371. items:
  372. - variable: host_ip
  373. label: Host IP
  374. schema:
  375. type: string
  376. required: true
  377. $ref:
  378. - definitions/node_bind_ip
  379. - variable: host_network
  380. label: Host Network
  381. description: |
  382. Bind to the host network. It's recommended to keep this disabled.
  383. schema:
  384. type: boolean
  385. default: false
  386. - variable: storage
  387. label: ""
  388. group: Storage Configuration
  389. schema:
  390. type: dict
  391. attrs:
  392. - variable: data
  393. label: Minecraft Bedrock Data Storage
  394. description: The path to store Minecraft Bedrock Data.
  395. schema:
  396. type: dict
  397. attrs:
  398. - variable: type
  399. label: Type
  400. description: |
  401. ixVolume: Is dataset created automatically by the system.</br>
  402. Host Path: Is a path that already exists on the system.
  403. schema:
  404. type: string
  405. required: true
  406. default: "ix_volume"
  407. enum:
  408. - value: "host_path"
  409. description: Host Path (Path that already exists on the system)
  410. - value: "ix_volume"
  411. description: ixVolume (Dataset created automatically by the system)
  412. - variable: ix_volume_config
  413. label: ixVolume Configuration
  414. description: The configuration for the ixVolume dataset.
  415. schema:
  416. type: dict
  417. show_if: [["type", "=", "ix_volume"]]
  418. $ref:
  419. - "normalize/ix_volume"
  420. attrs:
  421. - variable: acl_enable
  422. label: Enable ACL
  423. description: Enable ACL for the storage.
  424. schema:
  425. type: boolean
  426. default: false
  427. - variable: dataset_name
  428. label: Dataset Name
  429. description: The name of the dataset to use for storage.
  430. schema:
  431. type: string
  432. required: true
  433. hidden: true
  434. default: "data"
  435. - variable: acl_entries
  436. label: ACL Configuration
  437. schema:
  438. type: dict
  439. show_if: [["acl_enable", "=", true]]
  440. attrs: []
  441. - variable: host_path_config
  442. label: Host Path Configuration
  443. schema:
  444. type: dict
  445. show_if: [["type", "=", "host_path"]]
  446. attrs:
  447. - variable: acl_enable
  448. label: Enable ACL
  449. description: Enable ACL for the storage.
  450. schema:
  451. type: boolean
  452. default: false
  453. - variable: acl
  454. label: ACL Configuration
  455. schema:
  456. type: dict
  457. show_if: [["acl_enable", "=", true]]
  458. attrs: []
  459. $ref:
  460. - "normalize/acl"
  461. - variable: path
  462. label: Host Path
  463. description: The host path to use for storage.
  464. schema:
  465. type: hostpath
  466. show_if: [["acl_enable", "=", false]]
  467. required: true
  468. - variable: additional_storage
  469. label: Additional Storage
  470. schema:
  471. type: list
  472. default: []
  473. items:
  474. - variable: storageEntry
  475. label: Storage Entry
  476. schema:
  477. type: dict
  478. attrs:
  479. - variable: type
  480. label: Type
  481. description: |
  482. ixVolume: Is dataset created automatically by the system.</br>
  483. Host Path: Is a path that already exists on the system.</br>
  484. SMB Share: Is a SMB share that is mounted to as a volume.
  485. schema:
  486. type: string
  487. required: true
  488. default: "ix_volume"
  489. enum:
  490. - value: "host_path"
  491. description: Host Path (Path that already exists on the system)
  492. - value: "ix_volume"
  493. description: ixVolume (Dataset created automatically by the system)
  494. - value: "cifs"
  495. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  496. - variable: read_only
  497. label: Read Only
  498. description: Mount the volume as read only.
  499. schema:
  500. type: boolean
  501. default: false
  502. - variable: mount_path
  503. label: Mount Path
  504. description: The path inside the container to mount the storage.
  505. schema:
  506. type: path
  507. required: true
  508. - variable: host_path_config
  509. label: Host Path Configuration
  510. schema:
  511. type: dict
  512. show_if: [["type", "=", "host_path"]]
  513. attrs:
  514. - variable: acl_enable
  515. label: Enable ACL
  516. description: Enable ACL for the storage.
  517. schema:
  518. type: boolean
  519. default: false
  520. - variable: acl
  521. label: ACL Configuration
  522. schema:
  523. type: dict
  524. show_if: [["acl_enable", "=", true]]
  525. attrs: []
  526. $ref:
  527. - "normalize/acl"
  528. - variable: path
  529. label: Host Path
  530. description: The host path to use for storage.
  531. schema:
  532. type: hostpath
  533. show_if: [["acl_enable", "=", false]]
  534. required: true
  535. - variable: ix_volume_config
  536. label: ixVolume Configuration
  537. description: The configuration for the ixVolume dataset.
  538. schema:
  539. type: dict
  540. show_if: [["type", "=", "ix_volume"]]
  541. $ref:
  542. - "normalize/ix_volume"
  543. attrs:
  544. - variable: acl_enable
  545. label: Enable ACL
  546. description: Enable ACL for the storage.
  547. schema:
  548. type: boolean
  549. default: false
  550. - variable: dataset_name
  551. label: Dataset Name
  552. description: The name of the dataset to use for storage.
  553. schema:
  554. type: string
  555. required: true
  556. default: "storage_entry"
  557. - variable: acl_entries
  558. label: ACL Configuration
  559. schema:
  560. type: dict
  561. show_if: [["acl_enable", "=", true]]
  562. attrs: []
  563. - variable: cifs_config
  564. label: SMB Configuration
  565. description: The configuration for the SMB dataset.
  566. schema:
  567. type: dict
  568. show_if: [["type", "=", "cifs"]]
  569. attrs:
  570. - variable: server
  571. label: Server
  572. description: The server to mount the SMB share.
  573. schema:
  574. type: string
  575. required: true
  576. - variable: path
  577. label: Path
  578. description: The path to mount the SMB share.
  579. schema:
  580. type: string
  581. required: true
  582. - variable: username
  583. label: Username
  584. description: The username to use for the SMB share.
  585. schema:
  586. type: string
  587. required: true
  588. - variable: password
  589. label: Password
  590. description: The password to use for the SMB share.
  591. schema:
  592. type: string
  593. required: true
  594. private: true
  595. - variable: domain
  596. label: Domain
  597. description: The domain to use for the SMB share.
  598. schema:
  599. type: string
  600. - variable: labels
  601. label: ""
  602. group: Labels Configuration
  603. schema:
  604. type: list
  605. default: []
  606. items:
  607. - variable: label
  608. label: Label
  609. schema:
  610. type: dict
  611. attrs:
  612. - variable: key
  613. label: Key
  614. schema:
  615. type: string
  616. required: true
  617. - variable: value
  618. label: Value
  619. schema:
  620. type: string
  621. required: true
  622. - variable: containers
  623. label: Containers
  624. description: Containers where the label should be applied
  625. schema:
  626. type: list
  627. items:
  628. - variable: container
  629. label: Container
  630. schema:
  631. type: string
  632. required: true
  633. enum:
  634. - value: minecraft-bedrock
  635. description: minecraft-bedrock
  636. - variable: resources
  637. label: ""
  638. group: Resources Configuration
  639. schema:
  640. type: dict
  641. attrs:
  642. - variable: limits
  643. label: Limits
  644. schema:
  645. type: dict
  646. attrs:
  647. - variable: cpus
  648. label: CPUs
  649. description: CPUs limit for Minecraft Bedrock.
  650. schema:
  651. type: int
  652. default: 2
  653. required: true
  654. - variable: memory
  655. label: Memory (in MB)
  656. description: Memory limit for Minecraft Bedrock.
  657. schema:
  658. type: int
  659. default: 4096
  660. required: true