Server Shader Gate & Enforcer

需要玩家在服务器中使用着色器(Iris)

资源图片
## 描述 ![服务器连接错误屏幕:玩家的着色器或着色器设置与服务器的配置不匹配。错误文本建议从以下链接下载着色器和着色器设置](https://i.postimg.cc/DzspNT3j/Screenshot-822.png) **服务器着色器网关与强制器 (SSGE)** – 一个客户端模组和服务器插件,要求玩家安装着色器并使用特定的着色器选项才能在服务器上游戏。 连接到服务器时,SSGE 客户端模组会自动将当前着色器及其设置的配置数据发送到服务器插件。服务器插件将接收到的数据与自己的配置进行比较。如果数据匹配,则允许玩家进入服务器。否则,拒绝连接。 该模组需要 [Iris](https://modrinth.com/mod/iris) 和 [Fabric API](https://modrinth.com/mod/fabric-api) 才能工作。 ## 配置 模组的配置文件 – `ssge_mod.json`; 服务器插件的配置文件 – `ssge.yml`
ssge_mod.json ``` { "shaderFile": "", "shaderOptions": "", "sizeShader": 0, "sizeOptions": 0, "enableShaders": false } ``` 此配置在连接到服务器时自动生成,并取决于 Iris 设置:着色器的开关,选定的着色器文件和选定的着色器设置 `shaderFile` – 着色器包文件 `shaderOptions` – 着色器设置文件。如果着色器使用默认设置,此字符串将是 `empty` ,因为文件将不存在。 `sizeShader` – 着色器包大小(字节)。 `sizeOptions` – 着色器设置大小(字节)。如果着色器使用默认设置,此值为 `0`。 `enableShaders` – 着色器启用/禁用开关
ssge.yml ``` require_enabled: true shader_file: '' shader_options: '' size_shader: 0 size_options: 0 link: https://example.com/download-shader-with-config require_shader: true require_options: true ``` 自动生成并需要进一步配置才能正常工作。 `require_enabled` – 着色器启用/禁用开关 `shader_file` – 着色器包文件 `shader_options` – 着色器设置文件。如果着色器使用默认设置,此字符串将是 `empty` ,因为文件将不存在。 `size_shader` – 着色器包大小(字节)。 `size_options` – 着色器设置大小(字节)。如果着色器使用默认设置,此值为 `0`。 `link` – 您下载着色器和特定设置的链接 `require_shader` – 需要特定的着色器包 `require_options` – 需要特定的着色器设置
## 例如 假设我们希望服务器上的所有玩家都使用 [thejinxedartist 的 MC VHS](https://modrinth.com/shader/mc-vhs) 着色器进行游戏。 那么插件配置可以如下所示: ``` require_enabled: true <–– shader_file: 'MCVHSV2.zip' <–– Required shader_options: 'MCVHSV2.zip.txt' <–– values size_shader: 275232 <–– size_options: 79 <–– link: https://modrinth.com/shader/mc-vhs require_shader: true require_options: true ``` 模组配置必须与插件配置匹配,并且如下所示: ``` { "shaderFile": "MCVHSV2.zip", "shaderOptions": "MCVHSV2.zip.txt", "sizeShader": 275232, "sizeOptions": 79, "enableShaders": true } ``` 如果玩家的配置不同,服务器将将其踢出。 此外,用于下载着色器的 `link` 将从插件接收并保存到 `ssge_link.txt` 文件中,该文件位于 *`.minecraft/config`* 文件夹中。