#folia-help

1 messages Ā· Page 13 of 1

main knot
#

i need folia

fair merlin
#

Then they will have built it also. Sorry but none of that changes my answers here.

main knot
#

broo

tacit tartan
#

If you need folia, then you should have the expertise (or someone on your team does) to build it

#

If not, folia probably isn't right for you in it's current state

fair merlin
#

Despite being mostly named the same.

tacit tartan
#

sorry, sometimes I get focused on the chat box and miss messages that go by as I'm typing

fair merlin
#

Also they got kicked.

#

So may not have seen your message.

void elbow
#

nonono

#

It is very bad

#

this is again extra plugins + no display of the visual border of the world

fair merlin
#

But there's no ETA for when stuff gets changed/added/fixed in Folia. Could be a while. World border is probably pretty low priority.

void elbow
#

😦

#

She is sorely missed

livid crag
pseudo ibex
inner swift
#

Could also emulate a real worldborder with packets

pseudo ibex
inner swift
#

Nah, ChunkyBorder just sends you a message and sets you back rather than displaying the border

fair merlin
#

I thought they had particle effects for the border also?

inner swift
#

Ah, yeah, that's true, you can use particles

pseudo ibex
#

This is regular mc border, so it looks like it gets displayed at least and blocks you from movint past it.

livid crag
#

Yeah AYAYARie

inner swift
#

That's with ChunkyBorder?

void elbow
#

What plugin are you using to show the border?

pseudo ibex
void elbow
#

and how did you display the borders of the world on Folia?

pseudo ibex
#

Like regular world border command lol

#

Maybe my server is just cooler šŸ¤“šŸ˜ŽšŸ„ø

#

Hehehhehehe

#

Jk

void elbow
#

nice trolling

#

photoshop

pseudo ibex
pseudo ibex
pseudo ibex
blazing tree
#

cheapest ovh / heztner dedi thats 16+ cores?

fair merlin
pseudo ibex
fair merlin
#

Could be plugin conflict or who knows.

fair merlin
#

If you're seeing an error then post the error I guess.

pseudo ibex
# fair merlin Could be plugin conflict or who knows.

Oh like others have a plugin conflict? I would assume if that is the case then it would likely be down to one plugin in common with all these people, which I may not have. I’m sure that with the issue tracker it would be easier to narrow it down. Although this is all a guess.

fair merlin
#

No idea.

#

People are also using weird builds and jars they pass around and stuff which might not be on recent builds. So I dunno.

inner swift
pseudo ibex
pseudo ibex
fair merlin
#

Correct.

pseudo ibex
void elbow
#

How did you set the border of the world?

inner swift
#

There's no /worldborder command in Folia, you need a plugin

void elbow
#

Which?

#

i use Chunky and Chunky Border

#

but the border of the world is not visually shown there

inner swift
#

I don't know if exactly what you want exists

pseudo ibex
#

I don’t have a world border plugin. Here are my plugins - AutoPay, BetterBoard, BetterEconomy, BetterRTP, BisectHosting-Folia, BlueMap, ChatFilter, Chunky, ClansLite, ClientDetector , DeluxeMenus, DisableBreeding, DiscordSRV, ElytraSpeed, EpicHomes, FancyNpcs, FastAsyncWorldEdit, floodgate, Geyser-Spigot, GlobalTrackedMaps , IllegalStack, LuckPerms, NoCheatPlus, PL-Hide, PlaceholderAPI, PlayerBountiesPlus, PlugManX, PosCommands, ProtocolLib, RedLimiterReloaded , ScoreboardChatShop, SilkySpawnersLITE, spark, StormerAntiSpamReloaded, StormerTPAReloaded, StormerWarpsReloaded, TerragenBiomesMockRegistry, Vault, ViaBackwards, ViaRewind , ViaVersion, Votifier, VotingPlugin, WorldGuard.

inner swift
#

Interesting, maybe it's BisectHosting-Folia

pseudo ibex
inner swift
#

ĀÆ_(惄)_/ĀÆ

pseudo ibex
#

Plus if it was a server jar like paper or etc it wouldn’t even be displayed as a plugin

pseudo ibex
# void elbow

I see you are one version behind. I’m sure it wouldn’t make a huge difference, but maybe you should go to the latest commit.

finite hinge
#

Wait are you at 10,000,000 x/z?

#

Or are you saying you have a /worldborder command and you can change the distance?

#

The border should definitely get drawn, you just can't change where it is afaik

quick field
#

Hey, I just built and installed Folia. I'm about to use it for an SMP server with my friends. I understand that Folia is still in active development and I have a basic question. Is it known to break mob farms? I understand there's always a risk of breaking mob farms when using anything other than the vanilla mc server, but I'm just wondering if this is a common occurrence.

inner swift
#

Should be at the same level of Paper (occasionally slightly better due to the actually separate mobcaps)

quick field
#

Great! Thank You!

viral coral
#

you're better off using paper for a friend smp server

pseudo ibex
quick field
#

Yea, I've used paper in the past and I had performance issues. (Usually because I have a friend who likes to travel 20,000 blocks away from everyone else) Unfortunatly my server is running on an older generation Xeon with relatively poor single threaded performance. But I have cores to spare. 48 threads across both CPUs. I'd at least like to try Folia. I'm sure other solutions/different hardware is better, though.

pseudo ibex
viral coral
finite hinge
quick field
#

It's decent, just not great. Two Xeon E5-2697 boost up to 3.5 Ghz

livid crag
#

You should look at base clock always

quick field
#

Which I assume is enough for most situations. I'm just trying to alleviate the issue of my friend loading in many chunks that are far away from everyone else causing performance issues. But I'm just testing Folia for now. I may switch back to paper later.

livid crag
#

Your cpu is not going to be on burst mode 24/7

#

Not very realistic

pseudo ibex
quick field
#

2.7 base, but I should have the cooling capacity for higher clocks. Whether or not the Xeon will boost to those, I'm not sure.

livid crag
#

Just nitpicking there as some cpu manufacture loves to bloat their performance number PepeLa

quick field
#

No worries. I appreciate the advice from everyone.

arctic tapir
#

could be wrong though

quick field
#

I also have an i5 8400 which I imagine is better for running an MC server. Just based on single threaded performance alone. But I wish I had something better. Might invest later.

viral coral
#

the 8400 will be miles ahead

quick field
#

Currently pregenerating chunks on a paper server using that CPU as we speak. I just like trying out different minecraft server solutions for fun šŸ™ƒ

#

Thanks for the input @viral coral @livid crag

pseudo ibex
pseudo ibex
livid crag
#

You have to account for player moving very fast into each other + some buffer zone

#

The region ā€œcenterā€ is also not on the player, so there will be case where the play may already be really close to the edge of a region to begin with

pseudo ibex
#

Hmm that is fair. Regarding the world border command. If the worldborder exist and works, why not just implement the command to have it?

fair merlin
#

ā€œWhy not justā€ rarely has an easy answer.

#

Guessing there’s some issues with it.

#

It’s on the tracker so it’ll get looked at eventually.

pseudo ibex
fair merlin
# pseudo ibex That is fair. I just find it strange.

Most likely anything that had issues that was low priority got punted. Makes a lot of sense if you think about it.

If you don't have much time to spend on stuff and it's a lot of work then you focus on the big/important stuff first.

pseudo ibex
#

Which is why the feature works, but the command is not present

#

I guess this is all just speculation on my part tho

viral stone
#

Because it's global state, as I keep saying

#

chances are he just yeeted anything using global state at the time as it's easier to just disable that stuff, start working on stuff, rather than spending a week or two tryna analyse commands which are mostly irrelevant for the type of server this is catering for

#

the lerping stuff also probably causes some concerns, what do you do when a region is struggling? etc

pallid plume
#

does Null Scape work with folia?

inner swift
#

If it uses command functions it won't work properly

#

The gen part might work

void elbow
#

hello.

#

Interest Ask. SimpleVoiceChat with 500-600 online on Folia core won't break ping or TPS?

viral stone
#

We can't really comment on random software on the internet

scenic sky
#

can your network handle the voice connections of 500 players

viral stone
#

like, i'd image it pretty much doesn't matter, all it would maybe tick for is pos updates, etc

#

but, otherwise, like šŸ¤·ā€ā™‚ļø

north hatch
violet parcel
#

