#folia-help

1 messages Β· Page 1 of 1 (latest)

arctic tapir
#

ur mom

earnest shore
#

hi

untold juniper
#

new Channel

#

This is Going to be Awesome

hidden leaf
#

hello!

fiery vessel
#

New channel who dia

#

Dis

hidden leaf
#

nobody here seems to need help yet

fiery vessel
#

DAMN IT

keen parcel
#

not second

livid crag
#

Alright guys, I have the ban hammer knife ready.

hidden leaf
#

fifteenth

scenic sky
fiery vessel
#

Whoa whoa whoa

untold juniper
#

xiaomi??

livid crag
dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

scenic sky
dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Stay tuned to #announcements for any further info about releases.

hidden leaf
#

interesting

oak gull
fair merlin
#

For the public test we had:

2x 480GB SSD
10x 6.4TB NVMe
2TB RAM (500GB allocated to Folia)
25TB Bandwidth
25Gbps Network```

We had 327 concurrent players on a mostly out of the box config setup.

(Note: the server had 2x 7713s but we disabled one. NUMA is not supported.)
hidden leaf
#

cranberry sauce

ionic cradle
hidden leaf
#

[Larry pinned a message to this channel]

ionic cradle
#

πŸ’€

hidden leaf
#

lmao

#

i wanted the sauce pinned

livid crag
#

it should all taken care off

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Stay tuned to #announcements for any further info about releases.

livid crag
rare steppe
fair merlin
fair merlin
#

Quick like bunny Larry

oak gull
#

nibble nibble

hidden leaf
#

Larry is awesome

viral coral
oak gull
#

(that's the noise bunnies make)

scenic sky
#

i love larry

hidden leaf
#

Larry will pin this

#

lol doesn't seem to work any more

viral coral
#

you can cut the pin this stuff now

#

stay on topic

hidden leaf
#

:p hopefully it will become on-topic soon

#

sorry

oak gull
#

So here's a fun fact:

#

if you're reading this, there's a very high likelihood folia will not help your server

#

in fact, it probably won't even run

mystic marsh
#

Will folia be incorporated into the normal paper?

oak gull
#

no

wicked mantle
#

jokes on u larry

mystic marsh
oak gull
#

too much breaks (all plugins, for example) so it won't be normal paper merged ever

livid crag
#

it will continue on as its own fork @mystic marsh as it is not for everyone.

mystic marsh
#

oh I see

oak gull
hidden leaf
#

my pc hasn't exploded

viral coral
livid crag
#

Larry owns a datacenter in his backyard

oak gull
#

so much memory it remembers the future

wicked mantle
#

michael, I do not have a way to rent a 256 core system smh

jovial helm
finite hinge
#

In theory some day after hard fork if Folia is really stable, plugins are commonly supporting it, and the overhead ends up not being so bad or can be reduced I could see it getting merged

#

But probably not

viral coral
#

you do

wicked mantle
#

Well I mean, I know where to, but I don't have funds to kekw

hidden leaf
#

i notice nothing

#

my pc hasn't exploded

ionic cradle
hidden leaf
#

i'm guessing my hardware simply can't take advatage of it

scenic sky
#

disappointed

oak gull
#

probably best to not even pretend to have a link

#

PSA: WE DO NOT HAVE FOLIA JARS FOR YOU

hidden leaf
ionic cradle
#

The link works for me πŸ™ƒ

jovial helm
hidden leaf
#

probably because it's your repo

ionic cradle
scenic sky
#

i have sponsored you enough already

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

oak gull
ionic cradle
arctic tapir
#

what about Quilt????

oak gull
#

no port

#

@arctic tapir

#

no

echo vessel
scenic sky
arctic tapir
#

guess you’ll need to update the message again

oak gull
#

no :D

#

@arctic tapir

arctic tapir
#

who replied to this message

wicked mantle
#

I am also the 5%, of a different chart

dusky girder
shell violet
#

just wait 10 minutes for ppc64le to get on there

arctic tapir
#

ty discord being discord like usual

dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

ivory sentinel
#

For proper understanding, Github says that a minimum of 16 cores is recommended, which would cost us $250+ at OVH.

Most of the performance problems we have with chunk loading, i.e. players exploring the world with Elytras very quickly.
Our server currently has "only" 8 cores/16 threads, so would Folia not be an option for us at this time? (Small SMP with 10-30 player max)
Thanks in advance!

arctic tapir
#

it would not

#

use paper

finite hinge
#

Chunk loading is already threaded for that case

#

This is for ticking chunks after they're loaded (and the entities and such in them)

viral coral
livid crag
#

only for very very very niche use

prime juniper
#

guys how to build this

livid crag
#

aka if you want your mobsapwning like single player AyameYayA @ivory sentinel

viral coral
scenic sky
exotic leaf
zealous marsh
#

The question is, what plugins are currently already working on Folia?

ivory sentinel
scenic sky
#

and some really simple ones

viral coral
chrome mural
#

So for implementing this into a existing linux server. I Have a bunch of settings changed in many of the files.

What files would i in theory need to replace from the folia server, and overwrite in the paper server to make the changes work?

near crater
#

PlaceholderAPI is like 80% done. It loads and parses placeholders, but some logic has been disabled until it's done.

livid crag
dreamy dirgeBOT
#
spark migration

The Timings profiler that has been bundled with Paper for many years has been scheduled to be removed.

PaperMC has plans to bundle spark with the server in the future.

You may continue using the Timings profiler while it is supported, but may be requested to provide a spark profile when requesting support.

For more information, please visit Paper issue #8948.

zealous marsh
#

SPARK!!!

livid crag
#

well kinda related but Folia does not have timing to begin with.

marsh yew
#

spark's just better

viral coral
#

and 99% of your plugins

ivory sentinel
# exotic leaf Hetzher 120 euro, 16 cores for you

We have been to Hetzner, but they say the connection is not great for gaming, even though the support is very good.
OVH was recommended to us and is used by many German servers. But yes Hetzner is unbeatable in price / performance.

north sluice
#

Does folia work with paper plugins?

viral coral
#

yes

scenic sky
#

its crazy

livid crag
# marsh yew spark's just better

Paper team worked closely with the nice developers of spark months before this push. A lot of feature you seem are suggestions from Paper and lucko made it happen! We will never take something away without a replacement that's ready! Pepelove

ivory sentinel
zealous marsh
#

Question, is it possible to see on the forum in the plugins section a filter that is responsible for the fact that the plugin supports Folia?

fair merlin
#

Paper plugins will probably not work on Folia by default. Plugins will have to be modified to explicitly work on Folia.

You can try tossing your plugin on it and seeing if it runs, though.

daring nimbus
livid crag
livid crag
#

A lot of things are going on behind the scene and you just have to wait!

hexed ice
#

jokni when will you be releasing chatcolor3

scenic sky
#

soon

ivory sentinel
# scenic sky almost all EU minecraft servers use hetzner

The gaming bandwidth and the protection for DDOs attacks should not be optimal, even if most of the extren protection provider.
Nevertheless, Hetzner is not suitable for gaming, at least I was told by several and the support team. I myself had few problems, just not 376 players to try it out haha

hybrid shore
#

leet's gooo

chrome mural
# viral coral the server jar

thats it? nothing else?

Oh also I know it suggests being in a server with 16 cores. but as for lower end servers with 2-6 cores would this also in theory speed up timings and (from what i assume) reduce the likelihood of the "server is running 100ms slow or 1478912 ticks behind" from happening?

thats asked stupidly but i think you get what im trying to ask

scenic sky
#

ddos protection being mediocre is valid though

ivory sentinel
finite hinge
#

It won't make your farms faster it'll just make your farms not slow down someone 1000 blocks away from them

fair merlin
finite hinge
#

Unless your farms kill your OS because your hardware is underpowered

oak gull
#

yes, I imagine so, but as for how, you'll need to ask in #folia-dev

fair merlin
#

No.

oak gull
#

what

fair merlin
#

Oh with a plugin, sure

#

But like a config?

silent python
#

πŸŽ‰

oak gull
#

lmao no with plugin only

ivory sentinel
livid crag
#

think about it, it will be the only plugin that supports it πŸ˜‰

chrome mural
livid crag
#

it may yes

ivory sentinel
fair merlin
viral coral
#

lol ratelimited

finite hinge
livid crag
#

so yes it was a lot more than $50

ionic cradle
floral oyster
#

I've been seeing some people posting around about Folia not being worth it unless you have 300+ concurrent players. Is it so simple, or would 100 concurrent players still benefit? Been seeing a lot of doom-posting lol

viral coral
#

aslong as you have the hardware and the right server type for it

#

sure

livid crag
#

the defination of "worth it" or not is really on you

finite hinge
#

It'll benefit 10 players if you run on a powerful machine and each player is off doing their own thing in the world

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

viral coral
#

readme contains info on whether it's right for your server type

finite hinge
#

If those 100 players are in an arena or something Folia won't help

ivory sentinel
charred depot
#

are there any numbers as to how many players could theoretically be on one server with no tps drops, or does it come down to hardware now that there can be as many threads as the cpu can handle?

finite hinge
#

You need people to be separated enough to actually get multiple regions created

viral coral
#

plugins will still affect performance, hardware etc.

#

we hit 330 players at 20tps

finite hinge
#

327 people trying to kill the server couldn't in our testing

viral coral
#

up to someone else to beat that

finite hinge
#

Although one one was trying to break it by spawning 1 million bees or something

real heart
#

just set the render distance really really low and then you should be able to beat it

#

and peaceful mode

finite hinge
#

iirc one region did basically die but everyone else was fine

livid crag
#

yeah it was impressive af no one crashed our public testing....

#

you know they DO BE TRYING

charred depot
#

so if a mob moves from one chunk to another on another thread, they just change threads somehow?

viral coral
#

see the regionising logic document

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

oak gull
#

linked there ^

charred depot
#

alright will read through thanks

livid crag
#

you know leaf wrote all that doc but he STILL cant update chunk doc in good o' paper

tranquil epoch
#

those issues have been resolved though

finite hinge
#

Yeah I meant died like tanked the server tickrate

drowsy briar
#

speedrun for folia egg pterodactyl?

finite hinge
#

Crashes were expected

viral lodge
#

Will Folia make any difference running on a server made for at most 30 people on at once? Looking to run this on an always on m2 pro mac mini (10 cores). i also know they suggest 16 cores, so would any lower not be beneficial?

tranquil epoch
#

oh the tickrate never really died

fair merlin
finite hinge
tranquil epoch
#

FAQ number is adjusted for non-pregenerated world

#

can probably be ok with 12 but you're pushing 8 with non-pregenerated

charred depot
#

ahh it says cpu cores required roughly for folia
netty IO :~4 per 200-300 players
chunk system io threads: ~3 per 200-300 players
chunk system workers if pre-generated, ~2 per 200-300 players

tranquil epoch
#

you do need other threads on the server, as it notes

trail briar
#

Is the are any instructions how to make a build?

shell violet
#

see the paper repo, same instructions apply

fair merlin
finite hinge
#

Note that if you aren't a programmer you almost certainly don't want to be running this right now

#

You can probably run Folia on a VM with 1 core it'll just be slow πŸ˜›

hidden leaf
#

it seems to work on my pc πŸ˜›

#

*bad pc

#

no smoke (yet)

tranquil epoch
#

there are no core limits preventing boot or even warnings

finite hinge
#

The recommendations are for when you might want to even consider Folia over Paper

fair merlin
#

In theory, yes. But for testing it might die. So YMMV

hidden leaf
daring nimbus
#

Not sure if worth reporting as an issue or not: Loading a corrupt or invalid chunk (for example, height too large, broken heightmaps, etc) on Folia instantly crashes the server. On Paper it does not, you just get console errors

viral coral
#

might be worth sending said chunk

#

well, region

livid crag
#

its worth reporting

daring nimbus
#

Pretty sure its not chunk specific. Just tried it with changing the height & then removing the datapack again

#

alright, gonna make an issue then

oak gull
#

report it with repro-steps if you can, Malf

chilly gate
#

are command blocks woking?

viral coral
#

should be

jovial helm
#

All vanilla features should be working

shell violet
#

nah there are commands disabled

chilly gate
#

they doesn't work for me

jovial helm
#

Anything else? Good to know what isn't

viral coral
#

thought they worked somewhere during the test

chilly gate
#

normal commands work

oak gull
#

/execute might not all work

short wind
#

Will Fiola use less RAM with the way it operates?

oak gull
#

no

scenic sky
#

ram should be the least of your concerns with folia lol

oak gull
#

this was our GC for the public test

#

not that it needs 500gb

tranquil epoch
#

probably uses similar amounts of ram

oak gull
#

but it's not magic

short wind
#

RAM is always a concern for me lol, but always happy if there's improvements πŸ˜‰

scenic sky
#

then folia isnt for you

short wind
#

very nice saw pattern

kind cliff
#

If folia has its own tick regions what happens to force loaded chunks?

short wind
#

I like TPS too

oak gull
#

tps is per-region now

tranquil epoch
#

force loaded chunks load the chunk and the result isn't much different to players loading chunks

kind cliff
#

So it’s just gonna be it’s own tick region as well?

shell violet
#

I think all actual gameplay features should work though?

#

but datapacks certainly won't

#

at least one with functions

tranquil epoch
#

credits don't work

oak gull
#

social credit system ?

#

broken?

#

@livid crag

fiery vessel
#

The credits?

tranquil epoch
#

yeah credits disabled

#

the game typically pulls the player out of the world to do credits

oak gull
#

like, ender dragon defeat credits?

#

hahaha

tranquil epoch
#

but in folia if you do it then the player doesn't tick

livid crag
#

leaf on behave of CCP you should reenable credit ... wait wut

tranquil epoch
#

the scheduler wont tick for them

fiery vessel
tranquil epoch
#

and the connection wont tick

jovial helm
#

Out of the world? Like worldless?

tranquil epoch
#

and it's just a mess

ivory sentinel
#

he played this game in speedrun haha

livid crag
#

someone should open an issue as placeholder for that issue anyway.

proven tinsel
#

Just wanted to say thanks for making Folia, very cool server tech.

lone stratus
#

should definitely be a tracker somewhere with all known things that don't work, either intentionally or non intentionally

untold juniper
#

Folia ftw

fair merlin
#

A few more frequently asked questions:

"Q: Do I need Folia?"

A: Folia is designed for higher end servers. So if you aren't sure: probably not. Stick with Paper until you know exactly why you'd use Folia```

