Dimic Technologies Dimic Tech
Back to wiki

WebInv

Complete documentation for the WebInventory plugin.

Category: Plugins Reading time: 20 min Updated: Feb 9, 2026

WebInventory Plugin - Complete Documentation

> Version 1.4 | Supports Spigot/Paper 1.20+ | Folia Compatible

WebInventory is a premium Minecraft plugin that provides a web-based interface for viewing player inventories, running a web store, and managing your server through an admin dashboard.


Table of Contents

  1. Installation
  2. Getting Started
  3. Commands
  4. Permissions
  5. Configuration
  6. Web Store
  7. Admin Dashboard
  8. Custom Items Support
  9. Economy Integration
  10. Map Integration
  11. Theme Customization
  12. Security Features
  13. REST API
  14. WebSocket API
  15. Database Setup
  16. Localization
  17. Discord Webhooks
  18. Troubleshooting

Installation

Requirements

  • Minecraft Server: Spigot, Paper, or Folia 1.20+
  • Java: 21 or higher
  • Economy Plugin: Vault, PlayerPoints, or compatible (for store features)

Steps

  1. Download WebInventory.jar from Spigot or BuiltByBit
  2. Place the JAR in your plugins/ folder
  3. Restart your server
  4. Edit plugins/WebInventory/config.yml
  5. Restart again or use /winv reload

Accessing the Web Interface

After installation, access the web interface at:

http://YOUR_SERVER_IP:8081

Getting Started

For Players

  1. Run /winv enable to enable your web inventory
  2. Share your inventory link with others
  3. Run /winv link <code> to link your account for web store access

For Admins

  1. Set an admin password in config.yml or grant the dimictech.webinv.admin permission
  2. Access the admin dashboard at http://YOUR_SERVER_IP:8081/admin
  3. Login with password or use in-game link code

Commands

Player Commands

Command Description
/winv Show help and current status
/winv enable Enable your web inventory
/winv disable Disable your web inventory
/winv link <code> Link account using web-generated code
/winv url Get your personal inventory URL

Admin Commands

Command Permission Description
/winv reload dimictech.webinv.admin Reload configuration
/winv admin-link <code> dimictech.webinv.admin Link admin account for dashboard

Permissions

Permission Description Default
webinventory.use Allow using /winv command true
webinventory.enable Allow enabling web inventory true
webinventory.link Allow linking account true
dimictech.webinv.admin Admin dashboard access op
dimictech.webinv.reload Reload configuration op

Configuration

Web Server Settings

web:
 # IP to bind to (0.0.0.0 = all interfaces)
 address: "0.0.0.0"

 # Port for web server
 port: 8081

 # Mode: "embedded" (full) or "api-only" (REST only)
 mode: "embedded"

Visibility Modes

data:
 # OPTIONAL - Players choose (default)
 # FORCE_ENABLED - Always on for everyone
 # FORCE_DISABLED - Always off for everyone
 # PERMISSION - Enabled if player has webinventory.enable permission
 visibility-mode: "OPTIONAL"

 # Show OPs in FORCE_ENABLED mode
 ops-visible: true

Security Settings

security:
 rate-limit:
 enabled: true
 requests-per-minute: 60

 websocket:
 max-connections-per-ip: 5

 https:
 enabled: false
 keystore-path: "keystore.jks"
 keystore-password: "changeit"

Web Store

The web store allows players to buy and sell items through the web interface.

Setup

  1. Install an economy plugin (Vault, PlayerPoints)
  2. Access admin dashboard at /admin
  3. Create categories and add items
  4. Players link accounts with /winv link <code>

Economy Support

store:
 economy:
 # AUTO - Auto-detect available economy
 # VAULT - Use Vault
 # PLAYERPOINTS - Use PlayerPoints
 type: AUTO

Stock System

  • Set stock to -1 for unlimited
  • Stock decreases on purchase
  • "Out of Stock" shown when stock = 0

Price History

The plugin tracks all price changes with:

  • Who changed the price
  • When it was changed
  • Old and new values

Admin Dashboard

Access at: http://YOUR_SERVER_IP:8081/admin

Features

  • Overview: Server stats, recent transactions
  • Items: Add, edit, delete store items
  • Categories: Organize items into categories
  • Transactions: View all buy/sell history
  • Price History: Track price changes over time

Authentication Methods