i clone folia using git and build it using "gradle build" what am i suppose to do now? i have no ideal how to proced

void elbow
violet parcel
#

spark profiler plugin refuse to work im on folia 1.20.1

arctic tapir
#

you need to use the one from the PR

pseudo ibex
arctic tapir
#

ĀÆ_(惄)_/ĀÆ

static dragon
#

How can I speed up the loading and creation of chunks? I have RAID10 4 disk NVME SSD and AMD Ryzen 9 7950X 16-Core Processor. ```
chunk-loading:
autoconfig-send-distance: true
enable-frustum-priority: true
global-max-chunk-load-rate: -1.0
global-max-chunk-send-rate: -1.0
global-max-concurrent-loads: -1.0
max-concurrent-sends: 2
min-load-radius: 2
player-max-chunk-load-rate: -1.0
player-max-concurrent-loads: 100.0
target-player-chunk-send-rate: 100.0
chunk-loading-advanced:
auto-config-send-distance: true
player-max-concurrent-chunk-generates: 0
player-max-concurrent-chunk-loads: 0
chunk-loading-basic:
player-max-chunk-generate-rate: 40.0
player-max-chunk-load-rate: 40.0
player-max-chunk-send-rate: 40.0
chunk-system:
gen-parallelism: enabled
io-threads: 3
worker-threads: 9

#

Even with 1 person online, that's pretty slow

livid crag
#

Revert your change to default. Idk why you are forcing more worker thread there

#

Also ensure you are using 1.20.1

#

Some of the config you posted are no longer used

#

The only real way to speed up chunk loading is to pregeneate

static dragon
#

I can't do the generation of 30 million blocks

#

Did I allocate more to the worker to make the chunks create faster or shouldn't I have?

#

I reset the config and everything became very fast thank you

drowsy mountain
#

what is the optimal java version to use for folia?

arctic tapir
#

17

#

LTS

drowsy mountain
viral stone
#

Openj9 will hurt….

#

The entire point of j9 is that it reduces memory overheads at the cost of performance

finite hinge
#

graal is likely to help, assuming it doesn't break things

#

Same with newer OpenJDK versions

drowsy mountain
#

yeah I am running version OpenJDK ver 18

#

it's running pretty good

viral coral
#

18 is eol fyi

finite hinge
#

Yeah if you aren't running 17 you should be running 20

#

Everything else is either too old, end of life, or both

drowsy mountain
viral coral
#

just stick to 17 until 21 releases next month

void elbow
#

such a question, folia will be 1.20.2?

drowsy mountain
arctic tapir
#

it’s not even out yet

tawdry gullBOT
#
__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.

drowsy mountain
void elbow
#

Tell me please the characteristics of a dedicated server in order to comfortably keep 500-800 online on Folia for 20 tps.

inner swift
#

Well, at least a 7950x/7950x3D

naive fable
#

Expensive

inner swift
#

Do not know if it's gonna be enough, but it's a starting point

drowsy mountain
finite hinge
#

Maybe a 7900x if you pregen your world, 7950x can't hurt though

#

You'd probably be better off with an EPYC 9334 or better though, assuming you can spread your players out enough to make use of the extra cores

#

A 13900K might be usable but probably not even as good as a 7900x, someone would have to run it and let people know how it does

void elbow
#

How many players can hold 1 region for 20 tps?

#

1 small square is 1 region, so I'm wondering how much 1 core thread in 1 region can withstand players at 20 tps?

#

On Forge with mods, the server keeps 100 people for 20 tps stably. Here, as I understand it - 1 region is a separate server +-

fair merlin
#

Depends on the CPU, plugins, what the players are doing, etc.

#

There’s no like formula to calculate that.

#

It’s like asking how many people can fit in a car. Depends on the size of the people and the car.

void elbow
#

I saw a streamer with 1000 online, the players suffered a lot of ping.

fair merlin
void elbow
#

ok, i try and see

static dragon
#

What are the best startup parameters to use and does it make sense to use 100gb RAM?

drowsy mountain
#

wouldnt mc still benefit from the high clocks of the threads and cores

finite hinge
#

For a single region you want that, sure but the whole point of Folia is to have lots of regions

#

If you have lots of regions hopefully any individual one doesn't need literally the fastest single core performance in the world to run well

#

Otherwise you need to split your players up more or smack one of them around a bit šŸ˜›

#

If you have lots of regions you'll perform better with lots of cores (to a point)

void elbow
#

Regions are automatically created depending on the border of the world?

#

For example, if I want to make a map of 10,000 x 10,000, will the regions on this map be automatically calculated for my core flows?

inner swift
#

No, on player locations

void elbow
#

hmm

#

Ah, I understood then.

static dragon
#

When I use the flags from aikar the chunks don't load. How can I fix this?

void elbow
static dragon
void elbow
#

sec

#

-Xmx8G -Xms8G -XX:+AlwaysPreTouch -XX:+UseShenandoahGC

static dragon
#

I've tried this and it gives less performance than the aikar flags

#

For example with UseShenandoahGC at online 500 my server hanged, but with Aikar flags not

void elbow
#

500 online??

#

give me IP

#

your server

#

I go to play

#

and test

#

performance

#

I also have a project, though for 5000+ online, but I haven’t set the folia yet, I plan to in the future

static dragon
#

For testing, I used regular bots

void elbow
#

Where do you get bots?

#

How to get bots on the server, tell me please?

jagged ether
#

Use some software or write your own

#

There are libraries for connecting to MC server without actual clients rendering the game

void elbow
#

Please share))

jagged ether
#

Use Google

violet parcel
#

does command blocks works on folia?

jagged ether
#

Try and see

#

If they want to try and affect other regions it'll cause trouble or just not work

violet parcel
#

command blocks seems to not work at all

inner swift
#

They are disabled

violet parcel
fair merlin
#

Don't think command blocks are working, no.

shut gull
#

I understand what Folia regions does with their tps each region

violet parcel
#

is thier like a list where i can tell folia load the plugin anyway even if its not supportet?

hexed ice
#

no, the plugin author explicitly mark the plugin as folia supported

violet parcel
#

so i can just download the source code of the pluging i want to add and add a file where it says it suppots folia and compile it?

hexed ice
#

you can do that but your milegae will vary

#

99.9% of plugins need to be adapted, you can't just do that and expect it to work

fair merlin
#

Yeah definitely gonna depend on the plugin and what it's doing.

shut gull
#

And you have to be sure to use flags

tawdry gullBOT
#
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.

narrow bough
#

Since I updated folia to the latest version, this problem occurs frequently.

scenic sky
#

what build were you on before

paper siren
#

that's not caused by folia

viral stone
#

that's JVM bug territory

#

(or, hardware issues territory, i.e. bad ram)

narrow bough
narrow bough
#

But strangely, other projects run fine with this machine...

viral stone
#

Potentially yes, all it takes is for a block of ram to be bad to cause stuff like that

finite hinge
# narrow bough

I don't think Folia adds/changes anything that could cause that (would be a native library or certain kinds of sun.misc.Unsafe and similar usage) so that would be an OS, JVM, or hardware issue. Or I suppose it could be a bug in netty that only Folia triggers but I doubt that. Try reinstalling your JVM, installing a different build or version, and/or checking your RAM https://www.howtogeek.com/260813/how-to-test-your-computers-ram-for-problems/

shut gull
#

The flag does not work for me in parallel threads do not work can you help java -Xms128M -Xmx5120M -Dterminal.jline=false -XX:ConcGCThreads=8 -Dterminal.ansi=true -jar server.jar

finite hinge
#

Not sure what you mean, ConcGCThreads is for how many threads G1GC should use to handle garbage collection while your app is running

#

If you're giving it 8 threads your server must have like 64 cores, right? šŸ˜›

prime juniper
#

Yo I have a ryzen 9 5900x now how do i tweak folia for world pregeneration\

#

Or we good out of the box

pseudo ibex
#

Try and see 😜

narrow bough
shut gull
shut gull
timid grotto
finite hinge
marsh mapleBOT
#

(64d7b419cdf07f25f6ac9ffc) // @arctic urchin (@phantomonksad / 530448263103512576) has been banned by @grave rose (246778942323818506)
Reason: NSFW Spam

tawdry gullBOT
#

āš ļø 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.

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

feral hazel
#

Is the last build of Folia available for download or do I have to build it myself?

arctic tapir
#

compile yourself

#

or api

feral hazel
#

okay thanks!

tulip drum
#

Then once you have done that you have to go to root of the project and open CMD then in CMD window type gradlew build

#

Once build is done their will be new folders.

viral stone
#

see the paper readme for build steps

#

jar will be in the build/libs folder of the parent project

hot pebble
#

Hi i have a 8 core ARM proccessor and 24gb of ram running a folia server in 1.20.1. With 20 players the server gets too laggy. This is my plugins list

arctic tapir
#

8 core ARM

#

the minimum recommend amount of cores is 16

livid crag
#

Please read Folia readme for hardware recommendation. Your machine is too weak. You will get better result running Paper @hot pebble

languid saffron
#

for some reason my server isnt use more than 1 core

#

i have 16 cores on my system

#

and yes i did fly out to try to unload spawn (ik that region is always loaded in)

inner swift
#

16 cores as in 32 threads?

languid saffron
#

i believe so yes

#

yeah my system has 2 cpu's (running server hardware)
folia is inside a container (using pterodactyl)
i think i might have set something wrong so im looking to see what i did incorrectly

languid saffron
#

alright 400% in pterodactyl indicates 1 core

#

i solved my issue!

pseudo ibex
#

Lol

languid saffron
#
[23:46:03 INFO]: [io.papermc.paper.threadedregions.TickRegions] Regionised ticking is enabled with 1 tick threads```
#

