Перейти к содержимому
Mineforgian

WERM

WERM is a modern, all-in-one monetization platform built specifically for Minecraft servers. Think of it as a Tebex alternative—but with better features, lower fees, and a focus on the modern server owner experience.

Загрузки
96
Подписчики
0
Обновлён
2 января 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 22 декабря 2025 г.

WERM - Web Engine for Realm Monetization

WERM Logo

The official Minecraft plugin for WERM - the future of game monetization. Global wallets, instant delivery, and powerful analytics—all with the lowest fees in the industry.

bStats

WebsiteDashboardDiscord


🆕 What's New in v1.0.4

⚡ Performance & Reliability Release

This release adds batch delivery confirmation and async file I/O to improve performance and reliability during high-load scenarios.

Feature Description
📦 Batch Delivery Confirmation Up to 10 confirmations per API call for 90% reduction in network overhead
🔄 Async File I/O Non-blocking queue persistence with debounced writes prevents main thread blocking
🛑 Graceful Shutdown Proper executor termination ensures no data loss during server stops
Faster Bulk Deliveries Improved performance when multiple items need to be delivered at once

Technical Details:

  • Batch size: 10 confirmations per API call
  • I/O thread: Daemon thread named WERM-ConfirmationQueue-IO
  • Shutdown timeout: 5 seconds for graceful termination
  • Debounced writes: 2-second delay to coalesce multiple queue changes

Previous Releases:

v1.0.3 - Performance Optimization
Feature Description
🔗 HTTP Connection Pooling New OkHttp-based connection manager with 5-connection pool and 5-minute keep-alive
📉 Smart Polling Dynamic polling with exponential backoff—reduces API calls by up to 75% during idle periods
Faster Response Times Keep-alive connections eliminate connection setup overhead
🛠️ Improved Resource Usage Connection reuse reduces memory footprint and CPU usage

Technical Details:

  • Connection pool: 5 max idle connections, 5-minute keep-alive
  • Timeouts: 10s connect, 30s read, 10s write
  • Backoff: Up to 4x base interval after consecutive empty responses
  • Instant reset when player joins or delivery found
v1.0.2 - bStats Update
  • 🔧 bStats Update - Updated bStats plugin ID for proper metrics tracking
  • All security hardening from v1.0.1 remains in place
v1.0.1 - Security Features
Feature Description
🛡️ Command Validation Blocks dangerous commands (op, deop, ban, stop) from being executed via deliveries
🔐 TLS 1.2+ Enforcement All API connections now require modern TLS protocols
📝 Debug Redaction Sensitive data (tokens, UUIDs) automatically redacted in debug logs
💾 Confirmation Queue Pending delivery confirmations survive server restarts
Input Sanitization Player names and UUIDs sanitized before command execution
🌐 Endpoint Validation HTTPS and domain whitelist enforcement for API endpoints
⏱️ Rate Limiting Verification attempts limited to prevent brute-force abuse
🔄 Auto-Discovery Project ID now auto-discovered from API (no hardcoding)

🌐 What is WERM?

What is WERM?

WERM is a modern, all-in-one monetization platform built specifically for Minecraft servers. Think of it as a Tebex alternative—but with better features, lower fees, and a focus on the modern server owner experience.

Platform Features

Feature Description
🔍 Server Discovery Get your server listed on our public directory where players can find, vote for, and join servers
💰 Global Wallet System Players have one wallet across all WERM-powered servers (1 credit = 1 USD cent)
🛒 Built-in Storefront Beautiful, customizable store pages with categories, sales, gifting, and wishlists
Instant Delivery Hybrid delivery system using webhooks + polling ensures items are delivered fast
🗳️ Voting System Integrated voting with Votifier/NuVotifier support to boost your server's ranking
💬 Discord Integration Display your Discord member count on your server listing
🌍 Multi-Currency Support Accept payments globally with automatic currency conversion
💸 Lowest Fees Starting at just 3% platform fee (vs 5%+ competitors)

Why Choose WERM?

  • Free Tier Available - Start monetizing with no monthly fees (up to $500/month revenue)
  • Modern Dashboard - Clean, intuitive interface for managing your server and products
  • Real-time Analytics - Track sales, player engagement, and revenue trends
  • Cross-Server Economy - Players can use their wallet credits on any WERM server
  • Open & Transparent - No hidden fees, no surprise charges