1. Password Login

admin:
 password: "your_bcrypt_hash"

Generate BCrypt hash at: https://bcrypt-generator.com

  1. Click "Link with Minecraft" on login page
  2. Copy the 6-character code
  3. Run /winv admin-link <code> in-game
  4. You're logged in!

Two-Factor Authentication (2FA)

admin:
 security:
 2fa:
 enabled: true

Set up via admin dashboard before enabling.

IP Whitelist

admin:
 security:
 ip-whitelist: ["127.0.0.1", "192.168.1.0/24"]

Custom Items Support

WebInventory supports custom item plugins:

ItemsAdder

# In admin panel:
Provider: ITEMSADDER
Custom ID: namespace:item_id
Icon: DIAMOND_SWORD (vanilla material for texture)

MMOItems

# In admin panel:
Provider: MMOITEMS
MMO Type: SWORD (item type)
Custom ID: RUBY_SWORD (item ID)
Icon: DIAMOND_SWORD

Oraxen

# In admin panel:
Provider: ORAXEN
Custom ID: item_id
Icon: DIAMOND_SWORD

Economy Integration

Vault

Most common economy bridge. Works with:

  • EssentialsX Economy
  • CMI Economy
  • Any Vault-compatible plugin

PlayerPoints

Point-based economy system.

Configuration

store:
 economy:
 type: AUTO # or VAULT, PLAYERPOINTS

Real-Money Payments (Premium)

Accept PayPal and crypto payments for store items.

Setup

store:
 payments:
 enabled: true
 currency: "USD"
 callback-url: "https://yourserver.com:8081/api/payments/callback"

 paypal:
 enabled: true
 mode: "sandbox" # or "live"
 client-id: "YOUR_PAYPAL_CLIENT_ID"
 client-secret: "YOUR_PAYPAL_SECRET"

 crypto:
 enabled: true
 api-key: "YOUR_NOWPAYMENTS_API_KEY"
 ipn-secret: "YOUR_IPN_SECRET"

PayPal Setup

  1. Create account at developer.paypal.com
  2. Create REST API app (Sandbox for testing)
  3. Copy Client ID and Secret
  4. Test with sandbox, switch to "live" for production

Crypto Setup (NOWPayments)

  1. Create account at nowpayments.io
  2. Get API Key from dashboard
  3. Configure IPN Secret for webhooks
  4. Supports BTC, ETH, LTC, and 100+ cryptocurrencies

Payment Flow

  1. Player clicks "PayPal" or "Crypto" on item
  2. Redirected to payment provider
  3. After payment, item delivered in-game
  4. Offline players receive items on next login

Map Integration

Integrates with popular map plugins to show player locations.

Supported Plugins

  • Dynmap
  • BlueMap
  • Pl3xMap
  • Squaremap

Configuration

maps:
 enabled: true
 # Optional: Force specific URL
 url: "https://map.yourserver.com"

Theme Customization (Premium)

Customize the look and feel of your web interface.

Configuration

customization:
 # Remove "Powered by WebInventory" footer
 remove-branding: true

 # Custom footer text
 footer-text: "My Awesome Server"

 # Theme preset: default, dark, midnight, custom
 theme: "dark"

 # Custom colors (override theme)
 colors:
 primary: "#3B82F6"
 secondary: "#6366F1"
 accent: "#22C55E"
 background: "#0f0f1a"
 card: "#1a1a2e"
 text: "#ffffff"

 # Custom logo/favicon
 logo-url: "/custom/assets/logo.png"
 favicon-url: "/custom/assets/favicon.ico"

 # Load custom CSS/JS
 custom-css: true
 custom-js: false

Theme Presets

Theme Description
default Light theme with white background
dark Dark theme with blue accents
midnight Deep dark with purple/pink accents
custom Use only custom colors

Custom Files

Place files in plugins/WebInventory/custom/:

custom/
├── style.css # Custom CSS (loaded after default)
├── custom.js # Custom JavaScript
└── assets/
 ├── logo.png # Custom logo
 └── favicon.ico

Example: Custom CSS

/* custom/style.css */
:root {
	--theme-primary: #ff6b6b !important;
	--theme-accent: #ffd93d !important;
}