its using more than one now idk what i did

finite hinge
#

That says 1 tick thread still

languid saffron
#

well, how would I increase it? im kinda stupid rn its very late 😭

finite hinge
#

If 400% is 1 core then you need to set it to at least 6400%

#

You should probably just set it to 0, Folia is going to need to use pretty much the whole machine

languid saffron
#

its probably because of the container...

#

ill try setting it to zero

#

see what happens

#

upon setting it to zero this happened:

[23:50:26 INFO]: [io.papermc.paper.threadedregions.TickRegions] Regionised ticking is enabled with 4 tick threads```
#

i think ptero only allows a server to use 4 cores in total

#

wish i could increase the amount :(

#

welp i got it working now

fair merlin
#

How?

languid saffron
#
[00:07:15 INFO]: [io.papermc.paper.threadedregions.TickRegions] Regionised ticking is enabled with 6 tick threads```
#

honestly i dont know

#

i increased the amount of tick threads

#

but i dont think the worker or parallelism threads should be that low... pretty concerning

#

its my first time tryna get ptero and folia working nicely, sorry if im not the best at this lol thats why im learning

#
[00:12:51 INFO]: [io.papermc.paper.threadedregions.TickRegions] Regionised ticking is enabled with 6 tick threads```
welp it works now lol
#

idk if thats good or not tho

languid saffron
#

the only thing that makes me sad is command blocks are gone :(
but i mean its not that bad, people who use folia would most likely not use command blocks

feral hazel
lyric cipher
#

I have a question regarding folia performance/requirements. On the website it says i need multiple cores/threads and on the other website it says folia could be good for small servers too. I have a 6 core epyc 7702p. Can this help getting a better overall performance or is that hardware too weak?

arctic tapir
#

too weak

#

minimum recommend cores is 16

lyric cipher
#

So using 1 core, 5 on idle would be still better than using all?

timid grotto
#

paper already uses multiple threads

#

just not for world ticking

lyric cipher
#

Yeah, but i already pre gen chunks and on htop i see that 1 cpu is at 100%

paper siren
#

I mean in the end no one is preventing you from trying out what happens when running folia, but you might not actually benefit from it

frigid cliff
#

why only 1 region work ?

arctic tapir
#

because all your players are in a small area

golden mica
#

too close

frigid cliff
arctic tapir
#

how far

frigid cliff
viral stone
#

I mean, you need to be like 2k blocks from other players or so

fair merlin
viral stone
#

At the end of the day, folia introduces many sizable overheads on the contention that those will at least be mitigted by essentially having multiple regions ticked at once

#

if you have very few cores or are running even further under overheads, that's going to hurt, a lot

languid saffron
paper siren
#

it's generally hard to say in which cases it works well and in which it won't, because that just involves so many different factors

languid saffron
#

i tested it out on a test server (hence why i was asking questions regarding pterodactyl)
and i could blow up spawn, run a few thousand blocks and play normally
my friend was also out a few blocks and pasted in a farm and he was low tps

languid saffron
#

so yeah i mean it works lol

inner swift
#

It says it might benefit small servers if you have sufficient threads available

lyric cipher
#

thats why i was asking if my current setup could benefit or not

#

small can be everything

inner swift
#

That is, small servers that have lots of farms and wish to keep vanilla settings will be performance intensive

languid saffron
#

well it works very well with 8 cores (at least in my testing)

#

it will still depend a lot on your single core performance if regions begin merging

#

for example, everyone teleporting to spawn

lyric cipher
#

my main problem is, that i can see on "htop" that 1 cpu is almost 100% all the time, it doesnt matter if i use paper, pufferfish or purpur.

inner swift
tulip drum
#

I'm going to test it

lyric cipher
#

if nothing is gonna fit, i upgrade to a dedicated machine with more clock power on 1 core

tulip drum
#

on 4 core mechice

#

should work

languid saffron
#

yeah 6 is pretty low, i would say 8 is the bare minimum for smaller servers that dont have 100+ player counts

lyric cipher
#

i have 10-20 players šŸ˜‚

languid saffron
#

oh damn even lower than me? well i mean try using 6 cores then

#

see how it works for u :)

lyric cipher
#

i wanted first ask and listen to opinions

#

but from what i read buying another machine would safe more time xd

languid saffron
#

well u should still try it, on lower player counts you wouldnt use more than a certain amount of cores

lyric cipher
#

then i am gonna try that, thanks for your opinion

languid saffron
#

yeah np, tell us how it goes

lyric cipher
viral stone
#

when it's not ticking, its churning the thread waiting to proess tasks or start the next tick

lyric cipher
#

or is it "more complex"?

viral stone
#

Literally no

lyric cipher
# viral stone Literally no

is there something you can recommend for my case? vanilla like gameplay with ~10-20 players, lots of farms, lots of spread people, big map etc

viral stone
#

that's literally just how minecraft works

#

the utilisation counter is basically useless

#

unless you're actually having performance issues, it's not an issue

tulip drum
#

can someone give me the batch file

arctic tapir
#

"the batch file"?

tawdry gullBOT
tulip drum
#

or the flag

#

for folia

lyric cipher
#

My other machine would be still too low too?
Basic System Information:

Uptime : 5 days, 17 hours, 32 minutes
Processor : Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
CPU cores : 8 @ 4037.551 MHz
AES-NI : āœ” Enabled
VM-x/AMD-V : āœ” Enabled
RAM : 62.7 GiB

daring nimbus
#

4 Cores is way below the recommended 16 cores, yes

viral stone
#

the advice given is based upon the types of servers folia is cating for

#

it will work on lesser hardware

#

but outside of specific cases you're generally just going to overall perform worse or have minimal gains

#

ofc, ymmv, only way to know is to test it

lyric cipher
#

check, i will compile folia and test all 3 machines now

#

thanks for all the answers šŸ™‚

#

any recommendations for stresstesting - or just boot up bots and let them mine?

finite hinge
#

On servers with fewer cores you'll have to override the defaults for how many region threads to have

#

If you end up with 1 region thread it's guaranteed to be slower than Paper

tawdry gullBOT
tawdry gullBOT
#

āš ļø 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.

sand zephyr
#

When I run the folia on the server and connect, the render distance is limited to 2. Any solution?

viral stone
#

test on a vanilla client and provide a spark report or something

sand zephyr
#

Ok.

random garnet
#

interests in folia šŸ“ˆ

compact hawk
#

I have been looking at folia for a bit, and atm it seems that it is not very suitable for my plans, I am wondering if there is an alternative that focuses just on having multithreaded worlds. So instead of splitting each world in regions (as folia does) and letting each region be its own thread i am wondering if it is possible to have lets say the overworld, nether, end and some other custom worlds each run on their own thread. (hoping this would be a good in between solution, for when you dont benefit from folia yet)

#

(hoping that this would also mean less overhead for syncing up and determining regions)

viral stone
#

Basically, not really afaik, because there's no real need for that outside of niche servers

compact hawk
#

oke fair unfortunate

viral stone
#

You'd still end up with a lot of the architectural changes, the only thing you'd basically skip is the regioniser stuff

#

But, for most servers, the mspt of the end/nether is basically marginal, and just not worth the level of plugin break that folia brings for that case

compact hawk
#

the nether and end where more examples, the main function would be multiple overworlds (with different custom terrains)

viral stone
#

Well yea, but servers which go crazy with world's to the degree that it would actually bring benefits are small

timid grotto
#

sounds like something that could better suited for a proxy + multiple server

viral stone
#

That's generally what people have done for years

compact hawk
#

i suppose so, with linking up of inventories somehow

viral stone
#

Like, threading world's isnt too bad, it's just nobody cares to deal with it because it's not worth it for most

#

Folia covers a muuuuch more sizable, albeit niche, set of use cases

compact hawk
#

i got a question about folia then, what would happen if entities (lets say tnt or falling blocks) were launched with speeds of 20 chunks per gt?

#

would the regions be fine with that?

viral stone
#

Pretty sure folia wont allow that

compact hawk
#

oke unfortunate

#

thanks for the help

timid grotto
#

they will unload before nearing the edge of a region

#

and regions cannot touch. if they would, they get merged

drowsy mountain
#

using the latest build I had no success of running it

runic kayak
pseudo ibex
drowsy mountain
#

alright

tacit tartan
runic kayak
#

Oh yes, sorry, I accidentally inserted a y there while trying to add a >.

livid crag
pseudo ibex
fallow stone
#

dead project?

tall marsh
#

no

livid crag
# fallow stone dead project?

The project has no been officially release but the work is being done weekly. In fact, just two days ago, 2bt2 officially updated to 1.19 with this very software.

distant nexus
#

did i just not compile correctly or something? INFO java.lang.NoSuchMethodError: 'io.papermc.paper.threadedregions.scheduler.EntityScheduler org.bukkit.entity.Player.getScheduler()' it shows up fine in my intellij

jagged forum
#

Are there currently any base-level world load/unload resources present for Folia or a simplified method that can do the same in Folia? I've been doing some digging to no avail. I.e. Multiverse-Core alternative

livid crag
#

Nope due to complexity in regard to unloading worlds

#

it's planned but not a pirority rn.

tawny roost
jagged forum
livid crag
#

due to the natural of that server, they are likely never going to say anything about server brand.

finite hinge
#

Err they came right out and said it the other day, no?

livid crag
jagged forum
#

No worries. I'll have a peek and see if it's viable. All I really need is a system that allows me to specify additional worlds on startup. Not necessarily load worlds on the fly

livid crag
jagged forum
pseudo ibex
livid crag
#

you would have to ask the rat king himself! but hes fixing many stuffs

wooden echo
#

what's dirtyfolia?

#

been reading it a lot lately and I can't find it on google

next bloom
#

idk what that is

#

a fork or something?

arctic tapir
#

pretty sure it's a fork that removes the requirement for folia-supported in plugin.yml

next bloom
#

oh that's surely not gonna break stuff /s

scenic sky
#

it'll make really simple plugins maybe work

#

but you could just add that to the plugin.yml yourself

analog schooner
#

Which one is the server file, folia-bundler or folia-paperclip? Or are they both the same thing in different formats?

arctic tapir
#

paperclip is the jar you can distribute

analog schooner
#

All right

prime juniper
#

Yo how many chunks you think Chunky can pre-gen on Folia with a Ryzen 9 5900x

#

CPS*

livid crag
#

300-400 probably if you config it properly

prime juniper
#

I'm organizing an event with four separate arenas placed at a distance from each other. There will be hidden players in the audience, so the server shouldn't send their packets to other players. I'm considering using Folia for this event. Could using Folia potentially help increase the number of players on the audience without affecting performance?

inner swift
#

If the four arenas are very far away from each other (2-3k blocks) and there won't be anyone in between arenas, yes

#

(Assuming good enough hardware)

pseudo ibex
#

It showed me it could run on folia, but also that we have a lot more schedulers to replace.

#

Anyways so for DirtyFolia you will still have to do Folia-Supported true

last gale
#

Heyo
Very new to folio but not minecrat server stuffs.
I compiled the folio jar file setup a starter bat. Does the server support 100+ players without any config? Or i would need something to do? chuncky already genereated a lot of chuncks

pseudo ibex
last gale
pseudo ibex
#

Like CPU

#

And Ram

last gale
#

yeah right we have all the cores and ram

#

16 cores were the recommneded on the readme

#

not sure about the ram, but we have as much as needed

pseudo ibex
#

Yea you are probably good

#

I wouldn’t worry too much about it. My server is severally under powered, and everything seems to be working fine

#

If it isn’t enough just allocate more threads, and get more ram

last gale
pseudo ibex
noble flower
#

Curious to know if anyone has a performance report comparing to paper itself with high volume of traffic.

fair merlin
noble flower
#

Surely an SMP server using paper that transition to folia, wouldn't feel as to much gameplay differences? How would it be a different play style?

pseudo ibex
#

Key word is might if I have it I may share it

noble flower
fair merlin
#

For that particular use case, then a comparison could work.

pseudo ibex
#

Here is my report from Paper, https://spark.lucko.me/WRYLC7xAKR , and here is my report from Folia. Please take note that not all plugins have been ported. Like all mini games had to removed, and game types like mcMMO and Lifesteal. https://spark.lucko.me/3T6gTYzGAW

spark is a performance profiler for Minecraft clients, servers, and proxies.

spark is a performance profiler for Minecraft clients, servers, and proxies.

#

šŸ—æ

thorny snow
#

What would be better for performance, a Paper server with a Ryzen 9 7950X - DDR5 5200MHz or a Folia one with 2x Xeon E5 2690 V4 with DDR4 2133?

noble flower
pseudo ibex
noble flower
pseudo ibex
#

Although I can see

pseudo ibex
#

Why what’s up?

noble flower
pseudo ibex
inner swift
#

Oh, nvm, misunderstood

#

Thought you were comparing Folia vs Folia

thorny snow
#

Only about 8 at MAX, and as I've read in here, Folia does not like 8 cores

#

With the Xeons, there would be 36 cores available

pseudo ibex
#

Try it out

#

Why not

wooden fog
#

Do I have to compile folia manually

thorny snow
arctic tapir
thorny snow
#

If you are running on windows, I recommend WSL, it is way faster

shrewd agate
#

in the case of folia, would it be better to use something modern with high clock speeds but with slightly less cores, e.g an R9 7900 with 12 cores at 5.4ghz or something older with low clock speeds but with more cores, e.g an E7-8880 v4 with 22 cores at 3.3ghz? from my understanding, you still need sufficient clock speeds to actually maintain a good tickrate on each region, similar to vanilla (though the impact is lessened), instead of just going for maximum core count while completely disregarding clock speed.

inner swift
#

Can't guarantee it'll hold many per region

fair merlin
marsh mapleBOT
#

(64deafe2cdf07f25f6aca00a) // @dusky swift (@irimatic / 847529299656441936) has been banned by @fair merlin (188417437295706113)
Reason: crypto scam

pseudo ibex
jagged forum
fair merlin
#

You have to build it from the branch.

fair merlin
jagged forum
#

Ah. Got it. I tried doing a CTRL + F prior to asking but I must've used the wrong search terms. Thanks!

fair merlin
#

Yeah usually have to use the discord search from what I’ve seen.

last gale
#

Does Folia messes with networking stuff? Before folia one of my friends had normal ping and after folia he has like 2000-3000ms

tawdry gullBOT
#
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.

#

āš ļø 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.

marsh yew
#

Okay

shrewd agate
#

is it possible that in the future, folia will be optimized/changed to work better with systems with fewer than 16 cores?

viral stone
#

Not really

#

at the end of the day a system like folia will introduce overheads

#

Not to mention, you're now essentially running multiple smaller servers on 1 server

#

you need the extra cores to support that.

shrewd agate
#

why does folia remove commands such as worldborder?

arctic tapir
#

they rely on a global state

shrewd agate
#

are they permanently gone or will they be added back in the future?

timid grotto
#

they will be added when someone makes a PR that adds them back in a way that works with regions and it gets merged

vagrant leaf
#

Folia does only disable these commands but not their functionality right?

rare hare
#

Also their functionality iirc

vagrant leaf
#

Why exactly is bossbar disabled?
I cant imagine that the bossbar would affect the chunk moderation or something

timid grotto
#

global state

#

iirc bossbars can represent the total healh of a group of entities and those entities could be in different regions on folia

#

and it was easier to just disable the command entirely then just parts that probably would work

#

if your using folia you can probably figure out how to get a packet-based bossbar though

vagrant leaf
#

Nah I was just curious

fair merlin
drowsy mountain
#

I love folia

livid crag
cosmic pawn
#

If I wanna convert a server from being run on a paper jar to one being run on a folia jar, how hard would that be?

livid crag
#

Nothing world format wise is changed. It’s just your plugins

cosmic pawn
#

right right ok cool

livid crag
#

If your server has no plugin, it’s as simple as swapping the jar

vast dust
#

I can make any plugin Folia-compatible by removing all of its code

fallow stone
#

do scoreboards work if you use packets?

daring nimbus
#

yes

cosmic pawn
#

Also if I wanna run a folia server on my Ryzen 9 7950x3d machine, do I have to make sure that it's the only server running on that machine? For example I have 4 other paper servers running on the machine

fair merlin
#

You want 16 cores/32 threads just for Folia.

cosmic pawn
#

rip

fair merlin
#

You won’t want to run anything else on that box.

cosmic pawn
#

so you can't even run a proxy server alongside the folia server?

fallow stone
fair merlin
#

If you have 32 cores/64 threads you can run other stuff.

cosmic pawn
fair merlin
#

Pretty much.

fallow stone
cosmic pawn
fair merlin
fallow stone
#

would be better for a large number of regions

cosmic pawn
cosmic pawn
cosmic pawn
# fair merlin Not necessarily.

Out of all currently available machines to rent from Hetzner or OVH, what is the best machine to run folia alongside a proxy?

fallow stone
#

More regions, go for epyc, less regions but faster, go for 7950x

cosmic pawn
#

Ik but surely "more regions" is a better fit for survival and anarchy than the latter

timid grotto
#

the number of regions isnt static

#

it will create and merge them as needed based on where players are

#

so just because you have more threads doesnt mean you will have more regions

spare tendon
#

even still, i’d probably use a thread ripper rather than epyc if possible

#

probably not offered by hosting companies

drowsy mountain
elder portal
spare tendon
#

not more threads, just higher clock speeds

#

although, some of them do have a lot of threads

drowsy mountain
drowsy mountain
scenic sky
#

threadripper as a platform is kinda dead

#

modern epycs are really fast

#

and ryzen 9's are the new threadripper

drowsy mountain
drowsy mountain
spare tendon
barren forge
#

Hey quick question.
I've read to the sticked posts in this channel and through the ReadMe on github.
Why exactly does it take 16 physical cores for Folia to work properly and would not sustain players on lower cores?

rare hare
#

Folia uses many threads. These are only beneficial if you have enough cores such that these threads can actually run simultaneously. If you don't have that, your computer will be constantly switching between which thread is allowed to do some work. This incurs overheads, so not only do you not get a performance improvement from the additional threads, you actually get a performance decrease due to all the overhead. So Folia is only beneficial if you have enough cores to handle all the threads, hence why you need more cores than you'd need for a normal Paper server.

barren forge
#

Thanks for that good explanation! :))

rare hare
#

No problem

finite hinge
# barren forge Hey quick question. I've read to the sticked posts in this channel and through t...

You have JIT threads, GC threads, netty threads, chunk IO threads, and chunk generation threads (Paper has all of these too) then you have region threads. Making the world tick on independent regions adds overhead which means each individual Folia region is slower than a Paper server so if you don't have enough cores to keep several of them running at once you're better off with Paper. A lot of that number comes from the expectation that Folia will be used on large servers though. If you have a server with 10 players that are like to play singleplayer with massive laggy farms but visit each other sometimes you might be able to get away with less cores and have better performance than Paper but you'll have to manually tune the GC, netty, chunk, and region threads being created as by default it'll decide you should only have 1 region

#

Oof that turned into a novel

last gale
#

I noticed that command blocks are not working on folia servers. Is there a way to enable it, or currently its not available?

livid crag
#

Nope and likely not.

last gale
#

Bummers. Thanks.
I was just making a worldspawn place for players to join. Players cant destroy block, but mobs, like creepers do. Any idea for it? Maybe any plugin?

viral stone
#

spawn protection?

last gale
#

creeper blow me up, and it blow the sorrundings too

viral stone
#

I mean

#

vanilla has built in protection for players modifying spawn

#

the range is set in the server.properties

#

the thing activates if you have anybody who is op'd

last gale
#

i was at spawn, in survival mode, spawn protection is set to 250 blocks, a creeper came while I was afk and it blow up, and now only I died, but the sorrounding block also broke

#

i wasnt oped

viral stone
#

you being op'd is irrevant

#

I think i misread your intent

#

if you want to prevent mobs from being able to do damage there, you'd need a plugin like worldguard

#

idk if that supports folia or not

last gale
livid crag
#

Plugin need to be updated to be used on Folia

floral hawk
#

what is the best / easiest way i can convert my 1.12.2 world to 1.19

fair merlin
floral hawk
pseudo ibex
last gale
pseudo ibex
#

I think there is also a fork of World Edit folia based on the issue reports I have been seeing on Folia GitHub where they list the plugins

#

I found it

last gale
#

also, w/o worldedit WorldGuard doesnt start

pseudo ibex
#

You didn't compile it correctly then

#

I was able to compile WorldGuard

last gale
#

i didnt complie it yet, used one of the stables for paper for testing rn

pseudo ibex
#

Oh?

#

try it on Folia

#

It should work for both as I tested it and from what I recall it loaded

#

I would send the jar, but I have been told no sending jars on this discord

#

So you will have to compile it yo self

last gale
#

it shouldnt be that hard

#

oh well

#

but WorldGuard needs WorldGuard what

daring nimbus
#

WorldGuard needs WorldEdit

#

the required plugins are in the [ ]

pseudo ibex
#

Ahhh I managed to build it

#

I was doing it wrong for WorldEdit

pseudo ibex
# last gale

If you want I could show you a video on how to do it

last gale
#

sure

pseudo ibex
floral hawk
#

what cpu do you guys recommend for folia

arctic tapir
#

at least 16 cores

safe birch
#
java.lang.NullPointerException: Cannot read field "f" because "pos" is null
    at io.papermc.paper.util.CoordinateUtils.getChunkKey(CoordinateUtils.java:29) ~[folia-1.20.1.jar:git-Folia-"c4d50b6"]
    at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.removeTicketAtLevel(ChunkHolderManager.java:686) ~[folia-1.20.1.jar:git-Folia-"c4d50b6"]
    at net.minecraft.server.level.DistanceManager.removeTicket(DistanceManager.java:97) ~[?:?]
    at net.minecraft.server.level.ServerChunkCache.removeTicketAtLevel(ServerChunkCache.java:119) ~[?:?]
    at io.papermc.paper.threadedregions.RegionizedWorldData.tickConnections(RegionizedWorldData.java:469) ~[folia-1.20.1.jar:git-Folia-"c4d50b6"]
    at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1502) ~[folia-1.20.1.jar:git-DirtyFolia-"c4d50b6"]
    at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:367) ~[folia-1.20.1.jar:git-Folia-"c4d50b6"]
    at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:388) ~[folia-1.20.1.jar:git-Folia-"c4d50b6"]
    at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"c4d50b6"]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
[12:18:46] [Region shutdown thread/INFO]: [RegionShutdownThread] Awaiting scheduler termination for 60s
[12:18:46] [Region shutdown thread/INFO]: [RegionShutdownThread] Scheduler halted```
#

