#folia-help
1 messages Ā· Page 13 of 1
Then they will have built it also. Sorry but none of that changes my answers here.
broo
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
We probbaly don't need to say the same thing at them.
Despite being mostly named the same.
sorry, sometimes I get focused on the chat box and miss messages that go by as I'm typing
nonono
It is very bad
this is again extra plugins + no display of the visual border of the world
Pretty sure you can set particles and stuff on it. Chunky/ChunkyBorder is a pretty lightweight plugin FWIW.
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.
Pretty sure you can still have a virtual border
It works on my server oddly
Maybe thatās what happening on my server. Although does a virtual boarder mean it is present, but doesnāt work?
Could also emulate a real worldborder with packets
Thatās probably what chunky border does, but I havenāt looked at the code.
Nah, ChunkyBorder just sends you a message and sets you back rather than displaying the border
I thought they had particle effects for the border also?
Ah, yeah, that's true, you can use particles
This is regular mc border, so it looks like it gets displayed at least and blocks you from movint past it.
Yeah 
That's with ChunkyBorder?
wthatt
how did you make it??
What plugin are you using to show the border?
None lol
and how did you display the borders of the world on Folia?
Like regular world border command lol
Maybe my server is just cooler š¤šš„ø
Hehehhehehe
Jk
Are you running 1.20.1?
Yep
You can join it if you like lol
No photoshop
cheapest ovh / heztner dedi thats 16+ cores?
Just curious. I can't keep track of what's working and what isn't in which version.
Oh hahahah. Yea Iām also on the latest commit. Iām not sure why others donāt see / have a world border.
Could be plugin conflict or who knows.
Recommend making sure you're on 1.20.1 and the latest commit since it apparently works for some people.
If you're seeing an error then post the error I guess.
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.
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.
Hetzner's 7950x3D, probably
Hehehehe Iām sure that is definitely the case. I saw one FAWE GitHub for folia PR someone posted lube.jankins.FoliaBuilds or something site. It seems some may be getting it from.
I could list what the site is, but Iām sure you donāt want that lol
Correct.
Heheheh
There's no /worldborder command in Folia, you need a plugin
Which?
i use Chunky and Chunky Border
but the border of the world is not visually shown there
I don't know if exactly what you want exists
this
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.
Interesting, maybe it's BisectHosting-Folia
No that just shows me my ram, CPU and entity count using spark on my console panel
ĀÆ_(ć)_/ĀÆ
Plus if it was a server jar like paper or etc it wouldnāt even be displayed as a plugin
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.
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
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.
Should be at the same level of Paper (occasionally slightly better due to the actually separate mobcaps)
Great! Thank You!
you're better off using paper for a friend smp server
Hahaha I think I was at 20k to 10k. It seems a little uneven. So I would like to find out how I can⦠change that without a world border command lol.
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.
If I could. You think 10 million is a better number?
you'll still need decent single threaded performance on folia
iirc the vanilla default is 10 million
It's decent, just not great. Two Xeon E5-2697 boost up to 3.5 Ghz
You should look at base clock always
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.
Hmm I suppose I should ask at what point do these regions merge? Is it 1k blocks or like 100?
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.
Just nitpicking there as some cpu manufacture loves to bloat their performance number 
No worries. I appreciate the advice from everyone.
iirc it's around 1500 blocks?
could be wrong though
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.
the 8400 will be miles ahead
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
Hmmm interesting. Is this something we can change in the config?
I guess another question is if not whats the purpose of it being so large?
No. It cannot be changed
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
Hmm that is fair. Regarding the world border command. If the worldborder exist and works, why not just implement the command to have it?
ā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.
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.
Hmmm I wonder if the command was not asynchronous, but the feature was.
Which is why the feature works, but the command is not present
I guess this is all just speculation on my part tho
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
does Null Scape work with folia?
hello.
Interest Ask. SimpleVoiceChat with 500-600 online on Folia core won't break ping or TPS?
We can't really comment on random software on the internet
can your network handle the voice connections of 500 players
like, i'd image it pretty much doesn't matter, all it would maybe tick for is pos updates, etc
but, otherwise, like š¤·āāļø
I would host that on a separate server
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
Yees
anyway i figure it out myself
spark profiler plugin refuse to work im on folia 1.20.1
you need to use the one from the PR
I think you have to compile it yourself from the spark branch, right? When I tried using the one provided to me on the PR it didnāt work properly.
ĀÆ_(ć)_/ĀÆ
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
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
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
what is the optimal java version to use for folia?
I don't think using OpenJ9 would hurt or Graal
Openj9 will hurtā¦.
The entire point of j9 is that it reduces memory overheads at the cost of performance
graal is likely to help, assuming it doesn't break things
Same with newer OpenJDK versions
18 is eol fyi
Yeah if you aren't running 17 you should be running 20
Everything else is either too old, end of life, or both
oh
just stick to 17 until 21 releases next month
such a question, folia will be 1.20.2?
foilia is currently 1.20.1
itās not even out yet
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.
^^
Tell me please the characteristics of a dedicated server in order to comfortably keep 500-800 online on Folia for 20 tps.
Well, at least a 7950x/7950x3D
Expensive
Do not know if it's gonna be enough, but it's a starting point
yeah a ryzen 9 7950x with 64/128gb of DDR5 ram should be enough
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
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 +-
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.
hmhmh
I saw a streamer with 1000 online, the players suffered a lot of ping.
Okay, not sure what you're asking.
ok, i try and see
What are the best startup parameters to use and does it make sense to use 100gb RAM?
I don't know how an epyc would perform in a situation like that
wouldnt mc still benefit from the high clocks of the threads and cores
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)
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?
No, on player locations
When I use the flags from aikar the chunks don't load. How can I fix this?
no using flags Aikar, ez fix
What flags should I use then?
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
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
For testing, I used regular bots
Use some software or write your own
There are libraries for connecting to MC server without actual clients rendering the game
Please share))
Use Google
does command blocks works on folia?
Try and see
If they want to try and affect other regions it'll cause trouble or just not work
command blocks seems to not work at all
They are disabled
i set "enable-command-block=" to true but they still dosent work
Don't think command blocks are working, no.
I understand what Folia regions does with their tps each region
is thier like a list where i can tell folia load the plugin anyway even if its not supportet?
no, the plugin author explicitly mark the plugin as folia supported
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?
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
Yeah definitely gonna depend on the plugin and what it's doing.
And you have to be sure to use flags
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.
what build were you on before
that's not caused by folia
When I updated yesterday, I used /paper ver to remind me that I was behind seven versions, and then updated
Do you mean that this problem is caused by damage to the physical memory module? It's happened four times
But strangely, other projects run fine with this machine...
Potentially yes, all it takes is for a block of ram to be bad to cause stuff like that
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/
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
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? š
Yo I have a ryzen 9 5900x now how do i tweak folia for world pregeneration\
Or we good out of the box
Try and see š
ok thanks for your suggestion! I'll do a round of testing for the RAM later
So far I have only 8 cores and then I will increase it to 16.
If I insert this flag, it will work XX: ConcGCThreads = n
you are below the recommended specs to run folia. running folia on that hardware will likely perform worse than paper
If your server only has 8 cores you definitely shouldn't give G1GC all of them
(64d7b419cdf07f25f6ac9ffc) // @arctic urchin (@phantomonksad / 530448263103512576) has been banned by @grave rose (246778942323818506)
Reason: NSFW Spam
ā ļø 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 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.
Is the last build of Folia available for download or do I have to build it myself?
okay thanks!
You need to install jdk 17 and set your java home so that the build dose not fail.
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.
see the paper readme for build steps
jar will be in the build/libs folder of the parent project
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
Please read Folia readme for hardware recommendation. Your machine is too weak. You will get better result running Paper @hot pebble
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)
16 cores as in 32 threads?
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
Lol
[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
That says 1 tick thread still
well, how would I increase it? im kinda stupid rn its very late š
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
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
How?
[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
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
Thank you very much, but I had no problems with the build, everything went well. Thank you anyway!
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?
So using 1 core, 5 on idle would be still better than using all?
Yeah, but i already pre gen chunks and on htop i see that 1 cpu is at 100%
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
why only 1 region work ?
because all your players are in a small area
too close
I flew away for a large number of blocks and the second region does not appear
how far
4k blocks
I mean, you need to be like 2k blocks from other players or so
Sorry, which website says itās for small servers?
We recommend 16 cores. At 6 cores and/or on a VM youāre going to see poor performance.
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
what about servers which only see about 20-30 players where they are all spread out? some players make large farms and it lags the entire server, i would think with folia it would only lag their region
would 8 cores be enough?
this basically
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
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
so yeah i mean it works lol
It says it might benefit small servers if you have sufficient threads available
thats why i was asking if my current setup could benefit or not
small can be everything
That is, small servers that have lots of farms and wish to keep vanilla settings will be performance intensive
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
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.
The truth is that there's not enough data on lower end hardware to answer this properly, plus there's variability with player activity, so ultimately try and seeā¢ļø
Though in my opinion 6 cores is far too little
I'm going to test it
if nothing is gonna fit, i upgrade to a dedicated machine with more clock power on 1 core
yeah 6 is pretty low, i would say 8 is the bare minimum for smaller servers that dont have 100+ player counts
i have 10-20 players š
oh damn even lower than me? well i mean try using 6 cores then
see how it works for u :)
i wanted first ask and listen to opinions
but from what i read buying another machine would safe more time xd
well u should still try it, on lower player counts you wouldnt use more than a certain amount of cores
then i am gonna try that, thanks for your opinion
yeah np, tell us how it goes
can you ping me when posting your results?
that's basically just literally how minecraft works
when it's not ticking, its churning the thread waiting to proess tasks or start the next tick
yeah, but from what i read, doesnt folia exactly "fix" that issue?
or is it "more complex"?
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
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
can someone give me the batch file
"the batch file"?
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
4 Cores is way below the recommended 16 cores, yes
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
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?
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
Community contributed configuration guide for Paper: https://paper-chan.moe/paper-optimization
ā ļø 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.
When I run the folia on the server and connect, the render distance is limited to 2. Any solution?
test on a vanilla client and provide a spark report or something
Ok.
interests in folia š
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)
Basically, not really afaik, because there's no real need for that outside of niche servers
oke fair unfortunate
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
the nether and end where more examples, the main function would be multiple overworlds (with different custom terrains)
Well yea, but servers which go crazy with world's to the degree that it would actually bring benefits are small
sounds like something that could better suited for a proxy + multiple server
That's generally what people have done for years
i suppose so, with linking up of inventories somehow
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
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?
Pretty sure folia wont allow that
they will unload before nearing the edge of a region
and regions cannot touch. if they would, they get merged
spark works on folia?
using the latest build I had no success of running it
They have a branch, but it's experimental, see the following PR: https://github.com/lucko/spark/pull/312y
You do need to compile it yourself
invalid PR
Oh yes, sorry, I accidentally inserted a y there while trying to add a >.

