Skip to content

Add /minecraft command for server access #1104

@Nincodedo

Description

@Nincodedo

The /minecraft (and /minecraft-admin) command should allow Discord server owners to add Minecraft servers to facilitate easier whitelist controls and updates. Minecraft servers can be tied to multiple Discord servers and specific roles per server can be required for access. Any add commands should have remove and update equivalents.

These actions are not taken on the actual Minecraft server. (Possible enhancement if it works better that way.) They are managed by Ninbot and a JSON file is provided for the Minecraft server to use. This is intended to be used with itzg's Minecraft Docker image since it can use file URLs for the whitelist and OPs list.

Discord/Minecraft Server Admin Usage

Example server owner/admin commands...

/minecraft-admin servers add NAME URL

  • This creates a new linked server where by default
    • The current Discord server is linked to the Minecraft server
    • The command user is the "owner" of the server and added to the whitelist and ops
    • No other users (maybe Discord server owner) will be considered as part of the whitelist until a role is added
  • On success, returns URLs for this server's whitelist and OPs JSON

/minecraft-admin servers add-linked-discord-server NAME DISCORD_SERVER

  • Add multiple Discord servers to a Minecraft server

/minecraft-admin servers add-discord-whitelist-role NAME DISCORD_SERVER ROLE

  • Discord server may not work well here for listing the roles?
  • Users with this role will be considered as part of the whitelist for this Minecraft server
  • There should be an equivalent ops command for Minecraft OPs management

/minecraft-admin servers list-owned

  • Lists all servers owned by you
  • Displays...
    • Minecraft server
      • Name
      • URL
    • Linked Discord servers
      • Name
      • Whitelist role
    • Whitelist JSON URL
    • OPs JSON URL

Discord/Minecraft User Usage

Users in Discord servers with linked Minecraft servers need only add their Minecraft username to access servers. Users can set and remove their usernames and control what Discord servers have access to their Minecraft username.

Example user commands...

/minecraft username set Java/Bedrock/Both? USERNAME ALLOW_ALL/LIMITED

  • Sets their Minecraft Java or Bedrock username
  • By default only the current Discord server can view the user's Minecraft name
    • Option allows all Discord servers that have linked Minecraft servers to see the user's Minecraft username
      • If all, done thanks 👍
      • If limited, user can update a list

/minecraft username allow ALL/LIMITED

  • Allows all Discord servers to see the user's Minecraft username or a limited list

/minecraft servers list

  • Lists all Minecraft servers the user has access to
  • Displays...
    • Minecraft server
      • Name
      • URL
      • Server owner name
      • If you have OP permission (displays nothing if you don't)

Metadata

Metadata

Assignees

Projects

Status

Researching

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions