Introduction
Welcome to the official Minedream Plugins Documentation directory. Here you will find configuration logs, guides, and developer references for the Spigot/Paper server enhancements designed by MrBobbyMC, Emmo_, ChipiLoopi and Hancraft_exe.
Our Plugin Catalog
Currently, the Minedream catalog includes the following core plugins:
CrossChat (v1.0.2)
Synchronize chat channels instantly across isolated Spigot servers using high-speed TCP sockets. Features network moderation and customizable chat formats.
Explore CrossChat Docs →
Verge (v1.0.0)
A modern permissions management plugin for Spigot/Paper servers. Manage groups, users, permissions, and inheritance with a powerful web-based editor.
Explore Verge Docs →
GriefLog (v1.0.0)
Block-change logger + selection-based rollback for Minecraft 26.1+. Async SQLite storage with WAL journaling and time-based undo.
Explore GriefLog Docs →Need Help?
If you encounter issues while deploying or customizing Minedream plugins, consult the individual guides on the sidebar. You can also view details or download binaries directly on our Main Website.
General Plugin Installation
Deploying Minedream plugins onto your server network is straightforward. All plugins are distributed as standard Java .jar files.
Step-by-step Guide
-
1
Download the Plugin JAR
Go to our Main Website's download grid and grab the latest compiled
.jarrelease for your desired plugin. -
2
Place in Plugins Directory
Move the downloaded
.jarfile into the/plugins/directory in the root of your Spigot, Paper, or Purpur Minecraft server folder. -
3
Start/Restart the Server
Restart the server. On boot, the console will log the plugin initialization and automatically create a configuration folder containing the default settings templates.
-
4
Configure and Reload
Open the generated config files (like
config.yml), customize ports or options, and run the server reload command or restart to apply.
CrossChat: Overview & Modes
CrossChat bridges communication across multiple Spigot servers. It routes chats instantly using a fast, custom TCP protocol, removing any dependency on Redis or database servers.
How it Works
CrossChat operates in three modes configured inside the plugin's properties file. By adapting these configurations, you can build private server chat hubs, connect guests to a centralized Spigot proxy, or tap into the public cloud network.
Host Mode
One Minecraft server acts as the network hub/router. Other guest servers connect directly to it. The host requires open port forwarding (default: 25600) and a custom password key.
Guest Mode
Your server connects to a designated Host server. Requires the correct guest-ip, guest-port, and matching password parameters.
Public Mode
Your server hooks into the Minedream global public hub at api.cc.mine-dream.org. No open ports or password setups are required. A 5-second message cooldown is enforced per user.
CrossChat: config.yml
The primary config file regulates the plugin's network identity, login credentials, and interface options.
# CrossChat Configuration
# Mode can be: host, guest, public
# host: This server acts as the central router. Forward 'host-port' and set a password.
# guest: Connect to a host server via 'guest-ip' and 'guest-port' with 'password'.
# public: Connect to api.cc.mine-dream.org (no password, 5s message cooldown).
mode: public
# Port for host mode (when other servers connect to this server)
host-port: 25600
# Password required for connection in host and guest modes
password: "change-me"
# Connection details for guest mode
guest-ip: "127.0.0.1"
guest-port: 25600
# If true, players can run /crosschat to toggle visibility.
# If false, players see CrossChat messages permanently.
hide-command: true
# Whether players have CrossChat hidden by default (only takes effect if hide-command is true)
hidden-by-default: false
Options Reference
| Key | Default | Description |
|---|---|---|
mode |
public |
Selects the router strategy (host, guest, or public). |
host-port |
25600 |
The TCP port open on the host server waiting for guest node connections. |
password |
"change-me" |
Password key verified during handshakes (ignored in public mode). |
guest-ip |
"127.0.0.1" |
The target Host server IP address. |
guest-port |
25600 |
The target Host server port. |
hide-command |
true |
Enables players to mute the shared feed with /crosschat. |
hidden-by-default |
false |
Mutes the chat feed on join until players explicitly toggle it. |
CrossChat: lang.yml
Modify prefixes, system error messages, and chat layouts. Supported color formats follow standard Spigot formatting (using `&` codes).
# CrossChat Language File
# The format of messages received from other servers
# Use {player} for the sender's username and {message} for the message content.
message-format: "&3[CrossChat] {player} >> {message}"
# Cooldown message (only applicable in public mode, 5s cooldown)
# Use {time} for the remaining time in seconds.
cooldown-message: "&cPlease wait {time} seconds before sending another message."
# Banned message sent to players banned locally on this server
banned-message: "&cYou are banned from sending messages to other servers."
# Status update format for players with crosschat.status permission
# Use {status} for the translated status text.
status-format: "&e[CrossChat] Current Status: {status}"
# Status translations (with color codes)
status-connected: "&aConnected"
status-disconnected: "&cDisconnected"
status-banned: "&cBanned"
CrossChat: Commands & Permissions
Administrate chat visibility, bans, and access permissions in-game using commands and permissions.
In-Game Commands
| Command | Alias | Permission | Description |
|---|---|---|---|
/crosschat |
/cc |
crosschat.use |
Toggles the player's visibility of the cross-server chat feed. |
Plugin Permissions
| Permission Node | Default | Description |
|---|---|---|
crosschat.use |
true |
Enables reading and toggling the CrossChat feed. |
crosschat.ban |
op |
Allows managing global bans and unban synchronization. |
crosschat.status |
op |
Sends notifications on connection, disconnection, or socket auth issues. |
Verge: Overview
Verge is a lightweight, high-performance permission management plugin for Spigot/Paper servers. It includes a powerful web-based editor for rapid administrative changes, a permission inheritance system for building complex group hierarchies, and a built-in chat formatter that resolves prefixes, suffixes, and group memberships.
Key Features
-
Live Web Editor
Generate a secure link (
https://verge.mine-dream.org) to edit your server's permissions, groups, and prefixes in an interactive web UI. Changes sync back to the server in real-time. -
Permission Inheritance
Nest groups and build complex parent-child permission hierarchies with automatic resolution.
-
Built-in Chat Formatter
Includes a high-performance chat formatter that resolves prefixes, suffixes, and group memberships for your server's chat messages.
-
Comprehensive Permission System
Supports wildcard permissions (
*), negative permissions, and per-group or per-user overrides. -
Interactive Tutorial
Built-in tutorial system (
/verge tutorial) to guide administrators through setting up permissions. -
Lightweight & Efficient
Designed to have minimal impact on server performance, even with large permission sets.
Verge: Commands & Permissions
Manage permissions, groups, and users in-game using commands and permissions.
In-Game Commands
| Command | Description | Permission |
|---|---|---|
/verge |
Display help and command list. | verge.use |
/verge reload |
Reload config and groups data from disk. | verge.admin |
/verge editor |
Open a web editor session and receive a secure link. | verge.admin |
/verge applyeditor <key> |
Apply pending web editor changes manually. | verge.admin |
/verge tutorial |
Start the interactive permission setup tutorial. | verge.admin |
/verge group list |
List all registered permission groups. | verge.admin |
/verge group <group> create |
Create a new permission group. | verge.admin |
/verge group <group> delete |
Delete an existing permission group. | verge.admin |
/verge group <group> info |
Display group details, parents, and permissions. | verge.admin |
/verge group <group> permission set|unset <perm> [val] |
Set or unset a permission node on a group. | verge.admin |
/verge group <group> parent add|remove <parent> |
Manage group inheritance parents. | verge.admin |
/verge group <group> meta setprefix|setsuffix|setweight <val> |
Manage group metadata (prefix, suffix, weight). | verge.admin |
/verge user <user> info |
Display player permission info and group memberships. | verge.admin |
/verge user <user> permission set|unset <perm> [val] |
Manage per-user permission overrides. | verge.admin |
/verge user <user> parent add|remove <group> |
Manage user group memberships. | verge.admin |
/verge user <user> setprimary <group> |
Set a player's primary permission group. | verge.admin |
/verge user <user> meta setprefix|setsuffix <val> |
Manage per-user prefix and suffix overrides. | verge.admin |
Plugin Permissions
| Permission Node | Default | Description |
|---|---|---|
verge.use |
All players | Allow viewing Verge status and help. |
verge.admin |
OP | Full administrative access to Verge permissions, groups, and commands. |
Verge: Configuration
Configure the built-in chat formatter, default group assignment, and debugging options.
config.yml
Configure the built-in chat formatter, default group assignment, and debugging options:
# Verge Configuration
# Enable or disable Verge's built-in chat formatter
formatter-enabled: true
# Chat format (supports prefixes, suffixes, usernames, and color codes)
chat-format: "{prefix}{player}{suffix}&7: &f{message}"
# The name of the default group assigned to new users
default-group: "default"
# Enables debug logging in the console
debug: false
groups.yml
Define permission groups with weights, prefixes, inheritance parents, and permission nodes:
# Verge Group Data
default:
weight: 1
prefix: "&7[Member] &7"
suffix: ""
parents: []
permissions:
verge.use: true
admin:
weight: 100
prefix: "&c[Admin] &f"
suffix: ""
parents:
- default
permissions:
"*": true
Verge: Web Editor
Verge includes a fully-featured web-based permission editor available at verge.mine-dream.org. Run /verge editor in-game to generate a secure session link.
Features
The web editor allows you to:
-
View and manage all permission groups and their members
-
Add, remove, and toggle permission nodes
-
Configure group inheritance hierarchies with drag-and-drop parents
-
Edit group and user metadata (prefixes, suffixes, weights)
-
Manage per-user permission overrides
-
Changes sync back to your server in real-time
GriefLog: Overview
GriefLog is a lightweight block change logger that supports rollback and restores via an administrative wand selection. It logs various types of block changes and allows administrators to revert them within a specified time window.
Key Features
-
Comprehensive Event Logging
Logs block breaking, placing, explosions, fire, and liquid flow.
-
Liquid Flow Logging
Includes water and lava flow to reverse flooded areas and lava-casts.
-
Wand Selection
Define target regions quickly with an administrative wand.
-
Performance Optimization
Logs are written to an in-memory queue and flushed asynchronously. Rollbacks are batch-applied (default
250blocks/tick) to keep TPS high.
GriefLog: Commands & Permissions
Use the GriefWand to select regions and roll back changes using commands and permissions.
In-Game Commands
| Command | Permission | Description |
|---|---|---|
/griefwand (alias /gw) |
grieflog.wand |
Gives the GriefWand item |
/griefwand pos <1-4> |
grieflog.wand |
Manually set a selection point |
/griefwand clear |
grieflog.wand |
Clears the current selection |
/griefwand info |
grieflog.wand |
Shows current selection details |
/ungrief <amount><unit> |
grieflog.rollback |
Rollback changes within the selected region (e.g., /ungrief 10m, /ungrief 2h, /ungrief 1d) |
grieflog.* |
— | Grants all GriefLog permissions |
Time Units
Use the following time units for the /ungrief command:
s— secondsm— minutesh— hoursd— daysw— weeksmo— months
Plugin Permissions
| Permission Node | Default | Description |
|---|---|---|
grieflog.wand |
OP | Allows getting and using the GriefWand |
grieflog.rollback |
OP | Allows rolling back actions in the selected region |
GriefLog: Configuration
Configure logging, retention, rollback batch sizes, and event sources.
config.yml
Customize log retention, purge intervals, and rollback behavior:
# GriefLog Configuration
# How long to keep log entries before auto-purging.
# Supported units: s, m, h, d, w, mo
retention: 3d
# How often (in minutes) to run the auto-purge task.
purge-interval-minutes: 30
# Async flush interval for the in-memory log queue (in ticks).
flush-interval-ticks: 20
# Maximum number of blocks to apply per tick during a rollback.
rollback-batch-size: 250
# Which event sources to log.
log:
player-break: true
player-place: true
explosions: true
fire: true
liquid-flow: true # high-volume; tune retention accordingly
# Delete entries after they are rolled back (prevents double-rollback).
delete-on-rollback: true
Options Reference
| Key | Default | Description |
|---|---|---|
retention |
3d |
How long to keep log entries before auto-purging. |
purge-interval-minutes |
30 |
How often (in minutes) to run the auto-purge task. |
flush-interval-ticks |
20 |
Async flush interval for the in-memory log queue. |
rollback-batch-size |
250 |
Maximum blocks to apply per tick during a rollback. |
log.* |
true |
Enable/disable logging for specific event types. |
delete-on-rollback |
true |
Delete entries after rollback to prevent double-rollback. |