Of course
dead project?
no
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.
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
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
Nope due to complexity in regard to unloading worlds
it's planned but not a pirority rn.
I didn't realize they used folia for the update, thats going to be an amazing testing ground
No worries. Appreciate the insight - was just trying to see if I can somehow manage to add my Instance world as a list of loaded worlds on startup. Would this be doable?
yeah we indirectly verified this during the 2 test they've done publicly.
due to the natural of that server, they are likely never going to say anything about server brand.
Err they came right out and said it the other day, no?
I believe someone has made one that sort of works but it wasnt accepted by leaf (either this channel or #folia-dev ) I largely only lurk here so I dont remember on top of my head.
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

Ah yeah. Managed to get this to work with what I needed: https://github.com/HSGamer/MoreFoWorld
Oh what is priority?
you would have to ask the rat king himself! but hes fixing many stuffs
pretty sure it's a fork that removes the requirement for folia-supported in plugin.yml
oh that's surely not gonna break stuff /s
it'll make really simple plugins maybe work
but you could just add that to the plugin.yml yourself
Which one is the server file, folia-bundler or folia-paperclip? Or are they both the same thing in different formats?
paperclip is the jar you can distribute
All right
Yo how many chunks you think Chunky can pre-gen on Folia with a Ryzen 9 5900x
CPS*
300-400 probably if you config it properly
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?
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)
While testing it is just a fork that supports more bukkit schedulers. I tested it while I was trying to get mcMMO ported to Folia with a couple of people.
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
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
Depending on your software sure
software? wdym
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
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
you mean allocate more cores?
yea
Curious to know if anyone has a performance report comparing to paper itself with high volume of traffic.
Not that Iām aware of. But itās not really a direct comparison. Theyāre sort of aimed at different server types/play styles.
How so?
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?
I might have old server reports.
Key word is might if I have it I may share it
cheers, would be nice.
Folia is designed for a lot of cores, with people who are very spread out.
For that particular use case, then a comparison could work.
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
šæ
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?
Does your paper report load for you?
No, itās probably too old
Is your server online right now?
Although I can see
Your using folia?
Yep
I'd go with 7950x
Oh, nvm, misunderstood
Thought you were comparing Folia vs Folia
If I went Folia vs Folia, I woulden't be able to dedicate the entire 7950X to the server, so it could potentially be worse than just Paper
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
Do I have to compile folia manually
I canāt, we are going to buy our dedicated machine
yes
If you are running on windows, I recommend WSL, it is way faster
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.
Oh ok
Personally, I'd go with that Xeon in your case and try to spread players as much as possible
Can't guarantee it'll hold many per region
The answer is kinda neither. You want 16 cores and a high clock speed. But you can try whatever and see if it works.
(64deafe2cdf07f25f6aca00a) // @dusky swift (@irimatic / 847529299656441936) has been banned by @fair merlin (188417437295706113)
Reason: crypto scam
I have a updated profiler. https://spark.lucko.me/mt7IyIW0TN It is from a couple months ago
Apologies for budging in here but where did you get this spark build? I've been havin' trouble getting spark to work on Folia from the Folia PR
You have to build it from the branch.
Scroll up or search this channel. Itās been mentioned a few times.
Ah. Got it. I tried doing a CTRL + F prior to asking but I must've used the wrong search terms. Thanks!
Yeah usually have to use the discord search from what Iāve seen.
Does Folia messes with networking stuff? Before folia one of my friends had normal ping and after folia he has like 2000-3000ms
I donāt think so
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.
Okay
is it possible that in the future, folia will be optimized/changed to work better with systems with fewer than 16 cores?
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.
why does folia remove commands such as worldborder?
they rely on a global state
are they permanently gone or will they be added back in the future?
they will be added when someone makes a PR that adds them back in a way that works with regions and it gets merged
Folia does only disable these commands but not their functionality right?
Also their functionality iirc
Why exactly is bossbar disabled?
I cant imagine that the bossbar would affect the chunk moderation or something
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
Nah I was just curious
The answer to "Why is [thing] disabled in Folia?" is because it needs a bit more work to be functional and that work hasn't been completed yet. Just about anything messing with global stuff needs work.
I love folia
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?
Nothing world format wise is changed. Itās just your plugins
right right ok cool
If your server has no plugin, itās as simple as swapping the jar
I can make any plugin Folia-compatible by removing all of its code
do scoreboards work if you use packets?
yes
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
Yes.
You want 16 cores/32 threads just for Folia.
rip
You wonāt want to run anything else on that box.
so you can't even run a proxy server alongside the folia server?
It's just not ideal
You want 16 cores/32 threads dedicated just to Folia.
If you have 32 cores/64 threads you can run other stuff.
So I should run the proxy on another machine or have a machine with more than 16c/32t?
Pretty much.
Is there any high frequency 24c/24t or 32c/32t cpus?
right right. so the AMD EPYC is the ideal machine for folia
Not necessarily.
threads for regions would be slower
would be better for a large number of regions
Out of all machines available to rent
Tbf if I was running a large survival or anarchy server, its probs better to have more regions than faster regions
Out of all currently available machines to rent from Hetzner or OVH, what is the best machine to run folia alongside a proxy?
Entirely depends on what you want to do
More regions, go for epyc, less regions but faster, go for 7950x
Ik but surely "more regions" is a better fit for survival and anarchy than the latter
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
even still, iād probably use a thread ripper rather than epyc if possible
probably not offered by hosting companies
what advantages does the threadripper have over epyc
I think hella more threads?
not more threads, just higher clock speeds
although, some of them do have a lot of threads
I mean amd just released a cpu that has over 258 threads to its name
I mean for threadripper, it would have to be a custom bujild because most hosting companies just dont offer it due to no demand for it
threadripper as a platform is kinda dead
modern epycs are really fast
and ryzen 9's are the new threadripper
true the highest spec i was talking abt has a clock of 3.1 which is quite impressive for a cpu of this range
exactly
ur ded
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?
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.
Thanks for that good explanation! :))
No problem
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
I noticed that command blocks are not working on folia servers. Is there a way to enable it, or currently its not available?
Nope and likely not.
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?
spawn protection?
it only protects from ppl
creeper blow me up, and it blow the sorrundings too
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
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
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
yeah, thats my intention, worldguard fails to load in folia
Plugin need to be updated to be used on Folia
what is the best / easiest way i can convert my 1.12.2 world to 1.19
I would load it on Paper first to get it to upgrade. Then load it on Folia. Probably overly cautious but better safe than sorry.
Keep a backup, but tossing it on 1.19 should just upgrade it. Donāt do forceUpgrade
yeah i backed up my world already
There is a PR on WorldGuard Folia. Although it wonāt be merged until there is a WorldEdit PR for Folia as well.
so it might work, if I compile it myself?
Yes
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
https://github.com/EngineHub/WorldEdit/pull/2379
they have PR too, but maybe not proper support yet
also, w/o worldedit WorldGuard doesnt start
You didn't compile it correctly then
I was able to compile WorldGuard
although the instructions for WorldEdit on https://github.com/EngineHub/WorldEdit/blob/master/COMPILING.md are incorrect as it does not compile with gradlew build.
i didnt complie it yet, used one of the stables for paper for testing rn
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
sure
Okay when I get back home I will
what cpu do you guys recommend for folia
at least 16 cores
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
You're using a fork of Folia. We don't support forks here.
It does look like there is a build exception with the fork of World Edit
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?
It's possible, it will work, I did a test run using 7700 with 8 cores and it was normal. My world is fully pregen though. Nothing stops you from trying.
Did you test with players on? Or like stress test it?
Yeah i shall try it out
what is the reason devs say ādedicate at least 16 cores to itā
hello, can I ask if there WorldGuard and WorldEdit/FAWE forks for folia? If you have links, it would be fine
Yes will real players, there were 70 players online, survival server with 100Ć100 pregen world, lots of mobs as I had big spawn rates. It worked, Paper was near the 50 mspt, Folia had multiple regions, no region was close to 20 mspt
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
hello, how can I fix this ?
you need to clone it
how can I clone ?
Thanks for the info. My main thing was that my server has never been able to viably push above 150 players. So this is very good to hear. Also what machine did you run it on?
Дan I ask if there WorldGuard and WorldEdit/FAWE forks for folia? If you have links, it would be fine
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
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.
how much ram did you dedicate to the folia server on 8 cores?
48GB. But it was only one test, I just put something "big" relative to the overall amount. I think I could put less. I would like to do more real world tests on such "not recommended configs" in the feature.
There is a WG PR, and a FAWE PR. Both are also forks.
You have to build it however
Would Folia be good for a 200 player survival games server?
if the players are spread out and you have the hardware, maybe
8
Is there an installation guide or support for install?
"Installation" is the same as Paper - simply drop in the jar. But you need to build it from source. The instructions on the Paper repo work for Folia also.
I found a video to install with github cli and manual windows download and keeps popping up an installtion error half way through?
No idea what that is. I recommend reading the Paper repo cloning it and building it yourself.
I think you could get away with just using paper for a 200 player survival games server if you optimise it. But yes folia would be good for that too
Also i'm having trouble building the folia jar. I've cloned the repository onto my pc. How do I build it?
Follow the instructions from the Paper repository.
Does that mean I should clone the paper repo as well? Or are you just saying that I run these commands inside the folia repo?
You don't need to clone the Paper repo. Folia is a fork of Paper, so you follow the same instructions for building Paper as you do for building Folia.
Thanks
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
depends on the plugin
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
with enough synchronization, anything is possible š
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
why command blocks?
whats not synchronizable
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
then you fail the second command immediately
but yeah thats an interesting scenario
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
Command blocks expect to run in a global state
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
You break datapacks and "adventure maps"
they're broken anyways if commandblocks don't work
Well, yeah, but without datapacks and adventure maps why even have them?
but also, what exactly do they break?
im pretty sure most command blocks just trigger some effect for example
or teleport you
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
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
you mean because it could become a potential race condition in a redstone circuit?
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
a single global lock to modify any global state "would" fix the problem... but then theres no point to folia
No it would just break the circuit if that circuit depended on timing
It's entirely possible to use command blocks without making use of the return value, though
You've also missed the point
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
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
Again, it was an example of how some things are going to be insanely hard or outright impossible to implement on a Folia server
It was a good example, yes
datapacks + functions for example are fully global
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
apparently their stuff there is already designed to work threaded
but, idk the entire story
biggest blocker is WE
at least to my understanding
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
except that's irrelevant
idek what that "state" would be
you have people running pretty far reaching commands on command blocks
i.e. teleporation
entity positions at least
maybe some data on blocks, but then you're getting into big data
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
oh i seem to also have completely blacked out the part where commands can modify the global state
or even just kill @e
you can schedule stuff like that
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
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
because your players are probably too close
We don't provide support for software that isn't ours
i thought it was due to folia but it's not?
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
most likely there's going on a lot in that one region
What is 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.
Hello! Is there a way to create separate "spawn" world
only supported way to load a world atm is using a datapack
Is folia on it's way to be released soon or development is slow?
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.
Could Folia theoretically trade more than 800+ players on a server realistically?
can someone help me fix this error ?
https://paste.helpch.at/hukobumuje.php?fbclid=IwAR00_at2PXBwdtpLoMbwuCPfP9uGrr-ZuQzz1QSBhBzFg0P8v0tuHAIGR_8
file a bug report
what do u mean?
ok, thank bro
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
Post the error.
ya I did from the beginning gh repo clone PaperMC/Folia
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
or enable long paths
outside of that, run with the flags there
rerun with --stacktrace
https://scans.gradle.com/s/n3ytovmolbgrc - Here is a gradle scan if this helps anymore?
what do u mean?
I assume cat means the clean task
.\gradlew applypatches --clean?
no, gradle clean
ok and just for the fun of it I tried the same with paper and it worked just fine
and gradle clean didnt work
800 players is a lot, but if the hardware is right and the players are all in different regions, you can think about it. But I think with 800 players on a Folia server, the plugins and everything around them must know exactly what they are doing. Also don't forget the bandwidth with so many players!
@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.
Maybe look here: https://news.ycombinator.com/item?id=36488461
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.
If your players are divided into different regions, then everything would work perfectly if each region only had 20 players, for example. Maybe take a look here: https://docs.papermc.io/folia/reference/region-logic
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.
i have a doubt if i switch my server to folia can i revert it back to papermc later???
I have a question, the usual PaperMC, will give better performance if all players are in the same place? Because I have survival server, and when I have wipe event, all players are in the one area, during few hours
How do you mean switch? The plugins all have to be reprogrammed and offer support for Folia. This is no small thing on larger servers, but if we leave that out, Folia won't care if you delete the Folia server and import the backup where you used Paper.
dnt include plugins I'm talking about worlds
If you only use one region, then Paper is probably a better choice.
As far as I know it doesn't matter so you can do worlds from Folia servers to Paper servers and vice versa. Someone please corret me if I'm wrong.
I just don't quite know how the power distribution works, but do you think it will lag more on Folia, from the number of players in one place?
okay I just wanna test folia in my.private server
Or globally it will not get worse, that on paper
Make a backup beforehand and then be on the safe side.
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
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.
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?
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.
Thank you
Will Folia fix the redstone and farms mechanics lag + lots of mob spawning lag issues?
Folia regionizes things
If you have a single region with too much stuff it'll still slowdown but other regions will be fine
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
Sorry for the reply ping but I did the same thing on my server tower with pterodactyland I got it to build
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?
Depends on how much players you have, 60G would be more than plenty for 35 players
500G was purely for demonstration purposes
As far as I know, the ram that Folia needs not differ much from the ram requirements of Paper. Nobody can tell you how much ram you have to reckon with per player because we don't know that mischief your plugins are up to.
But with your 60GB ram you will certainly not have any problems by 50 players.
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.
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ā¦
Expect somewhere around 80-100
That would be more than plenty thank you!
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.
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 šŖš»
60G is also overkill for 35 players
Depending on the GC used, 60G may actually make your GC cycles take longer times
Well, notice I said more than plenty, not suitable.
And also this
Yes very cool! If you have a report on your experience, please write it here or maybe write to me privately. I'm always interested in something like that.
Also you may be interested in some statistics and metrics from my Folia tests: https://cubxity.dev/blog
Cool, thanks!
Will do that once I have some results. My first major issue is probably going to be to get more than 50 players but TikTok and YT Shorts have been such a nice way for advertising in short bursts/trends that I donāt think itāll actually be a problem
I am excited
This is very interesting to read thank you so much for sharing!
So in reality with folia u want the opposite of a normal sever. U want more cores than high clock speeds or does that still matter in some cases. And does folia automatically grab new cores or do you set it some how?
I mean
a region is basically a ticking server
the singe thread performance is still relevant to those individual servers
larger regions -> higher clock speed
more regions -> higher core count
it's really all going to boil down to how your players spread, etc
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
So like for an example 2b2t with more chunks registered with 1-300 players u want more cores?
./gradlew applyPatches '.' is not recognized as an internal or external command, operable program or batch file.
how do i solve this
windows
What?
Use gradlew.bat
Ur basically saying more chunks registered u want more cores right?
as that determines how regions will form
Oh
Use gradlew.bat instead of ./gradlew since you're on windows
.\gradlew applypatches for windows
okay
./gradlew for Linux
No, CMD doesn't do local stuff like that
It worked for me but I guess do what cubixity said
That might work if you use git bash actually. But probably using the .bat is that way to got
so what do i use instead of this in windows?
./gradlew createReobfBundlerJar
or gradlew.bat covered both?
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
well you just ran the script, you need to specify a task
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.
C:\Users\he_ad_hunt_er\Desktop\folia compiled\Folia>
``` doesnt work can u elaborate
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
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
Move it to C:\Folia
okay I'll try that
So basically with Folia lags can occur only on the lag-causing regions and not the whole regions/server.
Assuming enough CPU cores yes
BAN
<@&748618676189528155> Please see above.
aw man i was about to join
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))
}
try spelling folia correctly
I'm so sorry this is so embarrassing....
Thank you š«¶
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?
no
just making ticks multi-threaded is a headache, let alone mutli-threaded on multiple systems
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
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
How come I cant get essentialsx, vault, worldedit, world guard plugins to work on 1.20.1 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.
Plugins have to be updated to work for Folia, please read more on the links above.
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
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
ah
If you have many regions and relatively little happens in the individual regions, the Dual Xeon system. If you have fewer regions but more in each region then the Ryzen happens.
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.
Thereās no ETA for when Folia pulls from upstream. Leaf typically waits for a bunch of changes before upstreaming AFAIK
Alright, thank you
just curious
why donāt spigot plugins work on folia
like what needs to be added for plugins to support folia
Depends on plugin, it could be as easy as a toggle or a complete rewrite @somber belfry
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
Any plugin using bukkit scheduler will need to be changed
Which is a good majority of them
and folia doesnāt plan to make it so that doesnāt need to be replaced
so every plugin will work
It is impossible
oh
Most popular plugins do have branch for Folia. You may just need to compile the branch for a jar
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
yea iād love to use folia but less then half the plugins i use support it
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
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
just, no
But the need for folia is niche, you canāt just force everyone to
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
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?
#folia-dev for any dev-related stuff, yes
Okay thank you!
see here
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
Can I use folia in 10v core VPS??
the minimum recommended is 16c/32t
You probably don't want to run this in a VPS
16 core CPU is quite expensive in my country. My dedicated pc has only 8Cores
then you just dont use folia
Folia not started on 8vCPU? Or it working werry bad on 8 cores?
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
Okay. Minimum 16. 32 is best for folia, right?
that is what the documentation says, so id assume so
on 16 cores its working really good? Or its minimum just for some working?
at 16 cores it will be able to have a benefit over paper
it all depends on your cpu though
Okay, thx
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?
7950x, 7950x3D, certain EPYCs
DirtyFolia good core?
Nothing to do with us
public folia downloads?