help me

fair merlin
pseudo ibex
cosmic pawn
#

Someone here told me earlier that if I want to run a server on Folia, I would need to dedicate at least 16 entire cores entirely to it.

#

To what extent can I have other processes like Waterfall proxy alongside it?

#

Like is it not possible to dedicate like 12 cores to folia? Has that been done before?

kind grail
cosmic pawn
cosmic pawn
#

what is the reason devs say ā€œdedicate at least 16 cores to itā€

fluid cradle
#

hello, can I ask if there WorldGuard and WorldEdit/FAWE forks for folia? If you have links, it would be fine

kind grail
kind grail
# cosmic pawn what is the reason devs say ā€œdedicate at least 16 cores to itā€

I think their vision is that folia isn't useful for «small» servers, where «small» is less than 150-200 players, so in order to benefit from using folia you need huge specs to avoid any lags, region logic overhead, etc. My experience is that you can benefit from folia on smaller server too using less powerful CPU than recommended. Especially if you have big world with lots of entities and your tick time is already high because of the amount of entities, this is where it helps for sure. But for now I'm back to regular Paper because I need to make big custom plugins compatible with folia and I don't have time to do it currently

echo ingot
#

hello, how can I fix this ?

arctic tapir
#

you need to clone it

echo ingot
arctic tapir
cosmic pawn
fluid cradle
#