✨ Plugin Features

Features

🔗 Account Verification

Players can securely link their Minecraft account to WERM using a simple 6-character verification code. Generate a code on the website, enter it in-game, and you're connected!

📦 Automatic Delivery System

Automatically delivers purchased products to players using configurable console commands. Supports both immediate delivery and requiring players to be online.

💓 Server Heartbeat

Keeps your server status updated on the WERM dashboard with real-time player counts and server version information.

🎮 Player Join Detection

Automatically checks for and delivers pending purchases when players join the server.

⚡ Async Processing

All API calls are processed asynchronously to ensure zero impact on your server's performance.

🛡️ Secure Authentication

Uses secure plugin token authentication to ensure only your server can manage deliveries.

📝 Fully Customizable

All messages are fully configurable with Minecraft color code support (& codes).


📜 Commands

Commands

Command Description Permission
/werm verify <code> Link your Minecraft account with WERM werm.verify (default: true)
/werm help Display help information None
/werm status View plugin connection status werm.admin (default: op)
/werm reload Reload plugin configuration werm.admin (default: op)

Aliases: /w


🎯 Permissions

Permission Description Default
werm.verify Allows players to verify their Minecraft account true
werm.admin Admin commands (reload, status) op

⚙️ Configuration

# WERM Plugin Configuration

# Generate your plugin token at https://wermpay.com/dashboard/servers
plugin-token: "werm_XXXXXXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

# Enable debug logging for troubleshooting
debug: false

# Heartbeat Settings
heartbeat:
  interval: 60              # Send status every X seconds
  send-player-count: true   # Include player count in heartbeat

# Delivery Settings  
delivery:
  interval: 15              # Check for deliveries every X seconds

# Customizable messages (supports & color codes)
messages:
  prefix: "&8[&6WERM&8] &r"
  verify-success: "&aYour Minecraft account has been linked successfully!"
  verify-failed: "&cVerification failed: &7%reason%"
  delivery-received: "&aYou received: &e{product} &ax{quantity}"
  # ... and more customizable messages

📦 Delivery Placeholders

When configuring your product commands in the WERM dashboard, you can use these placeholders:

Placeholder Description
{player} or {player_name} Player's username
{uuid} or {player_uuid} Player's UUID
{quantity} Quantity purchased
{product_id} Product ID
{product_name} Product name
{order_id} Order ID
{delivery_id} Delivery ID

Example Commands:

give {player} diamond 64
lp user {player} parent add vip
eco give {player} 1000

🚀 Installation

Installation

  1. Download the WERM plugin JAR file
  2. Place it in your server's plugins folder
  3. Start/restart your server
  4. Generate a plugin token in your WERM Dashboard
  5. Edit plugins/WERM/config.yml and add your plugin token
  6. Run /werm reload or restart your server
  7. ✅ Your server will now appear as online in the WERM dashboard!

📋 Requirements

  • Server Software: Spigot, Paper, Purpur, or any Spigot-based fork
  • Minecraft Version: 1.13+
  • Java Version: 8+
  • WERM Account: Create one here

🔧 How It Works

  1. Setup: Configure the plugin with your unique plugin token from the WERM dashboard
  2. Heartbeat: The plugin sends periodic heartbeats to keep your server status updated
  3. Purchases: When a customer makes a purchase on your WERM store, a delivery is queued
  4. Delivery: The plugin polls for pending deliveries and executes the configured commands
  5. Confirmation: Successful deliveries are confirmed and marked as completed

💬 Support

Need help? Join our Discord Server for support and community discussions.


📄 License

This plugin is provided by WERM for use with the WERM monetization platform.


WERM - The Future of Game Monetization
© 2026 WERM | Made with ❤️ for the Minecraft community

Ченджлог

1.0.4Релиз1.21.9, 1.21.10, 1.21.11 · 2 января 2026 г.

[1.0.4] - 2026-01-02

⚡ Performance & Reliability Release

This release adds batch delivery confirmation and async file I/O to improve performance and reliability during high-load scenarios.

Added

