#folia-help

1 messages · Page 2 of 1

ashen spear
#

i am just curious

#

how it handle

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.

ashen spear
#

1k players on 32 threads xeon server

fair merlin
#

Make sure to read the readme and FAQ and pins in here.

ashen spear
#

💀

floral oyster
#

lol

fair merlin
# ashen spear done

Well you definitely hadn't read all the pins, because one of the pins tells you that there's no builds available :)

#

Feel free to build and test it. Report any bugs, etc.

hard vector
#

Hello. I have i5-12500. Can folia run on this?

ashen spear
#

you need more cores

floral oyster
#

It can, but not well, and it's not worth it lol

ashen spear
#

its better on things

#

like eypc i think

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.

ashen spear
#

cause folia runs better on more cores

#

i think

floral oyster
#

Yes. Read the readme.

hard vector
#

So 12 threads is not enought?

ashen spear
#

no

fair merlin
#

cat can you change the topic to something like "Please read the pins and readme on the repo"?

viral stone
#

2023

fair merlin
#

I apparently can't change channel topics.

viral stone
#

reading

fair merlin
#

Yeah but if I say "read topic" then it covers both

#

Which'll be nice :)

ashen spear
#

💀

fair merlin
#

Okay you copied and pasted I should have made it look nicer.

#

That's on me.

viral stone
#

My enhanced tonguetangulation is limited to insults and put downs

fair merlin
#

how about:

"PLEASE read the pins here and the Readme on the repo before asking questions"

viral stone
#

PLEASE (for the love of Cthulu)

hard vector
#

Thanks... I thought that if now I can run 3 servers with 50 players each then on Folia I could run one 150 players server. Why not?

fair merlin
#

:)

#

The Readme explains a lot of the limitations, etc.

#

And it's called "read me"

#

It wants to be read.

#

It loves it.

hard vector
#

Thanks, but 32 threads CPU would be so expensive 😦

ashen spear
#

thats the point

#

folia is for big servers

fair merlin
#

Yes, as the Readme and FAQ observes, this is specialized

brave quest
fair merlin
#

Yeah

ashen spear
#

i doubt that

fair merlin
#

More expensive in cost but better performing.

ashen spear
#

xeon is good enough right ?

prime juniper
#

Hello. Is there a way, with witch I can port folia to 1.17.1?

brave quest
#

Folia is much better and cheaper in big scales

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 stone
#

I mean, sure, if you've got the dev team/time to do it

fair merlin
#

I mean yeah I guess there is "a way"

#

But good luck.

ashen spear
#

so he is definetly on his own

prime juniper
#

Thanks...

hard vector
#

But maybe I would try on 1.20. Now I can handle 80 players on one single paper server with 100 plugins. If on Folia I could handle 120 players it will be good so I will just try it

fair merlin
#

If you don't, it won't make sense.

#

I mean, again, read the pins.

#

There's a little FAQ in there that answers this

#

That I spend, like, minutes formatting nicely.

#

At least four minutes.

viral stone
#

I mean, you're depending on all those plugins being updated to work with folia

hard vector
#

Yes, I see it

floral oyster
#

It's gonna take a while for a large swathe of plugins to support Folia. I've been working around the clock since Folia dropped to update all my homebrew'd plugins.

hard vector
#

And normal paper will be still developed?

arctic tapir
#

yes

hard vector
#

Thanks

brave quest
#

Is it possible to create worlds asynchronously once the World API is ready on Folia? Currently, using the Bukkit API takes at least 2 seconds to create a world, and there's no option to keep the world only on server memory. While I could use AdvancedSlimePaper, I prefer to use Folia as my server software

floral oyster
#

Probably too early to say

willow forum
#

Hello, how I can build Folia with gradle?

ashen spear
#

by using gradle

#

💀

floral oyster
#

Very helpful.

fair merlin
#

Same steps for building Paper, since Folia's a fork of it.

viral stone
#

custom world sources, i.e. such as one which keeps stuff only in memory, will never be supported

ashen spear
viral stone
#

No idea about the world api, it generally has to be blocking because of general API contracts

#

making an async one isn't too hard, but generally a waste as most of the slow stuff is avoidable

willow forum
viral stone
#

read

ashen spear
#

L

brave quest
fair merlin
#

Yeah that's probably gonna be the reality

viral stone
#

custom world gen with a fixed spawn point, and disable keeping chunks loaded

#

idk what that takes it down to, but it's generally fast enough to not have to care about dealing with rewriting the world loading logic

#

last I knew, FAWE had done that, idk if they maintain that stuff however

dusty aurora
#

If there is a region that takes >50ms to tick, will other regions start the next tick after 50ms (and so cause time desync with that laggy region) or will the server wait until all regions have completed to start next tick at the same moment?

fair merlin
dusty aurora
#

oh I missed that?

chilly gate
viral stone
#

i mean, you probably don't want a mojmap jar

#

then agian, not that plugins really work in it yet

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.

willow forum
fair merlin
#

Read the Readme, pins, FAQ, etc and the Paper build process. If you can successfully build Paper then you can build Folia. If you can't then you'll have to wait for jars to be public in a bit.

wise vale
#

/spreadplayers not a thing in folia?

fair merlin
#

Don't think so

chilly gate
#

is applyPatches worked?

willow forum
#

But gradlew build don't work

arctic tapir
#

bc that's the wrong command

wise vale
#

./gradlew createReobfPaperclipjar

#

after applying patches ofc

worthy verge
#

It doesn't work for me either

viral stone
#

works fine here, you'd need to see the logs for other errors, etc

normal vale
#

works fine here too

modest marsh
#

works fine here too

wise vale
fierce knotBOT
fair merlin
#

Do anything weird/etc?

normal vale
#

the bot is very cool

wise vale
#

not running any plugins

#

was stress testing the server with bots joining / leaving then that happened

viral stone
#

file a bug report

fair merlin
#

Yeah, with as much info as you can.

fair merlin
#

(Not that it matters, but curious)

static cosmos
#

Folia is recommended for Ryzen/Intel Core-i high-end cpus?

#

s.th like 7950x or 13900K

fair merlin
wise vale
fair merlin
#

Gotcha, thanks

wise vale
fair merlin
#

Well keep trying!

#

BREAK IT!

normal vale
#

generateDevelopmentBundle error

Execution failed for task ':generateDevelopmentBundle'.
> java.nio.file.FileAlreadyExistsException: D:\idea\project\Folia\.gradle\caches\paperweight\taskCache\generateDevelopmentBundle.tmpdir\alternate\current\wire\LevelHelper.java
viral stone
#

No idea if building dev bundles even works on windows yet

#

either way, something caused a race condition, make sure that you only have 1 thing interacting with the project at once, i.e. don't have your IDE open with the project, etc

normal vale
viral stone
#

try again 🤷‍♂️

normal vale
#

ok i try restart

wise vale
#

[12:25:18 ERROR]: Detected setBlock in a far chunk [66, -69], pos: BlockPosition{x=1056, y=47, z=-1090}, status: minecraft:features, currently generating: ResourceKey[minecraft:worldgen/placed_feature / minecraft:large_dripstone]

viral stone
#

that's a vanilla issue

fringe kestrel
#

Hello, guys! Why did PaperMC start developing Folia instead of supporting the more technically advanced MultiPaper?

fair merlin
#

Totally different things

#

And Multipaper isn't our project

unique crystal
#

more technically advanced

#

Kek

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.

frank fox
#

So, theres this in the README, but what if we run it on less cores, lets say, 8 or even 4 ?

#

nevermind

#

pins answered that question

fair merlin
#

Yep

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
#

Readme is in there too ^

fringe kestrel
arctic tapir
#

no

viral coral
#

multipaper is not promising

#

