TRS Server Rules
TRS Server Rules es un plugin y mod de servidor gratuito. Le dice al TRS Client qué está permitido en tu servidor: desactivar módulos, forzarlos o fijar y limitar sus ajustes, de forma global, por mundo o por servidor del proxy.
Descargar e instalar
Todas las plataformas están en una versión de GitHub: github.com/theredstonee/TRS-Launcher/releases/tag/server-plugin. Resumen: Para servidores.
| Plataforma | Archivo | Notas |
|---|---|---|
| Spigot, Paper, Purpur, Folia | trs-server-rules-bukkit-<version>.jar | Un jar para Minecraft 1.8.8 hasta la versión más reciente. Reglas por mundo. |
| Velocity 3.x | trs-server-rules-velocity-<version>.jar | Reglas por servidor (servers:). |
| BungeeCord, Waterfall | trs-server-rules-bungee-<version>.jar | Reglas por servidor (servers:). |
| Sponge (API 8 y posteriores) | trs-server-rules-sponge-<version>.jar | Reglas por mundo. |
| Fabric 1.20.1, 1.21.1, 1.21.4, 1.21.11 | trs-server-rules-fabric-<mc>-<version>.jar | Solo en el servidor. Configuración config/trs-server-rules.yml. |
| NeoForge 1.21.1, 1.21.11 | trs-server-rules-neoforge-<mc>-<version>.jar | Solo en el servidor. Configuración config/trs-server-rules.yml. |
| Forge 1.20.1 | trs-server-rules-forge-1.20.1-<version>.jar | Solo en el servidor. Configuración config/trs-server-rules.yml. |
Descarga el jar
Elige en la versión el archivo para tu software de servidor.
Instálalo
Ponlo en la carpeta plugins (plugins) o mods (mods de servidor) e inicia el servidor una vez. Los jugadores no
tienen que instalar nada: el TRS Client ya entiende las reglas.
Ajusta la configuración
Los plugins crean config.yml en su carpeta de datos (plugins/TRSServerRules/ en Spigot/Paper/Bungee, plugins/trs-server-rules/ en Velocity, config/trsserverrules/ en Sponge), los mods de servidor config/trs-server-rules.yml. Después,
/trsrules reload.
Configuración
# TRS Server Rules – control TRS Client features on your server.
# Note: members of the TRS team with the "serverrules.bypass" permission can override these rules
# after an in-game confirmation. This is documented on purpose.
modules: # global
minimap: false # false = forced off, true = forced on
fullbright: false
settings:
zoom.factor: {max: 4}
cinematic.freecamFairPlay: true
worlds: # Bukkit/Sponge/mods: per world; Velocity/Bungee: "servers:" per backend server
pvp_arena:
modules: {zoom: false, freelook: false}
message: "" # optional text shown once to TRS Client players
missing-client: # players whose client does not answer with a TRS Client hello
action: ignore # ignore | notify | kick
timeout-seconds: 10
notify-message: "This server works best with the TRS Client."
kick-message: "Please join with the TRS Client."
bypass-permission: trsrules.bypass # players with this server permission get no rules
Si todo está comentado (o no existe), no se bloquea nada y decide el jugador.
modules
<id del módulo>: true | false. false bloquea el módulo desactivado, true lo fuerza activado. Un módulo que
no aparece sigue siendo decisión del jugador. Todos los IDs están en la sección «IDs de módulos» más abajo.
settings
<id del módulo>.<id del ajuste>: …: los IDs de ajustes son las claves de un módulo en el archivo de configuración del
TRS Client config/trsclient.json (flags, numbers, choices).
| Forma | Significado | Ejemplo |
|---|---|---|
true / false, un número o un nombre | Forzar exactamente este valor (forma corta de {value: …}) | minimap.fairPlay: true |
{value: x} | Forzar un valor: sí/no, número u opción (por su nombre) | cinematic.smoothing: {value: SMOOTH} |
{min: a, max: b} | Limitar un número (basta un lado) | zoom.factor: {max: 4}, fullbright.level: {max: 200} |
El cliente ignora los módulos o ajustes desconocidos, así que una configuración funciona también con versiones más antiguas y más nuevas del TRS Client.
worlds / servers
Reglas para mundos concretos (Bukkit, Sponge, mods de servidor: worlds:) o servidores del proxy (Velocity,
BungeeCord: servers:), cada uno con sus propios modules: y settings:. Una entrada ahí tiene prioridad sobre la
entrada global con la misma clave; todo lo demás viene de la parte global.
message
Texto opcional que el TRS Client muestra una vez como aviso TRS cuando llegan las reglas. Vacío = sin aviso.
missing-client
Qué pasa con los jugadores cuyo cliente no responde con un saludo de TRS Client dentro de timeout-seconds:
action | Efecto |
|---|---|
ignore | Nada (predeterminado). |
notify | El jugador recibe notify-message en el chat. |
kick | El jugador es expulsado con kick-message. |
bypass-permission
Los jugadores con este permiso del servidor (predeterminado trsrules.bypass) no reciben reglas: para tus
administradores y constructores.
bypass-players y bypass-op-level
bypass-players: []– nombres o UUID que no reciben reglas, en todas las plataformas.bypass-op-level: 0– solo mods de servidor (Fabric/NeoForge/Forge no tienen plugins de permisos): los operadores con al menos este nivel no reciben reglas (0= desactivado). En Fabric,bypass-permissionytrsrules.admintambién funcionan si LuckPerms u otro mod con fabric-permissions-api está instalado.
Comandos
| Comando | Efecto |
|---|---|
/trsrules reload | Recarga la configuración y envía las nuevas reglas a todos los jugadores. |
/trsrules status <jugador> | Muestra si el jugador usa el TRS Client y qué reglas se le aplican. |
Permiso trsrules.admin; en Fabric, NeoForge y Forge, nivel de OP 3.
Bypass del equipo TRS
Los miembros del equipo TRS cuyo rol tiene el permiso de equipo serverrules.bypass pueden usar igualmente un
módulo o ajuste bloqueado. Cuando intentan cambiarlo, el TRS Client pregunta primero: «Este servidor bloquea
“Minimapa”. ¿Usarlo igualmente como equipo TRS?». Sí levanta solo ese bloqueo hasta que salen del servidor.
- Existe para que el equipo pueda probar funciones y ayudar a jugadores en cualquier servidor.
- El servidor de juego no se entera y no puede desactivarlo.
- Está documentado a propósito: aquí, en la página Para servidores, en el README del plugin y como comentario al principio de cada configuración generada.
- La excepción para tu propio equipo es el permiso de servidor de
bypass-permission, que controlas por completo.
Protocolo
Para quien quiera escribir su propia implementación. Plugin messaging (custom payload); el contenido es JSON UTF-8 como bytes sin procesar (sin prefijo de longitud), como máximo 32 KiB.
| Dirección | Minecraft 1.13 y posteriores | Minecraft 1.12 y anteriores |
|---|---|---|
| Servidor → cliente (reglas) | trsclient:rules | TRS|Rules |
| Cliente → servidor (saludo) | trsclient:hello | TRS|Hello |
Los servidores registran ambos nombres cuando la plataforma lo permite (versiones mezcladas con ViaVersion).
Saludo
El cliente registra los canales y envía hello al entrar (fase de juego).
Reglas
El servidor responde con rules (siempre, también vacío) y las vuelve a enviar tras un cambio de mundo (proxy: cambio
de servidor) y tras /trsrules reload.
Sustituir y olvidar
Cada mensaje rules sustituye por completo el conjunto anterior. Al desconectarse, el cliente descarta todas las
reglas.
Saludo (cliente → servidor):
{"v":1,"client":"trsclient","version":"0.20.0","mc":"1.21.11","loader":"fabric","modules":["fps","minimap","zoom"]}
Reglas (servidor → cliente):
{"v":1,
"modules":{
"minimap":{"enabled":false},
"fullbright":{"enabled":false},
"zoom":{"settings":{"factor":{"max":4.0}}},
"cinematic":{"settings":{"freecamFairPlay":{"value":true}}},
"toggleSprint":{"enabled":true}
},
"message":"Texto opcional que el cliente muestra una vez"}
enabled: false= bloqueado desactivado,enabled: true= forzado activado, ausente = decide el jugador.settings.<id>:{"value": x}fuerza un valor (booleano, número u opción por su nombre de enum),{"min": a, "max": b}limita un número.- Los módulos y ajustes desconocidos se ignoran. Con
vmayor que 1, el cliente solo lee los campos que conoce.
IDs de módulos
Los IDs son iguales en todas las versiones de Minecraft. Un módulo que no existe en una versión simplemente se ignora. Los nombres son los nombres en inglés del menú TRS.
HUD
| ID | Nombre |
|---|---|
fps | FPS |
ping | Ping |
effects | Potion Effects |
clock | Clock |
memory | Memory |
packs | Active Resource Packs |
scoreboard | Scoreboard |
tabPing | Tab List Ping |
bossBar | Boss Bar |
titles | Titles |
warnings | Warnings |
hungerOverlay | Hunger Overlay |
pinnedNote | Pinned Note |
PvP
| ID | Nombre |
|---|---|
cps | CPS |
keystrokes | Keystrokes |
armor | Armor |
toggleSprint | Toggle Sprint |
toggleSneak | Toggle Sneak |
reach | Reach |
combo | Combo |
speed | Speed |
crosshair | Crosshair |
hitColor | Hit Color |
oldAnimations | 1.7 Animations |
lowFire | Low Fire |
shieldPosition | Shield Position |
hitboxes | Hitboxes |
noHurtCam | No Hurt Cam |
itemCounter | Item Counter |
hitFeedback | Hit Feedback |
Mundo
| ID | Nombre |
|---|---|
coords | Coordinates |
server | Server Address |
minimap | Minimap |
worldMap | World map |
freelook | Freelook |
zoom | Zoom |
fullbright | Gamma |
autorefill | Auto-Refill |
blockOutline | Block Outline |
waypoints | Waypoints |
colors | Colors |
panorama | Panorama Screenshots |
notes | World Notes |
Chat
| ID | Nombre |
|---|---|
chat | Chat Improvements |
autoGg | Auto-GG |
textHotkeys | Text Hotkeys |
social | Social |
chatMentions | Mentions |
chatHeads | Chat Heads |
chatFilter | Chat Filter |
Redstone
| ID | Nombre |
|---|---|
redstoneSignal | Signal Strength |
redstoneOverlay | Signal Overlay |
redstoneClock | Clock Meter |
circuitLibrary | Circuit Library |
Rendimiento
| ID | Nombre |
|---|---|
fpsBoost | FPS Boost |
dynamicFps | Dynamic FPS |
borderlessFullscreen | Borderless Fullscreen |
entityCulling | Entity Culling |
particles | Particles |
worldDetails | World Details |
builtinOptimizations | Built-in Optimizations |
netOptimize | Network Optimization |
lowLatency | Low Input Latency |
fastConnect | Fast Connect |
Otros
| ID | Nombre |
|---|---|
titleScreen | Title Screen |
menuStyle | Menu Style |
trsOnline | TRS Online Features |
capePhysics | Cape Physics |
emotes | Emotes |
clips | Clips & Recording |
cinematic | Camera Paths (incl. freecam) |
halloween | Halloween |
tooltips | Better Tooltips |
serverProfiles | Server Profiles |
screenshots | Screenshot Tools |
keySearch | Key Binding Search |
autoReconnect | Auto Reconnect |
queueAlerts | Queue & Alerts |
streamerMode | Streamer Mode |
Códigos en el chat o el MOTD
Incluso sin plugin, un servidor puede enviar códigos invisibles: cada letra con un § delante, en un mensaje de chat o
en el MOTD. Valen hasta que el jugador sale del servidor y siguen funcionando junto a TRS Server Rules.
| Código | Efecto |
|---|---|
§t§r§s§n§o§f§r§e§e§c§a§m (trsnofreecam) | Freecam desactivada. |
§t§r§s§f§a§i§r§f§r§e§e§c§a§m (trsfairfreecam) | Freecam solo con juego limpio (sin cámara a través de paredes). |
§t§r§s§r§e§s§e§t§f§r§e§e§c§a§m (trsresetfreecam) | Anula de nuevo los códigos de freecam. |
§f§a§i§r§x§a§e§r§o (fairxaero) | Juego limpio para minimapa y mapa del mundo (también fuerza juego limpio en la freecam). |
§n§o§m§i§n§i§m§a§p (nominimap) | Sin minimapa. |
§r§e§s§e§t§x§a§e§r§o (resetxaero) | Anula los códigos de mapa (y los de freecam). |
Los códigos de mapa son los habituales de otros mods de mapas, así que los plugins de juego limpio existentes también funcionan con el TRS Client.