✨ 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.

ℹ️ Live inventory requires the server owner to have RabbitMQ configured. Without it, the inventory snapshot updates periodically (every time you log in/out) rather than instantly.

Market

The market tab shows all active buy and sell orders on your current server.

FeatureDetails
Browse listingsSee all items currently listed for sale with prices and quantities
Your listingsManage your own active sell orders — cancel or modify them
Price historySee recent sale prices for any item (where available)
Quick sellList an item from your inventory with one click (see above)
Sale notificationsGet a notification when one of your listings sells

Friends System

FeatureDetails
Send requestEnter a player's username and send a friend request from the browser or in-game
Accept / DeclineIncoming requests appear at the top of your friends list
Online indicatorGreen dot = online on the same server as you. Grey dot = offline.
Remove friendClick the ✕ button — removes the friendship on both sides
Cross-serverFriends are shared across all servers linked to your panel account
💡 You can also manage friends in-game with the OreoEssentials friend commands. Changes sync to the panel in real-time.

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.

EventWho receives itTriggered by
🤝 Friend request receivedRecipientAnother player sends a request
✅ Friend request acceptedSenderRecipient accepts your request
💰 Item soldSellerA buyer purchases your market listing
📦 Item deliveredPlayerOwner sends you an item via the admin panel
📣 Server broadcastAll players on serverServer owner sends a broadcast message
🔨 Admin actionPlayerYou 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:

  1. Search for the Minecraft item ID (e.g. minecraft:diamond_sword)
  2. Set the quantity (max 64 per action)
  3. 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:

  1. The player's current live inventory is shown
  2. Click the item you want to remove
  3. 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).

⚠️ Taking items is immediate and cannot be undone from the panel. Make sure before confirming.

Moderation

ActionEffect
🔨 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

  1. Player does something in-game (breaks block, picks up item, etc.)
  2. OreoEssentials plugin detects the event, serializes the inventory to JSON, and publishes it to RabbitMQ on the oreo.webpanel.sync exchange.
  3. OreoStudios backend (the Spring server) is subscribed to that exchange. It receives the message and stores the updated inventory in the database.
  4. The backend pushes the update to the player's open browser session via WebSocket (STOMP). The dashboard re-renders instantly.
ComponentRoleWhere it runs
OreoEssentials pluginCaptures game events, publishes to RabbitMQYour Minecraft server
RabbitMQMessage broker — fast, reliable deliveryYour server (or a hosted instance)
OreoStudios backendConsumes RabbitMQ, stores data, broadcasts via WebSocketOreoStudios servers
Panel frontendReceives WebSocket push, renders inventoryPlayer's browser
ℹ️ Each server owner runs their own RabbitMQ. The OreoStudios backend connects to each server's RabbitMQ independently — your data never touches another server owner's RabbitMQ.