▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/KrepAPI (Plugin)
KrepAPI (Plugin)

KrepAPI (Plugin)

Run server commands when a player presses a key- configured in a simple YAML file, no programming required.

7
0

KrepAPI (Plugin) 1.0.1

alpha6 апреля 2026 г.

github

IMPORTANT: Set require-krepapi to false - there is currently a bug related to this, but it will be fixed in the next update

Added

  • Debug mode — new debug: true/false option in config.yml; when active, all log lines are prefixed with [DEBUG] and cover the full plugin lifecycle:
    • Handshake flow (nonce generation, S2C_HELLO send, timeout scheduling).
    • C2S_CLIENT_INFO processing (protocol version, mod version, capability bitfield, nonce validation, version-check result).
    • Binding config loading (each parsed entry with key code, command, category, override flag; final count).
    • S2C_BINDINGS sync (entry count, send/skip reason).
    • C2S_KEY_ACTION dispatch (action id, phase, sequence, cooldown check, command execution).
    • C2S_RAW_KEY and C2S_MOUSE_ACTION decoding (key/scancode/button, GLFW action, modifiers).
    • S2C_RAW_CAPTURE, S2C_INTERCEPT_KEYS, S2C_MOUSE_CAPTURE outgoing sends (including capability gate).
    • Version constraint registration and cleanup on plugin disable.
    • Player quit cleanup.
    • Hex-dumped raw payloads (with byte length) for every incoming and outgoing plugin-message channel.
  • /krepapi command (permission krepapi.admin, default: op) with tab completion:
    • /krepapi debug [on|off] — toggle debug logging at runtime without server restart; without argument it toggles the current state.
    • /krepapi status — global overview: debug state, require-krepapi, minimum-mod-version, loaded bindings (with key → command mapping), online/handshaked/pending player counts, and registered version constraints by plugin.
    • /krepapi status <player> — per-player detail: handshake state (complete / pending / none), capability bitfield, and decoded capability flags (e.g. MOUSE_CAPTURE).
    • /krepapi reload — hot-reload config.yml, re-parse debug flag and bindings without restart.

Notes

  • The net.shik:protocol dependency version in build.gradle must stay aligned with mod_version in the sibling KrepAPI repo’s gradle.properties.
  • Players still need the KrepAPI Fabric mod build that matches their Minecraft client version; the plugin only handles the server side.

KrepAPI (Plugin) 1.0.0

alpha5 апреля 2026 г.

github

IMPORTANT: Changes to the config file will not take effect until the server is restarted

Added

  • Config-driven key bindings — define GLFW keys, display names, categories, optional vanilla override, and server commands under bindings.<id> in config.yml.
  • Automatic KrepAPI handshake — sends s2c_hello, validates c2s_client_info, protocol version, and mod build requirements.
  • Optional enforcementrequire-krepapi and handshake-timeout-ticks to kick players without a timely, valid client response.
  • Binding sync — pushes s2c_bindings from configuration after a successful handshake (and a delayed path when require-krepapi is disabled).
  • Command execution on key pressc2s_key_action triggers configured commands as the player on PHASE_PRESS only; leading / stripped; execution scheduled on the main thread.
  • Per-player cooldown — wall-clock based (~250 ms) to reduce command spam from repeated packets (avoids tick APIs for broader compatibility).
  • versionGate(Plugin) APIKrepAPIVersionGate for other plugins to register extra minimum client build constraints (Bukkit plugin name: KrepAPI).
  • Auxiliary protocol hookssendRawCaptureConfig, sendInterceptKeys, sendMouseCaptureConfig, and getClientCapabilities for advanced integrations (same layout as the KrepAPI reference implementation).
  • Single distributable JAR — embeds the net.shik.krepapi.protocol classes alongside the plugin (no separate protocol JAR on the server).
  • Gradle composite build — resolves net.shik:protocol from a sibling KrepAPI checkout (../KrepAPI by default).
  • Developer-oriented source — short comments on handshake, config → bindings, and key → command flow for use as a template.

Supported environments (intended)

  • Paper (not Spigot-only or Sponge); Purpur and similar Paper forks are expected to work but are not separately certified.
  • Minecraft / Paper game versions: 1.21.4–1.21.11 and 26.1–26.1.1 (one JAR, compiled against Paper API 1.21.4; api-version 1.21.4 in plugin.yml).
  • Java 21 for building; run the server with the Java version required by your Paper build.

Build / tooling

  • Gradle wrapper 9.4.x — required so composite inclusion of the KrepAPI monorepo (Fabric Loom subprojects) configures correctly (Gradle 8.8 is insufficient).
  • run-paper task for local smoke tests (default minecraftVersion 1.21.4).

Notes

  • The net.shik:protocol dependency version in build.gradle must stay aligned with mod_version in the sibling KrepAPI repo’s gradle.properties.
  • Players still need the KrepAPI Fabric mod build that matches their Minecraft client version; the plugin only handles the server side.

Совместимость

Minecraft: Java Edition

26.1.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:Apache-2.0
Опубликован:1 неделю назад
Обновлён:1 неделю назад
Главная