Skip to content

BedcoreProtect is a fast, efficient, data logging and anti-griefing tool for PocketMine servers. Rollback and restore any amount of damage.

License

Notifications You must be signed in to change notification settings

matcracker/BedcoreProtect

Repository files navigation

BedcoreProtect

Discord

BedcoreProtect is a fast, efficient, data logging and anti-griefing tool for PocketMine servers. Rollback and restore any amount of damage.

Features

  • Fast efficient data logging.
  • Fast rollbacks.
  • No configuration required. Put the plugin on your server, and you're good to go.
  • Multi-language support.
  • User interface (UI) support.
  • SQLite based data storage.
  • Optional MySQL support.
  • Easy to use commands.
  • Perform rollbacks AND restores. Undo any rollback, anytime.
  • Easy to use block inspector
  • Advanced search-based lookup tool.
  • Paginated logs.
  • Automatic update checker.
  • Multi-world support.
  • Enable or disable any aspect of logging in the configuration file.
  • Rollback per-player all damage around you.
  • Specify certain block types to skip in rollbacks/restores.
  • Restrict rollbacks/restores to specific block types
  • Log basic player actions (such as when a player opens a door)
  • Liquid tracking. Associate liquid flow with players
  • Restrict rollbacks/restores to a radius area.
  • Able to track blocks that fall off of other blocks. If a player breaks a block that had a sign on it, both the block and the sign can be rolled back.
  • Easily delete old log data.
  • Safe default parameters. Rollback or restore multiple players at once.
  • Lookup, rollback, or restore by a specific action.
  • Exclude multiple blocks.

...and much more!!

What does it log?

  • Log blocks broken by players
  • Log blocks placed by players
  • Log natural block breakage (ex: if a sign pops off a dirt block that was broken)
  • Log bucket usage
  • Log liquid flow
  • Log explosions
  • Log flint & steel
  • Log fire igniting blocks
  • Log blocks burning up in fires
  • Log block movement (Falling sand/gravel)
  • Log leaves decay
  • Log player interactions
  • Log items taken or placed in chests, furnaces, dispensers, etc.
  • Log paintings and item frames. (With rollback support!)
  • Log entities killed by players (animals/monsters)

...and the list is still expanding!

Database Minimum Requirements

In case of MySQL as storage, the minimum required version must be >= 5.6.4

Commands

You can access the following commands by using /bedcoreprotect, /bcp, /core or /co. Running this command without arguments and with the configuration option enable-ui-menu: true, it will display a graphic interface to simplify the plugin usage.

The command permission is bcp.command.bedcoreprotect (default: operator).

Command overview

Command Description Permission Permission default
/bcp help Display a list of commands bcp.subcommand.help Operator
/bcp lookup Lookup block data bcp.subcommand.lookup Operator
/bcp purge Delete old block data bcp.subcommand.purge Operator
/bcp reload Reload the configuration file bcp.subcommand.reload Operator
/bcp inspect Toggle the inspector bcp.subcommand.inspect Operator
/bcp restore Restore block data bcp.subcommand.restore Operator
/bcp rollback Rollback block data bcp.subcommand.rollback Operator
/bcp show View the plugin status bcp.subcommand.show Operator
/bcp status View the plugin status bcp.subcommand.status Operator

Command shortcuts

Command Description Permission Permission default
/bcp near Performs a lookup with radius 5 bcp.subcommand.near Operator
/bcp undo Revert a rollback/restore via the opposite action bcp.subcommand.undo Operator

Command details

Detailed commands information are listed below.

/bcp help

Display a list of commands available in-game.


/bcp lookup <parameters>

Perform a lookup returning a page with all blocks data fetched. If multiple pages are returned, see the command /bcp show to switch pages.

Alias: /bcp l <parameters>

Parameter Mandatory
time YES
world YES (only console)
radius NO
users NO
actions NO
include NO
exclude NO

/bcp purge <parameters>

Purge old block data. Useful for freeing up space on your HDD if you don't need the older data.

Parameter Mandatory
time YES
world NO

For example, /bcp purge t=30d will delete all data older than one month, and only keep the last 30 days of data.

Purging Worlds

You can also optionally specify a world where delete the data. For example, /bcp purge t=30d w=faction_world will delete all data older than one month in the Faction world, without deleting data in any other worlds.

You can also add #optimize to the end of the command (e.g. /bcp purge t=30d #optimize) will also optimize your tables and reclaim disk space.


/bcp reload

Reloads the configuration file.


/bcp inspect

Enable the inspector. Type the command again to disable it.

Alias: /bcp i


/bcp restore <parameters>

Perform a restore. Restoring can be used to undo rollbacks or to restore player actions.

Alias: /bcp rs <parameters>

Parameter Mandatory
time YES
world YES (only console)
radius YES
users NO
actions NO
include NO
exclude NO

/bcp rollback <parameters>

Perform a rollback. Rollbacks can be used to revert player actions.

Alias: /bcp rb <parameters>

Parameter Mandatory
time YES
world YES (only console)
radius YES
users NO
actions NO
include NO
exclude NO

/bcp show <page>:<lines>

Allow switching page when multiple pages are returned from the /bcp lookup command. To change the number of lines displayed on a page, use the command /bcp show <page>:<lines>.

Alias: /bcp s

For example, /bcp s 2:10 will return 10 lines of data, starting from the second page.


/bcp status

Displays the plugin status and version information.


Parameters overview

Parameter Aliases Description
users user, u Specify the user(s).
time t Specify the amount of time.
radius r Specify a radius area.
world w Specify the world.
actions action, a Restrict to a certain actions.
include i Include specific blocks.
exclude e Exclude specific blocks.

Parameter details

Detailed commands parameters information are listed below.

u=<users>

You can specify a single or multiple users or entities.

Examples:

  • u=Notch
  • u=Notch,shoghicp
  • u=matcracker,#Zombie

t=<time>

You can specify weeks, days, hours, minutes, and seconds.

Examples:

  • t=4w5d2h7m20s
  • t=5d2h
  • t=1y

r=<radius>

A numeric radius targets within that many blocks of your player location.

Examples:

  • r=20 (target within 20 blocks of your location)
  • r=#global (target the entire world)

w=<world>

You can specify a single world.

Examples:

  • w=faction
  • w="my world" (if your world name has whitespaces use double quotes)

a=<actions>

Restrict the command to a specific action.

Action Description
block Placed/Broken blocks
+block Placed blocks
-block Broken blocks
click Player interactions
container Items taken from or put in chests
+container Items put in chests
-container Items taken from chests
kill Mobs killed
session Player join/left the server
+session Player join the server
-session Player left the server
chat Player write in chat
command Player executes a command

For example, if you want to only rollback blocks placed, you would use a=+block


i=<include>

Can be used to specify a blocks/items.

Examples:

  • i=stone (only includes stone)
  • w=stone,oak_wood,bedrock (specify multiple blocks)

You can find a list of blocks at https://minecraft.gamepedia.com/Bedrock_Edition_data_values.


e=<exclude>

Can be used to exclude a blocks/items.

Examples:

  • e=tnt (only excludes TNT)

FAQ

  • I found a bug, where can I report it?
    • You can report here by clicking button "Get Started" on Bug report.
  • Where can I request a new feature?
    • You can ask a new feature here by clicking button "Get Started" on Feature request.