.header {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

Security Features

Rate Limiting

Protects against DDoS and brute-force attacks.

security:
 rate-limit:
 enabled: true
 requests-per-minute: 60

HTTPS/SSL

For production, use a reverse proxy (nginx/Caddy) or:

security:
 https:
 enabled: true
 keystore-path: "keystore.jks"
 keystore-password: "changeit"

Admin Security

  • Failed Login Lockout: 5 attempts, 15 minute lockout
  • IP Whitelisting: Restrict admin access by IP
  • Session Fingerprinting: Ties sessions to IP/User-Agent
  • 2FA: TOTP-based two-factor authentication

API Security

api:
 secret-key: "your-secret-key-here"

Use header: Authorization: Bearer your-secret-key-here


REST API

Authentication

Header: Authorization: Bearer YOUR_SECRET_KEY
Header: X-Store-Token: SESSION_TOKEN (for store)

Public Endpoints

Method Endpoint Description
GET /api/health Server health check
GET /api/settings Feature settings
GET /api/players List enabled players
GET /api/map Map integration config

Player Endpoints

Method Endpoint Description
GET /api/player/{username} Player info
GET /api/player/{username}/inventory Full inventory
GET /api/player/{username}/enderchest Ender chest

Store Endpoints

Method Endpoint Description
POST /api/store/link Generate link code
POST /api/store/verify Verify code, get token
GET /api/store/session Check session
GET /api/store/balance Get balance
GET /api/store/items Get store items
POST /api/store/buy Buy item
POST /api/store/sell Sell item

Admin Endpoints

Method Endpoint Description
POST /api/admin/login Admin login
GET /api/admin/items List items
POST /api/admin/items Add item
PUT /api/admin/items Update item
DELETE /api/admin/items Delete item
GET /api/admin/categories List categories
GET /api/admin/transactions Transaction history
GET /api/admin/stats Store statistics

WebSocket API

Real-time inventory updates via WebSocket.

Connection

ws://YOUR_SERVER:8081/ws/inventory/{username}

Client Messages

{"type": "subscribe", "player": "Steve"}
{"type": "unsubscribe", "player": "Steve"}
{"type": "ping"}

Server Messages

{"type": "inventory_update", "player": "Steve", "data": {...}}
{"type": "player_disabled", "player": "Steve"}
{"type": "pong"}
{"type": "error", "error": "..."}

Database Setup

JSON (Default)

Data stored in plugins/WebInventory/data/ as JSON files.

  • Simple, no setup required
  • Good for single servers

MySQL

For multi-server setups or better performance:

database:
 type: "mysql"
 host: "localhost"
 port: 3306
 name: "minecraft"
 username: "root"
 password: "password"
 use-ssl: false

Localization

Supported Languages

  • English (en) - Default
  • Add your own!

Configuration

language: en

Custom Messages

Edit plugins/WebInventory/messages_en.yml:

prefix: "&8[&bWebInventory&8]&r "
enabled: "&aWeb inventory enabled! View at: &e{url}"
disabled: "&cWeb inventory disabled."

Discord Webhooks

Get notifications for admin actions and events.

Configuration

webhooks:
 enabled: true
 url: "https://discord.com/api/webhooks/..."

 events:
 login: true
 security: true
 item_add: true
 item_remove: true
 price_change: true

Event Types

  • login: Admin logins
  • security: Failed logins, lockouts
  • item_add/remove: Store item changes
  • price_change: Price updates
  • 2fa: 2FA enabled/disabled

Troubleshooting

Port Already in Use

Error: Address already in use

Change the port in config.yml or stop the conflicting application.

Cannot Access Web Interface

  1. Check firewall allows the port
  2. Verify address: "0.0.0.0" in config
  3. Try accessing locally first: http://localhost:8081

Store Not Working

  1. Ensure economy plugin is installed
  2. Check store.economy.type in config
  3. Verify player has linked their account

Custom Items Not Showing

  1. Ensure ItemsAdder/MMOItems/Oraxen is installed
  2. Check item ID is correct
  3. Set a valid vanilla material for Icon field

License Issues

  • Verify your license key in config
  • Check internet connectivity
  • Contact support if issues persist

Support


License

WebInventory is a premium plugin. Get your license at dimic.tech.

Free Features

  • Web inventory viewing
  • Player profiles
  • Basic web interface

Premium Features

  • REST API access
  • WebSocket real-time updates
  • Custom template support
  • Remove branding
  • Priority support