Skip to content

Server Setup

Warning

Docker on Windows 11 may have issues with world corruption. Do not keep anything important on your server world!

Install Docker

We use Docker to make images of servers that will run the same on any computer, which saves a lot of headaches! Follow Docker's install guide.

On Windows you can run winget install -e --id Docker.DockerDesktop to get it. Learn more about winget here.

Create a docker compose file

  • Create a server directory wherever you like
  • Add a file named docker-compose.yml to it
  • Paste one of the following configurations into this file:
version: "3.9"
services:
  minecraft:
    image: ghcr.io/mineinabyss/papermc_dev:master
    container_name: papermc
    ports:
      - "25565:25565"
    volumes:
      # Stores server files in a folder named papermc next to your compose.yml
      - ./papermc:/data:rw
    environment:
        MEMORYSIZE: 2G
        PAPERMC_FLAGS: "" # Shows colors in console
    # Allows 'docker attach' to work
    stdin_open: true
    tty: true
Info: 🐧 Linux users

Set your user/group id to avoid permission issues, ex:

environment:
    PUID: 1000
    PGID: 1000

Tip

You may wish to turn certain features on or off for your server (ex. auto updating plugins.) We list all supported environment options for our containers here.

Auto download plugins

The dev image comes with Keepup, our tool for managing plugins. It will automatically download our latest plugin config file to keepup/mineinabyss.conf and merge it with keepup/local.conf. You can inherit plugins from mineinabyss in local.conf as follows:

Inherit plugins from specific server

local: ${mineinabyss.servers.survival}

Inherit multiple parts

local: ${mineinabyss.core} ${mineinabyss.plugins}

Add your own plugins, or inherit specific ones

local: ${mineinabyss.core} {
  some-plugin: "https://..."
  blocky: ${mineinabys.plugins.blocky}
}

Note

Keepup will not install a plugin if a similar one already exist in your plugins folder. So if you build a plugin locally, your version will be used. Remember to delete the file if you want updates!

Running the server

In Terminal

Open a terminal in the directory of your docker-compose.yml and run:

docker-compose up -d && docker attach papermc

To start in the background and attach to the papermc server for commands.

Tip: Use an alias for convenience

Linux/MacOS terminals usually let you modify their startup commands, here's an example I use to start my server by calling papermc:

alias papermc="docker-compose -f /path/to/my/docker-compose.yml up -d && docker attach papermc"

In IntelliJ

IntelliJ has some visual features for running containers right from the IDE. This is for more advanced devs.

Documentation here: Intellij Docker Guide.