Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 1.82 KB

README.md

File metadata and controls

65 lines (47 loc) · 1.82 KB

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!