hacky at best

#

single point of failure

#

solves different goals

fringe kestrel
# unique crystal Kek

What exactly am I wrong about? MultiPaper, unlike Folia, allows you to organize a full-fledged horizontal scaling. Maybe I don't know any technical details, but conceptually it is much more competent than having only one powerful physical machine for each server, as Folia obliges

fringe kestrel
# viral coral solves different goals

Okay, what are the objectives of both projects in that case? Can you say a few words about why Folia does not adhere to the principles of horizontal scaling?

viral stone
#

folia is a pet project by leaf designed with a specific manner in mind to ensure a safe mechanism of allowing for scaling up for the niche usecases

#

multipaper will pretty much never be able to promise "safe", because you can't really promise thread safety on tightly bound data which is hackily shared across dozens of instances

strange nymph
#

It really isn’t that unstable as you’re saying. We’ve patched all the dupes by now and only few vanilla mechanics are broken.

#

But Folia will be probably way better.

fringe kestrel
#

That a lot of work is still needed to make MultiPaper stable. And it is unknown whether it will be able to work stably in the end. While Folia emphasizes exactly the correct state of the data: no dupes and stuff like that.
Did I understand you correctly?

fair merlin
#

I think ultimately we just work on our own stuff.

#

We wouldn't put a lot of effort into a project we didn't start.

scenic sky
#

i think paper should start sponsoring me

fair merlin
#

But it's also a different concept.

#

Folia is for a single server with lots of CPU cores.

#

It's not really designed for multiple servers.

scenic sky
#

didnt leaf also start work on folia before people even thought of multipaper, lol?

#

yeah, when did multipaper?

fair merlin
#

I dunno when Multipaper started or whatever but Leaf started working on the beginning of Folia in 2019

scenic sky
#

thats a pretty long time

fair merlin
#

He's not the quickest human.

fringe kestrel
fair merlin
#

Yeah, cat did

#

I mean you want to sort out the multi-threading stuff on a single server first. At least in our opinion.

fringe kestrel
#

👍

#

Thank you all for your comments

hidden leaf
fair merlin
#

But also needed dataconverter, Starlight, and the chunk system first.

#

So stepping stones!

hidden leaf
#

Leaf is pretty awesome!

#

objective fact

fair merlin
#

Plus he's bad at math.

wise vale
#

i managed to break server joining compleatly

hidden leaf
arctic tapir
#

Can i "safely" switch a world from folia to paper?

wise vale
#

funny results

> tps
[13:44:01 INFO]: Server Health Report
 - Online Players: 0
 - Total regions: 219
 - Utilisation: 3.1% / 200.0%
 - Load rate: 0.00, Gen rate: 0.00
 - Lowest Region TPS: 19.73
 - Median Region TPS: 19.73
 - Highest Region TPS: 19.80
Highest 3 utilisation regions
 - Region around block [w:'world',37335,80,-95033]:
    0.1% util at 0.03 MSPT at 19.73 TPS
 - Region around block [w:'world',27495,80,-92521]:
    0.0% util at 0.01 MSPT at 19.73 TPS
 - Region around block [w:'world',-50617,80,-89881]:
    0.0% util at 0.01 MSPT at 19.73 TPS
fair merlin
hidden leaf
#

always make a backup ;)

arctic tapir
#

it''s a test world so don't care about it

fair merlin
#

Then yeah probably

fair merlin
hidden leaf
#

in what sense?

wise vale
#

spam joining

#

basically all clients sockets are closed but server still thinks they are online somehow

#

then basically later server knows and does disconnection handling

viral stone
#

depends on how the connection is closed, tbqh

#

server knowing later generally means that the idle handler spotted the dead connection that wasn't detected

#

i.e. TCP is fun, etc

golden mica
#

If I use 13700k with a main frequency of 5.6ghz with 8 cores and 16 threads, how can I assign threads after preloading the server?

wise vale
fallen vortex
#

I am excited for the future of Folia

fair merlin
#

The future is now!

fallen vortex
#

I will be early to jump on board to use Folia once plugins start supporting it 😄

zenith folio
#

that,s so excited

fair merlin
zenith folio
#

im glad to see that the server can finally use more than one cores for main ticks

#

maby we will never need to use runTaskAsynchronously in the future

jagged ether
#

Sometimes stuff just doesn't need to block the main(/region) thread pointlessly

fair merlin
#

There is an async scheduler though

weak tundra
mild slate
#

I'm still concerned about "There is no best guess for chunk system workers if not pre-generated, as on the test server we ran we gave 16 threads but chunk generation was still slow at ~300 players"

weak tundra
viral stone
#

I mean, chunk gen is slow in general

#

idk if that's threaded any more now in the new system, pregen will always be king, sadly

weak tundra
#

We can't wholly optimize generating chunks because that would yield in a different world generation behavior most likely

#

I've poked at it in the past and there's not a ton of room for optimization

mild slate
#

This might be a dumb question but how are server crashes handled by the way? If one region crashes does it stop the entire server

scenic sky
#

a way to optimize chunk generation is to make simpler terrain, superflat world smp 👍

clear hatch
#

like, as an option in config or whatever

viral stone
#

use a plugin

weak tundra
#

The network I used to work for had adapted the Glowstone chunk generation system for that kind of thing

viral stone
#

rewriting chunk gen is not a small tenable piece of work, especially given that you'll be joining the same rat race as literally every other DIY server software

scenic sky
#

wouldnt making the world like 10 blocks less deep improve performance by a little

#

im sure the bedrock npcs wouldnt notice

viral stone
#

not really

weak tundra
#

The problem is "almost" is not viable. The smallest change to the noise generation will yield wildly different results

scenic sky
#

does the height of the world really matter that little?

#

cool

viral stone
#

I mean, the system is more mar'd in complexity than worrying about the performance of 10 blocks of height

scenic sky
weak tundra
#

I've last poked at it in 1.16
It took me 2h to rage quit because of all of the catch-22-style micro fixes to make it look more natural/ prevent overlaps and the like

#

That's only gotten worse now thanks to world blending

viral coral
mild slate
#

This looks like a good machine to use with folia, does clock speed matter?

naive fable
#

Think the 7 7700 is better

viral coral
#

best to take the 7700

#

13900 has E/P-cores

mild slate
#

The 7700 only has 8 cores though

coarse night
#

the e cores still have skylake "p core" performance w/o hyperthreading

mild slate
#

200 - 300 players

coarse night
#

but you need latest linux kernel (6.2), else e/p cores are not that great under linux

mild slate
#

The AMD Ryzen 9 5950X with 16 cores looks like it would be great to use with folia, I'm currently on ryzen 7 7700

scenic sky
#

thats kinda the bare minimum for folia to be viable

mild slate
#

Yeah those look good

#

But like Jokni said, 16 cores is the bare minimum that folia recommends

#

These high core count machines are pricey aha

scenic sky
#

its worth it for those servers which cram a billion players into a server

somber jolt
#

what's the go with 8 cores, It recommends 16, I know, but 8 is a rather common number of cores for someone to have 😂
It's a hypothetical question, like I can understand 1-4 cores not being enough, but 8?

normal vale
#

I running it on a 6 core machine

undone delta
arctic tapir
#

not if you're going to run it on an actual server

runic kayak
#

Crazy project.

normal vale
arctic tapir
#

yes

jovial helm
#

And issue 13

wicked mantle
#

You essentially need enough cores to populate the thread pool decently enough that regions won't be stealing threads from each other

royal swallow
#

What do you think about AMD Ryzen 7 3800X - 8c/16t - 3.9 GHz/4.5 GHz?

arctic tapir
#

no

royal swallow
#

Would it work?

arctic tapir
#

maybe

#

stable? probvably not

royal swallow
#

