{"id":15143503,"url":"https://github.com/matcracker/bedcoreprotect","last_synced_at":"2025-10-23T20:30:29.589Z","repository":{"id":45620153,"uuid":"190715986","full_name":"matcracker/BedcoreProtect","owner":"matcracker","description":"BedcoreProtect is a fast, efficient, data logging and anti-griefing tool for PocketMine servers. Rollback and restore any amount of damage.","archived":false,"fork":false,"pushed_at":"2023-11-18T14:56:50.000Z","size":1637,"stargazers_count":44,"open_issues_count":3,"forks_count":8,"subscribers_count":8,"default_branch":"stable","last_synced_at":"2025-01-30T20:51:39.998Z","etag":null,"topics":["anti-grief","block-logger","coreprotect","logger","pmmp","pmmp-plugin","pocketmine-mp-plugin","restore","rollback","survival"],"latest_commit_sha":null,"homepage":"https://poggit.pmmp.io/p/BedcoreProtect/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matcracker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-06-07T09:04:33.000Z","updated_at":"2024-11-10T05:22:15.000Z","dependencies_parsed_at":"2022-09-10T23:40:38.246Z","dependency_job_id":"465ad15b-c305-4fb6-8078-7e094a27b375","html_url":"https://github.com/matcracker/BedcoreProtect","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcracker%2FBedcoreProtect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcracker%2FBedcoreProtect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcracker%2FBedcoreProtect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcracker%2FBedcoreProtect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcracker","download_url":"https://codeload.github.com/matcracker/BedcoreProtect/tar.gz/refs/heads/stable","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237882172,"owners_count":19381176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anti-grief","block-logger","coreprotect","logger","pmmp","pmmp-plugin","pocketmine-mp-plugin","restore","rollback","survival"],"created_at":"2024-09-26T10:01:48.851Z","updated_at":"2025-10-23T20:30:29.185Z","avatar_url":"https://github.com/matcracker.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BedcoreProtect\n[![](https://poggit.pmmp.io/shield.dl.total/BedcoreProtect)](https://poggit.pmmp.io/p/BedcoreProtect)\n[![](https://poggit.pmmp.io/shield.state/BedcoreProtect)](https://poggit.pmmp.io/p/BedcoreProtect)\n[![](https://poggit.pmmp.io/shield.api/BedcoreProtect)](https://poggit.pmmp.io/p/BedcoreProtect)\n[![Discord](https://img.shields.io/discord/620519017148579841.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2)](https://discord.gg/Uf6U78g)\n\nBedcoreProtect is a fast, efficient, data logging and anti-griefing tool for PocketMine servers. Rollback and restore any amount of damage.\n\n## Features\n- Fast efficient data logging.\n- Fast rollbacks.\n- No configuration required. Put the plugin on your server, and you're good to go.\n- Multi-language support.\n- User interface (UI) support.\n- SQLite based data storage.\n- Optional MySQL support.\n- Easy to use commands.\n- Perform rollbacks AND restores. Undo any rollback, anytime.\n- Easy to use block inspector\n- Advanced search-based lookup tool.\n- Paginated logs.\n- Automatic update checker.\n- Multi-world support.\n- Enable or disable any aspect of logging in the configuration file.\n- Rollback per-player all damage around you.\n- Specify certain block types to skip in rollbacks/restores.\n- Restrict rollbacks/restores to specific block types\n- Log basic player actions (such as when a player opens a door)\n- Liquid tracking. Associate liquid flow with players\n- Restrict rollbacks/restores to a radius area.\n- 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.\n- Easily delete old log data.\n- Safe default parameters.\nRollback or restore multiple players at once.\n- Lookup, rollback, or restore by a specific action.\n- Exclude multiple blocks.\n\n...and much more!!\n\n## What does it log?\n- Log blocks broken by players\n- Log blocks placed by players\n- Log natural block breakage (ex: if a sign pops off a dirt block that was broken)\n- Log bucket usage\n- Log liquid flow\n- Log explosions\n- Log flint \u0026 steel\n- Log fire igniting blocks\n- Log blocks burning up in fires\n- Log block movement (Falling sand/gravel)\n- Log leaves decay\n- Log player interactions\n- Log items taken or placed in chests, furnaces, dispensers, etc.\n- Log paintings and item frames. (With rollback support!)\n- Log entities killed by players (animals/monsters)\n\n...and the list is still expanding!\n\n# Database Minimum Requirements\nIn case of **MySQL** as storage, the minimum required version must be \u003e= **5.6.4**\n\n# Commands\nYou can access the following commands by using **/bedcoreprotect**, **/bcp**, **/core** or **/co**.\nRunning this command without arguments and with the configuration option `enable-ui-menu: true`, it will display a graphic interface to simplify the plugin usage.\n\nThe **command permission** is _bcp.command.bedcoreprotect_ (default: operator).\n\n## Command overview\n| Command       | Description                   | Permission              | Permission default |\n|---------------|-------------------------------|-------------------------|:------------------:|\n| /bcp help     | Display a list of commands    | bcp.subcommand.help     | Operator           |\n| /bcp lookup   | Lookup block data             | bcp.subcommand.lookup   | Operator           |\n| /bcp purge    | Delete old block data         | bcp.subcommand.purge    | Operator           |\n| /bcp reload   | Reload the configuration file | bcp.subcommand.reload   | Operator           |\n| /bcp inspect  | Toggle the inspector          | bcp.subcommand.inspect  | Operator           |\n| /bcp restore  | Restore block data            | bcp.subcommand.restore  | Operator           |\n| /bcp rollback | Rollback block data           | bcp.subcommand.rollback | Operator           |\n| /bcp show     | View the plugin status        | bcp.subcommand.show     | Operator           |\n| /bcp status   | View the plugin status        | bcp.subcommand.status   | Operator           |\n\n### Command shortcuts\n| Command   | Description                                       | Permission          | Permission default |\n|-----------|---------------------------------------------------|---------------------|:------------------:|\n| /bcp near | Performs a lookup with radius 5                   | bcp.subcommand.near | Operator           |\n| /bcp undo | Revert a rollback/restore via the opposite action | bcp.subcommand.undo | Operator           |\n\n## Command details\n_Detailed commands information are listed below._\n\n### /bcp help\nDisplay a list of commands available in-game.\n\n---\n\n### /bcp lookup \\\u003cparameters\\\u003e\nPerform a lookup returning a page with all blocks data fetched. If multiple pages are returned, see the command [/bcp show](#bcp-show-pagelines) to switch pages.\n\n\u003e **Alias:** /bcp l \\\u003cparameters\\\u003e\n\n| Parameter | Mandatory          |\n|-----------|:------------------:|\n| time      | YES                |\n| world     | YES (only console) |\n| radius    | NO                 |\n| users     | NO                 |\n| actions   | NO                 |\n| include   | NO                 |\n| exclude   | NO                 |\n\n---\n### /bcp purge \\\u003cparameters\\\u003e\nPurge old block data. Useful for freeing up space on your HDD if you don't need the older data.\n\n| Parameter | Mandatory |\n|-----------|:---------:|\n| time      | YES       |\n| world     | NO        |\n\nFor example, `/bcp purge t=30d` will delete all data older than one month, and only keep the last 30 days of data.\n\n#### Purging Worlds\nYou can also optionally specify a world where delete the data.\nFor 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.\n\nYou 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.\n\n---\n### /bcp reload\nReloads the configuration file.\n\n---\n\n### /bcp inspect\nEnable the inspector. Type the command again to disable it.\n\n\u003e **Alias:** /bcp i\n---\n\n### /bcp restore \\\u003cparameters\\\u003e\nPerform a restore. _Restoring can be used to undo rollbacks or to restore player actions._\n\n\u003e **Alias:** /bcp rs \\\u003cparameters\\\u003e\n\n| Parameter | Mandatory          |\n|-----------|:------------------:|\n| time      | YES                |\n| world     | YES (only console) |\n| radius    | YES                |\n| users     | NO                 |\n| actions   | NO                 |\n| include   | NO                 |\n| exclude   | NO                 |\n---\n\n### /bcp rollback \\\u003cparameters\\\u003e\nPerform a rollback. _Rollbacks can be used to revert player actions._\n\n\u003e **Alias:** /bcp rb \\\u003cparameters\\\u003e\n\n| Parameter | Mandatory          |\n|-----------|:------------------:|\n| time      | YES                |\n| world     | YES (only console) |\n| radius    | YES                |\n| users     | NO                 |\n| actions   | NO                 |\n| include   | NO                 |\n| exclude   | NO                 |\n---\n\n### /bcp show \\\u003cpage\\\u003e:\\\u003clines\\\u003e\nAllow switching page when multiple pages are returned from the [/bcp lookup](#bcp-lookup-parameters) command.\nTo change the number of lines displayed on a page, use the command `/bcp show \u003cpage\u003e:\u003clines\u003e`.\n\n\u003e **Alias:** /bcp s\n\n\u003e For example, `/bcp s 2:10` will return 10 lines of data, starting from the second page.\n---\n\n### /bcp status\nDisplays the plugin status and version information.\n\n---\n\n## Parameters overview\n| Parameter | Aliases   | Description                    |\n|-----------|-----------|--------------------------------|\n| users     | user, u   | Specify the user(s).           |\n| time      | t         | Specify the amount of time.    |\n| radius    | r         | Specify a radius area.         |\n| world     | w         | Specify the world.             |\n| actions   | action, a | Restrict to a certain actions. |\n| include   | i         | Include specific blocks.       |\n| exclude   | e         | Exclude specific blocks.       |\n\n## Parameter details\n_Detailed commands parameters information are listed below._\n\n### u=\\\u003cusers\\\u003e\n_You can specify a single or multiple users or entities._\n\nExamples:\n- `u=Notch`\n- `u=Notch,shoghicp`\n- `u=matcracker,#Zombie`\n---\n\n### t=\\\u003ctime\\\u003e\n_You can specify weeks, days, hours, minutes, and seconds._\n\nExamples:\n- `t=4w5d2h7m20s`\n- `t=5d2h`\n- `t=1y`\n---\n\n### r=\\\u003cradius\\\u003e\n_A numeric radius targets within that many blocks of your player location._\n\nExamples:\n- `r=20` _(target within 20 blocks of your location)_\n- `r=#global` _(target the entire world)_\n---\n\n### w=\\\u003cworld\\\u003e\n_You can specify a single world._\n\nExamples:\n- `w=faction`\n- `w=\"my world\"` _(if your world name has whitespaces use double quotes)_\n---\n\n### a=\\\u003cactions\\\u003e\n_Restrict the command to a specific action._\n\n| Action     | Description                       |\n|------------|-----------------------------------|\n| block      | Placed/Broken blocks              |\n| +block     | Placed blocks                     |\n| -block     | Broken blocks                     |\n| click      | Player interactions               |\n| container  | Items taken from or put in chests |\n| +container | Items put in chests               |\n| -container | Items taken from chests           |\n| kill       | Mobs killed                       |\n| session    | Player join/left the server       |\n| +session   | Player join the server            |\n| -session   | Player left the server            |\n| chat       | Player write in chat              |\n| command    | Player executes a command         |\n\n\u003e For example, if you want to only rollback blocks placed, you would use `a=+block`\n---\n\n### i=\\\u003cinclude\\\u003e\n_Can be used to specify a blocks/items._\n\nExamples:\n- `i=stone` _(only includes stone)_\n- `w=stone,oak_wood,bedrock` _(specify multiple blocks)_\n\u003e You can find a list of blocks at https://minecraft.gamepedia.com/Bedrock_Edition_data_values.\n---\n\n### e=\\\u003cexclude\\\u003e\n_Can be used to exclude a blocks/items._\n\nExamples:\n- `e=tnt` _(only excludes TNT)_\n---\n\n# FAQ\n- **I found a bug, where can I report it?**\n  - You can report [here](https://github.com/matcracker/BedcoreProtect/issues/new/choose) by clicking button **\"Get Started\"** on **Bug report**.\n- **Where can I request a new feature?**\n  - You can ask a new feature [here](https://github.com/matcracker/BedcoreProtect/issues/new/choose) by clicking button **\"Get Started\"** on **Feature request**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatcracker%2Fbedcoreprotect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatcracker%2Fbedcoreprotect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatcracker%2Fbedcoreprotect/lists"}