```json
"Q: Can I run this on my 4 core hosted server?"

A: No, you need 16 CPU cores (32 CPU threads) to run Folia.```

```json
"Q: Do I really need 16 CPU Cores/32 CPU threads? Will it run on less?"

A: It will boot on less but it won't sustain players. You can run it on lower core hardware for plugin testing and development.```

```json
"Q: Does it make sense to run this for 100 players for a minigame in a 200x200 area?"

A: No, Folia is better with players spread out to benefit from the multithreaded regions.```

```json
"Q: Will it work with 50 players spread out around a 50k radius world?"

A: Yes! Each spread out region will benefit from Folia's multithreading. Folia generally wants players to be at least 1500 blocks away from each other at all times to work best.```

```json
"Q: What about my 20 Core Apple M1 Ultra?"

A: We don't know yet, but it's probably not going to run as well as on x86. If you try it let us know.```

```json
"Q: Will Folia use less RAM than Paper?"

A: Folia is designed for more powerful systems so it is designed to use more RAM than Paper.```
finite hinge
gloomy vessel
#

Am I missing something, or are the coordinates for the regions incorrectly calculated?
I am at 10.000 y 10.000, which should be the top shown region. I have added the chunkCenter position to the text for better visualization on whats going on.
Clicking it will teleport to the displayed (presumably incorrect) coordinates!
|| They appear to be ~factor of 16 wrong 🀷 ||