50-60 players

arctic tapir
#

just use paper for that

royal swallow
#

I bought this machine for paper

#

Probbably going to upgrade it then

arctic tapir
royal swallow
#

..:

#

Yeah, I bought it for paper use for 2 years ago.

#

Since this project is here, I Will probbably need a upgrade then.

arctic tapir
#

if you have 50-60 playrs I doubt you'll need this

royal swallow
#

I need this

#

Running a SMP

#

With farms

#

We have nerfed so much to get a 20 TPS

#

Simulation distance, farms, etc

viral stone
#

managing all the extra stuff is more expensive

#

We can't exactly comment on how specific random pieces of hardware will perform

prime juniper
#

Where source to build the jar?

livid crag
#

please read the official repo, it has steps.

prime juniper
#

I want server jar is it available or not?

arctic tapir
#

you need to build it yourself

slim bolt
#

Server jar is not available yet

prime juniper
#

There no any source to build.

arctic tapir
slim bolt
royal swallow
#

8c with 16 threads, should it work for a SMP with a 60k big worldborder?

Often 20-80 players online

hybrid shore
royal swallow
#

Thanks, I will

prime juniper
wicked mantle
#

Like genuinely Paper was only able to test with a small number of hardware combos. So if you find a specific setup that works it’d be great to know peepoHappy

arctic tapir
#

read the paper readme

blazing tree
#

Does anyone have a good dedicated host (and a plan from them) to run a Folia server with?

viral coral
#

your best bet would be ovh or hetzner's epyc 7502p's

prime juniper
arctic tapir
#

you can't use maven to build paper/folia

prime juniper
#

ik

ruby dove
#

is folia a fork of papermc?

arctic tapir
#

yes

late heart
crimson folio
ruby dove
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.

late heart
ruby dove
livid crag
#

read the page

viral stone
#

exact same as paper

#

but, I mean, this is early release software for a niche usecase

#

if you have to ask that, you should probs not be using folia

ruby dove
viral stone
#

Please actually read the announcements

ruby dove
#

ok

mild bridge
#

that's what happens if you ping everyone lmao

wicked mantle
#

phoenix seeing you as not a bot is extremely jarring

clear hatch
#

phoenix with no irc is fake

tough wren
#

Fakenix

neat arch
#

how to change from 100 to more?

mild bridge
#

Add more dedonated wam

neat arch
wicked mantle
#

Well noting you're on 6 cores that's probably why it's not more

neat arch
viral stone
#

what

wicked mantle
#

It'll use the most it can by default, for instance a 56 core machine reported out of 1400%

mild bridge
neat arch
wicked mantle
#

¯_(ツ)_/¯

#

you're already well under the recommended amount of cores

neat arch
#

ok sorry

arctic tapir
next bloom
#

nah, I don't think we want softer failures

#

makes people less likely to notice

arctic tapir
#

1 core = 100%

#

or thread idk

wicked mantle
late heart
#

Hey! How should plugin.yml look ideally?

#

smth like this?

arctic tapir
#

yes

next bloom
#

missing api-version

late heart
#

ah okay

high jackal
viral stone
#

OneDrive

high jackal
viral stone
#

run in a folder not tainted by onedrive, ideally with a shorter path (i.e. directly on the C drive)

high jackal
#

only folder

finite hinge
#

Your folia directory needs to be in the root of your disk if you're going to use windows

viral stone
#

running software in onedrive is known to cause issues

viral stone
#

especially software which does a lot of writes fast

finite hinge
#

Also make your anti-virus ignore the folia directory

#

That one may not be required to build (although it has in the past) but it'll make the build faster

#

Even better would be to setup WSL2 then clone and build it in there

#

not with WSL2 accessing files in your Windows environment, a new clone inside WSL2

high jackal
finite hinge
#

It's probably faster to setup WSL2, download and install Ubuntu in it, and build in there than it is to build on Windows

high jackal
#

Thanks for help

scarlet burrow
viral stone
#

Windows has a limit to the length of a file path

#

paperweight uses file lengths which can cause issues fairly easily on windows if people get a bit too deep

scarlet burrow
#

true

#

i hate windows but i use this laptop for school work 😔

timid grotto
#

what school work requires windows lmao

scarlet burrow
#

exams

#

because they like proprietary locking software

wispy current
#

Hello dear Folia community,
on it's github page it states, that you should have at least 16 core or more.
Our dedicated machine is running an AMD Ryzen 9 5900x with 12c/24t.
Will this work?

timid grotto
arctic tapir
#

better question is if you even need this

scarlet burrow
#

see, this isn't necessary, because i own this laptop lol
i may end up doing wsl2 or a dual setup but this thing is on its way out anyway so ill probably just wait for my upgrade

wicked mantle
#

I feel like if you have to ask if it'll be useful it's definitely not for you danKEK

gusty shadow
#

how do you guys have folia

#

what

wicked mantle
#

by building it from source

timid grotto
arctic tapir
#

||or api||

marble moth
#

have someone already built a folia jar ? i literally cant build it lol

arctic tapir
#

yes

wispy current
#

Ayo okay

arctic tapir
#

clone, apply patch an whatever the build command was

#

instructions are on paper repo

gusty shadow
#

these?

#

1kb doesn't seem right

arctic tapir
#

its in the main build folder

gusty shadow
#

?

wicked mantle
tardy mulch
#

xD

arctic tapir
#

you used the wrong build task

gusty shadow
#

which one?

arctic tapir
tardy mulch
#

¯_(ツ)_/¯

gusty shadow
#

ah

#

ty

tardy mulch
arctic grail
#

I suppose folia breaks redstone right

livid crag
#

If it’s 1000 block long maybe

#

Normally no

#

It should work just like in paper 99.99% of the time

timid grotto
wet pendant
livid crag
#

no. exaxtly how it works is outlined on the readme.

oak gull
#

I reference recent lurkers and chatters to the first point of the pinned FAQ

#

"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

hardy ingot
#

its actually important that touching regions get merged together no matter how big they are as it will behave weird otherwise

livid crag
#

yes that's how most of the past attempts by other developers failed at

#

there were countless projects before Folia that try to do multi threaded things but failed to take off because of the issues that you WILL encounter for those cases

hardy ingot
#

imagine 2 threads ticking the same chunk 👀
(or just entities moving between regions)

oak gull
#

incredibly unbased

wicked mantle
#

my fave part of the test was the region that was frozen so any regions attempting to merge with it also froze while they waited for it to finish its tick PepeLaugh

clear hatch
oak gull
#

a loop will happen infinitely

wicked mantle
#

I remember asking what happens if a region is completely locked when leaf was fucking with bees. He said it will lock other regions trying to merge with it

oak gull
#

wait leaf was doingWHAT

#

@tranquil epoch

#

the furry behaviour has gone too far

wicked mantle
#

WITH LARRY

#

WITH

clear hatch
#

based furry

livid crag
#

The only way to fix a broken region is just shut down serve and restart iirc.

#

there is no ways to recover as it risk breaking shits

wicked mantle
#

Get 20 alt accounts, make a really large region, freeze it, troll a server TF

clear hatch
#

freeze the region if someone built a huge farm

oak gull
#

it'll only be a troll for people in that region

#

folia is awesome

#

everyone else can go about their lives

wicked mantle
#

unless they get close to the frozen region and it tries to merge

oak gull
#

true

wicked mantle
#

tho you need a ton of accounts and not get caught

#

so good luck

oak gull
#

but eh, better than the other alternative of the entire server just deading

wicked mantle
#

yeah

clear hatch
#

we must have the /ban <region> command

wicked mantle
#

And noting it needed like a few thousand bees before the region died I doubt anyone will actually do it

oak gull
#

