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.

Overview: Our plugins are engineered from the ground up for speed, minimal CPU cycles, and reliability. We avoid bloated frameworks, focusing instead on lightweight, native implementations.

Our Plugin Catalog

Currently, the Minedream catalog includes the following core plugins:

CrossChat

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

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

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 .jar release for your desired plugin.

  • 2
    Place in Plugins Directory

    Move the downloaded .jar file 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.

config.yml
# 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).

lang.yml
# 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:

plugins/Verge/config.yml
# 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:

plugins/Verge/groups.yml
# 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
Note: The web editor session is temporary and will expire after 30 minutes of inactivity. Always save your changes before closing the editor.

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 250 blocks/tick) to keep TPS high.

Requirements: Minecraft server Spigot 26.1.x (tested against 26.1.2) with Java 25. Works unmodified on Paper 26.1.x as well.

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 — seconds
  • m — minutes
  • h — hours
  • d — days
  • w — weeks
  • mo — 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:

plugins/GriefLog/config.yml
# 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.