finite hinge
#

Region doesn't mean MC region

hybrid shore
#

Is it possible to configure that regions can be created earlier than ~ 1500 blocks from another player?

finite hinge
#

It means some arbitrary isolated area of the world

#

Isolated means more than view-distance plus some buffer away from another region, more or less

fair merlin
#

Yeah to Folia "regions" are "groups of chunks I put together because they're active and nearby"

#

It has a bunch of internal logic to select how that's done.

finite hinge
#

The "region around" stuff is talking about the block and chunk coordinates that region is centered on

gloomy vessel
# finite hinge Region doesn't mean MC region

Yeah, that's not my problem. My issue is that I would expect, when I click on that message, that I would get teleported near my current location (which should be in the top region)

hybrid shore
#

And will there be a possibility?

finite hinge
visual falcon
#

Wait is it still best to use G1GC for Folia? Or will there be a new flags recommended for Folia?

rancid pendant
tranquil epoch
#

I'll fix this in a sec

fair merlin
#

Bug of chunks.

covert sluice
#

Will folia ever support less than 16 cores?

hybrid shore
#

srsly?...

fair merlin
#

:)

tranquil epoch
#

it returns the center region section, not the center chunk

covert sluice
#

I’m asking for in the future

fair merlin
#

As the FAQ and pins say, it's designed for higher end stuff

#

It's not designed for smaller systems, so no

finite hinge
#

It'll run on lower setups but it might hurt performance instead of help

scenic sky
#

everyone wanted multithreading and now its too multithreaded SAJ

livid crag
#

I mean tbf if your multi threaded setup only has 5 threads it ain’t gonna do much

ivory sentinel
#

I think I'll have to start a second job to buy Folia compatible hardware.
But still very exciting and I will follow the progress with interest. Great work!

livid crag
#

Should be thankful that it will still boot lol

covert sluice
livid crag
#

Yeah but naturally Paper already use other threads for stuff

#

So your break off point isn’t gonna be 5 or 6 more

finite hinge
#

Folia running on fewer cores might have better tickrates but slower chunk loading or higher latency

fiery vessel
#

I can't get a machine with enough threads but if it could just isolate the TPS issues, it'd be amazing. Guess I'll just have to wait and see how it performs on lower end hardware.

finite hinge
#

Or just be slower all around

#

I can confirm Folia runs on an M1 Max πŸ˜„

#

No idea how good it is, I just started it so it'd show up on bstats

livid crag
#

Take a while yeah

#

I am the server with 32t on bstat rn

stark agate
finite hinge
#

Right, in Paper chunk loading and networking are already multithreaded

#

If you add more threads for region ticking but don't have more cores to support them they're stealing cycles from those other tasks

livid crag
#

In addition to stuff like mob spawn logic @stark agate being independently each region

livid crag
#

So i can see niche usage of small server tankin soem performance degration for that

#

Worth it? Maybe maybe not. It’s up to the server owner to decide

mortal fox
#

What is the recommended way to play test Folia Plugins if one currently does not have access to a computer with 16 cores?

fair merlin
#

You can run it on a lower core system, it just won't run great or play well

#

So for basic testing go for it

visual falcon
#

Well I’m sure you can test on lower, but probably not recommended.

mortal fox
daring nimbus
#

I've just tested Folia on a 6 core CPU. I can confirm that there is a certain point at which it will be completely bottlenecked by the low core count. Most noticeable with chunk loading being almost completely stuck as soon as more than 25-30 regions are loaded.
So yeah, that recommendation of >16 cores sounds pretty realistic based on my limited testing

livid crag
#

It is still added complexity and overhead yeah

daring nimbus
#

With less than 30 players it seemed to work, but thats a playercount Paper handles perfectly fine. So yeah, Folia is for big servers for sure kek

livid crag
#

Paper can handle around 60-80 vanilla-like config

#

Up to around 200 with those sadge big server config

#

Then yes Folia weebravemove

stark agate
#

I have not inspected the code of Folia, so I don't know the memory model, but I could see a case where multithreading could in theory result in better resource management by the OS?

fair merlin
#

Better than what, though?

#

You're inherently using more resources than Paper, so it's not really a case of "I can use Folia to save memory over Paper"

#

You need more cores and more RAM, and you're taking advantage of those cores and RAM.

#

Right now Paper can't do that.

covert sluice
#

So is it better for server performance to not use folia, or downgrade single core performance but get a 16 core processor?

fair merlin
#

There's no good easy answer for that. It depends.

oak gull
#

If you're above 200 players on a server, Folia will start to perform better than any paper option, but will require more hardware etc

livid crag
#

Ideally you should be using Paper if you are asking that

daring nimbus
#

and you still want some single core performance - lots of people might be in one region

fair merlin
#

