Skip to content

Prototype/basis of a Minecraft server that spawns ephemeral minigame servers

License

Notifications You must be signed in to change notification settings

monoclex/ephemeral-minigame-server

Repository files navigation

Ephemeral Minigame Server

This code is a prototypal implementation of a minigame franchise server. In short, there are a few components:

  • Controller: the brains of the operation, orchestrating and communicating between the various ephemeral servers.
  • Proxy: receives incoming player connections, and teleports them to different servers.
  • Lobby servers: ephemeral, dynamically scalable servers that proxies forward players to upon joining.
  • Minigame servers: ephemeral, dynamically scalable servers that players must ask to join.

This could eventually be horizontally scaled if you put in time to look into Docker Swarm.

Try it!

If you have Docker, this project should be a piece of cake to deploy. Try it out!

  1. Clone the project

    git clone https://github.com/SirJosh3917/ephemeral-minigame-server.git
    cd ephemeral-minigame-server
  2. Download some plugins

    Put these jar files into ./servers/assets/waterfall/. Pretty sure I can't automate this for ToS reasons.

  3. Agree to the EULA

    Agree to the EULA in ./servers/eula.txt. Also pretty sure I can't automate this.

    # Agree to Mojang's EULA.
    echo "eula=true" >> servers/eula.txt
  4. Start the project!

    # Necessary wrapper for `docker compose up`
    ./start.sh

    If you're on windows, the script is simple enough - you can figure it out :)

It might take a long while before it starts up, but soon you'll have a server listening on :25565 to join!

About

Prototype/basis of a Minecraft server that spawns ephemeral minigame servers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published