Skip to content

About

In-game rules, terms, and privacy policy agreements for Minecraft servers and networks. For Paper, Spigot, and Velocity.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

ConsentGate: in-game agreements for Minecraft servers and networks

ConsentGate

Configurable in-game agreements for Minecraft servers and networks.

ConsentGate shows rules, policies, and other documents to players before they are admitted, and only lets them in after they accept. Documents live in local files with their own titles, text, translations, and versions. No website or extra hosting is needed.

  • Velocity: players accept before any backend connection.
  • Paper: players accept before entering the world.
  • Spigot (hold mode, weaker): players enter the world but stay frozen and hidden until they accept. Other plugins still see the join. Use Paper for the full guarantee.
  • BungeeCord: there is no proxy JAR. Install the Paper JAR (or the Spigot JAR) on each backend, with shared MySQL/MariaDB.
  • Java dialogs, plus native Bedrock forms through Geyser.
  • SQLite by default, or MySQL/MariaDB to share consent across servers.

Screenshots

Language selection Required agreements
Language selection with English and Bahasa Indonesia options Required Terms of Service and Privacy Policy agreements with Read and Continue buttons
Missing agreement warning Reading a document
Warning that every checkbox is required when only one agreement is selected Terms of Service starter document showing page one of two and a Next button

Requirements

Platform Needs
Velocity Java 21+, Minecraft Java 1.21.6+ clients, and PacketEvents 2.13.0 on the same proxy
Paper Java 21+, Paper 1.21.7+, Minecraft Java 1.21.6+ clients
Spigot Java 21+, Spigot 1.21.8+, Minecraft Java 1.21.6+ clients
BungeeCord No proxy JAR. The Paper or Spigot JAR on every backend, all using the same MySQL/MariaDB database
Bedrock (optional) Geyser on the same proxy or server

Quick start

  1. Download the JAR for your platform from releases and put it in plugins/ (with PacketEvents on Velocity). Paper and Spigot have separate JARs; each one refuses every login on the other.
  2. Start once. The gate starts disabled and creates its config and starter documents.
  3. Edit documents/terms.yml.example and documents/privacy.yml.example, then rename them to end in .yml.
  4. Set enabled: true in config.yml.
  5. Run consentgate validate, then consentgate reload in the console.

The starter documents are templates. Review and adapt them before use.

Documentation

Read the docs on the web at kaizenmc.id/software/consentgate, or here on GitHub:

Working on ConsentGate itself? See contributing.

License

GNU General Public License v3.0 only (GPL-3.0-only). See LICENSE. Dependencies keep their own licenses; see THIRD_PARTY_NOTICES.md.

About

In-game rules, terms, and privacy policy agreements for Minecraft servers and networks. For Paper, Spigot, and Velocity.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages