绿灯

绿灯

允许服务器选择加入那些在多人游戏中默认关闭的客户端调整。基于供应商中立和资源包的方案。

Greenlight

Greenlight 是一个库模组。 它本身不会添加菜单、功能开关或任何可见的游戏性更改。

当其他模组声明支持或需要 Greenlight 时,请安装它。

Greenlight 的用途

某些客户端功能是良性的视觉效果。而其他功能可能会影响游戏,例如移除迷雾、改变黑暗程度或透露服务器通常不希望玩家拥有的信息。

Greenlight 为服务器和客户端模组提供了一种处理这些问题的统一方式:

  • 服务器声明允许哪些功能。
  • 客户端模组在启用该功能前检查此权限。
  • 玩家仍然可以保留自己的本地设置。
  • 服务器可以设置限制,客户端模组会将功能限制在这些限制内。

目标很简单:兼容的模组默认应保持原版安全,只有在服务器允许时才选择加入。

服务器如何允许功能

服务器可以通过其服务器资源包发布 Greenlight 策略。

无需在服务端安装 Greenlight 模组。仅用于发送策略文件时,也不需要 Paper、Fabric、NeoForge 或 Bukkit 插件。如果你的服务器能够发送资源包,它就可以发布 Greenlight 策略。

Greenlight 只信任来自 Minecraft 标记为来自当前服务器的资源包中的策略。包含相同文件的本地资源包不会产生任何效果。

服务器资源包可以是必需的或可选的。如果玩家拒绝、移除或禁用了可选的服务器资源包,Greenlight 将视为无受信策略,兼容的功能将保持被禁止状态。

当你离开服务器时,这些权限也会消失。

Greenlight 不做的事

Greenlight 并非反作弊。

修改过的客户端可以忽略客户端规则。Greenlight 是为那些希望拥有一个干净、统一的权限系统(而不是每个模组都自己发明握手协议)的诚实客户端、整合包和服务器社区设计的。

Greenlight 也不会强制启用功能。它只告知兼容模组服务器允许了什么。

针对玩家

仅当你使用的模组支持或需要 Greenlight 时,你才需要安装它。

单独安装 Greenlight 不会改变游戏。

如果服务器没有为某个功能提供策略,兼容的模组应在多人游戏中将该功能视为被禁止。

针对服务器所有者

为你的服务器资源包中的每个功能添加一个 JSON 策略文件。

从这里开始:

https://github.com/FlashyReese/greenlight/wiki/Server-Owner-Guide

策略文件格式:

https://github.com/FlashyReese/greenlight/wiki/Policy-Files

针对模组开发者

Greenlight 为 Fabric 和 NeoForge 模组提供了一个小型 API。

你可以选择:

  • 需要完整的 Greenlight 运行时。
  • 通过捆绑 API 并缺少运行时则关闭功能,以可选方式支持 Greenlight。

开发者指南:

https://github.com/FlashyReese/greenlight/wiki/Mod-Developer-Guide

许可证

LGPL-3.0-or-later