If you aren't sure, you should use Paper.

oak gull
#

psa use paper unless you know exactly why you need to use folia?

fair merlin
#

Haha

stark agate
#

probably worth it to put it in FAQ lol

oak gull
#

@fair merlin get on it

lucid pagoda
#

The word "multithreaded" probably attracts a lot of people that don't know what they are doing

fair merlin
#

I was formatting

oak gull
#

nice

#

your wording is not my wording

#

I reject it

#

it's dead to me

fair merlin
#

Okay I accept rewrites

oak gull
#

Use Paper unless you know exactly why you need to use Folia

fair merlin
#

Oh I see

oak gull
#

for the last sentence

fair merlin
#

Standby

#

Fixed

#

Agreed yours is better.

oak gull
#

good stuff no longer dead to me

fair merlin
#

The adage of "If you don't know why you need this, you don't" is true here for sure

stark agate
livid crag
#

Please do not fight with English major. You will not win rierunrunrun

fair merlin
#

Like I said, you're using more cores than Paper.

stark agate
#

curiosity is killing me, but 2 AM is not a good time to jump down a rabbit hole

fair merlin
#

So you aren't "saving" anything, per se.

#

What Folia allows is for you to use more resources to run more players with better performance.

It's not for 4 cores / slower systems.

arctic tapir
#

what about 5 cores

#

or 4.5

oak gull
#

**it's like running a full copy of paper per region. but at the same time it's not quite like that. Hope this analogy helps. **

fair merlin
arctic tapir
#

sorrrryy

fair merlin
#

Then it can run better than Paper can on similar resources.

stark agate
fair merlin
#

But for 4/8/whatever cores it's going to run slower.

oak gull
#

oh wow I'm glad that helped

#

and surprised

fair merlin
#

haha

#

The best part of the public test was seeing a region straight up crash and die, and people 2000 blocks away playing just fine.

foggy blaze
#

that's actually really cool

stark agate
#

Folia is incredibly niche, but incredibly cool at the same time

fair merlin
#

On Paper that would crash the server. But you need the cores to be able to run that.

stark agate
#

looking forward to adoption by big servers

fair merlin
#

Niche but cool.

foggy blaze
#

in order to "reboot" the region, people would just have to go back to those coords right?
I know regions are more fluid and don't just "boot" on and off

livid crag
oak gull
#

fit mc is not here

#

I would have pinged. sorry.

foggy blaze
#

bruh as soon as 2btb get's their hands on this...

lucid pagoda
#

rip this server if he makes a video

covert sluice
fair merlin
#

In theory right now it'll just tank tps on that region until it's better.

oak gull
#

@tranquil epoch will make things better. he will let regions restart gracefully.

foggy blaze
#

without getting rid of the queue

oak gull
#

🐐

livid crag
oak gull
#

baaaba ababaaaaa aaa

night mesa
#

what are the recommended JVM flags for folia?

arctic tapir
#

nothing specific atm

charred depot
#

how can we try Folia? I see the github but the jar.bat file doesn't run properly

arctic tapir
#

build it yourself

foggy blaze
fair merlin
carmine leaf
#

I could see this becoming the standard for large survival servers. really cool

lucid pagoda
#

Oh yeah, once regions get merged do they get split again after some time if possible? How does that work?

fair merlin
#

It's magic

#

That's a Leaf question

livid crag
foggy blaze
#

I think the github also specifically mentions something about what criteria must be met for a region to split

lucid pagoda
#

Oh I haven't looked at that yet, maybe I should

foggy blaze
red lintel
#

Anyone has a server jar that I can test? I'm not yet knowledgeable on how to build a jar from a source

viral coral
#

you probably wouldn't want folia yet then

dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

red lintel
#

I see, I was just here to test it out so I can report any bugs.

#

Do we have an ETA for the public builds release?

fair merlin
#

Nope.

oak gull
#

no eta never

fair merlin
#

We never really have ETAs for anything.

oak gull
#

ETAs are a myth

dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

red lintel
#

Ok, ok. I'll remember that.

night mesa
#

so far using folia im impressed its actually running quite stable so far

red lintel
#

I'll just EAT my breakfast lmao.

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

oak gull
#

here's info for those who have not read all the above links yet

fair merlin
#

(And there's stuff in pins also)

oak gull
#

of course you'd shill your little informal miniFAQ

fair merlin
#

(Some of which was co-written by Larry)

oak gull
#

well, you deserve to

#

it's great

night mesa
#

should I be using aikar flags or just none for now?

livid crag
#

Yes

night mesa
#

yes to what? I kinda asked two questions sorry

oak gull
#

use aikar flag

night mesa
fair merlin
#

Yeah those flags should be fine for now.

oak gull
#

until larry flags drop

golden mica
#

That’s great!

night mesa
keen parcel
#

larry flags when

oak gull
#

no etas

keen parcel
#

crying in the club rn

golden mica
#

No eta but hope it coming soon

charred depot
#

alright once I compile this, if I was to copy an existing paper server and then just replace the jar with folia what should happen?

viral coral
#

your plugins won't load

#

that's it

charred depot
#

ah alright

oak gull
#

command blocks will also break

#

and the end credits after you kill the dragon won't happen

wicked mantle
#

and a handful of commands

daring nimbus
#

Is there a list of things that break somewhere?

oak gull
#

my mind

#

but it's incomplete

charred depot
#

are those things that are still being worked on or?

somber jolt
#

so I'm reading the github pages, it talks alot about the schedulers but how much is actually required to convert a plugin to work with folia? (obviously you'd have to ensure your code is thread-safe, but I more mean API side)

oak gull
#

only leaf knows all

daring nimbus
#

Can you put your mind on Github please

livid crag
#

No Larry no. No mind break

#

If you want to start a list that would be epic @daring nimbus

daring nimbus
#

Theres also a todo.txt that has some stuff

oak gull
#

it depends on the plugin

somber jolt
#

right okay, I saw for example entity.teleport is deprecated in requirement of teleportAsync, that makes sense- does it also mean that other methods which shouldn't be used are deprecated and that removing all those would be a relatively good guide to knowing whether your plugin will work or is it still trial and error at this stage

daring nimbus
oak gull
#

eternity should do it

daring nimbus
#

I agree foliaheart

wicked mantle
#

I too nominate eternity

livid crag
daring nimbus
#

that looks like you are very qualified for the job

wicked mantle
tranquil epoch
#

@daring nimbus fixed your issue

daring nimbus
#

that was quick paperOhhh now its at 0 open issues again, Folia confirmed perfect

wicked mantle
#

give it time

silver sierra
#

I should open an issue about no task execution between ticks troll

tranquil epoch
#

I'll open an issue internally about you

daring nimbus
silver sierra
#

already got one open for you don't worry

fair merlin
gilded adder
#

Can’t wait to try it out

little bone
#

Folia in beta or this full realise?

sudden tusk
#

Did you read the announcement?

viral coral
#

