Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
BuildContest
PluginGPL-3.0-or-later

BuildContest

BuildContest plugin automatically creates Minecraft sub-servers using Docker and transfers players to their respective contest servers.

51
Downloads
2
Followers
1 years ago
Updated
📦
1
Versions
managementvelocity
Download Latestv1.1-SNAPSHOTView on Modrinth

📖About BuildContest

BuildContest Plugin

BuildContest is a Velocity plugin that simplifies the setup of dedicated servers for each team in a building contest. The plugin uses Docker Compose to start sub-servers and automatically transfers players to their respective sub-servers for the contest. Team configurations and server information are persistently stored.

Features

  • Automatic Sub-Server Creation: Create team servers using HTTP API calls with Docker Compose, and register them with Velocity.
  • Automatic Player Transfer: Players are automatically transferred to their corresponding sub-servers when joining the main server.
  • Permission Control: Authenticate HTTP requests using Bearer Token.
  • Prevent Duplicate Participation: When adding a team, if a player already exists in another team, they cannot join other teams.

Installation Steps

  1. Prepare the Environment

    • Install Velocity proxy server.
    • Ensure Docker and Docker Compose are installed and properly configured.
  2. Create a Minecraft Contest Server Image (Sub-Server)

    • It's recommended to use Little Wrench as the server base.
    • Set the port to 25565 and ensure it can be accessed correctly via the proxy, including proper forwarding-mode settings.
    • Create a Dockerfile for building the server image.
    • Build the image, e.g., docker build -t minecraft-contest:latest .
    • Create a docker-compose.yml file for starting the sub-server.
  3. Download the Plugin

    • Jump to version page
  4. Configure the Plugin

    • Place the plugin jar file in the plugins/ directory of Velocity.
    • Start the Velocity server once to generate the configuration files, then stop the server to adjust settings.
  5. Configure Files

    • Modify config.yml in the plugins/BuilderContest/ directory to set up ports and other settings.
    • Place docker-compose-default.yml in the plugin directory as the template for starting sub-servers.
  6. Start the Server

    • Start the server and retrieve the bearer-token from the generated config.yml.

Configuration File Description

config.yml

ktor:
  http-port: 8080 # HTTP service port.
  port-start: 30000 # Starting port for sub-servers.
  bearer-token: # Bearer Token; leave this empty on first use.
  allow-host: "*" # Allowed host addresses.

docker-compose-default.yml Example

  • Use #SERVER_NAME_PLACEHOLDER as the placeholder for the Docker container name.
  • Use #SERVER_PORT_PLACEHOLDER as the placeholder for the port.
version: '3.8'
services:
  minecraft_server:
    image: minecraft-contest:latest
    container_name: "#SERVER_NAME_PLACEHOLDER"
    ports:
      - #SERVER_PORT_PLACEHOLDER:25565
    volumes:
      # Mount the local world directory to the specified path in the container
      - ./worlds/#SERVER_NAME_PLACEHOLDER/world:/app/world
    environment:
      EULA: "TRUE"
    restart: unless-stopped

Usage Instructions

HTTP API

  • After the plugin starts, an HTTP service will be launched on port 8080 by default.
  • Key API endpoint:
    • Add Team: POST /team/add, requires Bearer Token authentication, with teamId, teamName, and members as payload fields.

Example Request

curl --location --request POST 'http://localhost:8080/team/add' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sSCj4piDoEfV2zIo_C8lD7S4ul0YlVOyBr2BkKpdsTI (Retrieve this from config.yml)' \
--data-raw '{
    "teamId": "team_1",
    "teamName": "Team 1",
    "members": ["Hanamizu_", "user1"]
}'

👥 Team & Contributors

Hanamizu
HanamizuOwner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
velocity
Minecraft Versions
1.171.17.11.181.18.11.18.21.191.19.11.19.2+11 more

🔗 Links

Modrinth Page