Skip to content

Releases: Neomechanical/NeoModeration

NeoModeration 1.6.5

Choose a tag to compare

@KyTDK KyTDK released this 08 Oct 13:03
acad29e

NeoModeration 1.6.5

Cloud verdicts and player input handling are more reliable. Local word/link and anti-spam checks work without an account; optional cloud evaluation starts with /nmod trial and runs in monitor mode.

  • Parse complete JSON scores, including scientific notation. Respect disabled categories and custom thresholds; malformed or missing verdicts count as unavailable.
  • Cloud outages and busy workers follow failOpen without issuing strikes, mutes or other player punishments. Cloud monitor mode continues to allow chat. /nmod test shows the same outcome.
  • Remove quadratic local matching for long whitespace and repeated separated-letter inputs.
  • Scan namespaced forms of configured messaging commands. Block flagged extra-surface content when censoring cannot remove it, including split sign/book content.
  • Cache map verdicts by saved image content and cloud settings, so changed artwork is checked again. Limit concurrent map scans and cloud chat work.
  • Protect trial activation from duplicate requests and configuration races; apply its key on the global scheduler and start cloud checks in monitor mode. Reject malformed trial status responses.
  • Disclose aggregate bStats charts in the public README.

After installing, run /nmod doctor and /nmod test badword. Review your starter word list. /nmod mode enforce controls local rules; /nmod cloudmode enforce controls cloud decisions separately. Optional sign/book/anvil/command surfaces remain configurable.

Automated verification covers Paper 1.18.2, 1.19.4, 1.20.6 and 1.21.11. Current calendar releases need a separate startup check; this release makes no new automated 26.x chat coverage claim.

NeoModeration 1.6.4

Choose a tag to compare

@KyTDK KyTDK released this 08 Oct 09:48

NeoModeration 1.6.4 — Trial Diagnostics, Cloud Category Reporting, and URL Evasion Coverage

This release surfaces /nmod trial and /nmod trial status across all in-game help, startup logs, and diagnostics, reports the specific cloud category that triggered a verdict (platform:<category>), and closes dot-obfuscated URL evasion (discord[.]gg, discord dot gg) in default URL matching.

New and Improved

  • In-Game Trial Diagnostics (/nmod trial status): Check active 14-day evaluation trials, remaining days, expiration timestamps, and workspace claim links directly from Minecraft.
  • Surfaced Trial Onboarding: /nmod help, /nmod doctor, /nmod status, /nmod test, and startup logs now guide operators to /nmod trial when no API key is configured, and existing locale files automatically migrate unchanged legacy strings.
  • Specific Cloud Category Attribution: Staff alerts, /nmod test, and /nmod cases now report platform:<category> (for example platform:harassment or platform:sexual) instead of a generic platform reason when the cloud flags chat.
  • Dot-Obfuscated Link Detection: Default banned URL matching now normalizes bracketed and word-substituted dots ([.], (dot), dot) so disguised invite links are caught without requiring wildcard rules.

Verify and upgrade

Run /nmod test badword to preview the bundled local rule without executing actions. Run /nmod status and /nmod doctor to inspect configured checks and cloud health. Local matches block on a new install; /nmod mode monitor previews them through alerts, while /nmod mode enforce restores blocking. Cloud decisions start in monitor mode and only block after /nmod cloudmode enforce.

Run /nmod trial to begin a 14-day evaluation trial of context-aware cloud protection, or /nmod trial status to inspect an active trial.

Existing servers keep their saved config.yml, including action lists, strike settings, modes, category toggles, word rules and API keys. Review the starter English list for your server. This release has no measured effect yet on installations, repeat use, cloud activation, sign-ups or revenue.

NeoModeration 1.6.3

Choose a tag to compare

@KyTDK KyTDK released this 01 Oct 08:03

NeoModeration 1.6.3 — Minecraft Threat Intelligence and Instant Evaluation Trial

This release introduces direct server-side threat detection for obfuscated IP addresses and advertising patterns, along with a zero-friction evaluation bridge for Neomechanical cloud moderation. Server administrators can now activate a 14-day trial of cloud scanning directly with /nmod trial.

New and Improved

  • Instant Evaluation Trial (/nmod trial): Server owners can test context-aware cloud moderation immediately without leaving Minecraft or manually generating credentials upfront. Evaluation activations are authenticated via signed plugin handshakes with server-side expiry.
  • Obfuscated Advertising and IP Filtering: Enhanced detection for evasive server IP formats, disguised dots, spaced digits, and port evasion in chat and signs.
  • Trial Status and Expiration Reporting: /nmod trial status and /nmod doctor display remaining trial days, credit quotas, and direct links to claim or extend workspace keys.
  • Hardened Handshake: All evaluation requests use tamper-resistant install identities and timestamped HMAC verification to protect trial access.