if it was a full release you'd have a download link for it

little bone
#

Ok

graceful bear
#

Does Folia generate the regular paper config files or something else. I just don't seem to be able to identify the config files

livid crag
#

they are the same, correct.

#

they will be inside /config/ folder in your server root directory

graceful bear
#

ok thanks

#

I had looked their but on first glance I didn't see enough of a difference for me to think it was. I chose to come ask rather than read the full file πŸ€¦β€β™‚οΈ

livid crag
#

We are here to help. No worries

slate owl
#

So if I wanted to test each of our current plugins on our server with Folia, I should ask my developers to add folia-supported: true to the plugin yml? Does Folia require all plugins to use a specific database type like other "sharding" jars do? This sounds very different to sharding, excited to see what comes of it

viral coral
#
  1. yes 2. no
slate owl
#

I guess I don't quite understand the "They do not share data, they do not expect to share data, and sharing of data will cause data corruption" part of it. Does this mean 2 regions should never interact with each other physically, or via plugins like Towny or Lands

scarlet burrow
#

for the broken API section of the readme, does this include specifically the API or anything to do with the bukkit API in terms of world gen? (will this cause regular, unmodified worlds not to load properly?)

livid crag
inner swift
slate owl
#

I assume not, but the way it treats their data

scarlet burrow
daring nimbus
#

its running entities per region, as well as the region themselves. And plugins would need to consider that

slate owl
#

Okay, makes sense. A setting in a plugin that has a limit of mobs per world per se, would now need to define per region

livid crag
#

correct and the scope of update needed depend on the plugin, its best to ask nicely if the plugin is public but allow time for developer to work out and decide if it's worthy for them to spend time to support it.

daring nimbus
#

I was more thinking about something like Towny. For example if a player teleports, Towny might check the target destination of the teleport for something. But with Folia, that target destination might run an entirely different thread than the player teleporting

slate owl
slate owl
#

Does a player load when going to different regions?

#

As in, a connection screen?

arctic tapir
#

no

somber jolt
shell violet
#

two ticking regions don't collide

#

if they get close to each other the regions will merge into one

daring nimbus
somber jolt
#

players wont get a loading screen moving between regions usually, but going between worlds they will

slate owl
somber jolt
#

same way it works regularly

silver sierra
#

besides making sure your own code is thread safe devs need to read the documents in the repo and ensure all state is accessed using a task on the correct scheduler

somber jolt
#

that's what I meant then-

fair merlin
somber jolt
#

yeah

fair merlin
#

Moving through worlds does also.

somber jolt
#

that's exactly what I said

somber jolt
somber jolt
fair merlin
silver sierra
#

yeah but your description of what happens regularly was off

somber jolt
#

apologies

silver sierra
#

you only see a loading screen when switching dimensions

fair merlin
#

^

somber jolt
#

ah yeah that's what I was going for

silver sierra
#

when teleporting far away at worst you'll fall into the void for a sec

#

(within the same dim)

somber jolt
silver sierra
#

no worries

slate owl
#

Ngl if someone wants to make a drawing of visualization of how this data processing per region works, us smooth brains will be thankful kekw

Thanks for the answers those guys, sharding did always seem like a bandaid to this issue, hopefully this project goes far

daring nimbus
#

someone should get Owen on that, his explanation drawings are great OMEGALUL

remote zodiac
#

Can download it?

viral coral
#

no

severe talon
#

