Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/PaperMC/Folia

Fork of Paper which adds regionised multithreading to the dedicated server.
https://github.com/PaperMC/Folia

Add more debugging information to chunk sending

Perform thread checks on the chunk send and warn when the
world is mismatched. I suspect that th...

ce49776448d6fbd3c3bd399721e238efb2c6ab2e authored over 1 year ago by Spottedleaf <[email protected]>
[ci skip] Update README.md (#38)

Changed links from PROJECT DESCRIPTION.md to Paper website

41c5548dee9c8c0190aea9d9a8d2b4ddc444db89 authored over 1 year ago by martijnpu <[email protected]>
Rework some parts of the player chunk loader

Change overview:
- Rework limiting
- Remove mid tick updates
- Introduce consistency checks

The...

25e0cbdae46912d227a31703869594538b731931 authored over 1 year ago by Spottedleaf <[email protected]>
Lag compensate block breaking

Due to TPS catchup being removed, a lost tick will always
affect block breaking.

Additionally, ...

ad70ddfc204ab3aecab5b7cb280ebeb7f93f6347 authored over 1 year ago by Spottedleaf <[email protected]>
Adjust CB async teleport dismount behavior

The expected behavior is that the entity is only dismounted
_if_ the teleport takes place, not r...

105f6d6a21599d7f6951318e0d230495ac109ec9 authored almost 2 years ago by Spottedleaf <[email protected]>
Add entity/player/chunk counters to /tps

Required to add some basic hacks to expose a regionstats object
in the TickRegions data class, b...

c9ded2de1c0b52f0fb5cf417d2ebca5f3c3a1b30 authored almost 2 years ago by Spottedleaf <[email protected]>
Make CB Entity async teleport dismount entities being teleported

This preserves behavior with the older API that did
dismount the entity before teleporting

Fixe...

4431a66c1249a0fbf11ed649c3d279cfd2a17503 authored almost 2 years ago by Spottedleaf <[email protected]>
[ci skip] Update README.md (#37)

b1c668f2b9155c213dd28b9ce0cc31c1c24696cc authored almost 2 years ago by ShoelessTom <[email protected]>
Always send untrack chunk packets

Vanilla inserted the alive check so that dead players
could see the chunks around them, but in F...

d34fb878bbfe7a7f6057b17033462f341ceb3c3a authored almost 2 years ago by Spottedleaf <[email protected]>
Fix mob entity inventory loss when switching dimensions

The inventory was being cleared by removing the entity
from the world, but Folia changed the rem...

774141dfb1eb7cefc58c6bb60dbd7882f5cbd257 authored almost 2 years ago by Spottedleaf <[email protected]>
Note world as well when a region fails to tick or execute tasks

Should always include the world if we're including the center
position

445613b93175de70da77224e967b43cb0987a49f authored almost 2 years ago by Spottedleaf <[email protected]>
Fix destroying beehive without any players nearby throwing an exception

If the player moves out of range by the time the block is destroyed,
then the exception would th...

f8a17538e6c93a16bf8a041884fbd0cccbc81a16 authored almost 2 years ago by Spottedleaf <[email protected]>
Calculate correct redstone offset when merging regions

It should be offset = to - from, not from - to. This should
fix redstone freezing randomly when ...

4b0c614847606d8ecbfabad77ec1cce5309024de authored almost 2 years ago by Spottedleaf <[email protected]>
Make uses of SimpleDateFormat thread-safe

Turns out, the utility is not thread-safe to use for whatever
reason. So, we need to use ThreadL...

6d18e8e9b6b707d392d574077f6889736ba610e0 authored almost 2 years ago by Spottedleaf <[email protected]>
Make sign update executor use the EntityScheduler

The MinecraftServer executor will throw, and thanks
to CompletableFuture's awful exception handl...

33d2aa8cf784d387a27b9e3947f9325484c2acd1 authored almost 2 years ago by Spottedleaf <[email protected]>
Acquire scheduling lock in NewChunkHolder#onFullChunkLoadChange

It modifies data that should be held by the lock: pending
chunk status

7072994557d6b2f05604613b734e0bbf3b7fa8b1 authored almost 2 years ago by Spottedleaf <[email protected]>
Always process specialCaseUnload during ticket level updates

It is not guaranteed that ticket levels are updated, so we need to
to move the logic so that it ...

700d3c580c1e8ffbe7e202a79d42a9dfb58073b3 authored almost 2 years ago by Spottedleaf <[email protected]>
Do not call getGameTime when portalling Villagers

The code to stop all brain tasks is required to pass the current
game time to the tasks it stops...

76b06a1260ca71574e215f1b727efcf2bc64a4a0 authored almost 2 years ago by Spottedleaf <[email protected]>
Make move event location update use teleportAsync

Additionally, make the teleportAsync call immediately teleport
if the current caller owns the en...

3f377072d80395133aeb8ec6cedade4af2ea5992 authored almost 2 years ago by Spottedleaf <[email protected]>
[ci skip] Add foojay-resolver-conventions plugin (#21)

32417a23f251962b957b13dd9055735b81bd8067 authored almost 2 years ago by Jason <[email protected]>
Fix enchant command feedback messages (#22)

* Fix enchant command feedback messages

9c8863a490ce0a892337b617b4ca78421da18668 authored almost 2 years ago by Jake Potrebic <[email protected]>
Fix 2 incorrect threading checks (#17)

* Fix 2 incorrect threading checks

* Fix bad catcher methods, fix missing async catcher

--...

508a6688e57d3a12086043075a8f40ff17d0d717 authored almost 2 years ago by Jake Potrebic <[email protected]>
Log traces of tick threads that fail to shut down (#10)

* Log traces of threads that fail to shut down in SchedulerThreadPool

fbf832bc0541e5b17af7dedc9b0ddbf560301104 authored almost 2 years ago by Jason <[email protected]>
fix: fix build number check in version fetcher (#16)

ed7a5c57f4082107751dd8aad431d45ab5fab1d2 authored almost 2 years ago by Noah van der Aa <[email protected]>
[ci skip] lol woops

00cfbaa1c2c3125e9028efd76ac078a7932b5cc9 authored almost 2 years ago by Riley Park <[email protected]>
Point to PaperMC documentation for most things - the rest needs moving over.

ccc5bdb92f3184a532ce8c21db86c7445d08d211 authored almost 2 years ago by Riley Park <[email protected]>
[ci skip] add issue templates (#15)

* [ci skip] add issue templates

* mention paper plugins might not work

* change name

* ...

051d489a952e535ad52dfde197fc90e2cb6598c9 authored almost 2 years ago by powercas_gamer <[email protected]>
Fix class name reference in readme

5b74945159ead502c0bd596e84d6e720fef825eb authored almost 2 years ago by Nassim Jahnke <[email protected]>
Notify users that Timings cannot be enabled on Folia

f3e6529d49ed625689120a36f68c3200cc180486 authored almost 2 years ago by Riley Park <[email protected]>
Update Upstream (PaperMC/Paper@cbcdfd03e7d4042a8812d70d3e20fc216bdc5e02)

00864ac5b1409ea73e5ff77c759bbe5d6e41f18a authored almost 2 years ago by Riley Park <[email protected]>
Fix incorrect error handling in off-main chunk load task

Now that there is no on-main task, the completion logic
for the status task is completed with th...

f34a20c36a1ff689c82b2d651d11b5a4d7b4917f authored almost 2 years ago by Spottedleaf <[email protected]>
Fix getCenterChunk not returning the center chunk

Before, it returned the center chunk section. Also, now instead
of approximating the center chun...

749480c7ec6ca6714e3479985d34687f45cf4528 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix compilation of TestPluginMeta

Needed to implement isFoliaSupported()

b3e1b06c07a01f01fdabf9da1c6cc5bca6baa87f authored almost 2 years ago by Spottedleaf <[email protected]>
Make ActivationRange#activateEntities use non-checked getEntities

We can do this because we thread-check the entities retrieved,
we want to do this because a larg...

9998ecd60defd9bee61fae1ef3e9796fd8212047 authored almost 2 years ago by Spottedleaf <[email protected]>
Support paper plugin meta marking plugins as Folia supported

32f79c415e70f6294460287155303c5806c8e57a authored almost 2 years ago by Owen1212055 <[email protected]>
Add maven artifact and repo information

7ce0308bdb6faf8a589423b913e1aebe69cf19af authored almost 2 years ago by Spottedleaf <[email protected]>
Expand a bit on added api and thread contexts in README

4c79bb48784a203ad2815bceaa6b409712c6fa72 authored almost 2 years ago by Spottedleaf <[email protected]>
Folia Metrics page

https://bstats.org/plugin/server-implementation/Folia/18084

f42c61aba66e267a57474a239b3b4ead90f16f89 authored almost 2 years ago by Spottedleaf <[email protected]>
add version print tasks

b3d994fb9b8f02059100037312bae530e1489e7c authored almost 2 years ago by Jason Penilla <[email protected]>
fix build

fca2eba2f87690c110195c65811b883eec4b8b01 authored almost 2 years ago by Jason Penilla <[email protected]>
configure publishing

df6b444946e70b2992e6d77d96739c4caef4b3e2 authored almost 2 years ago by Jason Penilla <[email protected]>
Add basic FAQ in README

e35a734744283f30ee4ea7a7969f921c2de8cea2 authored almost 2 years ago by Spottedleaf <[email protected]>
Nerf default tick thread allocation

Allocates too many threads by default

7de5c541b3f085cce611135400c762ad22037a0a authored almost 2 years ago by Spottedleaf <[email protected]>
Add Server#isGlobalTickThread (#5)

88167d59d2b3d2d09be604048e965a57433356e5 authored almost 2 years ago by Josh Roy <[email protected]>
Add project overview doc

Explains most important concepts, like data management,
tick count handling, and teleportations

ae66537bdcfcdeaf89ae641fe8c1640e87e3939c authored almost 2 years ago by Spottedleaf <[email protected]>
Use chunk coords for thread check for CraftWorld#getHighestBlockYAt

Not block coords

108dc2358b5200dcca59b7acf0a8b164c3f42033 authored almost 2 years ago by Spottedleaf <[email protected]>
Force prevent moving into unloaded chunks

Not safe to allow this anymore

1c5e9be7fd3d8765c738c16e7b7781463767c649 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix isTickThread(world, blockX, blockZ)

Need to convert the Z to chunk, not block...

Also throw for CraftPlayer#teleport and friends

d113346b6df223f1c5546fdd95294f2203274db3 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix failure to initialise CraftWorld

Directly access spawn category limits rather than go through
the method

117535040049e5f6726d665dc93dd2bc7b02e96b authored almost 2 years ago by Spottedleaf <[email protected]>
Use longs for scheduler delays/periods (#4)

5fa055686922a2b7415cd2a12926800509ce175b authored almost 2 years ago by Josh Roy <[email protected]>
Rebase fixups

75e3cdbc619af89cf5583849bcb46115e1f84dca authored almost 2 years ago by Spottedleaf <[email protected]>
Deprecate bukkit scheduler

Every method on that should basically throw, so the API should
reflect that

6df8272abfdb231b3363480ea85922ab7f74b0a2 authored almost 2 years ago by Spottedleaf <[email protected]>
Add more thread checks to API

Most of the World methods, and for updating captured TEs

66c77fb5738c174f6a4b3d642e6b1b6c9d450910 authored almost 2 years ago by Spottedleaf <[email protected]>
Add world checks to retrieval of regionised world data

This is to mirror behavior of RegionizedData's world check.

c435aaae96c466eff75e545966dc2f5270fd5d4c authored almost 2 years ago by Spottedleaf <[email protected]>
Kenny momentos

Random newline?

7eea12b9e460b0f8fba02f7192bbe93758822436 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix player disconnect call in PlayerList removAll

3c629322501b3b3da040df2753e2ee9a325d6f62 authored almost 2 years ago by Nassim Jahnke <[email protected]>
Fix tests by removing them

5e7b4f01855bb5b954200ee16f4ec281a241e8b3 authored almost 2 years ago by Nassim Jahnke <[email protected]>
Replace Vector with Position in isOwnedByCurrentRegion methods

Closes #3

836dc75b65db706da83eab7c963e45545d56f1e9 authored almost 2 years ago by Nassim Jahnke <[email protected]>
Add methods taking world, chunkX, chunkZ to RegionScheduler

8d15f3e23df309fce6b1b58c4febebc8286878cd authored almost 2 years ago by Nassim Jahnke <[email protected]>
Renames for consistency

dfc157075abff60c5d0365e2ad566a4fb13220f8 authored almost 2 years ago by Nassim Jahnke <[email protected]>
Fix building on case sensitive fs

64f7932ed03c1aeb40a099878ad6e6ba8ccba90f authored almost 2 years ago by Nassim Jahnke <[email protected]>
Make ClickCallbackProviderImpl thread-safe

Can no longer process tasks from the main thread like that anymore,
it just needs to be concurrent.

6a5fff3caab464adcd57cbf39745f530c5143173 authored almost 2 years ago by Spottedleaf <[email protected]>
Make Damagecommand safe, and remove RideCommand

d5b837c4574eedc033acf8fcd67cb34545a03473 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix compile

4c183bf9601971de6596d8e16f0bb5f9cbbe126f authored almost 2 years ago by Spottedleaf <[email protected]>
Update to 1.19.4

Patches applied, but not yet checked compile.

c7fbdd87d2a8712804f4c5539553f881a5f12e47 authored almost 2 years ago by Spottedleaf <[email protected]>
Lowercase project names

Make JMP happy

e3a299c5ce1dbf5bb914571a7065f318d7c3aa77 authored almost 2 years ago by Spottedleaf <[email protected]>
New scheduler API

Now, entity/global/location schedulers implement a generic run,
runDelayed, and runAtFixedRate m...

50ad6c313192e24bd4d3a4b67c766369d073c2b2 authored almost 2 years ago by Spottedleaf <[email protected]>
Disable mid-tick task execution

Mid-tick task execution acquires the ticket lock at least,
which can possibly be a significant p...

0da953539baff286ea9c1aa7025d9fc5b14a4def authored almost 2 years ago by Spottedleaf <[email protected]>
Suppress entire CB passenger events if the entity is not valid

The event is not being called, so the checks will not do
anything. We need to bypass the checks ...

106a4affdc40f19e15e780a8448e8e5095590ad2 authored almost 2 years ago by Spottedleaf <[email protected]>
Add global region scheduler

This will allow plugins to safely execute commands or perform
other global tick thread data modi...

7e948a6179de0d4f5f61c55aebaaa1725af0cdb0 authored almost 2 years ago by Spottedleaf <[email protected]>
Make max concurrent logins patch use maxJoinsPerTick config

This patch performed perfectly to handle the test server,
so it can stay.

cbf8108d4e2b71f4ebb28fa021db02b4b2e7237a authored almost 2 years ago by Spottedleaf <[email protected]>
Remove patches specific for stream

Specifically, the /msg and /me command removal and the operator
only chat. Additionally, remove ...

0911c7a58ae8e90ecaf07697501678558372ba08 authored almost 2 years ago by Spottedleaf <[email protected]>
Add thread checks for CraftEntity#getHandle

Also resolve some issues found by this change.

Currently, the player handle checks are disabled.

ee737050a01a9237706f82d5fc27151e7e84b000 authored almost 2 years ago by Spottedleaf <[email protected]>
Regionise RedStoneWireBlock#shouldSignal

Global state used to update redstone, so it should be regionised.

a980944815620be6bbf782dc190330cfa8b4b060 authored almost 2 years ago by Spottedleaf <[email protected]>
Erase mob target in getTarget if it is not in the current region

This will prevent access to the target's position or data.

6fe75ab0682828ff3b9207eb06506e522494bcf6 authored almost 2 years ago by Spottedleaf <[email protected]>
Make PoiCompetitorScan region-safe

We implement it by ensuring that if the entity is not nearby
the job site, they automatically lose.

3aeb021748515d7185fc292c901a7102b35d6441 authored almost 2 years ago by Spottedleaf <[email protected]>
Rebase fixups

cf72543628de60f444b385a00ae1660b6f662f3c authored almost 2 years ago by Spottedleaf <[email protected]>
Resolve concurrent access to ticket state

The concurrent access occurred in the region merge/split logic,
as it did not own the ticket loc...

a9a885ad001730376ad2ed19d3ed4af00ae15465 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix zero radius tasks being recognized as infinite

Fixes parallelism loss from spawn entity chunk status

518b2d5dec962d4b3c5740c4c5b6a4c6ca239477 authored almost 2 years ago by Spottedleaf <[email protected]>
Do not execute infinite radius task in parallel when pushing tasks

By definition, it should not execute in parallel with anything.

0a11f6aa1f71323bcd41ce372d982f85543b9319 authored almost 2 years ago by Spottedleaf <[email protected]>
Make specialCaseUnload global state

With region state, it may be modified concurrently while
only holding the region lock. Need to f...

3bc53415316e3a2fb0759e371c0dd1b824485102 authored almost 2 years ago by Spottedleaf <[email protected]>
Log exceptions in ThreadedRegioniser explicitly

I suspect something called these methods, they threw and then
the error was hidden by some compl...

9561a53e7a1232a284c684a3488419ed3f984680 authored almost 2 years ago by Spottedleaf <[email protected]>
Make uncaught exceptions in tick thread shut down the server

a80cdafae92bf831f74f5d9e6067c94be22b8dcb authored almost 2 years ago by Spottedleaf <[email protected]>
Make SaplingBlock.treeType a thread-local

Now it is accessed concurrently

3f2b83c35a948e37738b0bb18490cc38bf936738 authored almost 2 years ago by Spottedleaf <[email protected]>
Update new bee position before adding to beehive

This will ensure the thread check from discard does not fail

9e835221b90ca61932f0945e4dead25c44fce100 authored almost 2 years ago by Spottedleaf <[email protected]>
Move region center calculation into try-catch

Sometimes a region is empty, but only when the threaded regioniser
crashes. So, it should not pr...

760de0a276bb63b673ea285560a03068b43e6cfd authored almost 2 years ago by Spottedleaf <[email protected]>
Do not allow players to interact with entities outside the current region

0fa5f339f29c77dbe8597d0132064d24200c6290 authored almost 2 years ago by Spottedleaf <[email protected]>
Do not allow players to interact with blocks outside of their region

d2a5acba4a91f94af1f1eec6bdc451569bf8f4dd authored almost 2 years ago by Spottedleaf <[email protected]>
Do not allow players to destroy blocks that are not owned

4af9f6c8897b123bc7f96a1206031aef265371e2 authored almost 2 years ago by Spottedleaf <[email protected]>
Read cancelled field while holding region lock

This will prevent a race condition where the region is cancelled
and immediately re-scheduled, a...

4cffea66527724886418113e2d1924eff843692e authored almost 2 years ago by Spottedleaf <[email protected]>
Fix kicking player when they die on a vehicle with instant respawn

The respawn logic apparently can fire before the death is broadcasted

f6d776697b85c7ffee2e696b8110389c1a785742 authored almost 2 years ago by Spottedleaf <[email protected]>
No longer give everyone access to /tps

Everyone had access to /tps for the private tests, but we cannot
trust everyone to use it respon...

e1ad1b1d91de6519f01e9cb53de51a004fa12e4f authored almost 2 years ago by Spottedleaf <[email protected]>
Add chunk system throughput counters to /tps

d258d323938486def4b9c2d655db0a4e28c68ba0 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix crash if player disconnects during login stage

8625606b3dca1a58a3b3124e5fe49a31dffc050e authored almost 2 years ago by Spottedleaf <[email protected]>
Max pending logins

Should help hold the floodgates on launch

a9d01f9b4f36d8d0fbf0dd0a40afa747c1f2b1e3 authored almost 2 years ago by Spottedleaf <[email protected]>
Stream mode

Disable chat and /msg and /me for non-ops so that the server is
safe to stream

5cbf898ca13867ffe7062da102181b953b119267 authored almost 2 years ago by Spottedleaf <[email protected]>
Fix fishing rods throwing exceptions

Need to move setOwner after the position update, as the thread-check
will fall back to position

bbee4310fe7e360f66b90354f570bd7aac42a1fd authored almost 2 years ago by Spottedleaf <[email protected]>
Do not let projectiles travel into chunks not owned by current region

Otherwise, the thread checks for moving the entity into the new
entity chunk section would throw...

950216171d836f989a30453e8b66d7df8c4b7fbd authored almost 2 years ago by Spottedleaf <[email protected]>
Consider non-owned chunks in entity movement as unloaded

This should prevent entities from moving into areas not owned
by the current region.

ef515cc6f5fbcfee65f934d15fa19d83704c9550 authored almost 2 years ago by Spottedleaf <[email protected]>
Fall back to position check if the entity has a null entity callback

In the case that the entity has a null callback, it means the
entity has not been added to the w...

afd678cab650cbabc6c34fb35762db5a47800df3 authored almost 2 years ago by Spottedleaf <[email protected]>