What might be useful is a way to force unload a region, just kick everyone in it, and then reload it

wicked mantle
#

I think that's planned for the future

#

A way to reboot a region basically

dark path
#

I just came from r/programming and I gotta say, this project makes me so excited

oak gull
#

haha we're on reddit? woohooo

oak gull
#

leaf would be so sad, leaf does not like reddit very much (or maybe just doesn't like me)

arctic tapir
#

or both

oak gull
#

true

#

@tranquil epoch you're on reddit ^

#

top comment mentions you by name UwU

wicked mantle
#

idk leaf might own r/rats

oak gull
#

true

#

or r/furry

late heart
#

Hey! Sorry for interupting but, how can I execute something like a sync runnable with folia (on each region at every tick)?

oak gull
late heart
#

Ah okay, I didn't know witch channel is for it, ty

oak gull
#

Those with the guts to give a solid answer generally only lurk there haha

livid crag
#

leaf is probably still sleeping after last night. He literally peaked in life as of yesterday

oak gull
#

yeah

livid crag
#

until next patch Chatting

floral oyster
#

Wishing him the best

oak gull
#

the first (second? third?) of many peaks

floral oyster
#

He deserves a rest

oak gull
#

wow thanks cas woo hoo

lucid basin
#

?install

#

!install

young sedge
#

Unrelated thing, but that (somewhat) hyper-realistic leaf used as the logo of Folia is both nice, but also not fitting imo... Mainly because I imagine a more simple logo fitting in the PaperMC org (Given Paper and velocity both have their own simple logos)...
Just a random thing I wanted to share.

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.

tacit tartan
#

@lucid basin ^

lucid basin
young sedge
#

Am I the only one finding it a bit weird that the Repo has been made public, the API is being exposed too, but no public builds yet? Like, how do you expect us to test it out then (I doubt everyone would know how to build from source here)?

arctic tapir
#

you compile it

#

or use the api

tacit tartan
#

It's only really public for plugin devs to get going on compat

arctic tapir
#

if you can't figure either out then you don't need it

oak gull
#

We are weakly/informally enforcing a skill requirement for Folia testing and feedback, basically.

young sedge
viral coral
viral coral
#

you can compile from source

#

if you don't know how to use gradle or maven

#

this is not for you

#

plugins are broken by default, there's 0 reason for server admins/owners/non-developers to test this

young sedge
tacit tartan
#

think he just means maven skills generally apply to gradle, it's just a different command

viral coral
#

i'm saying that if you don't know how to compile a java project, don't bother touching folia

#

that

mild slate
#

I think it would be easier to just deter people from using folia if they don't have a 16 core cpu (which is going to be the majority of people)

tacit tartan
#

well people would absolutely will try

oak gull
#

and folia will run on less, it just wont be of any extra value over paper

#

(it'll be worse, even)

scarlet burrow
wicked mantle
#

Paper doesn't want every random joe just downloading Folia, using it on their shared hosting plan with 2 cores, and then coming here for help because it lags lol

oak gull
#

We're not even at the point where people with the right hardware should use it

#

Nobody should be actually using it.

hardy ingot
#

maybe a warning in the console if you have less than x cores folia will be useless would be usefull

mild slate
#

In fact I'm literally someone who would benefit from folia but I already split my survival server into 3 smaller survival servers on a ryzen 7 7700. It is cheaper than getting a 16 core cpu and running on folia

young sedge
#

Have there been any bigger breaking API changes since you had your public testing?
I had Glare test my plugin on Folia like 1 or 2 weeks after that day and he didn't find any issues... So idk if there would be any new changes since then that could be something...

oak gull
#

Yeah there's been more work

#

Can't guarantee stability until (or maybe even long after) a proper release

hardy ingot
#

without recreating the server from scratch it most likely will never be 100% stable
(at least from my knowledge)

young sedge
foggy blaze
#

“You have been detected as only having 4 cores you’re delusional or sm”
Lmao thats

lucid basin
#

so I have a question, when will this fork be opened to everyone?

dreamy dirgeBOT
#
__There Is No ETA__

Updates to Paper do not have any sort of estimate for when they release, ever. Any and all updates will arrive when they are ready, and the only thing to do is wait for them patiently along with everyone else.

#

⚠️ 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.

arctic tapir
#

source is public

#

no official builds yuet

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 a lot of useful info

slow quest
#

would it be possible to put repo url in channel description?

oak gull
#

there

slow quest
#

thanks

hardy ingot
#

the fun stuff about folia is: this project probably won't be dead after some time like other server implementations that tried something similar (or in other languages) 👀

oak gull
#

That's just cause folia cares about stability and being vanilla and bug free

young sedge
oak gull
#

and it'll do that, it's just not magic

young sedge
#

(Bad grammar I know)

oak gull
#

We will support folia bugs on lower core counts.

#

it should be identical in terms of bugginess

foggy blaze
#

Yeah, a bug is a bug

oak gull
#

it'll just poorly perform

hardy ingot
#

maybe "use paper instead of folia" instead of "no support" then

mild slate
#

People are going to jump to folia thinking it will perform better than paper even though the person has an 8 core cpu for example, that's why people using less than 16 core cpu's should be made aware of that

#

you dont need to prevent support, you need to inform them about reality

young sedge
#

Yeah. Tho a notice is probs a good idea still, otherwise people will join and complain (You still get them no matter because there apparently is a high number of dyslexic people I guess, but it probs will be less than what it would be without the notice)

scarlet burrow
foggy blaze
#

Yeah preventing support is def a bit harsh and just dumb overall. But I agree having a notice could be helpful for people that actually read errors and warnings

hardy ingot
#

except for 2b2t and mconline i actually don't know any servers that could make real use of folia

young sedge
#

Tho.... Maybe consider a sort of "support" system on the website that would determine which server would be better.
Like a helper that asks questions like "what is the core count?", "How much RAM will you provide?", "How many players do you expect?", "Is it a dedicated server (i.e. a VPS) or a shared host?", etc. and based on the replies gives you one or a combination of the Paper products available...
Just something to think about in the future to be honest...

hardy ingot
#

most other servers use multiple smaller servers behind a proxy with minigames anyways

supple wave
#

Sounds like a cool project, happy to see that the paper team will takeover with the time

young sedge
mild slate
#

Yeah this is great for 2b2t, but most big networks are minigame servers anyway. And survival servers have more or less already come up with their own solution (have multiple smaller servers)

foggy blaze
scarlet burrow
foggy blaze
#

They can just increase the player count on their individual survival servers now or sm lol

mild slate
#

instead of having multiple servers they can have 1 big server, but whats the point when it is cheaper to have multiple servers

young sedge
wicked mantle
#

Skyblock is like the only not smp gamemode I can think of immediately that will benefit from Folia due to the nature of how the gamemode is

oak gull
#

some people with beefy hardware and a lot of players (and money) will find it gives a better experience to everyone to have so many people all on one server. livelier chat, bigger event participation, etc

young sedge
#

Well.... Chat can be lively with network either way.

supple wave
#

or any survival server with many players and normal mob spawning

young sedge
#

It's not really bound to the server alone after all...

mild slate
#

I honestly think the people who would benefit from folia have already come up with their own solution (cross server chat, events through each individual server etc)

#

but I can see how 2b2t would easily benefit from this

hardy ingot
#

at least we can now scale minecraft vertically again by just throwing more cores at it

young sedge
foggy blaze
digital python
#

when do you think folia will be good for prod?

dreamy dirgeBOT
#
__There Is No ETA__

Updates to Paper do not have any sort of estimate for when they release, ever. Any and all updates will arrive when they are ready, and the only thing to do is wait for them patiently along with everyone else.

viral coral
#

when it's ready

digital python
#

like hytale

viral coral
#

correct

digital python
#

so never

#

looks promising

young sedge
foggy blaze
proper heron
#

I’m hyped for all the 8 player server owners asking for folia plugin support

hardy ingot
#

main difference to hytale is that folia is technically already public and "can be used"
may break tho

oak gull
#

just cause we don't have a release date doesn't mean there won't be one

#

hytale does not have a release date and has produced nothing

hardy ingot
oak gull
#

leaf's got the entire foundation written and is ironing it all out

young sedge
#

And IF it comes out, I can imagine it becoming one of the worst games ever.... Like Cyberpunk, but Hytale

silver sierra
mild slate
#

You're better off waiting anyway, I'm sure the price for these high core cpu's will eventually go lower

scarlet burrow
#

you underestimate the bots

hardy ingot
#

can't wait for cheap server hosts to add folia to their list just to get more customers

royal swallow
inner swift
mild slate
#

I'm waiting for paper to replace the gzip compression minecraft uses for region files

hardy ingot
arctic tapir
#

i've seen a host that added it already (although they hid it for the public)

young sedge
mild slate
#

Based on the chat I've seen someone struggle on a 16 core cpu (was a test with 800 players to be fair)

tacit tartan
#

oh yeah how long until the latest yatopia pulls folia patches kek

young sedge
#

What would be the recommended max players? I assume something around 300 to 400?

mild slate
#

I think it depends on your core count

hardy ingot
#

and how spread out the players are

young sedge
#

It's still Java

#

So "the limit is your ..." is not quite right. Java itself will be the limit here

oak gull
#

andre our test used all 500gb of ram we gave it

#

and didn't give indications of being bottlenecked

young sedge
#

I was more about using large RAM on low usage. Like server only using 1GB while you give like 30

mild slate
#

If you're using aikars flags it will always use what you assigned + more

dreamy dirgeBOT
hardy ingot
#

you still have to optimise the flags, its not just "java -jar folia.jar"

mild slate
#

But anyway, I think this is a cool concept that can benefit a select few servers but the high core count cpu you need is going to be an economic barrier to entry for most people which makes sense because the majority is not the target audience for this

#

for now I'm sticking with having 3 separate survival servers

hardy ingot
#

if you have enough players (on one map/server) to justify the need for folia you most likely can afford hardware for folia

wicked mantle
#

I plan on using it for big event servers that are like "We got 1000 players and scattered them all over the place to see who could survive the longest" and stuff like that

prime glen
#

mr beast

#

"10000 players battle royale"

oak gull
#

folia will not do what beast's setup does

#

if everyone is in one region, it performs like vanilla paper

oak gull
#

_11 I'm not sure that's public information, unless you're sure

foggy blaze
#

1 thread = 1 player

#

the new folia lul

undone acorn
#

go make it

prime glen
undone acorn
#

bonus points for loom thread per player

foggy blaze
#

I'd fuckin kill myself prolly

tacit tartan
#

though there's been a bunch of "dump a bunch of content creators on a massive map and play hide and seek" vids that it might do something for

wicked mantle
#

yeah whatever idea you come up with has to include spreading players out

tacit tartan
#

larry: I mean I think it's fine but just in case I deleted

oak gull
#

kk

undone acorn
#

the biggest help for folia in our case is simply that our continents (worlds) have big towns scattered about with big contraptions, builds, redstone, item frames, etc and those (way more than players) is where the tps recovery will come from when threaded apart

oak gull
#

yeah that's a great use case

undone acorn
#

that said, waiting for many folia trailblazers to suss out the complexities of plugin support

raven compass
#

i would just like to see 2b2t to use folia some day in future

#

¯_(ツ)_/¯

#

it will never happen tho

wicked mantle
#

for once someone who can use folia moon2WOW

strange nymph
#

2b2t won't use Folia. A server that makes $50K USD a month can make it's own Folia but they choose not to.

livid crag
#

It will be someone based of it for sure

#

And it won’t be hard to find out anyway

#

If it does happen

#

The characteristic of folia is pretty easy to tell

wicked mantle
#

2b2t lagging is what makes it what it is tbh

livid crag
#

If 2b after upsetting suddenly immune to lag machine and mobs spawn behavior is changed

#

Then you know it’s something based off folia

strange nymph
#

2b2t test server with 250 players had 0 issues with lag.

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.

rare steppe
strange nymph
#

They have no reason to upgrade to more player slots or something which gives them more performance.

livid crag
wicked mantle
livid crag
#

Lol

raven compass
rare steppe
wicked mantle
floral oyster
undone acorn
#

It is a network of multiple servers; we already have "sharding system", but mostly it divides worlds into separate servers

#

But The Big Three Continents, where the towns are are the ones that can get heavy still since it's still 1 "big world with towns"

#

we were "about" to pull a trigger to try to shard towns individually but Folia looks to save the day 📿

daring nimbus
#

working on a server with a somewhat similar concept except that we got the conquest/pvp part in the same world too, but im tbh still a bit undecided about Folia. The hardware requirements make it quite a big investment

undone acorn
#

yeah that's the question; hardware is not so bad but i'm not sure if 5 folias in one box sounds good

#

suppose it depends on the number of regions really yeah?

#

some of our servers are tight enough we may almost want to be on folia, but not have it regionize... hard to say

daring nimbus
#

every server would have its own netty, IO and chunk loading threads too. So multiple on one box might get tight

fair merlin
#

You aren't going to run 5 instances of Folia on a single 16 core CPU box.

#

You're better off with just Paper for that.

daring nimbus
#

running Folia for the big server and Paper for the small ones would be an option, but that still would get pretty expensive quickly

#

and ofc then you have to deal with different server software for development

foggy blaze
#

personally I think this sounds like a great usecase! the hardware would def be something you need to consider tho

undone acorn
#

So some control over how much folia uses or needs to use (if it's not automagic) would be really desirable

undone acorn
daring nimbus
#

you can control how many threads it uses for the regionized ticking, and you can control the other thread limits too (just like with Paper).
But you can't control how many region it will create, and it wouldn't make sense to limit that (at least thats what Leaf said iirc)

undone acorn
#

But that's 3 survival worlds (heavy), 1 spawn, and 1 warfare and 1 "ganks" basically server so 3 of the 6 are pretty light on resources, or even empty often

lucid thistle
#

Folia hasn't really been tested in a variety of environments yet, nevermind scientifically enough to draw conclusions surely

undone acorn
#

API work worries me less than however scheduling changes are gonna go

#

The very most helpful documentation will be:

  • When you have (this in paper)
  • Do (this in folia)
daring nimbus
#

What I noticed is that when getting bottlenecked, chunk loading is what dies first. regions are still ticking happily, but the chunks will just stop loading.
That was also something that tended to happen in the public and private tests of Folia that were done

#

so maybe the amount of regions ticking isn't really the issue you would encounter first when putting multiple Folia's on one box

rapid cipher
#

These were not pregened chunks iirc

undone acorn
#

Realistically I don't see us trying Folia till mid-fall of this year at which point I'm presuming loads of updates/fixes

lucid thistle
#

Is pregenning even a thing in that case, and also is genning even a big deal in your case?

daring nimbus
#

yeah, it will take some time to iron out issues for sure. And iirc the overhead of the chunk system is also already on a todo list somewhere

undone acorn
#

i really want a way to take our more static worlds (that chunk-wise don't change in terms of builds/blocks) and put them on the edge so players can load chunks from edge servers and leave only dynamic chunks being streamed from the server itself

#

but that's, like, a different thing

solar ledge
#

But I mean all and all. Even when running lower core count there should be a performance increase over stock paper because the whole server is not being ticked on one core but per region so there is always a gain there right? How much would be de question ofcourse. Im really looking forward to it.

floral oyster
#

This is very fascinating. What you've been describing, Cryptite, is almost identical to what me and my team are planning to employ. We are currently considering our options for a second machine, and if Folia proves to be a viable option for a multi-server SMP network, it seems like a worthwhile investment.

daring nimbus
#

I'm not really sure if its worth it for creative plot servers personally. That sounds like the kind of server were just running multiple Paper servers is easier, and I don't think creative players care much about everything being in one world (I might be wrong, never ran one)

fair merlin
#

On lower core counts the server will be choked for resources.

undone acorn
#

Like being able to restart 1 world instead of the entire server

#

and just partitioning resources anyway

fair merlin
#

The might be a point where "some lower cores" work okay in "some scenarios" but that remains to be seen. And "some lower" is going to be more like 12 and not 3.

undone acorn
#

You just don't want people in spawn causing lag on an entirely (logically) different conquest world

daring nimbus
#

if sharding is viable or not also really depends on the server concept imo. With some game modes it works a lot better

undone acorn
#

don't make no sens'

floral oyster
#

Yeah we split our server into "zone" servers very early on, since we're running a Survival MMORPG

floral oyster
#

In which there are still destructible environments

undone acorn
#

sounds like loka

#

minus the rpg

floral oyster
#

Our expectation is that certain "zones" have the potential to be particularly hammered, in which case we would employ Folia, but use Paper for zones we don't expect to have players counts as consistently high.

rapid cipher
#

Newest Ryzens have both good core count and single-core performance, they might deal relatively "well" with all people going into one region

daring nimbus
#

yeah, if you don't have destructible environments you could also optimise entity AI much better, instead of just throwing Folia at it

undone acorn
#

If you have loads of players in a single area and they don't need to interact with each other

#

shard the players into buckets of visibility

#

we can stick like 200 people in a small tourny zone for our festivals and then just bucket them in to groups of 50

#

the player tracker can so much better handle showing you 49 players than 199

daring nimbus
#

and just make them visible with packets on the other servers I suppose?

undone acorn
#

well these are all players in 1 world on 1 server

#

i dared not figure out how to do cross server player packet tracking

daring nimbus
#

its not too bad if you only care about movement. Just "smart" NPCs kek

floral oyster
#

Yeah, basically custom generated worlds for each zone server, and a zone server is similar to an SMP allowing the building of farms and bases and digging underground to find resources, etc. Just with certain areas that are protected to preserve the MMORPG part of the gameplay haha.

#

Some zones (i.e. early game) would get absolutely hammered.

undone acorn
#

the long con was always just hoping leaf would get so annoyed with performance that he'd be the one to do regionized minecraft

daring nimbus
#

now leaf quits because everything is done (please don't foliaheart)

floral oyster
#

But yeah I think what me and my team are doing is a practical use-case for Folia, we just might need to invest a little more into more core-driven hardware as opposed to clock-speeds.

#

We might be able to squeeze by with a pair of 5950Xs (our original plan) but it may not be viable for rolling updates that introduce additional zones.

undone acorn
#

That's the big question. Always targeted highest single thread speed

solar ledge
# floral oyster Yeah, basically custom generated worlds for each zone server, and a zone server ...

This is what we have running. Basically a SMP of 3 to 6 kingdoms with a total player base of 200-300 and alot of land mass with bosses and MMO stuff in between the land masses. We have considered sharding but that would break the gameplay too much. On Sundays all these kingdoms go to war and that's where the performance just completly dies so would be interested to see how it could peform with folia since i would think it would at least eliminate a few bottlenecks we currently have giving a little bit of room for improvement for the rest but will have to see still really early to tell.

undone acorn
#

Which is so old fashioned

fair merlin
#

You still want a high clock speed.

floral oyster
#

^

#

Just now it's more a balancing act

fair merlin
#

Switching from something like a 5950X to a very old Xeon with more cores but a very low clock speed wouldn't be great.

#

You'd be better off with Paper on a 5950X.

floral oyster
#

Yeah we're considering some of the 32 or even 64 core EPYC processors for our next machine.

fair merlin
#

It's possible some other multicore solutions are an option. Will have to see as more plugins are working and people are play testing stuff.

daring nimbus
#

waiting for someone to try an ampere altra with Folia tbh kek

fair merlin
#

Haha yeah

proper heron
#

128core go burr

fair merlin
#

Not a lot of servers want to just run a no-plugin server, though. So someone would need to update their custom stuff (which could be a considerable amount of time and work) or enough of the major third party plugins need to update to bolt together a game type.

floral oyster
#

I managed to update three of our in-house plugins yesterday but it took most of the day from when Folia was dropped haha

#

It's not too hard to create a wrapper for the scheduler stuff, but taking advantage of the regionizing takes a little more careful consideration.

proper heron
#

some people are going to get an unexpected crash course in race conditions

floral oyster
#

Yeah lol

proper heron
# undone acorn many*

i hope mainly the networks who actually have a use case have professional developers who can handle it fine, just thinking of the group who minecraft is their first intro to coding who stumble into folia plugins somehow, gotta learn somehow though

fair merlin
undone acorn
#

likely a handful of "never do this" scenarios will be discovered that cause majority race conditions

proper heron
#

good news is if they find it too hard they can always buy my FastSyncFolia fork for 60 bucks which adds innovative features like one scheduler and a main thread

thin verge
#

making multithreaded program requires some brain from the programmer

#

everyone here won't be able to make plugin💀💀

foggy blaze
#

Man that was super helpful

thin verge
#

atleast i was honest

#

and i didn't say any misinformation💀

idle furnace
#

running folia for first time and having a nice surprise with the plugins 🔥 🤣

silver sierra
#

should not be a surprise if you read the docs

idle furnace
#

it wasn't

#

lets see if I learn how to adapt them to be compatible

weak tundra
#

I ended up testing Folia a bit with the the Ryzen R9-7950X3D;

Did my tests with synthetic region loads (farms and npc entities)
Encountered next to no issues say for some in my own test plugin

Folia can just about utilize the whole cpu fully

Don't have numbers to compare anything yet and that wasn't my goal today either

#

The result is promising, a single paper instance could never do that

My goal was to calculate a spread ratio for a large map, I'll have to compile what I've seen when I get the chance in the next few days

mossy palm
#

Sick, what were your other specs?

fair merlin
#

Need to actually have players on it to truly test properly.

weak tundra
#

I've had 256gb of 5400 mhz ram. Four sticks admittedly bad ratio since ryzen can only do dual channel

weak tundra
#

I hope I can keep this workstation for a bit longer to do more with it
Was lucky enough to catch the new dev workstations before they got thrown into the pool

frank flare
#

someone should test it on 9654 thonk

weak tundra
# mossy palm Sick, what were your other specs?

The workstation has an unbranded motherboard probably made by asus
It's an X670E chipset
And the storage should be dual Samsung 980 pro nvmes
No idea about the ram other than it's 5400 ddr5 4x64 gb

#

There's also an Nvidia 4090 and a database accelerator card in there but those probably don't matter much

#

They want me to install a dual QSFP+ card in there but I'm not sure how I'm gonna do that. Ordered an extension cable already but that just won't fit in the case

proper heron
weak tundra
#

The two database engineers we have are the only ones who get that kind of machine approved

#

That's why I take my sweet time to play with this stuff when it gets through the door before handing it out

weak tundra
#

One of those overpriced ramdisk-esque cards with some special programmed fpga, who knows.
All I know is that it says HP on one side and it has a massive heat sink on it

#

Iirc the designation was "database workload accelerator"

warm oasis
#

kinda wana get a dell r900 just for this

proper heron
#

I mean if you have a legit use case where it makes business sense then it’s not a horrible idea to implement when it gets further along

weak tundra
#

You know what? I looked it up. Seems like it's just some crazy fast low latency flash storage

proper heron
weak tundra
#

It's probably made by Intel if it's optane. HP loves putting their branding on everything.
It uses a full pcie5 slot worth of bandwidth so I'm not sure

proper heron
#

Well I’d assume not if they’re R9 machines

weak tundra
#

But what I have seen in the enterprise distribution catalogue is that the list price for 1.67TB of those (lowest capacity) is 10k usd

proper heron
#

Oof might just be an hp money printer product

weak tundra
warm oasis
deft hatch
#

its normal folia building take more than 30 minutes?

daring nimbus
#

on Windows? yes. On Linux/WSL? no

next bloom
#

I know the git operations are real bad on windows, but is the compile time that much worse? In other words, the applyPatches is gonna take forever, but idk if the build does

deft hatch
#

looks lightweight enough :D

languid saffron
#

some testing i did

#

spawned in a bunch of tnt lol

daring nimbus
#

You could even crash the region completely and the rest of the server would be fine. It's pretty neat

languid saffron
#

yeah I almost crashed it 😂

#

chunks were also loading! even in the region with 5 tps

#

its impressive

#

cant wait till plugins begin supporting folia, this is such a huge breakthrough

ornate harbor
#

Out of curiosity... isn't async region loading ripe with tick speed exploits??? like having 2 hoppers facing eachother in 2 different regions causing item duplication when the tick speeds differ?

#

the hopper thing is just an example, it would be the case for any exploit using tick speeds

inner swift
#

It's parallel region ticking

#

Not trying to be annoying with wording, it's just that it's relevant to why what you describe won't happen

#

Regions are independent of each other and will merge if you what deacribe happens

#

So you can't do things cross region like that

ornate harbor
#

Just making sure🙂 talked to a buddy that works in programming, and he said it could be a potential issue

glad to hear things like cross region interactions have been thought about though🍻 can't wait for plugins to support this

red lintel
#

silently waiting for the official public builds as I'm just a newbie in coding :P

sly elm
#

I mean on my 3700x before, I built paper once without wsl and it took well over an hour

#

it's like a minute or so on wsl

#

i dont think its that bad anymore but its a stark difference for sure

rare stirrup
#

Is there a way to use spark right now or any way to analyze performance?

#

Since timings are deprecated

sly elm
#

ya i mean its a plugin you can download

#

and generally people use it to analyze performance

celest forum
#

why does building paper take so long for you guys?

#

u are talking about getting a runnable jar right?

#

i’ve never seen that take more than like 5 min including apply patches

sly elm
#

it only takes a long time if youre on windows

celest forum
#

i use windows

sly elm
#

on wsl and linux its like super fast

rare stirrup
#

yes but does spark work right now?

#

Getting a not supported error when trying to use a bukkit build so wondering if there's any testing builds out there to monitor folia

livid crag
#

They will be a question to spark support discord. They may be better equipped to help you.

#

Just remember to be patient. We do not want to pressure people to make builds. It comes when developer has time and wants to do it.

analog schooner
#

Java newbie here, can't find the jar to run a server with, am I correct in thinking that I have to clone the repo and build it myself?

sly elm
#

yea no jars for now, its mostly intended for developers and people testing

analog schooner
#

Ok, thanks

keen fable
#

hey guys
i've allocated 30 threads (15 cores) to Folia VM, why does it uses only 3 threads ? might be a virtualization problem?

EDIT: Well there is a config option for advanced users.

fair merlin
royal swallow
#

Is there a place where folia plugins are uploaded?

#

Like Spigot but for Folia

fair merlin
royal swallow
#

Does Folia work out good with Velocity plugins?

#

Have anyone tested?

fair merlin
#

Velocity plugins run on Velocity only.

#

Proxy plugins run on proxies, not on the Paper or Folia servers.

hardy ingot
merry charm
fair merlin
finite hinge
#

Folia should run fine in a VM

#

It'll be slower than native but that's true of everything in a VM

dreamy dirgeBOT
lucid basin
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.

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.

barren forge
solar ledge
#

Did you try what he said?

arctic tapir
#

not on onedrive etc

slim bolt
#

fatal: not a git repository (or any of the parent directories)

#

Do somebody know how to fix it?

arctic tapir
#

you need to git clone it

slim bolt
#

I downloaded the zip

daring nimbus
#

yeah. thats not git clone

slim bolt
#

Ok, thanks

#

Thanks again, everything is ok now

lost needle
#
Directory 'C:\Program Files\Eclipse Adoptium\jdk-17.0.4.101-hotspot' (Windows Registry) used for java installations does not exist
> Task :createMojmapBundlerJar FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':createMojmapBundlerJar' (type 'CreateBundlerJar').
  - In plugin 'io.papermc.paperweight.patcher' type 'io.papermc.paperweight.tasks.CreateBundlerJar' property 'serverLibrariesList' doesn't have a configured value.  
    
    Reason: This property isn't marked as optional and no value has been configured.
    
    Possible solutions:
      1. Assign a value to 'serverLibrariesList'.
      2. Mark property 'serverLibrariesList' as optional.

    Please refer to https://docs.gradle.org/8.0.2/userguide/validation_problems.html#value_not_set for more details about this problem.
  - In plugin 'io.papermc.paperweight.patcher' type 'io.papermc.paperweight.tasks.CreateBundlerJar' property 'vanillaBundlerJar' doesn't have a configured value.    

    Reason: This property isn't marked as optional and no value has been configured.

    Possible solutions:
      1. Assign a value to 'vanillaBundlerJar'.
      2. Mark property 'vanillaBundlerJar' as optional.

    Please refer to https://docs.gradle.org/8.0.2/userguide/validation_problems.html#value_not_set for more details about this problem.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 4s
1 actionable task: 1 executed
PS D:\Folia> ```
arctic tapir
#

looks like a broken java install

lost needle
#

any way to fix ?

arctic tapir
#

can you try using createReobfBundlerJar

lost needle
#
Directory 'C:\Program Files\Eclipse Adoptium\jdk-17.0.4.101-hotspot' (Windows Registry) used for java installations does not exist
> Task :createReobfBundlerJar FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':createReobfBundlerJar' (type 'CreateBundlerJar').
  - In plugin 'io.papermc.paperweight.patcher' type 'io.papermc.paperweight.tasks.CreateBundlerJar' property 'serverLibrariesList' doesn't have a configured value.
    
    Reason: This property isn't marked as optional and no value has been configured.
    
    Possible solutions:
      1. Assign a value to 'serverLibrariesList'.
      2. Mark property 'serverLibrariesList' as optional.

    Please refer to https://docs.gradle.org/8.0.2/userguide/validation_problems.html#value_not_set for more details about this problem.
  - In plugin 'io.papermc.paperweight.patcher' type 'io.papermc.paperweight.tasks.CreateBundlerJar' property 'vanillaBundlerJar' doesn't have a configured value.

    Reason: This property isn't marked as optional and no value has been configured.

    Possible solutions:
      1. Assign a value to 'vanillaBundlerJar'.
      2. Mark property 'vanillaBundlerJar' as optional.

    Please refer to https://docs.gradle.org/8.0.2/userguide/validation_problems.html#value_not_set for more details about this problem.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 916ms
1 actionable task: 1 executed
PS D:\Folia> ```
finite hinge
#

Did you already applyPatches?

lost needle
arctic tapir
#

.. do that first

lost needle
#

I m kinda new so I don't know that much 😅

lost needle
arctic tapir
#

./gradlew applyPatches

lost needle
#

K

slim bolt
#

Hmm, my jar is empty

#

Build successful

arctic tapir
#

now do the createReobfBundlerJar task

#

then in /builds/libs

slim bolt
#

is it for me?

arctic tapir
#

uh

#

also

slim bolt
#

Ok

#

Thanks, it works for me

lost needle
#
Starting a Gradle Daemon, 3 incompatible and 5 stopped Daemons could not be reused, use --status for details
Directory 'C:\Program Files\Eclipse Adoptium\jdk-17.0.4.101-hotspot' (Windows Registry) used for java installations does not exist

> Task :paper:applyServerPatches
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

> Task :applyApiPatches
   Creating Folia-API from patch source...
   Applying patches to Folia-API...
Applying: Force disable timings
Applying: Region scheduler API
Applying: Require plugins to be explicitly marked as Folia supported
Applying: Add RegionizedServerInitEvent
Applying: Add API for checking ownership of region by position/entity
   Patches applied cleanly to Folia-API

> Task :applyServerPatches
   Creating Folia-Server from patch source...
Importing 22 classes from vanilla...
Importing 0 classes from library sources...
   Applying patches to Folia-Server...
Applying: Build changes
Applying: New player chunk loader system
Applying: Make ChunkStatus.EMPTY not rely on the main thread for completion
Applying: Threaded Regions
Applying: Increase parallelism for neighbour writing chunk statuses
Applying: Cache whether region files do not exist
Applying: Max pending logins
Applying: Add chunk system throughput counters to /tps
Applying: Make CraftEntity#getHandle and overrides perform thread checks
Applying: Disable mid-tick task execution
Applying: Throw UnsupportedOperationException() for broken APIs
Applying: Fix tests by removing them
Applying: Work around https://github.com/PaperMC/paperweight/issues/194
Applying: Require plugins to be explicitly marked as Folia supported
   Patches applied cleanly to Folia-Server

BUILD SUCCESSFUL in 15m 3s
4 actionable tasks: 4 executed
PS D:\Folia> 
finite hinge
#

Now you should be able to run the other one

lost needle
#

./gradlew createMojmapPaperclipJar this ?

clear hatch
#

createReobfPaperclipJar

lost needle
#

okyz

lost needle
#

now ?

clear hatch
#

look at build/libs

lost needle
#

ahem

clear hatch
#

there should be two jars

lost needle
clear hatch
#

from the root of the project

finite hinge
#

D:\Folia based on what you shared

lost needle
clear hatch
#

the build folder

#

and then libs in it

finite hinge
#

I have to ask, are you a plugin developer?

lost needle
#

yeh got it

lost needle
finite hinge
#

There are almost no plugins available for Folia right now

lost needle
#

just wanted to test

finite hinge
#

And it probably has some issues that would prevent you even wanting to run it as a "vanilla" server without plugins

#

And you need a $1000 CPU to make it worth using over Paper

#

I mean, if this is just for curiosity then sure, go for it, just don't expect to actually be able to use it right now

lost needle
unique forge
keen fable
daring nimbus
#

Is it not vanilla currently? Mob spawning being per region should get you a pretty vanilla-like experience

keen fable
#

It seems that reducing mob-spawning-range and monster mobcap affects spawning rate in a different way, not sure if it is normal. mb

viral stone
#

mob spawning is vanilla

#

per-player just added an extra set of limits to try to spread mobs out better

#

vanilla mob spawning was always affected by those things, just it wasn't configurable, not to mention that mojangs spawning logic was pretty much not designed for servers

livid crag
barren forge
#

Hey guys
Is it still the right way like in the paper readme to build Folia with those 2 commands?

arctic tapir
#

yes

barren forge
#

nvm was looking in wrong dir

#

thx 🙂

barren forge
livid crag
#

You can run it on whatever. You may get degraded performance compare to paper

#

Due to the added complexity of the regioniser logic

mild bridge
#

Wait, so per-player-mobspawning isn't even an option with folia? Doesn't this mean that you run into the same spawning differences from single- to multiplayer with large and full regions?

next bloom
#

no, its calculated per region

#

so the mob cap is for a specific region

livid crag
#

Yeah

next bloom
#

I do wonder if there are some difference tho, like you have to separate the two players by thousands of blocks to make 2 regions

livid crag
#

Yes

next bloom
#

so that would be different from per-player spawning, where players could be separated by much less, and still see the benefits

livid crag
#

From my own testing, it ain’t “that” much

#

So overall it’s a net positive

mild bridge
#

Also you could theoretically chain tons of players into one region if they are positioned unfortunately

viral stone
#

now that we have mappings, it probs makes sense to actually have an alternative spawning mechanism which is actually tracked/managed per player

livid crag
#

I will love that

rotund fossil
#

how do I find precompiled jars?

#

of folia

#

There is no ETA for publicly available builds.

#

Does that mean i have to compile it myself

#

oh

#

alright

#

github actions

#

uwu

strange nymph
#

MultiPaper. 🙂

#

(It has ton of issues, we're excited for Folia as it's probably gonna be a better option.)

livid crag
strange nymph
#

Not really. I don't see a better channel where I could post this but I think it's pretty relevant.

livid crag
scenic sky
#

that sure aint folia thats for sure

next bloom
prime juniper
#

It tells you what to do

scenic sky
#

in the screenshot you sent here

next bloom
fair merlin
#

Machine Maker is being renamed to Arrow Maker

arctic tapir
#

wrong jar

#

use the one in /builds/libs in the root dir

fair merlin
#

Many (most?) plugins will not work on Folia.

#

You'll have to see if they have support for Folia and speak to the respective plugin developers.

arctic tapir
#

pretty sure youi just need to update via

fair merlin
#

Okay it might need an update.

#

But either way that's a plugin issue - gotta talk to them.

keen fable
#

Hey guys! It seems that villager cannot go though nether portals, can you reproduce ? so i open an issue

finite hinge
#

Honestly I'm just impressed anyone can go through nether portals

wicked mantle
#

Do you have the other side of the portal loaded? (idk if that matters even in vanilla tho OMEGALUL )

wicked mantle
#

jayethHMMMMMMMMMMMMM I can attempt to reproduce it in a little bit

keen fable
#

Other mobs can travel

#

And when you tp to that villager UUID it doesn't exists anymore

wicked mantle
#

Might be some wacky villager specific stuff minecraft does, would not shock me

inner swift
#

Does it just disappear?

keen fable
wicked mantle
#

Def sounds like a bug that I don't even need to reproduce lmfao

#

Probably should just open an issue for it tbh

inner swift
#

Uhhh

#

Oh, nevermind, this is the Folia channel

keen fable
#

Well i think it is an issue, it throws net.minecraft.ReportedException: Loading entity NBT at net.minecraft.world.entity.Entity.load(Entity.java:2502) ~[folia-1.19.4.jar:git-Folia-"ed7a5c5"]

wicked mantle
#

Oh if it throws an exception definitely then

keen fable
#

java.lang.IllegalStateException: World mismatch: expected world_nether but got world 🤔

arctic tapir
#

does it happen to other mobs?

daring nimbus
#

villager brain too small for Folia kek
Looking at the exception, might happen with all brain AI mobs

keen fable
#

It is caused by at net.minecraft.world.entity.ai.Brain.stopAll(Brain.java:415) ~[?:?]

daring nimbus
#

could you try an axolotl or some other new mob?

arctic tapir
#

that works

keen fable
#

Works fine with axolotl

livid crag
#

worth opening an issue I guess if none exists

#

you can reproduce it right?

keen fable
#

I opened an issue

arctic tapir
#

I can reproduce it yes

next bloom
#

yeah, I see the issue. The new entity is created with the nether world, but the current thread that it's created on is the region thread for somewhere in the overworld

arctic tapir
#

wandering trader works surprisingly

livid crag
#

make sure those steps are includes on the issue. our supreme overlord will take a look later

visual crypt
#

when relase