diff --git a/templates/minecraft/0/docker-compose.yml b/templates/minecraft/0/docker-compose.yml new file mode 100644 index 0000000..b3420a2 --- /dev/null +++ b/templates/minecraft/0/docker-compose.yml @@ -0,0 +1,24 @@ +Minecraft: + environment: + EULA: ${EULA} + VERSION: ${VERSION} + DIFFICULTY: ${DIFFICULTY} + MODE: ${MODE} + PVP: ${PVP} + WHITELIST: ${WHITELIST} + OPS: ${OPS} + MOTD: ${MOTD} + SEED: ${SEED} + WORLD: ${WORLD} + tty: true + image: itzg/minecraft-server + stdin_open: true +MinecraftLB: + ports: + - ${PORT}:25565/tcp + tty: true + image: rancher/load-balancer-service + links: + - Minecraft:Minecraft + stdin_open: true + diff --git a/templates/minecraft/0/rancher-compose.yml b/templates/minecraft/0/rancher-compose.yml new file mode 100644 index 0000000..3511458 --- /dev/null +++ b/templates/minecraft/0/rancher-compose.yml @@ -0,0 +1,92 @@ +.catalog: + name: "Minecraft" + version: "v1.8" + description: "Minecraft server" + uuid: minecraft-0 + questions: + - variable: "EULA" + label: "Accept EULA" + description: "Select TRUE to accept the Minecraft EULA" + required: true + type: "enum" + options: + - TRUE + - variable: "SCALE" + label: "Scale" + description: "How many servers to run" + default: 1 + required: true + type: "int" + - variable: "PORT" + label: "Port number" + description: "On which port should the Load Balancer listen?" + default: 25565 + required: true + type: "int" + - variable: "VERSION" + label: "Minecraft Version" + description: "Select the version of Minecraft server to run. Default is the latest available" + required: false + type: "enum" + default: LATEST + options: + - LATEST + - SNAPSHOT + - 1.8.9 + - 1.7.10 + - 1.6.4 + - variable: "DIFFICULTY" + label: "Difficulty level" + description: "Select the Minecraft difficulty level. Default is normal" + default: normal + required: true + type: "enum" + options: + - peaceful + - easy + - normal + - hard + - variable: "MODE" + label: "Default game mode" + description: "Select the game mode to connect in. Default is survival" + default: survival + required: true + type: "enum" + options: + - survival + - creative + - adventure + - spectator + - variable: "PVP" + label: "PvP mode" + description: "Check here to enable PvP mode. Default is no PvP." + default: false + type: "boolean" + required: true + - variable: "MOTD" + label: "Description" + description: "Description string for Minecraft server" + default: "A Minecraft server powered by Docker" + type: "string" + required: true + - variable: "WHITELIST" + label: "Whitelist" + description: "Player names to whitelist, comma separated" + type: "string" + - variable: "OPS" + label: "Operators" + description: "Player names to give operator privileges, comma separated" + type: "string" + - variable: "SEED" + label: "Level seed" + description: "Optional level seed number for world generation" + type: "int" + - variable: "WORLD" + label: "World URL" + description: "URL to download zipped world directory" + type: "string" +Minecraft: + scale: ${SCALE} +MinecraftLB: + load_balancer_config: {} + diff --git a/templates/minecraft/README.md b/templates/minecraft/README.md new file mode 100644 index 0000000..d4a1773 --- /dev/null +++ b/templates/minecraft/README.md @@ -0,0 +1,18 @@ +# Minecraft + +### Topology + +This will start up several Minecraft servers of the specified type. If no +world seed is specified, then a random one will be used. A Load Balancer +will be created over the top so that they can be accessed. + +The load balancers will run on every host with the label **LB=1**. If +no hosts match this, then you will get no load balancers! + +### Options + +You **must** accept the [EULA](https://account.mojang.com/documents/minecraft_eula) by selecting **TRUE** in the dropdown. + +You should specify a unique port number for the load balancers to listen on. + +The other options for the server may be left as their defaults. diff --git a/templates/minecraft/catalogIcon-minecraft.svg b/templates/minecraft/catalogIcon-minecraft.svg new file mode 100644 index 0000000..68f0e53 --- /dev/null +++ b/templates/minecraft/catalogIcon-minecraft.svg @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/minecraft/config.yml b/templates/minecraft/config.yml new file mode 100644 index 0000000..f106ac5 --- /dev/null +++ b/templates/minecraft/config.yml @@ -0,0 +1,6 @@ +name: Minecraft +description: | + Multiplayer block game for wasting lots of time +version: v1.8 +category: entertainment +maintainer: Steve Shipway