✨ All Panel Features
A full reference of everything the OreoStudios Web Panel offers — for both players and server owners.
Player Features
🧍 Player Profile
Displays your Minecraft skin, username, and current server.
🎒 Live Inventory
Real-time view of your Minecraft inventory, updated as you play.
💰 Balance
Your in-game currency balance across all linked servers.
🏠 Homes
View all your saved teleport locations by name.
🛒 Market
Browse active market listings and your own sell orders.
👥 Friends
Friend list with online status, send/accept requests.
🔔 Notifications
Real-time alerts for sales, friend requests, deliveries.
🌐 Multi-server
Link to multiple servers and switch between them in the dashboard.
Live Inventory — Deep Dive
The live inventory is the centrepiece of the player dashboard. Here's everything it does:
🟢 LIVE Badge
A pulsing green ● LIVE badge appears when the browser has an active WebSocket connection to the panel server. While this badge is visible, your inventory updates automatically — no refresh needed.
If the badge disappears, the connection dropped (usually due to network issues). The panel will automatically reconnect within a few seconds.
🎒 What triggers an update?
Inventory syncs are triggered by events in-game:
- Breaking a block and picking up drops
- Picking up an item from the ground
- Dropping an item
- Closing your inventory (after making changes)
- Receiving a pending delivery from the owner panel
Updates are debounced — multiple events within 1 second are batched into a single sync so the panel doesn't get flooded.
🖱️ Item Tooltips
Hover your mouse over any item in the inventory grid to see:
- Item name (including custom names)
- Stack count
- Enchantments
- Lore / description
🛒 Sell from Inventory
Click an item in the inventory panel to open a quick-sell dialog. Set a price per unit and the quantity. This creates a market listing directly from the browser — the item is flagged as "pending removal" and removed from your in-game inventory when you next join.
Market
The market tab shows all active buy and sell orders on your current server.
| Feature | Details |
|---|---|
| Browse listings | See all items currently listed for sale with prices and quantities |
| Your listings | Manage your own active sell orders — cancel or modify them |
| Price history | See recent sale prices for any item (where available) |
| Quick sell | List an item from your inventory with one click (see above) |
| Sale notifications | Get a notification when one of your listings sells |
Friends System
| Feature | Details |
|---|---|
| Send request | Enter a player's username and send a friend request from the browser or in-game |
| Accept / Decline | Incoming requests appear at the top of your friends list |
| Online indicator | Green dot = online on the same server as you. Grey dot = offline. |
| Remove friend | Click the ✕ button — removes the friendship on both sides |
| Cross-server | Friends are shared across all servers linked to your panel account |
Notifications
All notifications are delivered in real-time via WebSocket while your browser is open. They're also stored so you see them when you log back in.
| Event | Who receives it | Triggered by |
|---|---|---|
| 🤝 Friend request received | Recipient | Another player sends a request |
| ✅ Friend request accepted | Sender | Recipient accepts your request |
| 💰 Item sold | Seller | A buyer purchases your market listing |
| 📦 Item delivered | Player | Owner sends you an item via the admin panel |
| 📣 Server broadcast | All players on server | Server owner sends a broadcast message |
| 🔨 Admin action | Player | You are banned, kicked, or warned by an admin |
Owner Panel Features
The Owner Panel is only visible to accounts that have registered a server. It lives at Username → Owner Panel.
📋 Player Manager
List all linked players, view their profile, inventory, and stats at a glance.
🔑 API Key Manager
View, copy, or regenerate your server API key. Used in the OreoEssentials config.
🐇 RabbitMQ Setup
Enter your RabbitMQ URI to enable live inventory sync for all your players.
📦 Pending Deliveries
Track items you've sent to players — see if they've been received.
📊 Market Overview
See all active market listings across your entire server.
📣 Broadcast
Send a notification to all your players visible in the panel and in-game.
🔨 Moderation
Ban, kick, or warn players directly from the browser.
🖥️ Server Settings
Edit your server name, description, and delete the registration.
Give & Take Items
📦 Give Item to a Player
From Owner Panel → click a player → Give Item:
- Search for the Minecraft item ID (e.g.
minecraft:diamond_sword) - Set the quantity (max 64 per action)
- Click Send
The delivery is queued. If the player is online, it lands in their inventory within seconds. If they're offline, it waits and is delivered when they next join.
You can see all pending deliveries in the Pending Deliveries section of the Owner Panel.
🗑️ Take Item from a Player
From Owner Panel → click a player → Take Item:
- The player's current live inventory is shown
- Click the item you want to remove
- Set quantity and confirm
The item is flagged for removal. It's removed from the player's in-game inventory on the next sync (within seconds if they're online).
Moderation
| Action | Effect |
|---|---|
| 🔨 Ban Permanent | Bans the player from your server. They are kicked immediately if online. The ban is stored in the panel and enforced by the plugin when they try to join. |
| 👢 Kick | Kicks the player from the server if currently online. No permanent record. |
| ✏️ Warn | Sends the player a warning notification visible in their panel dashboard. |
| 🔓 Unban | Removes an existing ban. The player can join again immediately. |
How Live Sync Works (Technical Overview)
A simple explanation of the pipeline — useful if you're a server owner debugging sync issues.
The full pipeline in 4 steps
- Player does something in-game (breaks block, picks up item, etc.)
- OreoEssentials plugin detects the event, serializes the inventory to JSON, and publishes it to RabbitMQ on the
oreo.webpanel.syncexchange. - OreoStudios backend (the Spring server) is subscribed to that exchange. It receives the message and stores the updated inventory in the database.
- The backend pushes the update to the player's open browser session via WebSocket (STOMP). The dashboard re-renders instantly.
| Component | Role | Where it runs |
|---|---|---|
| OreoEssentials plugin | Captures game events, publishes to RabbitMQ | Your Minecraft server |
| RabbitMQ | Message broker — fast, reliable delivery | Your server (or a hosted instance) |
| OreoStudios backend | Consumes RabbitMQ, stores data, broadcasts via WebSocket | OreoStudios servers |
| Panel frontend | Receives WebSocket push, renders inventory | Player's browser |