when I do "./gradlew createReobfBundlerJar"

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':createReobfBundlerJar'.
> Could not resolve all dependencies for configuration ':serverRuntimeClasspath'.
> Could not create task ':folia-server:jar'.
> Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false rev-parse --short=7 HEAD
> ```
wooden echo
#

it's time to unfreeze my E5-2683

#

now I'll get 10 tps instead of 5 with 10 people

severe talon
fiery vessel
#

I feel like we're missing alot of context to that comment

wooden echo
covert sluice
#

does each folia instance need 16 cores dedicated to it?

#

or just on the machine

fair merlin
#

If by instance you mean like server/JVM instance?

covert sluice
#

no like can you still run other stuff that may be utilizing part of those cores?

#

or say two folia instances

fair merlin
#

No.

#

Each instance of Folia needs 16 CPU cores / 32 CPU threads.

#

If you had a server that had, like, 64 CPU cores and 128 CPU threads you could maybe run two side by side.

#

But that's a lot of hardware.

sturdy steppe
fair merlin
#

Yeah I mean we haven't tried that.

charred depot
#

you need 16 cores? I thought that was just recommended

fair merlin
#

So it's definitely "who knows"

fair merlin
#

Anything less wouldn't make sense to use. Just run Paper.

muted hatch
#

How to download folia .jar

#

Give me link pls

fair merlin
dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

charred depot
#

even with 12 cores wouldn't it still run better than the whole server running on one thread?

covert sluice
#

Thats kind of what I was thinking but apparently not

fair merlin
#

Paper doesn't really run on "one thread".

#

There's a main thread and a lot happening off the main thread.

#

Folia doesn't have a "main thread" as such but because of the multithreading nature you'll run into a bottleneck very quickly if you don't have enough system to run it.

muted hatch
#

I'm new I don't know how to do it can you help me

fair merlin
devout steeple
fair merlin
#

If you don't know how to build it you probably shouldn't be running it yet.

wooden echo
#

do you think in the future maybe folia will be able to auto-allocate resources

#

like use what it needs

fair merlin
#

Probably not, no.

#

It's not built for or intended for lower end servers.

covert sluice
#

it would be nice if it could just make larger regions if it has less threads available

inner swift
fair merlin
#

Yeah

#

You'd want to disable any second CPU.

#

NUMA isn't supported

urban folio
#

AMD Epyc 7371, this one good for run folia?

covert sluice
fair merlin
fair merlin
wooden echo
fair merlin
#

Folia was designed to take advantage of a lot more threads.

fiery vessel
#

So NUMA would be needed to utilise multiple processors?

fair merlin
#

Yeah

#

That's what NUMA is, basically. Multi CPU

covert sluice
fair merlin
#

At the moment we've only tested on a few CPPUs.

#

But I will say that it didn't run great on a 5950X.

#

YMMV

fiery vessel
wooden echo
#

oh

fair merlin
#

Bit of a nightmare.

fiery vessel
#

Alright, thx

fair merlin
#

But you could test.

#

You never know.

#

It's possible NUMA would work.

#

I'm sure more people will test with more CPUs and stuff as time goes on.

#

I'd just not recommend people spend any actual cash on beefy boxes unless they know for sure.

wooden echo
#

πŸ‘ makes sense

pseudo ibex
covert sluice
#

I mean that would be about 8gb for each core, makes sense

muted hatch
#

How to download folia

daring nimbus
#

you don't

#

there are no builds for Folia yet

muted hatch
#

I see people using it

slender light
fiery vessel
#

You have to build it yourself

fair merlin
muted hatch
#

I'm Vietnamese and I'm not good at English to understand it

#

I communicate with you through google translate

fair merlin
#

No build yet. Have to compile.

dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

fair merlin
#

Read pins in this channel and the Github FAQ

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

fair merlin
#

Info there ^

normal vale
#

Will Folia have a forum?

fair merlin
#

Good question. Not sure.

golden mica
#

I want to ask a question. If I use 13700k to turn off the Ecore and the full core speed is 5.6Ghz, in this case, is it better to use folia to turn on the Ecore or off, or can I replace a two-way 8124m at the same price?

viral stone
#

We can't say

#

the software is literally brand new and nobody has done that type of testing

fiery vessel
#

Well wouldn't it need a proper scheduler to utilise e cores correctly?

golden mica
#

Platinum-8124m X2 will 36core and 4.0ghz

tranquil epoch
#

there's currently no kind of p-e core type stuff

#

so it runs on whatever thread the OS says it should

#

now whether that's ideal? lol who knows

brittle hound
#

hey leaf, amazing job so far. check this out:

fiery vessel
#

WHa-

inner swift
#

Are these real players?

golden mica
#

I have now turned off Ecore to prevent the paper from running on Ecore. It seems that the core scheduling of winserver 2022 is not so good.

brittle hound
fair merlin
fair merlin
inner swift
#

Neat, what kind of hardware is this?

karmic agate
#

I believe this was mentioned in the technical explanation, but still wanna be sure - Wouldn't it be beneficial to be able to limit the region count with a configurable option? So that medium core count processors are able to take some advantage over Paper

karmic agate
tranquil epoch
#

region count can't be limited, it's based off of what chunks are loaded

viral stone
#

artificial limits make no sense cos then you'd have to have logic to merge large regions for 0 reason, that would jus be ass

tranquil epoch
# brittle hound

impressive. have you overallocated the threads on the machine? tps is pretty low

#

well, tps is low without MSPT being high

golden mica
#

@fair merlin But if you run Minecraft servers on other systems such as Linux, won't there be any problems with core scheduling?

viral stone
#

linuxs scheduler is generally more tunable vs windows

#

and, well, it has more nerds looking over i

fair merlin
#

^

viral stone
#

not to mention the various different schedulers available, etc, etc

brittle hound
tranquil epoch
#

I wouldn't expect linux scheduler to be better at E-P core scheduling

covert sluice
fair merlin
#

But you might lose enough in the slower windows FS to be not worth it

viral stone
#

I mean, vs the amount of logic involved to deal with that BS, it would be virtually 0 reason

#

we don't care about low core count CPUs

#

folia is not the software for those environments, as stated

golden mica
#

Thanks it helps me a lot

livid crag
covert sluice
viral stone
#

I mean, it could

fiery vessel
#

In niche situations yes

viral stone
#

if multithreading in general wasn't so expensive to pull off in the first place

brittle hound
# livid crag that's pretty sick thanks for sharing

one thing I noticed, the server can't save chunks fast enough to disk and builds up a huge buffer.
if I stop the server, it takes around 3-4 minutes to save the remaining chunks.
is this something you've noticed too?

#

worlds are not pre-generated btw.

livid crag
#

yeah that's pretty normal because all region need to be stopped and saved one by one there.

viral stone
#

those in low core environments are generally limited af so much so that adding more threads will often just compound the issue, rather than helping it

tranquil epoch
brittle hound
tranquil epoch
#

yeah you may need more I/O threads too

livid crag
#

ok that may be an issue PepeLa

brittle hound
tranquil epoch
#

I would suggest like 4 io threads

#

but

#

that only works if you have fast SSDs

#

if you're on a HDD lol

#

you're screwed no matter how many threads

#

and if you're on a HDD you only want 1 thread as well

brittle hound
fair merlin
brittle hound
#

another time I could try Gen4 NVMe if you want to see if it makes a difference. (it probably will)

fair merlin
#

Whereas you aren't as likely to get a bunch of regular players consuming so many chunks.

left swan
fair merlin
#

Unless they're in an elytra contest

#

Which CPU is this also?

tranquil epoch
fair merlin
#

Jinx Leaf

brittle hound
fair merlin
#

Ah so it is bots?

livid crag
#

so they are like scripted baritone with a preset action...?

brittle hound
#

yes, custom made, each can be considered a valid minecraft client receiving the same traffic.

they're not scripted, they're standalone java programs running on multiple machines to deal with all the load of dealing with chunks like normal clients do.

left swan
livid crag
#

I see. still pretty cool nonetheless

tranquil epoch
#

don't care about those details, it was obviously some form of bot from the ss

brittle hound
#

does it matter? they cause more load than "real" players as they all fly in a unique direction with constant speed πŸ˜„

brittle hound
#

so if folia can stand this, it should stand 800 real ones given they're spread out well enough

brittle hound
#

maybe also gen4 nvme

tranquil epoch
#

oh you overallocated the threads

brittle hound
#

so you're saying TPS could be better with 800?

tranquil epoch
#

16 tick threads is too many for a 5950x

brittle hound
#

oh these

tranquil epoch
#

the general rule is that you have 4 netty io threads, and if you're pushing this many players you're probably pushing 4 netty threads and need more

#

and the default worker count is... something like 6 threads for a 5950x?

#

and those are probably pushed

#

so before you even get to tick thread you're pushing 10/16 cores

brittle hound
#

defaults are 1 io, 8 worker & 4 tick

#

I will run default real quick and show the numbers

tranquil epoch
#

and then GC comes along and it pushes some number idk what it will

#

but you've pushed too many threads on the system, that explains the weird TPS

#

but it is impressive still

tranquil epoch
# brittle hound

these would be ok but you'll have a hard time generating chunks with that worker count

#

if the world is pre-genned it's ok

brittle hound
#

when I tested default settings earlier chunks wouldn't load fast enough for all players

tranquil epoch
#

yeah so I'd say you're certainly bottlenecked by 16 cores

brittle hound
#

so I am running 1 IO, 8 worker, 4 tick now, 800 bots

tranquil epoch
#

now you'll probably choke on TPS with that low tick count, but that is probably the best you can do with that # of cores

brittle hound
#

server cpu usage went down from 70% to ~40%

#

worse experience, so maybe more than 4 & less than 16 tick threads?

tranquil epoch
#

could probably trade a few threads between worker and tick

brittle hound
#

so double tick & half worker maybe?

#

so 8 tick & 4 worker instead of 4 tick & 8 worker?

brittle hound
tranquil epoch
#

oh that's normal for a lot of regions

#

the shutdown process needs to "pretend" to be every region when shutting down

#

and it can only pretend to be one at a time

brittle hound
#

CPU back at >70% usage

tranquil epoch
#

pretty close to ideal

brittle hound
#

50-70% actually

slate owl
#

CoreProtect updating to support Folia lesss goo

sly elm
#

i just finished merging folia support into chunky too

#

therell probably be a lot of plugins doing that in the next few days

slate owl
#

That's good to hear, hopefully the process is not too complicated to get my devs to update our plugins

sly elm
#

it depends on what it is but the main thing that is immediately noticeable is the bukkit scheduler stuff missing lol

fair merlin
#

Chunky+++

rare steppe
slate owl
#

Nice, exciting news

brittle hound
# tranquil epoch pretty close to ideal

in any case, I will keep on tinkering with this and also a lot more powerful hardware. incredible job so far though! if you want these "real" "fake" players to help out at your next big test, feel free to ping/dm me! if need be I can make sure thousands if not tens of thousands will join & help performance testing/debugging. 🫑

tranquil epoch
#

we probably wont do another test tbh

slate owl
#

Doesn't seem necessary if people are already testing themselves

brittle hound
sly elm
livid crag
#

been waiting! actually wannna test on my machine just to see the cps

floral oyster
#

VERY helpful analysis Bicrypt, thanks for sharing your findings here. My dedi is also running a 5950X so nice to see some numbers πŸ˜„

#

Jealous of your stress-testing system haha

#

Looking like we may need to invest in some beefier, more core-driven hardware to make large-scale use of Folia... πŸ€”

barren edge
#

Let’s say I wanna run a massive event. For that reason I will use a premade map to do some sort of a challenge that will last a few hours or days, a reasonable size for 600-800 players is normally like 3k by 3k (as we don’t want them to explore, just to complete a certain goal). Players should spawn randomly by the world corners, basically they need to be spread out to compete against the other groups.

Based on that, I have some questions / suggestion.

1- how often(in terms of chunks or blocks) Folia creates a region?

If it just creates a region each 2k blocks(as example), someone who run casual or massive events like the mentioned won’t benefit of it as basically all the β€œworld” will be a single region (as I understood reading the docs and also adding the case that folia only creates a region each 2k blocks). It would be nice to be able to choose Folia instead of sharding solutions that demands a lot of bandwidth to do peer to peer(which as all we know, it’s really expensive)

2- Idk if there is or will exist an option to set the amount of blocks Folia should consider to create a region.

With that second case, we can let Folia create a region each 1k blocks and take advantage of all the power using custom size-limited worlds. The hardware is not a problem if this is a concern, sharding systems basically needs big machines too but instead of invest on bandwidth, we can redirect resources to good cpus and more ram.

Thanks in advanced!

floral oyster
#

If your players aren't super spread out, Folia probably won't do you a ton of good.

fair merlin
#

^

livid crag
#

Both 1 and 2 can be answered by the doc readme. I suggest you to take a deeper dive

fair merlin
#

^

severe talon
#

Will there be in a future an option to disable region merging, that would be (if its even possible) really good for small worlds. You have 1000x1000 map and divide it in 4 regions, each one running in a separate thread.

livid crag
#

You, too, should read the readme. You will know it's not possible and that's not how "region" is defined.

sly elm
#

there will probably be some speed difference, I think I already told you about it before though

livid crag
ocean geyser
#

It's support waterfall?

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

teal dagger
#

I have never been involved in compiling plugins, much less dealing with kernels. Can anyone throw off a ready compiled jar kernel? Naturally, only for tests.

viral stone
#

no

dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

teal dagger
#

😦

scarlet burrow
#

out of curiosity, where did the idea for the name come from?

ocean geyser
viral stone
#

because it's irrelevant

#

waterfall support has not been touched, i.e. it still works

prime juniper
#

Do we have already some plugins working for folia? Or we just have the Server working and little to no plugins?

finite hinge
finite hinge
#

Since the regions have a buffer around them to avoid accidentally touching it would be even fewer

#

Of course they wouldn't be evenly distributed so you might be able to get a few regions running at a time, each one with multiple players in it

#

With 800 players I would assume basically every chunk is loaded though which means one big region

#

Unless you crank the view distance way down

covert sluice
#

Folia use case seems very niche

viral stone
#

yes

covert sluice
#

Big player count + big map

viral stone
#

as we've been saying for weeks

#

folia is literally useless for 99.9% of servers

finite hinge
#

A PvE server where people congregate in a few cities could get multiple regions if the cities are spaced out enough

#

Or a factions server since people will similarly congregate in those

covert sluice
#

Still doesn’t seem like it would be enough to justify folia

viral stone
#

it's a pet project by leaf

finite hinge
#

You've never had people try to automate production of basically every resource πŸ˜›

#

Letting their city run at 5-10 TPS while saner people are still at full performance is worth it, if you can afford the hardware

covert sluice
#

I have and that’s why I wanted to use folia but I don’t have enough cores lol

#

And I’m not going to sacrifice single core performance for it

scarlet burrow
#

i think the readme did a good job with the skyblock example, it would be a relatively niche thing yes but from ive read it would be perfect for handling player distribution across a wider spread, such as with skyblock servers

viral stone
#

basically, the work that folia is doing is not cheap on its own merit, and then you've gotta hae the extra threads to deal with that, and then you've got the fact that there more threads you need, the slower the core performance is, which is where the entire ratsnest forms

finite hinge
#

Skyblock is also a use case that would be even better handled by a kube swarm

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

covert sluice
#

I feel like sky block is too spread out

#

I mean wouldn’t it essentially give each player their own region?

scarlet burrow
#

it really depends

covert sluice
#

You have a lot of players and I can see that being an issue

finite hinge
#

Something like the old days of the reddit minecrafts servers feels like the ideal, assuming you can get a powerful enough server to run it

#

Lots of community interaction so you want people to just be able to explore the world and walk from place to place but people also tend to congregate in a few areas so you can get regions for each of them

scarlet burrow
#

love me some classic mc servers πŸ™

covert sluice
#

Towny or just basic survival / anarchy basically

livid crag
#

So basically 2b anarchy Chatting

finite hinge
#

If all your players are packed in a small area all the time, spread out so far they may as well be in different servers, or you don't have powerful hardware then folia will probably hurt more than help

#

And for 800 players a 3kx3k map is a small area πŸ˜›

covert sluice
#

just maximize Region count

livid crag
#

That’s not how that works…

finite hinge
#

The thread pool is capped to N threads, if you end up with 100 regions they just tick up to N at once

#

If N is 1 you're losing, if N is 10 it should still be a win

winged skiff
#

By the way, how does redstone work cross-region?

finite hinge
#

Redstone cannot cross regions

livid crag
#

They don’t

#

It will be one region

#

If it need to be

finite hinge
#

Region doesn't mean anvil regions, it means a section of the world that doesn't touch any other sections that are loaded

#

I did ask how instant wire works in folia though, assuming that still works in vanilla minecraft and/or paper

#

I suspect that is a case that could break things

#

Otherwise the region will just expand as needed and merge with other regions if they get too close

coral radish
#

Hello, can anyone provide me a jar . i want to test it locally

livid crag
dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

mortal fox
livid crag
#

If you do not know how, it’s probably best to wait…

coral radish
#

Nvm i can compile myself

prime juniper
#

how to download folia

fiery vessel
#

Dude

#

Read like 5 lines above here

#

You need to compile it from the source, just follow the compile guide for paper and it should work.

floral oyster
stray magnet
#

Is this a plugin?

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

stray magnet
#

ah rip

#

1.19.3 would be nice since almost all the survival servers still use it

finite hinge
#

There are I think 5 public plugins that support it right now

#

This is for people who write their own plugins

stray magnet
#

Is there a list?

finite hinge
#

So they can also move to 1.19.4 themselves

livid crag
#

Not yet but a plugin place of our own is in the making @stray magnet subscribe to #announcements for future updates

stray magnet
#

Nice

finite hinge
#

Spark, ViaVersion, and Chunky are 3 of them, to give you an idea of the kinds of plugins

#

You can't even load extra worlds right now

#

You do not want to use Folia

livid crag
#

There are more but most of them require you to compile a dev branch. Yeah. Give it time. It just went public today.

finite hinge
#

This channel exists so people won't plug up #folia-dev with discussion that isn't about how to port plugins to it

scarlet burrow
#
Failed to read upstream data.
Upstream data file does not exist.

someone tell me im stupid and not crazy, gradle createReobfPaperclipJar or any variation isn't doing the thing

#

there has to be something im missing πŸ€”

viral stone
#

probs failed to applyPatches

scarlet burrow
#

you know what

#

you're probably right πŸ˜‚

finite hinge
#

Folia needs a 5950X, 7950X, Threadripper, EPYC, or Xeon E5 to even consider running it for most people

finite hinge
#

It almost certainly has bugs

pulsar mauve
#

(sorry for ping)

finite hinge
#

There is known missing functionality

#

And there are no plugins

#

Don't bother trying to compile and run it unless you're doing so to work on porting a plugin to it

buoyant tundra
#

Hey, so I'm making a large survival server and we're all obviously very excited about this. I'd love to develop a small custom plugin and run an event on it where people are trying to build farms.
If we do this, are there there any additional metrics or stats we should record and send in to help with development?

finite hinge
#

Other than spark profiles when you run in to issues I don't think so

#

Make sure you have a CPU with at least 16 cores

#

You can maybe get away with 12 if you pregen your world

#

Not threads, cores

raven crow
#

out of curiosity, what is the highest available core count right now?

buoyant tundra
floral oyster
#

Physical cores? Somewhere in the realm of 128 I think

#

I don't think there are CPUs out there with more than 128 cores, at least that I'm aware of.

finite hinge
#

EPYC has some with 96 cores, 128 coming soon

#

I think Xeons go up to 28

floral oyster
#

And even their 64-Core CPUs are $10,000 πŸ™‚

livid crag
#

ARM processor chatChest

floral oyster
#

No exaggeration lol

finite hinge
#

M1 Ultra has 24 cores although you probably only care about 16 of them

floral oyster
#

My team is currently looking into 32-Core machines

pulsar mauve
finite hinge
#

The ARM stuff is usually low performance cores meant for web servers and such

#

Lots of low perf cores so you can do a lot at once while staying on the lower end of the voltage/perf curve and keep the power usage below 1kW per server

raven crow
#

hmmm... could you potentially get away with a multi-cpu setup?

floral oyster
#

Don't see why not?

livid crag
#

Not tested also noted on readme

finite hinge
#

NUMA hurts but probably

floral oyster
#

Ah fair

livid crag
#

The public test was with one cpu disabled for that reason

weak tundra
finite hinge
#

Oh btw Xeon goes up to 40 cores these days, TIL

raven crow
#

so you are saying i shouldn't drop like 30k on this?

weak tundra
#

I feel like we are gonna see what this lady can stand once somebody throws dual or triple 96-core ryzen server CPUs at her

plain matrix
finite hinge
weak tundra
finite hinge
#

zgc is apparently NUMA-aware

weak tundra
pulsar mauve
finite hinge
#

Don't forget -XX:+UseNUMA

pulsar mauve
weak tundra
#

We are gonna see bigger community events for sure. Plus I know a few servers that regularly try to cram 500 people onto a single server so I wouldn't worry too much

finite hinge
#

Oh yeah and don't use Windows, the JVM doesn't really support NUMA there

pulsar mauve
#

never use windows...

weak tundra
#

Running java on windows

pulsar mauve
#

running anything on windows

#

enjoy half the disk speed even with antimalware disabled

#

or more

#

my nvme ssds are 4x slower on windows in real world scenarios

#

fast in benchmarks though

finite hinge
#

The Windows vfs is tuned for different things

pulsar mauve
#

ntfs war crimes

finite hinge
#

I don't remember the specifics but there are things it does better

#

It's not even NTFS, it's below that

pulsar mauve
#

file systems is one of the things linux does really well and has for a long time

weak tundra
#

This is off topic but even windows server in modern versions is so bad that I've had to resort to using a custom ameliorated install to "fix" (read: run) an unusable production app before

unique forge
#

specifically ones that plan on using folia

weak tundra
#

I'm sure the event coordinators for a few big YouTubers will have a field day with this one

weak tundra
# unique forge omg where do i find servers like these..

Most big factions servers do that or try to do that on the regular. Complete community events like a server war or the like usually bring the most traction for any communities so I wouldn't be surprised to see it more often now

dreamy dirgeBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

kind cliff
#

if I have a server with 100s of 1000s of command blocks that lags to 15 tps with an 11900hk with 2 people on the server will this help?

floral oyster
#

It will not. Folia is for large quantities of players spread out across a large world.

kind cliff
#

ah

weak tundra
#

Not sure how many performance cores that cpu has but I would assume you'd get the same or slightly worse results

kind cliff
#

11th gen has no big-LITTLE cores yet

weak tundra
#

Once we release general-public downloads you should try it

#

No harm in doing that

kind cliff
#

alright then

#

thanks tho

astral pilot
#

How does Folia handle it if there are a ton of people in a single area? I would imagine it expects players to be more or less divided over a large area, so what happens if they're not spread out?

pearl cloud
#

Same as a regular Paper server

fair merlin
#

Yeah it works, it's just not really what you'd wanna use if that's your primary use case (see pins).

jovial shoal
#

How would folia work on things like online Minecraft server hosts that only give a certain amount of cpu threads/cpu usage per server? Would folia still run as expected or would it still be better to just run paper.

viral stone
#

better to just run paper

#

there are overheads to managing the stuff folia needs to manage, if you're not gonna have the resources to do that, it's gonna perform worse

plain matrix
#

Good enough?

fair merlin
plain matrix
#

Oky

ashen spear
#

where can i download folia

dreamy dirgeBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

ashen spear
#

bruh

fair merlin
#

You can build it if you want, but there's no download yet.

ashen spear
#

so i have to build it

fair merlin
#

And if you don't know how to build it you probably shouldn't be running it.

plain matrix
fair merlin
#

Source is public but it's not really production ready.