Verify and upgrade

Run /nmod test badword to preview the bundled local rule without executing actions. Run /nmod status and /nmod doctor to inspect configured checks and cloud health. Local matches block on a new install; /nmod mode monitor previews them through alerts, while /nmod mode enforce restores blocking. Cloud decisions start in monitor mode and only block after /nmod cloudmode enforce.

Run /nmod trial to begin a 14-day evaluation trial of context-aware cloud protection.

Existing servers keep their saved config.yml, including action lists, strike settings, modes, category toggles, word rules and API keys. Review the starter English list for your server. This release has no measured effect yet on installations, repeat use, cloud activation, sign-ups or revenue.

NeoModeration 1.6.2

Choose a tag to compare

@KyTDK KyTDK released this 26 Sep 02:03
5a7e36d

NeoModeration 1.6.2 — First-run status and cloud coverage corrections

This release corrects what a new server owner sees after installing 1.6.1. The intentional block-only policy no longer appears broken in /nmod doctor. Startup, status, doctor and privacy now use the same configured-coverage check, so they do not describe disabled checks as active. These are reporting corrections; they do not change an existing server's saved policy.

Fixed

  • /nmod doctor treats an empty extra-action list as healthy: local rules can still block a matched message without muting or clearing chat. It names local and cloud modes separately.
  • /nmod status, startup output and /nmod privacy describe only checks that are configured to run. bStats coverage charts use the same calculation; cloud account health remains a separate question from configured coverage.
  • With all cloud text categories disabled, chat no longer sends a cloud text request. Key-gated map scanning is independent and unchanged.
  • /nmod test <message> respects disabled chat scanning and correctly previews local censoring. The command now explains that rate, caps, repetition, command and map checks need live context; a one-message cloud preview cannot demonstrate conversation context.

Verify and upgrade

Run /nmod test badword to preview the bundled local rule without executing actions. Run /nmod status and /nmod doctor to inspect configured checks and cloud health. Local matches block on a new install; /nmod mode monitor previews them through alerts, while /nmod mode enforce restores blocking. Cloud decisions start in monitor mode and only block after /nmod cloudmode enforce.

Existing servers keep their saved config.yml, including action lists, strike settings, modes, category toggles, word rules and API keys. Review the starter English list for your server. This release has no measured effect yet on installations, repeat use, cloud activation, sign-ups or revenue.

NeoModeration 1.6.1

Choose a tag to compare

@KyTDK KyTDK released this 24 Sep 08:15

NeoModeration 1.6.1 — Block the message, spare the server-wide chat

NeoModeration should be useful from the first minute without punishing a player for one match against an unreviewed starter list. On a new install, local word, URL and anti-spam matches still block immediately, alert staff and log a case. Extra actions are now empty and strike escalation is off: a first match does not clear chat for everyone or mute the player for five minutes. Cloud decisions still start in monitor mode.

Fixed

  • /nmod test <message> now applies the right mode to the deciding engine. A cloud flag in cloud monitor mode previews an alert, even if local rules enforce. The test states that rate, repetition, command and map checks need live context.
  • NSFW map-art cloud verdicts now obey cloud mode. A flagged map alerts staff without confiscation while cloud mode is monitor, even when local word rules enforce.
  • /nmod status now shows cloud MONITOR or ENFORCE when a key is configured, instead of the ambiguous “CONFIGURED.”
  • /nmod action reset returns to block-only extra actions. Strike escalation remains a separate setting.
  • /nmod preset family|community|minimal now tunes cloud thresholds without silently replacing an operator's punishment policy. A key is still required for cloud checks.
  • Startup output and the bundled documentation now state exactly what the new-install policy does.

Verify and upgrade

Run /nmod test badword to preview the bundled local rule without executing actions. Run /nmod mode monitor if you want all local decisions to alert only; /nmod mode enforce restores blocking. Use /nmod cloudmode enforce only after reviewing cloud results.

Existing servers keep their saved config.yml. This release does not rewrite an existing action list, strike ladder, modes, word list or API key. Review /nmod status and /nmod action list after restarting. To adopt the new block-only extra-action default on an existing server, use /nmod action reset and disable moderation.strikes.enabled in config.yml if you previously enabled strikes.

The safer defaults are a product hypothesis. They have not yet been shown to improve install retention or cloud activation; those outcomes will be measured separately.

NeoModeration 1.6.0

Choose a tag to compare

@KyTDK KyTDK released this 03 Sep 14:39
fe9e991

NeoModeration 1.6.0 — Protects from the first minute, with a menu that keeps up