Дan I ask if there WorldGuard and WorldEdit/FAWE forks for folia? If you have links, it would be fine

viral stone
#

use the search, pretty sure people have linked such things

#

theres also a github repo thingy with links to various plugins which have WIP forks, etc, for folia support

kind grail
# cosmic pawn Thanks for the info. My main thing was that my server has never been able to via...

It was Ryzen 7700, 64 GB of RAM, SSD, fully pregenerated world 100'000 x 100'000, players were well separated (it was normal survival). As always, your mileage may vary, but as you can see 16 cores is not a hard-coded requirement. You can try to check how it works for your server but one should expect that it can actually run worse depending on the hardware config, server config, how your players play etc. Players should be well distributed in the world so it's not guaranteed that you get an improvement. You can have multiple players who live, let's say, 1000 blocks from each other, and they will be placed in one big region, effectively omitting all the folia benefit. So it's not a silver bullet for survival servers. But yeah, worth a try even if you don't have 16 cores.

cosmic pawn
kind grail
pseudo ibex
#

You have to build it however

lusty panther
#

Would Folia be good for a 200 player survival games server?

arctic tapir
#

if the players are spread out and you have the hardware, maybe

tribal finch
#

8

worldly moat
#

Is there an installation guide or support for install?

fair merlin
worldly moat
fair merlin
cosmic pawn
cosmic pawn
#

Also i'm having trouble building the folia jar. I've cloned the repository onto my pc. How do I build it?

fair merlin
#

Follow the instructions from the Paper repository.

cosmic pawn
fair merlin
cosmic pawn
#

Damn the plugin support for folia still lacking i see.

#

How much does a plugin dev need to change in order for their plugin to support folia

arctic tapir
#

depends on the plugin

finite hinge
#

For some plugins it's a single line of code, for some it's a day of work, for some it's a complete rewrite, and for some it's literally not possible to get the exact same features but only something that is similar enough most of the time

fossil vigil
finite hinge
#

Sure, locking the entire server is possible šŸ˜›

#

I'm pretty sure you can't properly implement command blocks without risking a deadlock for any non-trivial usage, for example

fossil vigil
#

whats not synchronizable

finite hinge
#

Command blocks need to return a number the same tick they're triggered, that number is how many entities/blocks/whatever they modified (or something different if the command is special) but running that command requires doing work on multiple regions

#

So you have to block region A waiting for the result of the command block and it can't continue until the command logic has run on every region (or more than region A, anyway)

#

What happens if some other region needs to wait until something happens on region A at the same time

fossil vigil
#

then you fail the second command immediately

#

but yeah thats an interesting scenario

finite hinge
#

The second thing might not be a commandblock, it could be the region merge logic

#

You'd need a single set of (reentrant?) locks everything cooperates on taking in order to have the thing that is about to deadlock your server have a chance of handling things gracefully

#

And the most graceful solution might just be "turn the server off"

#

If command blocks didn't have a return value you can see in redstone they would already be enabled in Folia, I think

#

Because without that return value you could just run them and they'd split their work across the schedulers for the regions they affect and finish whenever

viral stone
#

Command blocks expect to run in a global state

fossil vigil
#

Command blocks need to return a number the same tick they're triggered
what if we just ignore this?

#

do they really need to return in the same tick

finite hinge
#

You break datapacks and "adventure maps"

fossil vigil
#

they're broken anyways if commandblocks don't work

finite hinge
#

Well, yeah, but without datapacks and adventure maps why even have them?

fossil vigil
#

but also, what exactly do they break?

#

im pretty sure most command blocks just trigger some effect for example

#

or teleport you

finite hinge
#

I think these days you can mostly use scoreboards and their pseudo programming language to get conditional logic but the command block return value is meant to allow you to make a redstone machine to do different things when you get different command results

viral stone
#

commands return an output with a success counter which is basically used for redstone

#

Like, there comes a level of "for basic ass isolationary stuff, sure, it can work"

#

but, you can't tell that that is the case cleanly

#

all of this stuff expects to run in a global state to be able to do much

fossil vigil
#

you mean because it could become a potential race condition in a redstone circuit?

finite hinge
#

Anyway, we're getting caught up on command blocks when they were just an example of how not everything can be implemented on Folia, no matter how much locking you throw at the problem

fossil vigil
finite hinge
vast dust
#

It's entirely possible to use command blocks without making use of the return value, though

finite hinge
vast dust
#

So maybe some users may benefit from a switch to turn on partial command block features. Not that it's very important, but could be nice for some people

viral stone
#

We don't know that you're not using that

#

and vanilla commands don't entirely expect to run in such an isolationary state

#

like, yea, you could store some trivial aspect of them to execute commands

finite hinge
#

Again, it was an example of how some things are going to be insanely hard or outright impossible to implement on a Folia server

vast dust
#

It was a good example, yes

tall marsh
#

datapacks + functions for example are fully global

finite hinge
#

That reminds me, I should look at the WG port

#

I wonder if they just tossed a lock on the PRTree and config or added a per-region cache

viral stone
#

apparently their stuff there is already designed to work threaded

#

but, idk the entire story

#

biggest blocker is WE

#

at least to my understanding

fossil vigil
#

idea for the command block problem:

what if every region stored an immutable snapshot of the state up to the last tick. If another region requests data from this region, you keep that snapshot alive long enough for data to be collected and then it gets deleted.
You would need to synchronize access to the latest "immutable state"

#

although im guessing the overhead of creating these immutable snapshots would be great

viral stone
#

except that's irrelevant

#

idek what that "state" would be

#

you have people running pretty far reaching commands on command blocks

#

i.e. teleporation

fossil vigil
#

entity positions at least

#

maybe some data on blocks, but then you're getting into big data

tall marsh
#

you need lots for commands
minecraft:execute as @e in minecraft:the_end positioned as @s run fill ~-5 ~-5 ~-5 ~5 ~5 ~5 glass

fossil vigil
#

oh i seem to also have completely blacked out the part where commands can modify the global state

tall marsh
#

or even just kill @e

fossil vigil
#

you can schedule stuff like that

tall marsh
#

even though it returns the number of entities killed?

#

in the next tick

fossil vigil
#

add it to each region's task

#

well it wouldn't return in the next tick

#

i think thats the most problematic requirement

#

but oh well

viral stone
#

you'd basically need to rewrite all those commands to be able to basically either get ahold of the entire world state somehow, introducing many dozen other concerns, or basically rewrite the commands to be "smert", which is just an entire headache in and of itself

tranquil lintel
#

i have a question

#

Why is there only 1 region lag and not other regions?

viral stone
#

because your players are probably too close

tranquil lintel
#

And can someone help me see why I'm stunted

viral stone
#

We don't provide support for software that isn't ours

tranquil lintel
#

i thought it was due to folia but it's not?

viral stone
#

We don't know

#

We have no idea what changes random software on the internet makes to our software

#

We can't provide support for it

paper siren
#

most likely there's going on a lot in that one region

tranquil lintel
#

So is this a software problem?

#

hmm

fathom hawk
#

What is folia?

tawdry gullBOT
#
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.

fluid cradle
#

Hello! Is there a way to create separate "spawn" world

viral stone
#

only supported way to load a world atm is using a datapack

tropic otter
#

Is folia on it's way to be released soon or development is slow?

tawdry gullBOT
#
__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.

mossy belfry
#

Could Folia theoretically trade more than 800+ players on a server realistically?

frozen harbor
viral stone
#

file a bug report

frozen harbor
viral stone
#

from the looks of it, it's a bug

#

so go file a bug report

frozen harbor
#

ok, thank bro

worldly moat
#

Does anyone else have trouble using gradle applypatches and get a build error when building the jar?

#

every single time I watch people do it fails

fair merlin
#

Post the error.

worldly moat
viral stone
#

I'm guessing you failed the first step

#

clone the git repo

worldly moat
#

ya I did from the beginning gh repo clone PaperMC/Folia

viral stone
#

Oh, you're inside a folder nside a folder, misread

#

try a shoter path

#

i.e. do it directly on the C drive rather than multiple layers deep

paper siren
#

or enable long paths

viral stone
#

outside of that, run with the flags there

worldly moat
#

alright I restarting it inside c:\

#

this is what I got

tacit tartan
#

rerun with --stacktrace

worldly moat
viral stone
#

Run the clean caches task

#

You have a busted file somewhere, but am too dead

worldly moat
tacit tartan
#

I assume cat means the clean task

worldly moat
#

.\gradlew applypatches --clean?

tacit tartan
#

no, gradle clean

worldly moat
#

ok and just for the fun of it I tried the same with paper and it worked just fine

#

and gradle clean didnt work

viral stone
#

cleanCaches

#

Or whatever the task was

feral hazel
feral hazel
# tranquil lintel

@mossy belfry but if you only make comparatively few chunks in your world available for players at all, then it will look like this in the end. If you only use one region anyway, you should use Paper instead of Folia. But if you have a huge world where players split up sensibly, it should work with reasonable hardware.
Folia recommends 16 cores (not threads!) for a Folia server.

tranquil lintel
feral hazel
# tranquil lintel my server dedicated have 22 cores

Yes, but your players are all in the same region, so Folia can't do anything about that. The difference between Paper and Folia is that the regions all tick individually instead of the while server ticking individually. If you only have all players in one region, then only one region ticks and you have a similar effect as with Paper.

#

Folia is for servers where players split up in a big world. If your players are all close together, meaning in one region, then you should be more likely to use Paper. As Folia also describes in the FAQ, SMP and SkyBlock Server will probably benefit the most from Folia.

random garnet
#

i have a doubt if i switch my server to folia can i revert it back to papermc later???

fluid cradle
feral hazel
random garnet
feral hazel
feral hazel
fluid cradle
random garnet
#

okay I just wanna test folia in my.private server

fluid cradle
feral hazel
random garnet
#

okay I'll test

#

so players can build giga farms without affecting others

feral hazel
#

If everything happens on one region, then Paper is a better choice. If you have your big farms all in the same region then the Folia region lags just like Paper

random garnet
#

no players are spread out like bases are frm millions

#

to spawn

feral hazel
#

Folia isn't about how many players are within X chunks. Folia creates new regions based on the loaded chunks, Folia doesn't care about the players in the region.

fluid cradle
#

What type of CPU is better for folia?
Server CPU's like Xeons and Epycs?
I just have AMD Ryzen 9 7950x, is it good for folia?

feral hazel
#

Folia likes a lot of cores, I thnik that sums it up nicely. Of course, you must not forget the single core clock when a lot is happening in a region. I would prefer the Ryzen 7950x.

fluid cradle
#

Thank you

azure badge
#

Will Folia fix the redstone and farms mechanics lag + lots of mob spawning lag issues?

inner swift
#

Folia regionizes things

finite hinge
#

If you have a single region with too much stuff it'll still slowdown but other regions will be fine

inner swift
#

So if lag happens, it's going to be contained in that region as long as you have enough somewhat strong cores and players are actually spread far from each other to form more regions

worldly moat
# viral stone cleanCaches

Sorry for the reply ping but I did the same thing on my server tower with pterodactyland I got it to build

near harness
#

Hey guys! I just stumbled upon folia a few days ago and got into it today a bit more. I have a very simple "gamemode" plugin in which players are being spread thousands of blocks apart and need to find each other etc. etc. PvP style.

But due to some hardware issues and especially the single core usage of a default server I had the player amount extremly limited to reduce the lag. (Most of the time at 25 to 35 players)

Folia sounds too good to be true and I'd love to recreate the plugin for a folia server. I don't have a server of my own that would fit the (16 core) bill so I would go for a VPS for the actual production system.

2 TB of of storage should be enough with a pregenerated map/calculated max size of the map through a force field.

So naturally what I'm the most concerned with is the ram. In your example/test run with the 350 players I saw that you had a server with 500GB of allocated Ram. Is such a large amount normal? I couldn't find any info about the render distance/cached chunk settings.
The vps i would use for a test run would have 60GB of ram would it be possible to give an estimate for how many players that would actually be enough for? Or can someone provide me with a way of how I would go about calculating the player to ram relation myself?

quaint ingot
#

500G was purely for demonstration purposes

feral hazel
quaint ingot
#

Do I need a spec like this to drive Folia?

No, this was purely done as a proof of concept. The hardware we acquired for the public test is a complete overkill, and every aspect of it was just ridiculous. I hope it makes a drastic first impression!

Do I need 500GB of RAM and Shenandoah GC to run Folia?

No, it was just a rare chance for us to test Shenandoah GC as this is the perfect environment it is made for. G1GC with Aikar's flag is still recommended and the most suitable GC for the majority of Minecraft servers.

near harness
#

Okay thank you so much for the info I guess I will try to rewrite the plug-in then, let’s see how far I can get with 60gb šŸ’ŖšŸ»! And sorry I seem to have missed this section somehow you just posted…

quaint ingot
near harness
#

That would be more than plenty thank you!

feral hazel
# near harness Okay thank you so much for the info I guess I will try to rewrite the plug-in th...

But keep in mind that with Folia, just like with Paper, the RAM is not important for performance! It's still about the CPU and especially the cores. A high single-core clock is only important when a lot is happening in a region. But if all your players are in other regions and not much is happening in the individual regions, then make sure you get more cores.
If you have few cores that tick multiple regions on the same croe, then a higher single core clock would make a lot of sense.

#

If I were you, if the players are all so far away, I would see that I get more cores instead of trying to increase the ram or single core clock.

near harness
# feral hazel If I were you, if the players are all so far away, I would see that I get more c...

Yes I will keep that in mind. I guess I should play around and see what the most efficient map size will be in terms of performance/to keep them grouped. Or maybe just give them a new incentive in the game mode to play in teams, that could already help, even if only slightly. This system just opens a ton of new possibilities, I’m exited to see how it’ll turn out šŸ’ŖšŸ»

north hatch
#

Depending on the GC used, 60G may actually make your GC cycles take longer times

quaint ingot
quaint ingot
feral hazel
north hatch
near harness
feral hazel
#

I am excited

near harness
worldly moat
viral stone
#

I mean

#

a region is basically a ticking server

#

the singe thread performance is still relevant to those individual servers

north hatch
#

larger regions -> higher clock speed
more regions -> higher core count

viral stone
#

it's really all going to boil down to how your players spread, etc

north hatch
#

so, both? depending on your use case

#

And you have to configure the thread count manually, it has a default automatic value but I would change it manually

worldly moat
#

So like for an example 2b2t with more chunks registered with 1-300 players u want more cores?

random garnet
#

./gradlew applyPatches '.' is not recognized as an internal or external command, operable program or batch file.

#

how do i solve this

#

windows

viral stone
#

the number of chunks is irrelevant

#

what matters is the player spread

worldly moat
viral stone
#

as that determines how regions will form

worldly moat
#

Oh

random garnet
#

ok

#

worked

north hatch
#

Use gradlew.bat instead of ./gradlew since you're on windows

worldly moat
#

.\gradlew applypatches for windows

random garnet
#

okay

worldly moat
#

./gradlew for Linux

tall marsh
worldly moat
#

It worked for me but I guess do what cubixity said

tall marsh
#

That might work if you use git bash actually. But probably using the .bat is that way to got

random garnet
#

so what do i use instead of this in windows?
./gradlew createReobfBundlerJar

#

or gradlew.bat covered both?

next bloom
#

gradlew.bat is for windows, gradlew is for other superior oses

random garnet
#

okay

#

xD

random garnet
# next bloom gradlew.bat is for windows, gradlew is for other *superior* oses