Batch Delivery Confirmation (Improvement 1.3)

  • New Batch API - Confirmations are now batched (up to 10 at a time) and sent in a single API call
  • Backend Support - New batch-confirm-delivery endpoint processes multiple confirmations atomically
  • Reduced API Overhead - Up to 90% reduction in confirmation API calls during bulk deliveries
  • Graceful Fallback - Automatically falls back to individual confirmations if batch fails

Async File I/O (Improvement 1.4)

  • Non-blocking File Writes - Confirmation queue saves now run on a dedicated background thread
  • ExecutorService - Single-thread daemon executor prevents main thread blocking
  • Debounced Saves - Multiple queue changes are coalesced into fewer disk writes
  • Graceful Shutdown - Synchronous save on server stop ensures no data loss

Changed

  • DeliveryConfirmationQueue.java - Complete rewrite with batch processing and async I/O
  • VerificationAPI.java - Added batchConfirmDeliveries() method for batch API calls
  • WERMPlugin.java - Updated onDisable() to properly shutdown confirmation queue

Technical Details

  • Batch Size: 10 confirmations per API call
  • I/O Thread: Daemon thread named WERM-ConfirmationQueue-IO
  • Shutdown Timeout: 5 seconds for graceful termination
  • New Classes:
    • BatchConfirmation - Data class for batch confirmation items
    • BatchConfirmResult - Result wrapper for batch API responses

Performance Impact

  • ~90% reduction in confirmation API calls during bulk deliveries
  • Zero main thread blocking from file I/O operations
  • Faster server shutdown due to optimized queue persistence
  • Lower disk I/O through debounced writes
1.0.3Релиз1.21.9, 1.21.10, 1.21.11 · 28 декабря 2025 г.

[1.0.3] - 2025-01-11

🚀 Performance Optimization Release

This release focuses on network performance improvements with connection pooling and smart polling to reduce server load and API traffic.

Added

Performance Features

  • HTTP Connection Pooling (Improvement 1.1) - New HttpClientManager.java using OkHttp for efficient connection reuse

    • Maintains pool of 5 idle connections with 5-minute keep-alive
    • Eliminates connection setup overhead for repeated API calls
    • Proper TLS 1.2+ enforcement built into the connection pool
    • Configurable timeouts: 10s connect, 30s read, 10s write
  • Smart Polling with Exponential Backoff (Improvement 1.2) - Dynamic polling based on server activity

    • Increases polling interval when no deliveries are found (up to 4x base interval)
    • Automatically resets to base interval when deliveries are found
    • Instantly checks for deliveries when players join
    • Reduces API load during low-activity periods by up to 75%

Changed

  • Replaced all HttpURLConnection usage with OkHttp client in VerificationAPI.java
  • Refactored DeliveryTask.java with backoff state management
  • Updated WERMPlugin.java to properly shutdown HTTP client on disable
  • Updated API connectivity test to use connection pool

Technical Details

  • New Dependency: OkHttp 4.12.0 (Java 8 compatible)
  • Relocated Packages: okhttp3, okio, kotlincom.werm.libs.*
  • Backoff Configuration:
    • Max backoff multiplier: 4x
    • Backoff triggers after 3 consecutive empty responses
    • Backoff resets on delivery found or player join

Performance Impact

  • ~50% reduction in connection overhead through reuse
  • Up to 75% reduction in API calls during idle periods
  • Faster response times due to keep-alive connections
  • Lower memory footprint from connection reuse
1.0.2Релиз1.21.9, 1.21.10, 1.21.11 · 27 декабря 2025 г.

[1.0.2] - 2025-12-27

🔧 Maintenance Release

This release updates the bStats plugin ID for proper metrics tracking.

Changed

  • Updated bStats plugin ID from 24691 to 28553 for correct metrics tracking
  • Updated internal version constant to 1.0.2

Notes

  • No functional changes from 1.0.1
  • All security hardening from 1.0.1 remains in place

1.0.1Релиз1.21.9, 1.21.10, 1.21.11 · 26 декабря 2025 г.

[1.0.1] - 2025-12-27

🔒 Security Hardening Release

This release focuses on comprehensive security improvements based on a full security audit.

Added

