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

Merge changes from Poseidon #37

Merged
merged 12 commits into from
Jun 29, 2024
Merged

Merge changes from Poseidon #37

merged 12 commits into from
Jun 29, 2024

Conversation

notdevcody
Copy link
Collaborator

No description provided.

RhysB and others added 12 commits March 3, 2024 14:16
Extreme server lag (TPS lag) can be caused due to extremely high entity counts into the thousands. Usually this isn’t a problem as the spawning methods within Bukkit check the amount of mobs already within the world.

Mob spawners currently bypass this (with some exceptions) which effectively means under mob spawner conditions spawners will never stop spawning mobs. On RetroMC, this has caused large amounts of lag with people AFKing at mob grinders for prolonged periods causing thousands of mobs to be in a single area drastically impacting TPS.

This commit adds a feature to Poseidon which will check 8 chunks surrounding the mob spawner to ensure that the mob cap is under a predefined limit (default 150) of that entity time.
* Created log rotation class

* Added log rotation task

* removed rotation scheduling

* Added log rotation scheduling

* Switched to bukkit task scheduling

* Renamed variable a to logger

* removed un-necessary comments

* moved log rotation scheduling instantiation

Log rotation was instantiated before all startup tasks were complete, missing logs from startup. Instantiation has not been moved AFTER the server prompts "Done (0.059s)! For help, type "help" or "?""

* Rewrite of log rotation logic.

Log rotation logic prior to rewrite moved contents of latest.log into a log with the days date, improperly handling the logs which might contain previous dates e.g. server stopped over midnight.

New logic will handle crashes, and logs containing multiple days dates.

* Make latest log file optional

---------

Co-authored-by: Johny Muffin <[email protected]>
* Add API to figure out block drops and break them

* Revert NMS name changes in Block

* Revert NMS name changes in EntityHuman

* Revert NMS name changes in InventoryPlayer

* Revert NMS name changes in Item

* Revert NMS name changes in ItemInWorldManager

* Revert NMS name changes in Material

* Added comments to modified NMS code

* Revert NMS name changes in ItemStack

* Make Block.dropNaturally non-final again

* Reverted the last of the name changes
* Remove Chew repository as it is offline

* Change hosting to repository.johnymuffin.com as chew.pw is offline
* Improved UUID handling and updated Mojang API URLs

* Resolve configuration bug and add additional debug
* Add API to figure out block drops and break them

* Revert NMS name changes in Block

* Revert NMS name changes in EntityHuman

* Revert NMS name changes in InventoryPlayer

* Revert NMS name changes in Item

* Revert NMS name changes in ItemInWorldManager

* Revert NMS name changes in Material

* Added comments to modified NMS code

* Revert NMS name changes in ItemStack

* Make Block.dropNaturally non-final again

* Reverted the last of the name changes

* Fixed grass chunk ban
@notdevcody notdevcody self-assigned this Jun 29, 2024
@notdevcody notdevcody marked this pull request as draft June 29, 2024 09:54
@notdevcody notdevcody merged commit cd06a6b into Moresteck:master Jun 29, 2024
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.

5 participants