Skip to content

Add support for whitelist configuration #106

@iglrob

Description

@iglrob

Overview

Public accessible Minecraft servers are usually configured with a whitelist to control which players get access to ones server.

Involved parts

The first step is to configure the corresponding option in the server.properties file:
white-list=true

Furthermore a file called whitelist.json needs to be placed in the same folder like the server.properties file.
The structure of the whitelist looks as follows:

[
  {
    "uuid": "f430dbb6-5d9a-444e-b542-e47329b2c5a0",
    "name": "username"
  },
  {
    "uuid": "e5aa0f99-2727-4a11-981f-dded8b1cd032",
    "name": "username"
  }
]

Consideration

  1. UUIDs only need to be configured manually when the server is started in offline mode. From the CLI there are 3 options:
    a. require the user to provide both name and uuid
    b. require only the name and expect the server to be in online mode
    c. require only the name and lookup the uuid before applying the configuration to the server from within the cli
  2. The content of the whitelist can be changed by a mod from within the Minecraft server. This could result in a configuration drift between the resources maintained from the CLI and the expectations from a user. Scenarios are:
    a. Enforce the whitelist configured through the CLI with each update executed against the server
    b. Merge the whitelist between the existing one on the server and the one configured through the CLI.
    Important! This would make it impossible to delete a user from the whitelist through the CLI!
    c. Add support for explicit commands to the CLI like adding a user or deleting a user or even merging and enforcing the configured whitelist. While this would allow for a lot of options for the user it makes it somewhat brakes with the current style to configure everything in yaml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions