#folia-help

1 messages · Page 23 of 1

prisma fulcrum
#

Yeah thats fair

inner swift
#

And when you start getting more and more cores, you start losing out on single core perf, so individual regions can handle less

viral stone
#

The best hardware for the job is going to depdn on your players and their spread

#

like, if you have everybody spread out like crazy, yea, a eypc looks really attractive for the sake of its core count

#

otherwise, you're generally stuck between thread count and single thread performance in order to find hardware powerful enough to support your players regions as they do stuff in them, but to also have the work spread that makes it worth adopting folia

#

a 1 core CPU means that you're going to generally lose out, but, who knows, maybe the OS scheduler ends up working out nicely in terms of masking it

#

4 cores is hardly above the minimum for a standard MC server, but, will have some benefits over running paper assuming you're not overloading it with plugins; it's just, is it worth breaking all of your plugins for the sake of folia at those counts/scale?

primal oyster
#

@viral stone

shut fulcrum
#

yay

primal oyster
#

why tf do people do that

#

lmao

fair merlin
primal oyster
#

did you even see what was here?

fair merlin
#

Ping mods. Not individuals.

#

Yes.

primal oyster
#

ok

pale vale
#

So folio is the same as paper but with mutlithreading to improve performance?

rare hare
#

Folia can use more threads than Paper, yes.

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.

pale vale
#

How much of a difference does it make?

tacit tartan
#

Depends massively on your playerbase size, server style, and avaliable hardware. For 99% of servers, they're best off sticking with Paper

rare hare
#

That depends on your specs, the type of server, the behaviour of your players, and many more factors.

pale vale
#

Interesting, where would it benefit? Like with specs and all the factors alligning that would make folio beneficial, how would it be beneficial? WIll it just run generally faster?

#

I'm just trying to find where it would be beneficial to use folio vs just sticking to paper and what that difference looks like

tacit tartan
#

as per the FAQ

What server types can benefit from Folia?
Server types that naturally spread players out, like skyblock or SMP, will benefit the most from Folia. The server should have a sizeable player count, too.

pale vale
#

Ah okay, I didn't see that in the faq guess I

#

I'm blind lol

inner swift
#

Folia is slower than Paper if your players are in the same region

pale vale
#

Huh why is that so?

viral stone
#

it adds some small amount of overheads to the entire process of ticking

pale vale
#

Also would it be benenficial when your server has multiple worlds like say 50 worlds and 100 players in each

rare hare
#

Assuming your hardware is good enough, yes.

pale vale
#

Huh, okay thanks!

inner swift
#

Why not multiple servers, in that case?

pale vale
#

Nah I was just putting out an example, I'm not trying to do something, just learning

inner swift
#

I see

cosmic pawn
viral stone
#

in the right cases, yes

cosmic pawn
#

Playercount always topped out at 130 (with massive optimisations) before lagging

timid grotto
#

great, but do you have plugins

cosmic pawn
#

Yes, 55% of them are compatible/have compatible alternatives

#

~15% are self-dev and the rest I’m still waiting on updates or alternatives

timid grotto
#

there is no guarentee that itll run faster. youd have to test it

cosmic pawn
#

And only way I can hypothetically do that is if Folia improves performance massively

timid grotto
#

how many cores do you actually have

cosmic pawn
#

16 cores. Ryzen 7950x

#

Got this machine actually for its single-threaded performance

timid grotto
#

on dedicated hardware?

#

as in it will only be running your server

cosmic pawn
#

Yes

#

It will be running my server. Plus 2 proxies plus another smaller SMP

timid grotto
#

not sure why you need 2 proxies on 1 machine

cosmic pawn
#

Hence why I’m asking if I can go lower than 16 and how much lower I can go while still experiencing better performance than paper

cosmic pawn
timid grotto
#

so?

cosmic pawn
#

Separate entire communities

#

Not the same IP

timid grotto
#

are you only running 2 backends?

#

total

cosmic pawn
#

2 minigames servers for my main SMP

#

So in total that’s 5 servers that aren’t my prospective Folia server using up cores on the CPU

#

If it comes down to it I’ll just end up renting a EPYC machine from hetzner if I really need to

timid grotto
#

the recommended specs for folia is 16 cores, assuming your giving all of them to folia. by running other things, you go below recommended

cosmic pawn
inner swift
#

There's not much data on this

#

Even if there was, it's too unpredictable, even more than Paper

calm fable
#

is the /data command not available in folia?

#

or rather why is the /data command disabled per chance?

tacit tartan
calm fable
#

yes thats the commands that are disabled, but is there a reason? are they hard to implement?

fair merlin
#

Anything that's disabled is either difficult to implement or broken because of regionizing. Some of the latter just won't be fixed at all. Some may.

dusky stag
viral stone
#

I mean, we don’t support forks and don’t have the capacity to analyse every single one; but, most of the “make bukkit plugins work” are basically throwing our safety checks at the risk of introducing crashes, or, by adding logic which basically slows the thing down

#

If people have actual solutions for issues, the project is open source, we just recommend talking to leaf first

timid grotto
#

not to mention thats a fork of a fork

primal oyster
#

fork of fork of fork of fork

keen carbon
#

Hello

#

When the server reaches an average of 40-45 players, it suddenly resets the server by itself in the middle of the game. Even though there is no error warning from the console. What could be causing this? There is no crash, but when the number of players reaches 40-45, the server restarts itself.

fair merlin
keen carbon
fair merlin
silent current
cosmic pawn
keen carbon
keen carbon
viral stone
#

I mean, if you set Xmx too high and the OS kills it, that could cause such issues

keen carbon
viral stone
#

I have no idea what support from here means in regards to your OS setup

#

you would need to check dmesg to see if there is any information there that petains to the OOM killer

keen carbon
viral stone
#

otherwise, all you can do is keep your eye on console

#

I mean in terms of your memory utilisation, how your panel is setup, etc

keen carbon
viral stone
#

and your container allocation?

keen carbon
viral stone
#

the amount of memory you've said that the container can use in ptero

finite hinge
#

If your container has a memory limit that is less than all the RAM on your system you can hit the OOM killer or just fail an allocation (which most programs respond to with an exit() call) even if you aren't actually running out of RAM

keen carbon
#

Ahh I see, I'll check that.

cosmic pawn
#

What is the normal range for amount of RAM to allocate to a Folia server?

livid crag
#

There is no "normal" as it depends. Anyone givin you a number would just be pulling it out of their rare

cosmic pawn
keen carbon
finite hinge
#

¯_(ツ)_/¯

#

If your Xmx is 90GB then you need to allow for more than 90GB, yes

#

I think the general rule of thumb was 30% more but at that level perhaps that isn't true

livid crag
keen carbon
#

Thank you so much for helping me. I think this is where the problem really starts.

#

How would you like to disable oom killer? Is this a healthy method?

finite hinge
#

If you disable the OOM killer your server will just die

viral stone
#

set the memory limit to 0 or whatever

finite hinge
#

Disabling the OOM killer disables overcommit, lots of programs "allocate" a ton of memory they never actually use due to things like mmap'ing files or doing tricks to optimize based on a particular address space layout that has big holes in it

#

All those programs will just fail to run

viral stone
#

i'm assuming that they mean pteros killer

#

set the container limit to 0 and let the OS deal with it rather than being constrained to the containers limit

#

ofc, you still need to ensure that the OS has plenty of ram free, etc, etc

keen carbon
# viral stone i'm assuming that they mean pteros killer

This is what you're talking about, isn't it? It looks like 512 as standard. I'm going to make this 0. Is it necessary to restart the minecraft server after doing this? Or do I need to do anything for the pterodactly to recognize it?

viral stone
#

no

#

i mean the memory limit you set in ptero

keen carbon
viral stone
#

No idea

#

it's configured in the panel for the container/server instance

keen carbon
viral stone
#

I have no idea

#

maybe?

keen carbon
#

its says allocated here

#

its already higher than server ram

viral stone
#

then yea, that is probably fine

keen carbon
viral stone
#

I mena, I can't say

#

I doubt that it's using like 10G of off-heap stuff

keen carbon
#

I will make it 0.

finite hinge
#

50 players shouldn't be using 90GB anyway, like even with the general rule of thumb that Java will use what you give it I can't see it actually growing up to 90GB unless it's been running for hours

#

I'd be more likely to blame a bug in ZGC

#

If it's the OOM killer you should see a message in console that says "Killed"

keen carbon
finite hinge
#

It won't get logged to server.log or whatever though, you'd have to be able to see the actual tty the server is attached to

keen carbon
#

I really don't know what to do at this point.

finite hinge
#

There are, as far as I know, only 4 ways to stop the server.

  1. Shut it down normally which will be logged
  2. Kill it via signal which will, depending on the signal, either do a normal logged shutdown or just say "Killed"
  3. Have a JVM crash which should output a crash log file somewhere
  4. Unplug the server from the power outlet, no log of any kind
viral stone
#

well, ptero has those dumps sent to /tmp iirc

finite hinge
#

So either you have a log somewhere, you have a whole machine crash/power loss, or it's the OOM killer and you just can't see the "Killed" message

keen carbon
#

Now I have my settings like this. Also, OOM killer is already in disabled mode. I thought it was open.

#

If OOM Killer was disabled, it was not possible for me to see this log?

#

I thought it was enabled

viral stone
#

I mean, /tmp inside of the container

#

and disabling the OOM killer there just basically causes the container to freeze instead of killing the process

keen carbon
keen carbon
prime juniper
#

you can send me dm?

subtle wasp
#

Amazing how if you nag enough and at intervals far enough apart, people will help you even if you're in offline mode.

marsh mapleBOT
#

(65ffa95f2d5bd6481a0648e1) // @full anvil (@tommasino / 627264586483105823) has been banned by @fair merlin (188417437295706113)
Reason: Scam spam

arctic tapir
#

<@&748618676189528155>

fair merlin
#

@arctic tapir

#

:)

livid crag
#

@arctic tapir

prime juniper
#

I'm wondering, together with my friend I'm running a very heavily modded Forge server, are there any ways to keep that server and mods whilst integrating Folia or is that something for them to develop? The server is a dual Xeon 14 core setup with 128GB of RAM but now when we blow something up with TNT, run some redstone farms or fill a lot of blocks, we get lag and sometimes even a crash.

fair merlin
#

Forge and Paper/Folia are pretty different. No mods work on Paper/Folia.

#

So you'd have to look and see if you can find plugins that would duplicate whatever you're currently using as mods. Some stuff has a plugin counterpart, some doesn't.

left gust
#

You need hybrid server

fair merlin
#

Paper strongly discourages using any kind of "hybrid" setup.

Also AFAIK there is no "hybrid" Folia fork.

lilac egret
#

im pretty sure its called MhoistMC

#

but i recommend you use SpongeMC instead its got its own plugin system and its alot more stable

#

its a proper hybrid

prime juniper
#

Okay, thanks for the quick responses y'all

#

I'll look into hybrid servers

lilac egret
#

Np

prime juniper
fair merlin
fair merlin
lilac egret
#

the fastest hybrid server is Banner.

prime juniper
#

Okay, but isn't that something you can "fix" with using multicore?

lilac egret
#

but thats fabric + bukkit

#

not forge

prime juniper
#

I mean, it's got 56 threads

fair merlin
#

Either way, for more info about those server softwares you'd want to find their Discords and ask them.

lilac egret
fair merlin
#

They might be able to direct/help you more.

prime juniper
#

Yeah, thanks. I just ended up here because Folia is supposedly the only real multicore/thread MC server so far

fair merlin
lilac egret
#

theres also a forge mod called MCMT which uses multi core but its a buggy mess

prime juniper
prime juniper
gentle shadow
#

Does anyone know if there is a way to get the command blocks working?
The ones I put in do not execute the command when touching the button.
And I need them a lot for this new server 😦

paper siren
gentle shadow
#

I have not yet found a plugin compatible with folia, that allows a user in survival to perform tp only to 3 or 4 predetermined places.
That with the command block solved it wonderfully and it worked very well

#

They made small spawns in different distant cities so they could go from one to another.

fair merlin
viral stone
#

I'd imagine getting command blocks working is doable, they're just block entities

#

your biggest headache is going to be that most of the commands you'd use inside of command blocks are disabled becuase they assume that they have access to global state

lilac egret
#

how do u even install folia

gentle raven
timid grotto
#

i believe essentialsx has a folia branch

timid grotto
# lilac egret theres a way to do that with paper but not folia as folia is extremely beta

no existing forge/bukkit hybrid will ever support folia. afaik, every current hybrid just attempts to implement the bukkit api on forge or fabric. you could implement the folia api on forge somewhat easily (about as easily as the rest of bukkit), but its not the api that adds regionized threading. you would have to port all of that internal logic to forge, and just like how folia breaks most existing bukkit plugins, it would also break forge mods for the exact same reasons, making such a thing quite pointless. the "easiest" way to get a forge/folia hybrid would probably be implementing support for loading forge mods on folia (either as a fork of folia or as a plugin), but this would still break nearly every forge mod, again rendering it mostly useless for that purpose

gentle raven
#

you providing a copy pastable list of commands really defeats the purpose of why there aren't any downloads to begin with, doesn't it?

scenic sky
#

it still takes some skill atleast!

gentle raven
#

yeah you gotta be able to find the control, c and v keys on your keyboard

finite hinge
#

I don't think that's going to be fixable

#

So you could have command blocks run commands but not give an output, I guess

#

Then you get back to "a lot of the commands they want to run are disabled" and that's a whole thing too, some of those are likely never coming back

viral stone
#

Well, that is the fun host of caveats

#

theres also actually a bukkit issue I forgot about which has long caused some fun issues

jagged hearth
fierce knotBOT
viral stone
#

I'm going to guess that that is either not folia, or that skript is dum

tall marsh
viral stone
#

The big issue is that many of the commands that people use commands block for assume that they can touch global state

#

They could be fixed to work, but theres a few headaches and caveats that I don't really see there being a big strong priority for them to be patched

warped mural
#

hello there
I have a problem if I join to folia server via velocity and modern forvarding with client vanila no problem but I join with client a fabrick it's dont join me to the server.
How fix this? thanks
My english isn't be great sorry

fierce knotBOT
fair merlin
#

Maybe try to figure out what mod is causing the issue?

small mauve
#

Would there be any harm in loading my world with regular Paper after I used it with Folia? I got some world editing to do and I don't think there is a worldedit fork for Folia

tranquil epoch
#

should be fine

small mauve
subtle fjord
#

voting to have a separate donor pot for folia

fair merlin
#

Yeah that ain’t gonna happen.

#

It’s a Paper project so it falls under the same bucket. I don’t think Leaf has GitHub sponsors setup though. Not sure there is any way to directly sponsor/donate to him.

tall marsh
#

directly put aside money for the big expensive test servers

tranquil epoch
viral coral
#

tragic

fair merlin
livid crag
#

Now leaf can upgrade his cardboard box under the vancouver river bridge to a water resistant one yesyes

scenic sky
#

vancouver might be a bit too expensive

bold osprey
fair merlin
#

Yeah, guessing it's mostly a way for people to sponsor him because he doesn't do Github sponsorships.

#

Maybe he'll post something there eventually?

warped mural
rotund vortex
#

what should I do?

viral stone
#

Read it

rotund vortex
viral stone
#

above that

rotund vortex
#

Where?

viral stone
rotund vortex
arctic tapir
#

need the whole thing

#

not just 2 meaningless lines

obtuse raptor
# rotund vortex Where?

I mean if you are able to read what you should do and don’t know how to configure git folia might not be right for you

#

But

#

Read the part where it says that you should tell git who you are

fast canopy
#

I have a problem: when 15-20 people gather in one place, the lowest region somehow gets overloaded, and in this area, players experience a significant drop in TPS

#

When players play separately, everything is fine.

lofty magnet
#

sounds expected

finite hinge
#

Yeah that's how Folia works

#

A single region is going to be somewhat less efficient than just running a Paper server but should generally be similar, sounds like with whatever hardware you're using a single core can't handle more than 15-20 people doing whatever your players are doing

fast canopy
timid grotto
#

configure what about it?

finite hinge
#

You can do the same performance tuning as with Paper (turn down mob spawns, lower entity activation and tracking ranges, etc) otherwise your choices are get better hardware, keep your players from doing that, or just accept it

#

There is no way to have multiple regions that overlap (or even get close to touching) so when players meet up they all end up in one region and you are effectively just running a less efficient Paper server

fast canopy
#

Thank you for the explanation.

bold osprey
night mesa
#

When was folia added to the paper api? I didn't think it would get added until folia was considered finished and stable

fair merlin
#

Folia is still in active development. The API isn’t really connected to that.

charred galleon
fair merlin
#

I mean it’ll be “active” in the sense that it’ll get updated with new versions and bug fixes either way.

charred galleon
#

But it's not going to be abandoned?

viral stone
#

I mean, it's software

#

leaf could get hit by a bus tomorrow

naive fable
#

That would suck

fair merlin
timid grotto
#

project with bus factor 1 pensiveline

livid crag
#

Same goes to Waterfall

primal oyster
#

😂

#

poor waterfall gsand

subtle wasp
viral stone
#

"your honor, that couldn't be me driving the bus, for I can't see properly"

little sable
frosty helm
#

Truck-kun (or Bus-kun) makes another victim.

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.

bold osprey
finite hinge
#

Oh, uh, pay no attention to that

#

You saw nothing

night mesa
#

I already found the download for folia

#

too late

bold osprey
#

oh, yeah, the download link for build 28 is working

finite hinge
#

shh

#

(it's been there the whole time the project has existed)

#

Same as anything else though, no sharing 😛

#

People have to figure it out themselves

maiden cairn
#

Will folia come out one day as a jar or is it created so that everyone can compile and modify it???

primal oyster
#

Likely will one dat

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.

balmy sun
#

lol

#

is it a known issue that throwing items trough portals doesnt work?

neat dove
#

@tranquil epoch with this commit, would you be able to use methods on bukkit entities that are not added to the server? For example if you wanted to create an entity with NMS only to use as packets, but its not actually on the server.

https://github.com/PaperMC/Folia/commit/3a91a4a5cfc8ead0fb0014341c6d1d4bc94c85fb

GitHub

This should allow worldgen threads to interact with the entity.

Fixes https://github.com/PaperMC/Folia/issues/204

viral stone
#

what?

neat dove
#

I am tring to find the explination

#

Oh I forgot to link the commit

viral stone
#

if the entity is not owned by a world, i.e. it has not been added to the world, it is mutable from anywhere

neat dove
#

Basically I want NMS enties for packets, but then we use the getBukkitEntity method to mipulate them (so we can limit the ammount of NMS we use)

neat dove
#

On paper that does not mater, and it works just fine, but on Folia it would not work cause of all the thread checks, but I think its now doable with this commit

viral stone
#

Yes, which is what I said

#

if you've not added the entity to the world then it won't be bound to the region check

neat dove
#

Oh, I must have missunderstood

neat dove
#

And by that I mean just using all the NMS classes rather than the bukkit ones

tranquil epoch
neat dove
#

Ah alrighty

cosmic pawn
#

What are some glaring issues with Folia that still need fixing before PaperMC releases is it as a .jar

viral stone
#

there are varying todo list scattered around

#

idk what the minimal completion of that list for a release looks like, however

quartz grove
#

Hello. Have anyone ever tried using folia on a 4 core oracle server? I really wanna know if it provides some gain in server performance with so little cores if any at all. Thank you in advance.

arctic tapir
#

Use paper

tender geyser
#

Can I use folia with 150 players on Ryzen 5950x 16c 32t server? (for just an event)
also the view distance is gonna be really high something like 16-24.

analog scroll
#

Hey guys sorry what the hell am I doing wrong

#

Trying to compile folia atm

inner swift
tender geyser
#

I mean, that's pre-generated

inner swift
#

Then Folia will be likely slower than Paper

tender geyser
#

Oh I see

arctic tapir
#

do it in C:

arctic tapir
analog scroll
#

wlep im blind

analog scroll
# arctic tapir do it in C:

That was not the issue xD (And I'm sorry Im not sure if Im allowed to reply to your messages or not), basically the path where my Folia folder was too long which effectively didn't read paper

#

So if someone has this issue put your Folia folder you got from github directly onto the C drive

fair merlin
#

Yeah that’s been common on windows.

arctic tapir
#

thats why i said to do it in C

#

or at the root

analog scroll
#

My fucking god

#

Im so sleep deprived I thought C: was an emoji

#

C;

quartz grove
fair merlin
#

You generally don't want to use ARM CPUs for Folia.

quartz grove
#

I see, so it really need those threads

fair merlin
#

Yes.

#

Even high thread count ARM CPUs wouldn't be great probably.

#

But at only 4 threads Paper would almost certainly be faster.

quartz grove
#

Ok, thanks a lot

lilac egret
#

can folia run on 8 cores

fossil vigil
lilac egret
#

would running folia on 4 cores have benefit over paper

balmy sun
#

yes it can even run on 1 core

balmy sun
fossil vigil
primal oyster
#

yes

#

if you run folia on the same cpu vs paper on the same cpu yes it does

viral stone
#

unless you're running in an environment that is too contrained for paper to run, folia will generally ofer some advantages

#

part of the question is if inheriting all of the cons of folia is worth it when you don't have the cash to patch over them

blissful basin
#

What makes high thread arm cpu bad?

burnt plover
#

setSpectatorTarget don't work on folia?

balmy sun
wet arch
#

probably just a matter of the fact folia still requires good single core performance, and arm cpus tend to be weaker in that area

finite hinge
#

Especially the massive multicore ones

#

They're meant for web server cache and similar things

left summit
#

can folia run with 2 cpus?

inner swift
#

It's going to start

#

But it'll be slower than Paper

tall marsh
#

unless they mean physical cpu sockets, not cpu cores

inner swift
#

Oh, true, my bad

#

It'll use both CPUs if you have enough regions to justify it but there's some concerns with NUMA performance overheads in such a setup, so it's considered "unsupported"

left summit
#

yeah lol I have a mobo with 2 sockets so I was thinking

#

what's NUMA?

#

Non-uniform memory access?

#

is there a way to speed it up?

#

like over locking lol

finite hinge
#

To speed up NUMA you'd need to rewrite physics to change the speed of light 😉

#

Well, it's not purely a distance thing, some of it is due to going through a second memory controller and interconnect

#

But no

thorny snow
keen carbon
#

Hello

#

I don't know if it's right to ask here, but are there experts on ddos ​​protection? I use the $100 tcpshield service. and I have the very powerful hetzner epyc server. My server was timed out 4 times today. There is no attack visible in tcpshield. I can't figure out what happened. Can experts on this subject help me?

naive fable
#

Do you use geyser?

#

If so, update

ancient zenith
viral stone
#

I mean, they only cost a sliiiight bit more

drowsy mountain
balmy sun
#

?

#

because tcp shield only protects port 25565

tacit tartan
#

How does this pertain to folia?

keen carbon
tame oriole
#

Hello there!

I'm trying to compile folia but I'm getting the following error:

Execution failed for task ':clonePaperRepo'.
io.papermc.paperweight.PaperweightException: Command finished with 254 exit code: git -c commit.gpgsign=false -c core.safecrlf=false submodule update --init --recursive

Can someone help me?

Some info:
OS Name Microsoft Windows 11 Pro
Version 10.0.22631 Build 22631

#

This is the terminal output (C:\Users\User1\Folia>gradlew.bat applyPatches --debug >> debug.txt)

fierce knotBOT
arctic tapir
#

try directly in C

tame oriole
#

I'll try here!

#

Same error

#

jdk22 may mess with the compiling this needs to be done with jdk17?

gentle raven
#

I mean that error usually means that the windows path limit has been reached and files cant be generated. If cloning folia direclty at c also doesnt work you can either try disabling the limit or go the recommended way of installing wsl2

#

iirc there is an issue on the paperweight repo that discribes how to disable it

ashen meteor
#

How much players folia can handle in one region on this specs;

AMD Ryzen 9 7950X3D
64GB DDR5
10Gbps
wet arch
#

there's no magical formula for determining how many players can play given system specs
it also heavily depends on what actions (sacrifices to gameplay, typically) you take to decrease load, as well as what type of server you're trying to run

ashen meteor
primal oyster
#

youre good

viral stone
#

@onyx valley there is a perfectly functional channel here

onyx valley
#

Thanks

viral stone
#

if I knew the cause I wouldn't be telling you to add a JVM flag that will retain the full actual exception

onyx valley
#

Seems the same issue, did you found a solution ?

viral stone
#

entirely different thing

onyx valley
quick orchid
#

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.

ashen meteor
#

Hello,
We are considering using folia on our Towny server. We are expecting 1000 online players. We are considering to use this hardware:

AMD Ryzen 9 7950X3D
64GB DDR5
10Gbps

There will be a spawn for opening crates etc.. and main map width will be -36864 -18432 36863 18431. Players will most likely spread out, and sometimes 50-60+ players can gather in one region for PvP. My question is can this hardware handle these player counts?

viral coral
#

it varies on how you have configured your server, plugins, player activity etc.

#

assuming you get a 1000 players concurrent for most of your server's lifetime then i'd probably say no

manic quarry
#

pure speculation, but: 50-60 players per region should be playable.
but 1k players total might be an issue

ashen meteor
manic quarry
#

1000 total / 50 per region comes down to 20 regions, so at least 20 cores/threads needed to tick that on full throttle

#

cpu you said you have has 16 cores

#

that's bare minimum of course

viral coral
manic quarry
#

of course

#

that's JUST for regions

viral coral
#

i've ran a 200 player folia smp and that easily eats up 800% cpu because of farms

#

not to mention the additional shitty plugins eating cpu time

ashen meteor
manic quarry
#

ideally you'd want something like threadripper

#

the big one, like 32 cores+

ashen meteor
manic quarry
#

again, purely speculatively, it looks better

#

noone can guarantee anything, minecraft is highly volatile game and there's way too many assumptions to say anything relevant

thorny ivy
#

We never had that much players in total.

#

Our only lag issues was that sometimes the players where grouping up for pvp and it was to much players for a single region.

manic quarry
#

well, yeah, folia's strength is being able to spread the ticking by the region, if there's one region, it's just normal paper-style ticking

thorny ivy
#

Your map should be big enough so that players split, but you might have some dense players area.

manic quarry
#

that's whythe best type of server to use folia is skyblock

ashen meteor
thorny ivy
#

At peak between 300 and 400.

primal oyster
#

Of course this would be written by you

#

But you can have dynamite config values "per region"

#

It's just a suggestion of course

thorny ivy
#

We have tried to play with the values

#

But regions need to have a white zone with no player in it between 2 regions

#

And we had really dense spot without constently 1 chunk between each groups player.

ashen meteor
thorny ivy
#

Anyways 18, 19 tps at 100 player per region is good enoth.

ashen meteor
manic quarry
#

8tps

#

if you increase the amount of region threads, it will only be as good as your cpus scheduling

ashen meteor
thorny ivy
#

pufferfish.host

ashen meteor
thorny ivy
#

yes

ashen meteor
manic quarry
#

you're trading single core performance for more cores

#

nothing is free

#

not even performance gains

ashen meteor
manic quarry
#

check single core performance score and compare them

#

single core performance is what will decide how efficient one given region will be

#

amount of cores will decide how many regions you'll be able to tick concurrently without diminishing returns

humble mesa
#

Just get a Threadripper Pro 7995WX. That would be the most epic folia setup ever. LOL

ashen meteor
timid grotto
#

there is no math equation for it. if you really want to know the limits of a certain piece of hardware, you would need to test it

carmine brook
ashen meteor
#

and also getting Ryzen 9 7950X3D and EPYC 9454P same time is hard too

finite hinge
#

100 players on a 7950 sounds like you've turned things down quite a bit from vanilla too

#

So it depends on your CPU, your players, what kind of server you're running, your configs, and your plugins

#

Someone might get 100 players with "vanilla" setup on a 7950 while another struggles to get 20

ashen meteor
#

we can turn some things down quite a bit from vanilla

finite hinge
#

¯_(ツ)_/¯

#

I just explained why that's not possible to answer

ashen meteor
finite hinge
#

Can you? Sure. Should you? No idea

#

NUMA is a problem in general, could be a larger problem with Folia but afaik no one has actually tried it

#

If you're not willing to just try things you should probably not be looking at Folia. No one has any answers for you on basically anything involving it 😛

#

It's too new and too niche

ashen meteor
#

it will cost too much money

finite hinge
#

Thus why no one has any answers for you

keen carbon
#

Hello, since there are experienced people here, I would like to share with you a problem that I could not solve. After purchasing TCPShield for my server, I started encountering a problem that I could not solve. At certain times of the day, my players are kicked out of the server. For example, if there are 45 people on the server, 15 people are kicked out due to timedout and they can connect to the server again immediately. This happens 3-4times a day. It only happens to certain players. These 13-15 Players are thrown at the same time in the same second. This occurred after installing TCPShield. I can't figure out why. There is not a single problem with Velocity and other connections because this never happened before TCPShield. What do you think might trigger the problem?

primal oyster
#

Tcpshield

viral stone
#

"hello, I put something in front of my network and then my network started going to shit, what do you think it is?!"

primal oyster
#

😂kekw

viral stone
#

make sure that you use proxy protocol, not their plugin, otherwise, like, eeer

keen carbon
viral stone
#

I mean, guess is gonna be, speak to TCPShield

#

nobody here can help you

keen carbon
#

I talked to them and they don't seem to be too sure about the source of the problem either.

viral stone
#

it's all generally going to be trying to work out the original of the issue, what side of the tunnel, etc

keen carbon
viral stone
#

a tunnel is a tunnel

#

that question makes 0 sense

#

either your traffic is going through their ingress or it's not

keen carbon
#

I understand, thank you for the information.

#

Does limbo at velocity affect this situation? Or is it necessary to make an adjustment for limbo?

livid crag
#

I don’t see how that’s related to folia. If you have zero knowledge on how to manage a server, you should consider hiring someone who does. Also ain’t you running an offline mode network in which we don’t support here @keen carbon

#

Also, I see that you have DM disabled so you didnt get the moderation message last time. This will be your last warning about offline mode support. @keen carbon

maiden cairn
#

folia jar download

viral stone
#

We don't offer download links

#

either compile it yourself or figure out the downloads API

maiden cairn
#

If you knew how to compile you should upload it in jar directly to make things easier

viral stone
#

The entire point is that it's not easy to get

#

This is pre-release quality software which comes with a certain level of expectations if you want it

#

if you can't compile the jar yourself or don't have a team who can do it for you, folia is probably not ready for you yet

tame oriole
#

Hello again

Trying to compile folia on Windows 11 Pro, most recent build and with Microsoft Compliance Toolkit applied for Windows Defender, Update and Edge Browser.

I cant complete the compile process, followed the tutorial from here: https://www.youtube.com/watch?v=oTh9DjFgmTM

This is the following error I am having

#

The java version should be jdk17

#

Can anybody help me? If there is any manual or guide on how to compile folia on Windows I would like to consult it

livid crag
tame oriole
livid crag
#

Hey, I appreciate the offer, but I think the project already has a decent amount of attention for debugging and testing. A few big servers already have them in production, such as 2b2t and donutSMP. My original suggest still stands, I think you should wait for official release of the software.

swift mason
#

coming in 2025

thorny ivy
primal oyster
neat rampart
#

PS C:\Folia> ./gradlew applyPatches --warning-mode all

Configure project :
paperweight-patcher v1.5.11 (running on 'Windows 11')

Configure project :paper
paperweight-core v1.5.11 (running on 'Windows 11')

Task :getPaperUpstreamData
Configuring project ':paper-api' without an existing directory is deprecated. The configured projectDirectory 'C:\Folia.gradle\caches\paperweight\upstreams\paper\Paper-API' does not exist, can't be written to or is not a direct
ory. This behavior has been deprecated. This will fail with an error in Gradle 9.0. Make sure the project directory exists and can be written. Consult the upgrading guide for further information: https://docs.gradle.org/8.5/userguide/upgrading_version_8.html#deprecated_missing_project_directory
Configuring project ':paper-server' without an existing directory is deprecated. The configured projectDirectory 'C:\Folia.gradle\caches\paperweight\upstreams\paper\Paper-Server' does not exist, can't be written to or is not a
directory. This behavior has been deprecated. This will fail with an error in Gradle 9.0. Make sure the project directory exists and can be written. Consult the upgrading guide for further information: https://docs.gradle.org/8.5/userguide/upgrading_version_8.html#deprecated_missing_project_directory

Task paperpatchSpigotApi FAILED

viral stone
#

outside of "make sure that you actually cloned the repo", eeeeerr

neat rampart
frigid dock
#

if i use f3 + f4 im getting kicked

#

(with paper this didnt happen)

#

(only happens sometimes, not every time)

arctic tapir
#

what proxy do you use

frigid dock
arctic tapir
#

what version

frigid dock
#

1.20.4

#

oh

#

the velocity version

#

or the folia/minecraft

arctic tapir
#

velocity

frigid dock
arctic tapir
#

what build

frigid dock
#

371

frigid dock
#

ohh

#

and command blocks is not working

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.

fair merlin
#

You’ll want to read the documentation. Command blocks also not work, correct.

frigid dock
#

i think ist velocity

viral stone
#

There is like a loosely known issue around that, just, the entire chat system is a mess and, generally, sigh

frigid dock
#

when i was using paper this not happened

#

but with folia it did happen

#

f3 + f4 is kicking me sometimes, send a message in chat is kicking me from the server also

#

now im going to #velocity-help because i have another issue i dont know how to fix lmao

onyx valley
finite hinge
#

Now reproduce without plugins 😄

marsh mapleBOT
#

(66117a282d5bd6481a064927) // @rotund vortex (@hvxevhedhwdgivdwihv / 1169537533399552032) has been kicked by @sullen sand (202850073812402177)
Reason: Inappropriate username, rejoin once fixed.

rotund vortex
viral stone
#

make sure that you actually applied the patches, and try using a shorter folder path

onyx valley
# finite hinge Now reproduce without plugins 😄

This is not reproductable, we tried multiple things in development server and the crash doesn't appeared

In production, we must get our plugins

I watched the issue with my developpers teams and they said it was 100% a folia error, not linked to plugins

Could you help me please ?

viral stone
#

it's a concurrency issue

onyx valley
viral stone
#

There is no magical solution

#

You'd need to work out how that internal collection blew up

onyx valley
#

Could you provide me a debug JAR ? So I can put it in production

I've +400 concurrent connected players, so I think this crash could appear multiple times, and we can catch the error

viral stone
#

No

#

work out what is mutating that collection async

#

if your devs can't produce such a debug jar to see what is mutating that, idk what to tell you

viral stone
#

work out why

#

there is generally a lot more information than just that

rotund vortex
viral stone
#

Well, the decompiler failed

rotund vortex
#

and what to do?

viral stone
#

look at the log file and see if there is any useful info there

onyx valley
viral coral
#

of course there's a kangarko video about how to compile folia

#

lmfao

livid crag
# onyx valley I think this could be useful for you: https://www.youtube.com/watch?v=oTh9DjFgmT...

While we want to be helpful to people, Folia is intentionally not provided as a downloadable JAR yet due to its experimental nature. Only people who know how or are developers that know how to compile should even consider using it. If one does not know how to perform such a task, chances are the regular Paper JAR will be the best option for them.

Plus, cat really already explained to him rieYEP

#

the last two times that video is linked, are two people who watched it and still struggles to compile... so I doubt that would be helpful for this guy either.

onyx valley
onyx valley
livid crag
onyx valley
#

DId you provide beta-test JAR for servers who want to test your new features ?

livid crag
#

Leaf usually does on his PR yes (Leaf is bacially the person maintaining Folia)

onyx valley
#

Thnaks !

livid crag
#

if something do need testing, a jar will usually be included on the PR and a short paragraph to explain what's being tested.

onyx valley
#

It can be useful if they are directly included in the public version

viral coral
#

what is your patch doing

onyx valley
#

Some patch to be able to run ModelEngine and MythicMobs plugins

viral stone
#

that gives us literally 0 to go off

viral coral
#

i have a feeling that this is going to be one of those patches that mangle folia to run bukkit plugins

#

lol

viral stone
#

but, if it's "support non folia plugins in a folia env", just, no

viral coral
#

that's not the intention of folia

viral stone
#

Yea, no, we have no interest in such patches, and I have no interest in providing support to you at this point

viral coral
#

and you know what that's probably the reason your server is crashing right now too

livid crag
#

You usually want the parts to fit the engine, not drilling holes on the engine to make the part fit... the best you can do is politely ask those plugin developers to provide support, or you know, just continue to use your privately made patch... pepela

viral coral
#

such patches will most definitely break concurrency which you're now running into problems with

onyx valley
#

Ok ok

#

We will patch it so

#

Thanks for your support

tall marsh
frigid dock
#

yeah i found so much bugs right now

#

[20:36:29 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Cannot remove entity off-main
java.lang.Throwable: null

#

[20:36:29 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #2 centered at chunk [11, -35] in world 'world' failed to tick:
java.lang.IllegalStateException: Cannot remove entity off-main

#

command worldborder its working

#

and if a player dies from worldborder

#

and gets kicked at the same time

#

when it relogs

#

and try to respawn

#

they literraly stop the server

#

for some reason

hexed ice
#

cut off stacktraces aren't going to help anyone, consider filing bug reports on github so that they can be looked at

frigid dock
fierce knotBOT
frigid dock
fierce knotBOT
frigid dock
fierce knotBOT
hexed ice
#

that was not an invitation to spam this channel with logs

frigid dock
#

sorry

hexed ice
frigid dock
#

I'm desperate

finite hinge
#

Err, Folia disabled the worldborder, no?

frigid dock
frigid dock
livid crag
#

Doesn’t mean it will work. rieYEP

frigid dock
finite hinge
#

Apparently not

frigid dock
frigid dock
finite hinge
#

Well you just said the worldborder broke your server

#

So stop using the worldborder

livid crag
frigid dock
fair merlin
#

The worldborder command is one of the things marked as broken/not working properly.

#

Folia is experimental software still. Some stuff is not gonna work.

tranquil epoch
# frigid dock

respawning the player during the join event is not supported

manic quarry
#

worldborder command seems to work for me, although I didn't do any messing around with it yet

#

I'm positive it works if you set it once and leave it the heck alone after

viral stone
#

WB is probably fine given that most of it's client side stuff

#

I think it's just the avenue of it's not really been tested and easier to err on removing it

fallow stone
#

Are there any skills plugins that support Folia?

fair merlin
#

Plugin support is sporadic. Check places like Hangar for Folia supported stuff.

fallow stone
#

ye I've been using hangar and modrinth

haughty gale
#

anything new with folia in terms of reccomended flags or flags that ppl found success with

primal oyster
#

that's specific to each niche

blissful wadi
#

Unsure if thous could be relevent

Is anyone in here familiar with editing existing plugins and make them 100% folia compatible?

I have a server that could use folia as we are on like 15TPS when most players we have are online

lofty magnet
#

I mean the plugins "just" need to be compatible with a multi-threaded environment

#

unless you have a very big map and your players spread properly I doubt folia would help you though

grave rampart
#

Could folia theoretically work as the internal server for Minecraft clients?

lofty magnet
#

theoretically? sure. but why?

viral stone
#

theoretically, yea

#

Not aware of anybody having cared to try to replace the internal server in eons, however

grave rampart
#

If someone were to tweak the chunk region system to group smaller regions of chunks could it function as a way of multithreading single player world gen?

#

I'm curious to see whether this is possible

viral stone
#

The limitation for chunk gen is how parallisable it is with a huge dependency/scheduling system behind it

#

it's not a matter of spreading it out, that is irrelevant

#

chunk gen is already parallel

#

(Mojang could do a better job of it, as has been done in paper, however, but that's an issue with their scheduling system and such)

grave rampart
#

But would it be possible to swap out the internal server with a paper/folia one

#

Interested to see how it would perform in comparison to the vanilla internal server

lofty magnet
#

I wouldn't be surprised if some fabric mod exists to just load an arbitrary jar as the single player server

viral stone
#

if you're expecting something which isn't "reimplement the entire system into a forge/fabric mod", basically, no

#

The way that the embedded server works is generally somewhat weird last I knew

grave rampart
#

Interesting

viral stone
#

Like, paper as-is wouldn't work because we rarely touch the client only routes

lofty magnet
#

ah right, forgot there are special cases for that in some places :S

grave rampart
#

Damn

finite hinge
#

Unless you were opening your world to LAN play it would just be slower than running a Paper server locally or installing a pile of Fabric optimization mods

#

Folia for a single player makes no sense, the whole point is to make the server work better when you have multiple (spread out) players

vernal kindle
#

How can I build the latest Folia build? I tried first doing ./gradlew applyPatches but got an error.

viral stone
#

best guess is to yeet the -Server folder, otherwise, you'd need to see what the error is

vernal kindle
#

Magically started to work. All I did was git clone again. nvm

timid grotto
#

we cant really help if you all you say is "got an error"

maiden pelican
#

when will folia be like out of beta and releasing proper builds or like prebuilt

fair merlin
#

There’s no ETA

subtle lion
#

Hey!

#

At Folia's current state, if we were to handle a big amount of players in a single world, should we split the world in 4 different servers (aka. sharding) or use Folia?

inner swift
#

It depends

subtle lion
#

Can you list me some of those affecting factors?

inner swift
#

You can use Folia if:

  • You have the player spread and hardware to justify it
  • You'rr willing to recode Paper plugins to work in it, noting the missing API
subtle lion
#

Got it.

#

What if we want to make multi-regioning?

#

I mean servers that are located in different regions across the world

#

If we wanted to share the same world across the world, would sharding Paper servers be better?

viral stone
#

I mean servers that are located in different regions across the world

inner swift
subtle lion
viral stone
#

pretty much every single "one world!!" setup relies on low latency connections between instances in order to support transporting sessions as transparently as possible

#

you're not doing that with sharding

subtle lion
#

Am I wrong?

viral stone
#

That is correct, but, once again, they rely on being able to establish an entire server session switch transparently

#

you're not doing that if your server instances are spread out

timid grotto
#

you cant shard a world with paper

subtle lion
viral stone
#

not unless you're basically just running multiple entire regions with 0 syncing between them

#

There is inheriently no good solution for this, which is why everything is just a hack job

inner swift
#

With proxies you're running different worlds, which can have the same seed

subtle lion
#

I am kinda confused on what you meant by that word

viral stone
#

i.e. players do not notice that they're being switched between backend instances because the connections are fast enough to permit a fairly fast switchover

#

transfering between regions also has been janky and noticable even with low latency between instances

subtle lion
#

I mean, I didn't think on switching them at random situations like when player doesn't know

#

I was thinking the player would be aware they are switching, and it would be intentional

viral stone
#

No

#

that would not be sharding

subtle lion
#

I guess I didn't know the definition of it very right haha

#

So sharding is what I want with player not noticing they are switching?

viral stone
#

traditional sharding is when you split the world up into chunks and move people across instances as they move in/out of those chunks

#

this got a bit more fancy when people figured out that due to MCs state requirements if you want an actual survival esque experience, those regions need to be dynamic and not hard

#

Some small event type things will basically have the same world on multiple servers and abuse a proxy in order to duplicate state to different clients, etc, but, those are moreso for one off fun repeatable events, not something that you could actually apply to vanilla without going stupidly deep in terms of emulating stuff across instances

subtle lion
viral stone
#

Yes

#

that is traditionally how sharding works

subtle lion
#

Got it, I was thinking an intentional switch, my bad

viral stone
#

if you ever played an old MMO game and hit a loading screen while walking around, that was sharding

#

multipaper was primarily the 2nd one last I knew

subtle lion
#

What is the first one?

viral stone
#

or, wait, no, they don't go for the 2nd mode

#

I meant mode of my list, not, 2nd one to pull it off

#

Theres been many attempts at this

subtle lion
#

Oh, my bad

#

Who was the first one tho? Just wondering

#

I think MultiPaper is the most developed one tho, am I right?

viral stone
#

idk, I don't keep a list

#

me and people like Mini used to speak of this eons ago

#

MP is the first one I'm aware of that was in the public

#

most of them are proviate solutions developed for servers like that big RP one

subtle lion
#

Yeah, seems fair

viral stone
#

The reality is that there is no amazing solution for this due to all the state funckery, I was wrong on what approach MP was doing, they basically do a balance of mode 2/3, where they have state syncronisation somewhere and 1 server which picks up the ticking

waxen dagger
#

Instead of simply answering the question, prefer to say what you are not obliged to do.

#

That's why there are so many paid forks, so you don't have such lame support.

#

When a person comes here to report a problem, they don't want to know if they failed to do several tests before using foliage. Just getting support. Keep your bitterness to yourself.

#

And by the way, I think that bugs that are already known for festivities should be displayed on the download page so that before someone downloads them, they can already know what's going on. I didn't find this easily.

marsh mapleBOT
#

(66186a682d5bd6481a064938) // @waxen dagger (@trazodana / 393251035633942548) has been warned by @livid crag (177150983258767360)
Reason: keep your entitlement to yourself

waxen dagger
#

And for these factors that using a paid fork is the best option, depressingly.

livid crag
#

If you actually did read the original discussion thread you know that was totally justified

waxen dagger
livid crag
#

But sadly you came here already biased

waxen dagger
marsh mapleBOT
#

(66186ac52d5bd6481a064939) // @waxen dagger (@trazodana / 393251035633942548) has been kicked by @livid crag (177150983258767360)
Reason: I will do you a favor then since you don’t wanna be here

waxen dagger
#

I'm not going to complain about rude people anymore so I don't get banned because I just got kicked

Congratulations and great support. Incredible!

tacit tartan
dire pebble
tacit tartan
#

just noticed they're gone, so we're talking to no one.
Resume normal folia shennanigans folia

dire pebble
#

Can I change the weather in different regions?
🏃

tall marsh
#

when offical multi-folia

fair merlin
tall marsh
#

srry

long crater
#

what: C:\Folia Server>.\gradlew.bat createMojmapPaperclipJar

Configure project :
paperweight-patcher v1.5.11 (running on 'Windows 11')
Directory 'C:\Program Files\Java\jdk-21' (Windows Registry) used for java installations does not exist

Task :clonePaperRepo FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':clonePaperRepo'.

io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false remote add origin https://github.com/PaperMC/Paper.git

  • 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 43s
5 actionable tasks: 2 executed, 3 up-to-date

GitHub

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies - PaperMC/Paper

#

can somebody help me

#

and my internet works fine

fair merlin
#

Did you clone the Folia repo and use the instructions from the Paper to build? Not sure why you're using createMojmapPaperclipJar

long crater
#

um a video told me to do that

fair merlin
#

Don't follow some random video.

#

Just clone the repo and follow the instructions on the Paper repository.

long crater
#

the paper repo?

fair merlin
#

Yes. Folia is a fork of Paper.

long crater
#

yes i know

#

but i mean where is it

fair merlin
#

You should be able to answer that question yourself very easily.

long crater
#

OH WAIT I AM STUPID

#

the error should the link

#

where is the paper clip jar

long crater
#

when i try to create a reob jar or apply patches it still says it can clone the paper.git repo

fair merlin
#

If you're having a lot of difficulty building Folia, you may want to consider whether the project is for you at this stage.

Any plugins you want to use are going to need to have Folia versions, and any plugins of your own are going to likely need a lot of changes to work properly.

#

It's also geared towards specific use cases. High end CPUs, lots of memory, players spread more than 1500 blocks apart, etc etc.

long crater
#

i considered it and u think i will be fine

#

i already have 16gb lppdr5 ram

#

and an intel core i7-1270p

#

cpu

fair merlin
#

For those specs you'd be better off using Paper.

long crater
#

the error is just saying that it cant clone the repo

long crater
#

its use more cpu not gpu

fair merlin
#

Folia recommends 16 cores.

long crater
#

4 core difference

fair merlin
#

Generally not ecores.

#

And more than 16GB of RAM.

#

Right. With Folia the number of cores matters.

long crater
#

i accept the risk i guess

fair merlin
#

Depending on how many players you have, etc.

#

Well, fair enough.

long crater
#

so can you help me with the problems

fair merlin
#

Sorry, no. I've already given you the info you need.

#

If you still can't compile it then, as I said, it may not be for you.

long crater
#

imma reinstall git and reclone folia

long crater
#

ok i builded it but what is the differ from folia-server-1.20.4-R0.1-SNAPSHOT-mojang-mapped.jar and C:\Folia Server\Folia\Folia-Server\build\libs\folia-server-1.20.4-R0.1-SNAPSHOT-reobf.jar

#

should my run.bat be java -jar folia-server-1.20.4-R0.1-SNAPSHOT-reobf.jar
PAUSE

vestal gulch
twin spindle
#
> Configure project :paper:paper-server
e: file:///C:/Users/RitaSister/Desktop/ideaprojects/Folia/.gradle/caches/paperweight/upstreams/paper/Paper-Server/build.gradle.kts:214:21: Unresolved reference: filterProjectDir
e: file:///C:/Users/RitaSister/Desktop/ideaprojects/Folia/.gradle/caches/paperweight/upstreams/paper/Paper-Server/build.gradle.kts:214:48: Unresolved reference: it

> Task :getPaperUpstreamData FAILED

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\RitaSister\Desktop\ideaprojects\Folia\.gradle\caches\paperweight\upstreams\paper\Paper-Server\build.gradle.kts' line: 214

* What went wrong:
Script compilation errors:

  Line 214:     classpath(tasks.filterProjectDir.flatMap { it.outputJar })
                                ^ Unresolved reference: filterProjectDir

  Line 214:     classpath(tasks.filterProjectDir.flatMap { it.outputJar })
                                                           ^ Unresolved reference: it

2 errors
manic quarry
viral stone
prime juniper
#

Is 4 cores enough for Folia? (I have a person telling me they somehow benefitted running Folia instead of Purpur on a host with 4 cores and now I'm confused)

viral stone
#

Yes, you can run on less

finite hinge
#

It would be an extremely niche situation where Folia runs better on 4 cores than Paper

#

Like, a server with less than 10 players who are all off building their own farms and such far away from each other might see some benefit from the farms not conflicting as much

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.

alpine sorrel
alpine sorrel
viral stone
#

The figure is mostly based on the investment, imho

#

Folia will work fine on smaller core counts but there will always be a ceiling of how well due to the lack of region threads

#

there comes the question of "how low do you go before you're just rewriting all of your plugins for the sake of a trivial gain"

alpine sorrel
#

That would depend on the amount of plugins you will need. You could check the list and if you have everything you need, you could try out folia. However, i don't really know how well these plugins will work in terms of performance/bugs. So overall, it's worth it? Depends. I would personally not use folia, as i have my own my cross-server setup. But if you have a basic survival with mostly a few plugins (that are already compatible) i would def test it.

(the list has not been updated since 2 months, so there could be more plugins compatible by now)
https://github.com/BlockhostOfficial/folia-plugins

#

And after all, i would consider using it if the playerbase is more than 100 player, if not i would not risk it.

But hey, you can have 100 players with folia with tons of mobs, or use paper with limited amount of mobs. So overall, its the experienice you are looking for your server.

visual robin
#

how do i configure how many threads folia uses?

timid grotto
#

refer to the README

visual robin
#

thanks

swift ether
#

Hi guys,

I wanted to open a server in the future with multiple gamemodes and wanted to utilize the power of Folia to at least eliminate the cpu as the bottleneck(planning to run the server on a i7-13700 or xeon w system if I find a good deal). The questions are:

How much of the whole "gamemode infrastructure" can be covered by a singular folia instance? Is it possible to reap the benefits of folia to host multiple gamemodes on one folia server instance(non-minigame gamemodes like skyblock, survival, factions, prison etc.)?

Is it possible to set core affinity and how does folia deferr lower priority/intensity processes to lower binned cores?

Has the plugin scene for folia evolved to the point of containing 'niche' plugins like disabling waterlogging for factions?

Would a fabric or paper instance for factions be enough to sustain the load from tnt cannons/withers/mob farms across the world?

primal oyster
#

How much of the whole "gamemode infrastructure" can be covered by a singular folia instance? Is it possible to reap the benefits of folia to host multiple gamemodes on one folia server instance(non-minigame gamemodes like skyblock, survival, factions, prison etc.)?
-> possible? yes, you can take advantage of it since folia runs each world on its own thread pool iirc.

Has the plugin scene for folia evolved to the point of containing 'niche' plugins like disabling waterlogging for factions?
-> research, there's almost 0 full list suport for plugins that added folia as supported.

Would a fabric or paper instance for factions be enough to sustain the load from tnt cannons/withers/mob farms across the world?
-> your own tests will determine this.

viral stone
#
  1. folia is just a MC server like any other, infrastructure is seperate to it, like it has been for years
  2. That's 100% on your OS to deal with, userspace apps generally do not screw with that.
  3. I mean, some large plugins have started supporting it in some manner, mostly experimental, YMMV, this is not production grade yet
  4. paper will perform better if you can't regionise, if you can take advantage of regions, it will ofc perform better
swift ether
#

So you are saying that if I had enough cores, I could run the whole damn thing off of one server using multiverse for inventory/economy/plugin separation between worlds?

viral stone
#

well, folia doesn't support dynamic world un/loading

#

and most of the plugins for world seperation suck

#

but, theoretically, yes

scenic sky
#

thats probably worse than seperate servers

lofty magnet
#

yeah, why bother with folia if you could achieve a more stable experience that is compatible with allmost all plugins with multiple different paper servers

swift ether
swift ether
#

Lol im chatting to a bot

lofty magnet
#

that has nothing to do with multiple worlds though?

swift ether
#

I am just brainstorming ideas, I am aware that it's not feasable to seperate concerns just using worlds, I was just questioning the theoretical possibility

#

I read the post about running folia with a amd epyc cpu and it got me wondering

lofty magnet
#

theoretically anything within the realm of our physical understanding is possible...

#

(I guess some stuff requires client-side modifications though :P)

#

but with the right RCEs that could be easily achieved anyways ;D

peak rapids
#

anyone have a heuristic on some avg number of blocks before folia decides to create a new region?

viral stone
#

it's like 900 blocks between players

peak rapids
#

oh ok that's safe cheers

#

so i assume currently there's no editable range? its all determined by some invariants?

viral stone
#

there is some configurability, but, it's all down to "you cannot have two neighours touching"

peak rapids
#

is that configurability accessible right now or will we have to edit a patch to tune it

viral stone
#

it's accessible now

#

it's the grid exponent

#

I don't think you can reduce it, however, but MahiruShrug

peak rapids
#

alright, cheers for the responses

finite hinge
#

iirc you can lower it one or two before things just explode

#

But at the cost of more locking overhead so your regions run slower

cloud mist
#

Hello, could you explain to me how Folia updates blocks using multiple threads

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.

swift ether
#

Hey guys,

Is there any news or breakthroughs regarding optimal core count/allocation?

arctic tapir
#

At least 16 is recommended

steep whale
#

my folia server keeps crashing when 3 players go far out from spawn, is there any reason or an idea on whats causing it and maybe how to fix it?

steep whale
#

it dosnt spit out any errors, just drops to 1 tps and completely freezes

arctic tapir
#

screenshot /tps

paper siren
#

and thread dumps might be interesting too

steep whale
#

this time it just instantly crashed

#

it showed tps to be 18.01 before it went down

viral stone
#

137

#

your host killed it

#

like, it says, the container (or the host machine) apparently ran out of memory

steep whale
#

no way its using 480gb of ram tho

livid crag
#

Talk to your host chatting

steep whale
#

i am the host

livid crag
viral stone
#

Then you would need to diagnose why your kernel killed the process

steep whale
#

how would i even do that

inner swift
#

What are your flags and container limit?

steep whale
#

these are all the flags

java -Xms4096M -Xmx8192M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:ConcGCThreads=16 -XX:ParallelGCThreads=16 -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=10M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar```
tawdry gullBOT
#

-Xmx controls the amount of heap memory assigned to the JVM, this does not include other memory used by java, or native memory used by other libraries such as netty (for networking) or SQLite. Please do not allocate all of your memory!

viral stone
#

You've overallocated

steep whale
#

and back to low tps

manic quarry
arctic tapir
#

also only 3 cores (or threads?)

steep whale
#

the startup flags are set to 16

arctic tapir
#

gc threads

steep whale
#

-XX:ConcGCThreads=16 -XX:ParallelGCThreads=16

arctic tapir
#

yes those are gc threads

steep whale
#

im not understanding your question

manic quarry
#

it's not a question

#

it's a statement of fact

#

you only have cpu 3 threads assigned to the server

viral stone
#

3 threads assigned to ticking regions

manic quarry
#

yes

steep whale
#

well then how do i assign it more threads?

viral stone
#

in the config

#

but, that's not gonna fix that

#

at least, your issue isn't a lack of region threads

steep whale
#

ok then my issue is caused by a mob farm?

viral stone
#

All I can tell you is that you have a region with 1 player inside of it that is struggling

#

either they're doing something in that chunk that is heavy, or your hardware is weak

livid crag
steep whale
scenic sky
#

damn thats some nice e-waste

steep whale
#

xD

arctic tapir
#

you’re probably better off running paper

scenic sky
#

best bet is to get some other hardware

steep whale
#

whats a good server thats not crazy expensive?

livid crag
#

Don’t exist. Good shit cost money.

steep whale
#

ok well what would you recommend

arctic tapir
#

how high of a budget

steep whale
#

5,000 at most

inner swift
#

5000 what?

steep whale
#

dollars or is that still to low?

inner swift
#

Uh .. So you're self hosting?

steep whale
#

yeah

inner swift
#

That's going to be kind of awkward since self hosting limits your capability to scale

viral stone
#

I mean, depending on your needs you either go for a high end desktop CPU or something like a epyc, though, epyc is a bit shaky

#

single thread performance is important still for how large you want your regions to be

inner swift
#

Yeah, a desktop cpu like a 7950x would work hardware wise and fit the budget, just ... Not sure I'd recommend self hosting, because I can't really think of a use case where you'd be better off than renting

steep whale
#

i've been using my current setup for the past 4 years without having to spend hundreds of dollars to run whatever random project i want. if i rent then even if the project flops then i would be down more money than paying 150 dollars for the internet and power bill

primal oyster
#

if you're thinking long term sure self hosting/collo might be a good option for you

#

7950x is a good cpu and would work well for you

#

but that also depends on the scale you're at

#

if you need 10s of boxes no dont self host but if its "always going to be" a small project with not that many players etc then sure its your call

#

a dedicated box wouldnt cost you more than around 2000 though

#

depends mostly on cpu

#

like kylle said 7950x is a great desktop cpu that runs mc servers really well and it does not cost a lot

#

on the other hand you have other cpus that will 2x your budget of 5000 rn only for the cpu which isnt optimal for you to use for obvious reasons

viral stone
#

I mean, we're going to recommend hardware on the assumption that you actually need folia because you're going to be pumping that many players

#

if you don't need that then you don't need to go that hard, you can probably pick up a decent chip with a few years on it and be just fine, it will at least beat a web server CPU from 14 years ago

#

but, once again, this is generally based on assumptions, we can't tell what a player is doing

#

maybe somebody is just going crazy with something and it would be an ez fix, see spark, etc

swift ether
#

Whatever deal you find for a recent i7 13th gen, i9 12th gen or ryzen 5950x/7950x will give you 16 cores of pure bliss

#

I would make the argument that a threadripper 1950x would also be suitable depending on the load

inner swift
#

Note that modern i7s and i9s are full of e cores which are less useful for Folia

spice citrus
spice citrus
manic quarry
#

there you go

spice citrus
fair merlin
#

Is that a question about something?

swift mason
#

Ah I didn’t see

fair merlin
#

@wooden echo please keep gifs and memes in #gifs-and-memes and out of the help channels.

calm fable
#

latest pull fails to build, gives the following error ``` Configure project :paper:paper-server
e: file:///home/mcftp/Folia/.gradle/caches/paperweight/upstreams/paper/Paper-Server/build.gradle.kts:213:21: Unresolved reference: filterProjectDir
e: file:///home/mcftp/Folia/.gradle/caches/paperweight/upstreams/paper/Paper-Server/build.gradle.kts:213:48: Unresolved reference: it

Task :getPaperUpstreamData FAILED

FAILURE: Build failed with an exception.

  • Where:
    Build file '/home/mcftp/Folia/.gradle/caches/paperweight/upstreams/paper/Paper-Server/build.gradle.kts' line: 213

  • What went wrong:
    Script compilation errors:

    Line 213: classpath(tasks.filterProjectDir.flatMap { it.outputJar })
    ^ Unresolved reference: filterProjectDir

    Line 213: classpath(tasks.filterProjectDir.flatMap { it.outputJar })
    ^ Unresolved reference: it

2 errors

  • 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 2s
2 actionable tasks: 2 executed
mcftp@mc2:~/Folia$

#

this is when i run applypatches

#

im going to try deleting the repo and cloning again

#

well that fixed applypatches

mystic shard
#

How do I compile the old version?

viral stone
#

exact same as you compile the supported version

#

you'd just need to use git to check out the older version

strong kelp
#

its telling me gradle is deprecated yet its on the latest version

arctic tapir
#

delete the server and api directories

#

iirc there was also some other way since this will delete local branches (though, if you're just compilg you shoulnd't care about that)

strong kelp
#

even redid a git install clean too

#

why is it telling me gradle is deprecated if im literally using the latest version available

viral stone
strong kelp
#

my bad

#

i cropped it wrong

viral stone
#

generally means that you don't have the JDK

strong kelp
#

do i have to set java 17 as my main

viral stone
#

No

strong kelp
#

or does it work with versions after it too

viral stone
#

but you need to make sure whatever java install you're pointing it to is a JDK

strong kelp
#

i have most of the latest jdk versions installed

#

dunno why its not reading the one it needs

#

update: nevermind it turns out my system enviornment flags werent reading the right version

#

now its actually working as intended

ionic wadi
#

Somehow i cant use command blocks on Folia. For exaple the tp command. I enabled command blocks in the server.rpoperties and have op

arctic tapir
#

known

ionic wadi
#

so theres no way to use command blocks?

arctic tapir
#

correct

ionic wadi
#

Is there a Offtopic channel? I have some questions about Parallellism and Threads in Generell and what folia uses. I dont understand the use of Threads that run concurrently. If I have two Threads that run concurently wouldnt it be the same as one thread running?

viral stone
#

I mean

#

CPUs for the past like, 20 something years have had the ability to have more than 1 CPU core

#

some even have some magic that turns 1 core into 2 cpu threads!

ionic wadi
#

Okay so if a cpu has 12 Cores with 2 Threads per Core so it could max have 12 parallel Threads and any more Threads would run concurently or?

viral stone
#

if you don't have enough CPU threads to sustain ticking more than 1 region thread at a time, then, yea, using folia would make 0 sense (*)

ionic wadi
#

I heard Folia only runs concurently and not parallel or how is that exactly?

viral stone
#

I mean, I'd imagine that that is generally how they're summing up the concept of regions

#

The server doesn't tick entities and yada yada parallel in one shot

#

it splits the world up into chunks and runs them

ionic wadi
#

So the regions tick parallel and everything inside the region is concurently?

viral stone
#

That's not how the terminology works

ionic wadi
#

Sorry dont know what termonology is. Not a nativ english speaker but i still dint quit understand what runs parallel and what runs concurently on Folia if all Resources are there

viral stone
#

parallel and concurrent are basically the same thing

finite hinge
#

concurrency is basically the ability to run things in parallel, doesn't mean they actually do run in parallel though

#

regions are concurrent but they won't all tick in parallel

ionic wadi
#

ohh okay so if there would be more cores then threads needed everything would run in parralel?