Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
🟢 ScreenShare+
Modern Screenshare Management for Paper & Folia
ScreenShare+ gives staff teams a clean and controlled way to handle screenshare checks, protect player inventories, keep private logs and review previous sessions when disputes happen.
Author: Bad_0320
Platform: Paper / Folia
Minecraft: 26.1.2
Java: 25+
Storage: MariaDB / SQLite
Sync: Redis
✨ Overview
ScreenShare+ is a complete screenshare system made for Minecraft staff teams that want a cleaner way to handle suspects.
Start a session, automatically move staff and suspect to their configured positions, protect both inventories, use a private chat, track the duration of the check and keep a permanent history of what happened.
The plugin also records useful information for future disputes, including chat messages, quits, session duration, staff involved and ban-on-quit events.
Built to control screenshares without turning moderation into a mess.
🚀 Feature Highlights
🔍 Controlled ScreensharesStart a complete staff check with one command.
|
📊 Live Screenshare SidebarBoth players can see useful session information while the check is active.
|
💬 Private SS ChatDuring a screenshare, staff and suspect communicate through a private session chat.
|
🕘 Screenshare HistoryReview previous screenshares directly in-game.
|
🎒 Inventory ProtectionStaff and suspect inventories are protected during every check.
|
🌐 Network ReadyBuilt for single servers and larger networks.
|
📊 Live Screenshare Sidebar
When a screenshare starts, ScreenShare+ shows a dedicated sidebar to the staff member and suspect.
It can display:
| Information | Example |
|---|---|
| Suspect | PlayerName |
| Staff | ModeratorName |
| Time | 04:32 |
| Credits | Bad_0320 |
The timer updates while the session is active and disappears when the check ends.
The sidebar is handled without relying on Bukkit's unsupported Folia scoreboard creation system.
🕘 Screenshare Evidence & History
ScreenShare+ keeps a history of screenshare sessions so staff can review what happened later.
This is especially useful when a player claims they were punished unfairly or disputes what happened during the check.
Use:
/sschat <player>
A clean GUI opens showing previous sessions for that player.
Hovering over a session can show information such as:
- Screenshare ID
- Suspect
- Staff member
- Server
- Start time
- End time
- Total duration
- Session result
- Staff messages
- Suspect messages
- Quit events
- Ban-on-quit actions
- Console punishment command
Session history remains available after server restarts.
💬 Private Staff ↔ Suspect Chat
While an SS is active, normal public chat is replaced by a private conversation between the two players.
| Role | Prefix |
|---|---|
| Staff | STAFF |
| Suspect | SUSPECT |
Messages are also added to the screenshare history.
This gives staff a proper record of what was said during the check instead of relying on screenshots or memory.
📍 Guided Setup
ScreenShare+ includes a simple in-game setup process.
Start with:
/screenshare setup
Then save the suspect position:
/screenshare position1
Save the staff position:
/screenshare position2
Finally save the location where players return after the SS:
/screenshare sethub
During setup, position1 and position2 can also be entered directly in chat.
🔍 Starting a Screenshare
Use:
/ss <player>
ScreenShare+ automatically handles the session.
- Staff inventory is backed up
- Suspect inventory is backed up
- Both inventories are cleared
- Suspect is teleported to position 1
- Staff is teleported to position 2
- Private chat starts
- Live sidebar starts
- Screenshare timer starts
- Session history begins recording
- Configured sounds are played
🛑 Ending a Screenshare
Use either:
/ssend <player>
or:
/endss <player>
When the check ends normally:
- Private chat closes
- Sidebar is removed
- Session timer stops
- Session history is finalized
- Staff returns to the hub
- Suspect returns to the hub
- Both inventories are restored
🚪 Ban On Quit
If the suspect disconnects during an active screenshare, ScreenShare+ can automatically run a configurable console command.
Default example:
ban <player> 30d Quit during screenshare -s
This works well with punishment plugins such as BadBans.
The session history records the quit and the punishment action, making future staff reviews much easier.
| Event | Action |
|---|---|
| Suspect quits | Session ends |
| Ban command | Executed from console |
| Private chat | Closed |
| Staff | Returned to hub |
| Staff inventory | Restored |
| Suspect inventory | Restored on future join |
| History | Quit and punishment saved |
🎒 Persistent Inventory Recovery
ScreenShare+ does not rely only on memory for inventory backups.
If something interrupts a session, saved inventories can still be recovered.
Restore scenarios include:
- Normal
/ssend - Normal
/endss - Suspect disconnect
- Staff disconnect
- Server restart
- Player reconnect
Pending inventory backups remain stored until they are successfully restored.
🔊 Configurable Sounds
Sounds can be configured for important actions.
| Event | Purpose |
|---|---|
| SS start | Session started |
| SS end | Session completed |
| Setup start | Setup mode opened |
| Position saved | Setup step completed |
| Setup complete | SS room ready |
| Hub saved | Return position stored |
| Command error | Invalid action |
| Suspect quit | Staff warning |
Every sound can be changed or disabled from the configuration.
⚡ Performance Design
ScreenShare+ is built around modern Paper and Folia practices.
| Design Choice | Benefit |
|---|---|
| Paper API | Easier Minecraft updates |
| Folia-safe schedulers | Proper region-thread handling |
| Packet-based sidebar | Works without Folia scoreboard creation |
| Async-friendly database work | Less main-thread pressure |
| Redis synchronization | Fast network updates |
| Runtime libraries | Smaller plugin jar |
| No NMS | Better maintainability |
| No unnecessary reflection | Cleaner code |
🌐 Storage & Multi-Server Support
ScreenShare+ can run on a simple standalone server or as part of a larger network.
| Component | Purpose |
|---|---|
| MariaDB | Main source of truth |
| Redis | Cross-server synchronization |
| SQLite | Local fallback storage |
If MariaDB or Redis are unavailable, the plugin safely falls back to SQLite and disables multi-server synchronization instead of breaking normal operation.
Screenshare history follows the active storage backend, allowing session records to remain available where needed.
📜 Commands
Screenshare
| Command | Description |
|---|---|
/ss <player> |
Start a screenshare |
/ssend <player> |
End a screenshare |
/endss <player> |
Alternative screenshare end command |
/sschat <player> |
View previous screenshare sessions |
Setup
| Command | Description |
|---|---|
/screenshare setup |
Start guided setup |
/screenshare position1 |
Save suspect position |
/screenshare position2 |
Save staff position |
/screenshare sethub |
Save return hub |
/screenshare cancel |
Cancel setup |
Administration
| Command | Description |
|---|---|
/screenshare status |
View plugin status |
/screenshare positions |
View configured positions |
/screenshare reload |
Reload configuration |
🔐 Permissions
| Permission | Access |
|---|---|
screenshare.admin |
Full ScreenShare+ access |
screenshare.command |
Basic command access |
screenshare.setup |
Setup commands |
screenshare.start |
Start screenshares |
screenshare.end |
End screenshares |
screenshare.status |
View status and positions |
screenshare.reload |
Reload configuration |
screenshare.chatlog |
View screenshare history |
🧩 Technical Details
Modern Server Support
|
Clean Architecture
|
✅ Requirements
| Requirement | Version |
|---|---|
| Minecraft | 26.1.2 |
| Paper | 26.1.2 |
| Java | 25+ |
Optional services:
| Service | Purpose |
|---|---|
| MariaDB | Network persistent storage |
| Redis | Multi-server synchronization |
| SQLite | Automatic local fallback |
🛡️ Why ScreenShare+?
ScreenShare+ is built for staff teams that want more than a basic teleport command.
It handles the entire screenshare workflow while keeping useful records for future staff reviews.
Live sessions. Private chat. Safe inventories. Permanent history.
Control the check. Keep the evidence. Protect your staff workflow.