NeoModeration 1.6.0 changes what a fresh install does: the local word and URL
lists you control are enforced immediately, while cloud judgements — made by a
model, not a list you wrote — only alert until you trust them. The /nmod
help screen is now a clickable two-page menu instead of a wall of text, and
cloud verdicts that arrive as numeric scores are judged against your
thresholds instead of being read as clean.

New

  • Clickable help menu: /nmod opens a two-page menu. Safe commands run
    on click; commands that need arguments pre-fill the chat line; hovering any
    entry shows its usage and description. Server console gets the same menu as
    plain text.
  • Dashboard header: help, status, test, and doctor output open with one
    live line — version, local mode, cloud mode, and total detections — so staff
    always see the current posture first.
  • Split enforcement modes: new installs enforce local rules straight away
    (mode: enforce) and keep cloud decisions in monitor until an admin runs
    /nmod cloudmode enforce. Removing cloudMode from the config makes cloud
    decisions follow mode.
  • Starter word list: new installs ship a small bundled English list so
    real abuse is blocked from the first minute. Matching is whole-word, and
    the list is yours to extend with /nmod word and /nmod allow.
  • Sign, book, anvil, and whisper moderation: the same local word and URL
    lists now also cover signs, written books, anvil renames, and configured
    whisper commands. Each surface has its own mode (off, monitor, censor,
    block), so you can censor signs while only monitoring books. Surfaces stay
    off on existing servers until enabled, and they use local rules only —
    never a cloud call on the server thread — so there is zero tick lag.
  • Folia support: the scheduler is Folia-aware and the plugin declares
    folia-supported.
  • Update checker and install telemetry: new installs can learn about new
    versions in-game, and anonymous install statistics are now charted.

Fixed

  • Cloud verdicts with numeric scores: some cloud decisions arrive as
    per-category scores (e.g. harassment 0.87 with status review) rather than
    a blocked flag. These are now compared against the configured category
    thresholds, so a high-score verdict is flagged instead of being read as
    clear.

Verification

156 unit tests pass with 0 failures, including new coverage for the clickable
menu rendering, the dashboard header, locale migration, and numeric cloud
scores. The exact release JAR was canary-tested on a live Paper 1.21.11
server: real chat was flagged and blocked, /nmod test previews matched live
behaviour, the menu rendered clickable in-game with a plain-text console
fallback, and a placed sign with a banned word was censored with strike
escalation.

These figures describe this release's automated suite plus a live canary run.
They are not a claim about every moderation category, language, or server
policy.

Upgrade notes

Replace the previous JAR and restart. Existing servers keep their word lists:
a missing moderation.mode still parses as enforce, and a missing
cloudMode follows mode, so current behaviour never silently weakens.

Run /nmod test badword after restart to confirm the local path. If you are
evaluating on a new install, cloud decisions start in monitor mode, where
detections alert staff without blocking or punishing players. Review the
results before enabling enforcement with /nmod mode enforce.

NeoModeration 1.5.1

Choose a tag to compare

@KyTDK KyTDK released this 28 Aug 06:19
49969ea

NeoModeration 1.5.1 — Closes common word-filter bypasses

NeoModeration 1.5.1 strengthens the configured local word filter against the
ways players commonly disguise blocked terms. Existing configuration, word
lists, and enforcement mode are unchanged.

Improved

  • Spacing and punctuation: separated or punctuated letters are compared to
    configured words while ordinary word boundaries remain intact.
  • Repeated characters: simple character flooding no longer bypasses a
    configured term.
  • Unicode lookalikes: accents, fullwidth and mathematical characters,
    zero-width characters, and common Cyrillic/Greek lookalikes are normalized
    before matching.
  • Leetspeak: common substitutions are handled without treating punctuation
    at the edge of a word as an extra letter.
  • Censoring: the normalized match retains its position in the original
    message, so detection and replacement continue to agree.

Verification

Against the release's configured-word evasion corpus, the public 1.5.0 engine
caught 18 of 51 cases; 1.5.1 catches 51 of 51. The focused guard flagged
0 of 30 clean lines, and the full 403-rule guard flagged 0 of 100
ordinary English and Minecraft lines. The exact merged release's 5,000-message
benchmark completed at 18.9 microseconds per message, inside the existing 2,000
microsecond guard.

These figures measure evasion resistance for configured local words. They are
not a claim about every moderation category, language, or server policy.

Upgrade notes

Replace the previous JAR and restart. No configuration migration is required.
NeoModeration preserves the server's current word list and mode.

Run /nmod test badword after restart to confirm the local path. New installs
still begin in monitor mode, where detections alert staff without blocking
or punishing players. Review the results before enabling enforcement with
/nmod mode enforce.