Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Technical Update (v0.6.0) #17

Merged
merged 134 commits into from
May 8, 2020
Merged

Technical Update (v0.6.0) #17

merged 134 commits into from
May 8, 2020

Conversation

matcracker
Copy link
Owner

@matcracker matcracker commented Apr 11, 2020

Introductory notes

  • This update is recommended because it contains many improvements and bug fixes.
  • The update is backward compatible with v0.5.x
  • If you are already using BedcoreProtect v0.5.x and you upgrade to v0.6.0, you will notice a message of database upgrading. Don't worry, that's normal. It's the patch manager process that updates the database tables for the new version. If during the process you got a crash, please open a issue here!

Changelog (Last update: 08/05/2020)

The update is not finished yet and the changelog could be updated in any time.

Features

  • Added /bcp undo command (Permission: bcp.subcommand.undo). Allows to undo the last rollback/restore.
  • Now block restrictions works. So, is now possible to include/exclude certain blocks during a rollback or a lookup.
  • When a player spawn an entity through a spawn egg is now logged.
  • When a entity dies due to a block (e.g. fire, lava, etc...) is now logged.
  • When a player ignites a TNT is now logged.
  • Code analyzed with PHPStan level 8.

Improvements

  • With SQLite the data will be saved every 5 minutes (same as worlds) instead of 5 hours.
  • Re-wrote query execution code getting a speed up!
  • Most of queries when executed are now scheduled in order by preventing missing or wrong logs.
  • Improved the QueryGenerator execution.
  • Improved painting break tracking.
  • Removed tiles when rollback placed blocks.
  • General minor improvements.

Changes

  • The patch manager is now able to patch a different numbers of patches for each database type.
  • From now in the database version of status command (/bcp status) will be applied a suffix indicating if the current database version is backward compatible.
    (e.g. - Database version: v0.6.1 (Backward Compatible))
  • Default SQLite database file name is now logs.db. (This change is backward compatible)

Bug fixes

  • Fixed Logging blocks when they should not. #9
  • Fixed High Resource Usage #12
  • Fixed an issue not allowing inspector to getting logs of the replaced block.
  • Fixed crash during the rollback of entities.
  • Fixed possible issue with command permission check order.
  • Fixed order of plugin data folder creation.
  • Fixed wrong position calculation of liquid tracking.
  • Fixed correct meta value (damage) when placing block.
  • Fixed wrong restore of bed and doors when placed.
  • Fixed duplicated door log when breaking.
  • Fixed block burning rollback not correctly working some times.
  • Fixed purge command not correctly working on SQLite.
  • Fixed excessive log during inventory transaction.
  • Fixed database file creation on start-up not taking the choosed file name in the config.
  • Fixed possibles crashes relative to null values while tracking.
  • When rollback an area containing blocks with light source, the light will try to be updated. (This avoid empty light areas)
  • Don't log anymore players when they die. It causes a crash while rollback.

@matcracker matcracker marked this pull request as ready for review May 8, 2020 18:05
@matcracker matcracker merged commit af4634d into stable May 8, 2020
@maxicode2 maxicode2 mentioned this pull request May 22, 2020
@cherrychip8293 cherrychip8293 mentioned this pull request Nov 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

High Resource Usage Logging blocks when they should not.
1 participant