WebInventory
Your players' inventories, stats and leaderboards on a website, served by your Minecraft server.
WebInventory runs its own small web server inside the plugin. Players search a name and see that player's inventory, armor, ender chest, statistics and advancements, live from the game. No Apache, no Nginx, no database required.
Demo: https://webinventory-demo.bashrack.com/
Features
Player profiles
- Inventory, armor, off-hand and ender chest exactly as in game: enchantments, custom names, lore with colors (legacy, hex and MiniMessage), durability and stack sizes.
- Health, hunger, armor points, level with XP bar, game mode and active potion effects with the game's own icons.
- Statistics (playtime, kills, deaths, distance, jumps, damage) and advancements.
- 3D skin viewer, LuckPerms prefixes and groups, online status, favorites, JSON export.
- Players decide what is public:
/winv enableand/winv disable [inventory|enderchest|statistics|advancements]. Server owners can force visibility instead or tie it to a permission.
Leaderboards
- A "Top" page with playtime, mob kills, PvP kills, deaths, distance, level and mcMMO power, with a podium and rank movement; the top players also show on the home page.
/winv top [list]in chat and PlaceholderAPI placeholders (%webinv_top_playtime_1_name%,%webinv_rank_playtime%...) for holograms and scoreboards.- Only players who share their statistics are listed.
Web store
- Players link their Minecraft account with a one-time code (
/winv link <code>) and buy or sell items for in-game money. - Works with Vault (EssentialsX, CMI and other economies) and PlayerPoints; prices are shown in your economy's own format and colors.
- Categories, stock limits, enchanted items and custom items from ItemsAdder, Oraxen, Nexo and MMOItems. Visitors can browse before they link.
- Optional rank store (LuckPerms groups, permanent or timed).
Support tickets
- Players open tickets on the website and get replies there; staff answer from the admin panel.
- Works without an economy plugin.
Admin panel
- Manage store items, categories, ranks and tickets; see every transaction.
- Password or Minecraft-account login, optional two-factor authentication (TOTP), IP whitelist, login rate limiting and an audit log of every change.
Integrations
- Geyser / Floodgate: Bedrock players are recognized, with their real skin and a "BE" badge.
- Maps: link to Dynmap, BlueMap, Pl3xMap or squaremap.
- mcMMO skills, LuckPerms ranks, SkinsRestorer skins, DiscordSRV avatars and Discord webhooks.
Built for real servers
- Paper, Folia and Spigot, Minecraft 1.20.6 to 26.x (Java 21 or newer). Older clients through ViaVersion are fine.
- Networks: BungeeCord or Velocity. Install WebInventory on every backend server and point them at the same MySQL or PostgreSQL database: one website for the whole network, with the server each player is on.
- Storage in JSON files (default), MySQL or PostgreSQL;
/winv migratemoves your data. - Languages: English, German, Spanish, Brazilian Portuguese, Russian and Serbian, in game and on the website.
- Light and dark theme, works on phones, accessible (keyboard, screen readers).
- Every part of the page can be switched off in
config.yml(web.ui), every module too (store, tickets, ranks, leaderboards, map);/winv reloadapplies changes at once.
Installation
- Put the jar in
plugins/and restart the server. - Open
http://<your-server-ip>:8081(changeweb.portinplugins/WebInventory/config.yml). - Players run
/winv enableto show their profile.
For the web store install Vault with an economy plugin, or PlayerPoints. For the admin panel set
admin.password in config.yml (it is hashed on the next start) and open /admin.
Behind a reverse proxy or Cloudflare, set web.base-url and web.client-ip-header so links and
rate limits use the real address.
Commands
| Command | What it does |
|---|---|
/winv enable [section] |
Show your profile (or one section) on the website |
/winv disable [section] |
Hide your profile (or one section) |
/winv status [player] |
Your visibility; admins see why any player is or is not shown |
/winv link [player|code] |
Link to a profile, or log in to the web store with a code |
/winv top [list] |
Leaderboards in chat |
/winv reload |
Reload the configuration (admins) |
/winv admin ... |
Store items, categories and admin-panel login from the game |
/winv migrate <type> |
Move player data to another storage type |
Permissions
| Permission | Default | Meaning |
|---|---|---|
dimictech.webinv.use |
everyone | Use /winv |
dimictech.webinv.enable.all / .enable.<section> |
everyone | Show your own profile or a section |
dimictech.webinv.enable |
nobody | Shown on the website in PERMISSION mode |
dimictech.webinv.hide |
nobody | Never shown, whatever the mode |
dimictech.webinv.admin |
op | Admin commands and admin-panel login from the game |
For developers
Other plugins can read what the website shows (getPlayerData, isVisible, getProfileUrl),
add their own statistics with a leaderboard, listen to events (profile shown or hidden, store
purchases, tickets) and plug in item, economy or storage providers:
WebInventoryApi api = Bukkit.getServicesManager().load(WebInventoryApi.class);
api.registerStatistic(CustomStatistic.builder(this, "island_level")
.displayName("Island level")
.value(player -> islands.getLevel(player.getUniqueId()))
.build());
The website's own JSON API is described at /docs/openapi.json on every server.
Privacy and data
- Nothing is shown until a player opts in (or the server owner chooses a visibility mode).
- Store logins use one-time codes typed in game; no passwords are stored for players.
- Anonymous usage statistics go to bStats; switch them off with
bstats.enabled: false.
Support
Questions and bug reports: Discord.
Sponsors
None so far!
Information
Pinned Versions
- R1.8–26.3
Pages
Members
1Owner