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 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 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.

Server Resource Pack Setup

Host the pack somewhere your players can download it, then configure the server to send 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=false

You can set require-resource-pack=true if your server wants to require the pack for other reasons, but Greenlight does not require that. If a player declines or removes an optional pack, Greenlight does not see a trusted policy and compatible features stay denied.

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

Trust Rules

Greenlight only trusts policy files from resource packs Minecraft marks as coming from the current server.

These do not grant features:

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

If the server pack is removed on disconnect, login failure, pack rejection, or pack removal, 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 server 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 player accepted the server pack and it is listed as active.
  • 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