Server owners3 min read
Configuration
Every key in config.yml, with what it turns on for your players.
plugins/TehoAPI/config.yml is written on first start with every feature on and every preset off. Edit it and run /tehoapi reload; you do not need to restart. Fabric, NeoForge and Sponge use the same keys in JSON, as described in Other platforms.
Identity
server-name: "Skyline"
debug: false| Key | What it does |
|---|---|
server-name | The label players see on every toast, screen, lock and keybind from your server. Set it; it is how players tell your server apart from Teho itself. |
debug | Logs every frame in both directions. Leave it off in production. |
Features
Each switch turns one capability off server-wide. A switched-off feature is never offered in Welcome, and sends for it return false.
features:
notifications: true
waypoints: true
modules: true
staff: true
hud: true
suspect: true
world: true
players: true
keybinds: true
camera: true
audio: true
social: true
ui: true
info: true
identity: true
integrity: true
pack: true
clips: true
broadcast: true
assets: true
npcs: true
statues: true
branding: true
showcase: trueWelcome toast and death waypoint
welcome:
enabled: true
title: "&bWelcome, {player}"
body: "This server supports Teho"
death-waypoint: true{player} is replaced with the player's name and & colour codes work. With death-waypoint on, every Teho player who dies gets a red "Last death" waypoint at the spot.
Rules
Rules follow the world the player is in. global applies everywhere, and each entry under worlds builds on it.
rules:
global:
disable: [hitbox]
disable-categories: []
caps:
- {module: zoom, key: factor, max: 4}
worlds:
arena:
competitive: true
allow: [fps_display, keystrokes, cps_counter, ping, armor_status]
reason: "Ranked arena"| Key | What it does |
|---|---|
disable | Module ids to turn off. See the module id list. |
disable-categories | Whole categories: HUD, COMBAT, VISUAL, QOL, CLIENT. |
caps | Per-setting limits: {module, key, min, max} for a range, or {module, key, value} to pin a value. |
competitive | Turns off every module except those listed in allow. |
reason | Shown on every lock in the player's mods panel. |
combat:
legacy-pvp: truelegacy-pvp sends the 1.8 combat feel to modern clients: old swing animation, block-hit visuals, no hit-delay visual and the legacy red hit colour. See Module rules.
Staff tools
Grants are given by permission when a player joins. Each moderator accepts them once per server.
staff:
reason: "Staff tools"
radius: 48
xray-blocks:
- "minecraft:diamond_ore #5FE0DC"
- "minecraft:ancient_debris #B07CFF"
- "minecraft:spawner #FF5555"
grants:
- permission: tehoapi.staff.xray
tools: [xray, storage_esp]
- permission: tehoapi.staff.esp
tools: [player_esp, nametags, entity_esp, tracers, highlights, trails]
- permission: tehoapi.staff.freecam
tools: [freecam, spectate]
- permission: tehoapi.staff.moderate
tools: [inspector, action_wheel, alerts, click_teleport, combat_overlay]
- permission: tehoapi.staff.admin
tools: [lag_map, fullbright]
storage-blocks: []
entity-types: []
inspector: true
combat-overlay: true
trail-seconds: 300
freeze:
title: "&bYou are frozen"
body: "Do not log out. A staff member will speak to you."| Key | What it does |
|---|---|
reason | Shown in the consent prompt. |
radius | How far, in blocks, X-Ray and storage ESP scan around the moderator. |
xray-blocks, storage-blocks, entity-types | "<id> #RRGGBB" entries. Empty lists use Teho's defaults. |
grants | Maps a permission to a list of tool ids. |
inspector, combat-overlay | Turn the built-in inspector cards and combat stats on or off. |
trail-seconds | How much movement history is kept per player, at one point per second. |
freeze | The text on the suspect's full-screen freeze overlay. |
Action wheel
staff:
action-wheel:
title: "Staff"
actions:
- {id: freeze, label: "Freeze", item: ice, target: player, builtin: freeze}
- {id: spectate, label: "Spectate", item: ender_eye, target: player, builtin: spectate}
- {id: invsee, label: "Inventory", item: chest, target: player, builtin: invsee}
- {id: lagmap, label: "Lag map", item: hopper, target: none, builtin: lagmap}
- {id: ban, label: "Ban", item: barrier, target: player, command: "ban {target} Cheating", as: staff}Built-in actions are freeze, spectate, teleport, invsee, screenshot, modlist, trail and lagmap. Anything else runs command, with {target}, {uuid} and {staff} replaced, as the moderator (as: staff) or otherwise as the console.
NPCs and private features
private:
grant: ""
npcs:
- uuid: "1f5c2b3a-0000-2000-8000-000000000001"
look: [cape:founder_cape, wings:founder_wings]
emote: wave
loop: trueThese only work with a private grant from Teho. See Private modules.
Backend and verification
backend:
url: ""
key: ""
verified:
certificate: ""
| Key | What it does |
|---|---|
backend.url, backend.key | The Teho backend and your tsk_ server key. Needed for rewards and the verified-server certificate. Keep the key out of version control. |
verified.certificate | A certificate set by hand. When empty, it is fetched with your key. |
Presence, links and packs
presence:
game: "Skyline"
state: "In the lobby"
links:
Discord: "https://discord.gg/skyline"
Store: "https://store.skyline.gg"
resource-pack:
url: "https://cdn.skyline.gg/pack.zip"
sha1: "0123456789abcdef0123456789abcdef01234567"
required: false| Key | What it does |
|---|---|
presence | Rich presence shown in Discord and the Teho friends list. |
links | Up to three buttons in the pause menu. They open behind vanilla's link confirmation. |
resource-pack | Tells Teho to prefetch your pack before the join. See Resource packs. |
Proxy
proxy:
secret: ""Set this to the same 16+ character secret as your proxy plugin. Leave it empty on standalone servers. See Networks & proxies.