C:\Users\he_ad_hunt_er\Desktop\folia compiled\Folia>gradlew.bat
Downloading https://services.gradle.org/distributions/gradle-8.0.2-bin.zip
...........10%............20%............30%............40%............50%............60%...........70%............80%............90%............100%

Welcome to Gradle 8.0.2!

Here are the highlights of this release:
 - Improvements to the Kotlin DSL
 - Fine-grained parallelism from the first build with configuration cache
 - Configurable Gradle user home cache cleanup

For more details see https://docs.gradle.org/8.0.2/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Task :help

Welcome to Gradle 8.0.2.

To run a build, run gradlew <task> ...

To see a list of available tasks, run gradlew tasks

To see more detail about a task, run gradlew help --task <task>

To see a list of command-line options, run gradlew --help

For more detail on using Gradle, see https://docs.gradle.org/8.0.2/userguide/command_line_interface.html

For troubleshooting, visit https://help.gradle.org

BUILD SUCCESSFUL in 10m 41s
1 actionable task: 1 executed``` is this correct is there more steps for building folia
next bloom
#

well you just ran the script, you need to specify a task

random garnet
#

ic

#

gradle.bat applyPatches

#

right

random garnet
next bloom
#

well you spelled the script wrong

#

you had it right the first time you ran it, you just needed to add the task after it

#

gradlew.bat vs gradle.bat

random garnet
#

oh ok ok

#

ok it works

random garnet
#

somehow it failed

C:\Users\he_ad_hunt_er\Desktop\folia compiled\Folia>gradle.bat applyPatches
'gradle.bat' is not recognized as an internal or external command,
operable program or batch file.

> Task :paper:patchCraftBukkit FAILED
> Task :getPaperUpstreamData FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':paper:patchCraftBukkit'.
> io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false clone --no-hardlinks 'C:\Users\he_ad_hunt_er\Desktop\folia compiled\Folia\.gradle\caches\paperweight\upstreams\paper\work\CraftBukkit' 'C:\Users\he_ad_hunt_er\Desktop\folia compiled\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\patchCraftBukkit.repo'

* 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 35m 40s
2 actionable tasks: 2 executed
<-------------> 0% WAITING
> IDLE
> IDLE
> IDLE
> IDLE```
#

how do i fix this

finite hinge
#

Move it to C:\Folia

random garnet
#

okay I'll try that

azure badge
inner swift
#

Assuming enough CPU cores yes

azure badge
#

BAN

runic kayak
#

<@&748618676189528155> Please see above.

scenic sky
#

aw man i was about to join

near harness
#

Quick question is folia currently only availabel for maven plugins and not for gradle? I tried interpreting the maven syntax to gradle but it doesent work. Should I setup a maven project to be safe?

repositories {
    mavenCentral()
    maven("https://repo.papermc.io/repository/maven-public/")
}

dependencies {
    compileOnly("dev.foli:folia-api:1.20.1-R0.1-SNAPSHOT")
    implementation("com.mysql:mysql-connector-j:8.0.31")
}

java {
    toolchain.languageVersion.set(JavaLanguageVersion.of(17))
}
scenic sky
#

try spelling folia correctly

near harness
#

Thank you 🫶

coarse vapor
#

Is it possible to split Folia into multiple servers? I've only seen MultiPaper do this, but I was wondering if Folia could do it?

arctic tapir
#

no

timid grotto
#

just making ticks multi-threaded is a headache, let alone mutli-threaded on multiple systems

finite hinge
#

multipaper made things harder on itself by letting multiple servers modify the same part of the world rather than sharding it like folia does

#

iirc that made it scale badly enough that you ended up needing a server per 2 players if they got too close to each other

prime juniper
#

What's better for Folia?:
a) Ryzen 9 3950X 16c/32t 4,4Ghz All Core Turbo OC
cinebench R20 Multicore 10,103 score
b) Dual Xeon E5-2696 v3 38c/72t 3,1Ghz All Core Turbo
cinebench R20 Multicore 11,570 score

worldly moat
#

How come I cant get essentialsx, vault, worldedit, world guard plugins to work on 1.20.1 folia

tawdry gullBOT
#
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.

livid crag
#

Plugins have to be updated to work for Folia, please read more on the links above.

worldly moat
#

ya essentialsx is built for 1.20.1 stated in their change log and dev test for 1.20.1 paper. Folia is fork of paper

hexed ice
#

That doesn't mean any paper plugin will run on folia

#

Essentials is still working on folia support, you'd need to compile their branch yourself

worldly moat
#

ah

feral hazel
acoustic trench
#

Hey, when is Folia updating to the latest Paper commit? I use some new Paper api and would love if it also works with Folia.

fair merlin
acoustic trench
#

Alright, thank you

somber belfry
#

just curious

#

why don’t spigot plugins work on folia

#

like what needs to be added for plugins to support folia

livid crag
#

Depends on plugin, it could be as easy as a toggle or a complete rewrite @somber belfry

tacit tartan
#

Folia completely replaces the Scheduler, a class that damn near every plugin uses for something or other. There;s other things too, but that's the main one

livid crag
#

Any plugin using bukkit scheduler will need to be changed

#

Which is a good majority of them

somber belfry
#

and folia doesn’t plan to make it so that doesn’t need to be replaced

#

so every plugin will work

livid crag
#

It is impossible

somber belfry
#

oh

livid crag
#

Most popular plugins do have branch for Folia. You may just need to compile the branch for a jar

hexed ice
#

Plugins need to be able to handle stuff running in parallel, they cant expect that only one thing happens at a time since theres no main thread

somber belfry
#

yea i’d love to use folia but less then half the plugins i use support it

viral stone
#

plugins make assumptions that folia flat out breaks

#

many plugins will probably work as-is assuming you can try to keep within the new rules naturally

somber belfry
#

oh

#

i wish it was added to paper so people would be forced to update

#

it would be really good if every plugin supported it

livid crag
#

You can ask for a feature request

viral stone
#

just, no

livid crag
#

But the need for folia is niche, you can’t just force everyone to

viral stone
#

Folia adds a lot of overhead for the check/assurances it needs, etc

#

folia itself will never be merged into paper

#

i think a good number of people tryna jump onto folia would be better off sticking to paper, for various reasons

#

especially as the usecases which folia aligns with are generally the servers in which can afford, if not already need, an entire dev team

near harness
#

Hey guys I have some questions, code wise, about some stuff that needs to be updated/changed. I already know what needs to happen but its a code question. Should I post/ask here in the channel or in #folia-dev about code questions relating to plugin development?

tacit tartan
near harness
#

Okay thank you!

viral stone
#

Because if you want to do that properly, you'd more just want to rewrite chunks of the server to have a single source of truth

#

except it's not sharded

#

that was one of the big things with MP is that you'd basically have cross region stuff fairly close together is my understanding

#

Because minecraft has a lot of shared state

#

i.e. the world

#

that's why they have a master server which is basically what deals with loading chunks, etc, which is what ends up being sent to the other servers

#

which is where you induce a lot of headaches because you basically have a few servers all mirroring chunks of the world more or less

#

and so you have a lot of headaches

#

what MP ideally wants to do an be done, but would be better done as an actual from the top solution rather than tryna butcher somebody elses butchered codebase

thorn grove
#

Can I use folia in 10v core VPS??

timid grotto
#

the minimum recommended is 16c/32t

inner swift
#

You probably don't want to run this in a VPS

thorn grove
#

16 core CPU is quite expensive in my country. My dedicated pc has only 8Cores

scenic sky
#

then you just dont use folia

harsh spoke
scenic sky
#

better off just using paper if you dont have the hardware to properly run folia

#

it will run but wont have any benefit, and will probably perform worse than paper

harsh spoke
scenic sky
#

that is what the documentation says, so id assume so

harsh spoke
#

on 16 cores its working really good? Or its minimum just for some working?

scenic sky
#

at 16 cores it will be able to have a benefit over paper

#

it all depends on your cpu though

harsh spoke
#

Okay, thx

harsh spoke
#

How nice currently Folia working on 32 and 64 cores? It give better performance? Have some options for machines with 32/64? I just trying to understand hot to get maximum from folia. Have a guides or recommendations for machines with this cores?

inner swift
#

7950x, 7950x3D, certain EPYCs

void elbow
#

DirtyFolia good core?

viral stone
#

Nothing to do with us

fallow stone