Skip to content

Server Owner Guide

Yao Chung Hu edited this page Jul 4, 2026 · 2 revisions

Server Owner Guide

Greenlight lets your server opt in to client features from compatible mods. You publish a small JSON policy in a required server resource pack. Compatible client mods read that policy through Greenlight and decide whether to enable their feature.

Greenlight is not anti-cheat. It helps honest clients and modpacks share one permission format.

What Players Need

Players need:

  • The client mod that owns the feature.
  • The Greenlight client mod, if you want your server policy to grant anything.

If a player does not have the feature mod, your policy is harmless.

Some mods may support Greenlight as an optional dependency. Those mods can still launch when Greenlight is missing, but their Greenlight-controlled features should stay denied until the player installs Greenlight.

What the Server Needs

For the normal setup, the server only needs a required resource pack. You do not need a Fabric, NeoForge, Paper, or Bukkit plugin just to publish Greenlight policy files.

Use a server mod or plugin only if you want a live custom policy channel instead of resource pack policy files.

Policy Pack Layout

Each feature gets one JSON file:

assets/<feature_namespace>/client_features/v1/<feature_path>.json

For feature examplemod:cave_tint:

assets/examplemod/client_features/v1/cave_tint.json

Example:

{
  "protocol_version": 1,
  "feature": "examplemod:cave_tint",
  "enabled": true,
  "settings_version": 1,
  "settings": {
    "max_strength": 0.35
  }
}

The settings object belongs to the mod that owns the feature. Check that mod's docs for the exact keys and values.

Required Resource Pack Setup

Host the pack somewhere your players can download it, then configure the server to require it.

In server.properties:

resource-pack=https://example.com/packs/my-greenlight-policy-pack.zip
resource-pack-sha1=<sha1-of-the-zip>
require-resource-pack=true

Use the pack_format for your Minecraft version in pack.mcmeta.

Trust Rules

Greenlight only trusts policy files from the current server's required resource pack.

These do not grant features:

  • Local player resource packs.
  • World packs.
  • Built-in packs.
  • Optional server packs.
  • Files copied into the client by hand.

If the required server pack is removed on disconnect or login failure, Greenlight removes the grant.

Multiple Features

One pack can include policies for many mods:

assets/examplemod/client_features/v1/cave_tint.json
assets/othermod/client_features/v1/freecam.json
assets/anothermod/client_features/v1/fullbright.json

Clients only use policies for mods they actually have installed.

Revoking a Feature

Use enabled: false to explicitly deny a feature from a higher-priority source:

{
  "protocol_version": 1,
  "feature": "examplemod:cave_tint",
  "enabled": false
}

For a normal single required pack, leaving the file out has the same result for most features: no trusted grant.

Troubleshooting

If a feature stays denied:

  • Confirm the player has Greenlight installed.
  • Confirm the server pack is required, not just offered.
  • Confirm the JSON path matches the feature ID.
  • Confirm the feature field matches the file path.
  • Confirm protocol_version is 1.
  • Confirm settings_version matches the feature mod docs.
  • Check the client log for Greenlight policy parsing warnings.

Do not test by putting the same policy in a local resource pack. Greenlight is supposed to ignore that.

What to Ask Mod Authors For

When a mod says it supports Greenlight, its docs should tell you:

  • Feature ID.
  • Policy file path.
  • Full JSON example.
  • What each settings key does.
  • Which settings_version it supports.

Clone this wiki locally