Security Features

  • Command Validator - New CommandValidator.java blocks dangerous commands (op, deop, ban, stop, reload, whitelist, etc.) from being executed via deliveries
  • Delivery Confirmation Queue - New DeliveryConfirmationQueue.java persists pending confirmations to survive server restarts
  • TLS 1.2+ Enforcement - All API connections now require TLS 1.2 or higher
  • Debug Log Redaction - Sensitive data (tokens, UUIDs, delivery IDs) automatically redacted in debug logs
  • Input Sanitization - Player names and UUIDs sanitized before command placeholder substitution
  • API Endpoint Validation - HTTPS requirement and domain whitelist enforcement
  • Verification Rate Limiting - 5-second cooldown between /werm verify attempts
  • IP Change Detection - Backend logs security events when tokens are used from new IPs
  • Configurable Fallback - Fallback endpoints now require explicit opt-in (disabled by default)
  • Auto-Discovery - Appwrite Project ID now auto-discovered from API /config endpoint

Admin Dashboard

  • Audit Logs Page - New page in admin dashboard to view security events

Changed

  • Removed hardcoded Appwrite Project ID from VerificationAPI.java
  • Improved error handling for SSL/TLS connections
  • Enhanced debug logging with automatic data redaction

Security Fixes

  • CVE-like Fixes:
    • Command injection via delivery commands (Critical)
    • Debug mode exposing sensitive tokens (High)
    • No rate limiting on verification attempts (Medium)
    • Delivery confirmation atomicity issues (Medium)
    • Player name injection in commands (Medium)
    • Hardcoded project ID (High)
    • SSL certificate validation (High)
    • Unconfigured fallback endpoints (Low)
    • No endpoint validation (Low)

Files Added

  • CommandValidator.java - Command blacklist and pattern validation
  • DeliveryConfirmationQueue.java - Persistent confirmation queue

1.0.0Релиз1.21.9, 1.21.10, 1.21.11 · 22 декабря 2025 г.

[1.0.0] - 2025-12-23

🎉 Initial Release

The first official release of the WERM (Web Engine for Realm Monetization) Minecraft plugin.

Added

Core Features

  • Account Verification System - Players can link their Minecraft account to WERM using /werm verify <code> with 6-character verification codes
  • Automatic Delivery System - Automatically delivers purchased products to players by executing configured console commands
  • Server Heartbeat - Sends periodic status updates to the WERM dashboard including player counts and server version
  • Player Join Detection - Checks for and delivers pending purchases when players join the server
  • Player Online Notification - Notifies the WERM API when players come online for real-time status tracking

Commands

  • /werm verify <code> - Link Minecraft account with WERM platform
  • /werm help - Display plugin help and information
  • /werm status - View plugin connection status (admin only)
  • /werm reload - Reload plugin configuration (admin only)
  • /w - Command alias for /werm

Permissions

  • werm.verify - Allows players to verify their account (default: true)
  • werm.admin - Access to admin commands like reload and status (default: op)

Configuration

  • Configurable plugin token authentication
  • Adjustable heartbeat interval (default: 60 seconds)
  • Adjustable delivery polling interval (default: 15 seconds)
  • Toggle player count in heartbeat
  • Debug mode for verbose logging
  • Fully customizable messages with color code support (& codes)

Delivery System

  • Support for multiple delivery commands per product
  • Command placeholder support:
    • {player} / {player_name} - Player's username
    • {uuid} / {player_uuid} - Player's UUID
    • {quantity} - Quantity purchased
    • {product_id} - Product ID
    • {product_name} - Product name
    • {order_id} - Order ID
    • {delivery_id} - Delivery ID
  • Option to require player online for delivery
  • Automatic delivery confirmation to WERM API
  • Failed delivery reporting with error messages
  • Duplicate delivery prevention

Technical

  • Fully asynchronous API communication (no server lag)
  • Tab completion for all commands and subcommands
  • Console command support for /werm reload
  • API connectivity testing on startup
  • Endpoint fallback support for reliability
  • GSON-based JSON parsing for API communication
  • Secure token-based authentication with X-Plugin-Token header

Compatibility

  • Spigot API 1.13+ support
  • Compatible with Paper, Purpur, and all Spigot-based forks
  • Java 8+ support

Links

Комментарии

Загружаем…