#folia-help
1 messages · Page 10 of 1
Haha Sentinel is kinda new and sometimes a little grumpy
But we did get the modmail!
Awesome, thanks for the confirmation. Y'all have a great day!
Hello everyone, what's AsyncPlayerChatEvent in Folia?
AsyncChatEvent isn’t
[13:15:37 WARN]: Exception in thread "Timer-0" java.lang.UnsupportedOperationException
[13:15:37 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.handle(CraftScheduler.java:533)
[13:15:37 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:233
)
[13:15:37 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:209
)
[13:15:37 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:173
)
[13:15:37 WARN]: at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.runTask(CraftScheduler.java:142)
[13:15:37 WARN]: at ProtocolLib.jar//com.comphenix.protocol.metrics.Metrics$1.run(Metrics.java:154)
[13:15:37 WARN]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
[13:15:37 WARN]: at java.base/java.util.TimerThread.run(Timer.java:516)
is it normal to randomly see this?
how i increase this?
Utilisation: 47.8% / 400.0%
my startup flags java -Xms65536M -Xmx65536M -XX:ConcGCThreads=16 --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -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 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -Dterminal.jline=false -Dterminal.ansi=true -jar folia-paperclip-1.19.4-R0.1-SNAPSHOT-mojmap.jar
Looks fine to me. 400% means you have 4 region threads.
No
Use ZGC and -server?
java -Xms65536M -Xmx65536M -XX:ConcGCThreads=3 -XX:ParallelGCThreads=10 --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -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 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}
is this good?
My CPU is Ryzen 9 7950X
Specs : Ryzen 9 7950X , 128GB
Startup (Pterodactyl) : java -Xms65536M -Xmx65536M -XX:ConcGCThreads=3 -XX:ParallelGCThreads=10 --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -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 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -Dterminal.jline=false -Dterminal.ansi=true -jar folia-paperclip-1.19.4-R0.1-SNAPSHOT-mojmap.jar
Java: 17 Version : 1.19.4
threaded-regions: (paper-global.yml)
threads: 32
netty-threads: 10 (spigot.yml)
Pterodactyl :
should be good for anarchy with like 300-400 players?

Gonna depend a lot on plugins and stuff. No one's tested that kind of thing longterm on that CPU (as far as we know) so only way to know is to try it.
ok i gonnna ads my folia server on tiktok 
Ha
What?
what i should set network level?
network_compression_threshold: -1
On my proxy
and folia
i put -1
Not my expertise
That's not going to help you
You have too many people in that region or too many farms
Probably both
Spread players out more
Dang
2/3 of your players are in a single region
Lol
Did you get all your players from TikTok?
Yes!
Your players need to be more anti-social
Hahahhahahha
Would be good to move this convo to #general
That’s fair
Like Amaranth said, if you have most people in such a small area you might want to use Paper instead of Folia.
It's designed for people to be spread out.
very spread out
Recommend reading the FAQs and pins in here and stuff. It's still very under development.
So stuff might be crashy crashy.
Well how spread out is very spread out?
Like, far enough people don't feel like walking to see their closest neighbor
More than 768 blocks away from the nearest player
Wow!
I thought it was based on the view distance, and render distance which would determine if the regions would group up right?
Not really
😗
You don't need every player in their own region but if multiple are in one region you need to otherwise spread them out even more otherwise you risk them all cascading into a single region
Not you also have to take into account of object/entity with high velocity that travel very fast, so you cant just base everything off VD
It's sort of based on the view distance but when you put in how chunk tickets work, Folia's 16x16 (chunk) region sections, and the need for a buffer section you quickly get up to very large numbers
And it's basically impossible to set a view distance that makes it smaller than that and not likely you'll set one that makes it larger than that
iirc you'd need a view distance of like 27 to make it more than 768 blocks
Ah, not that high, more than 19 will make it even larger
Ok, here’s an idea. What if I pulled a minehut, and got a plugin to generate a new spawn for players when the spawn has 20 players in it each, and automatically delete them when there is less players. Would that be a bad idea and could this be more efficient than having one spawn?
Is this a stupid idea?
Sure, if you can keep people in small clusters that are very spread out from each other (or in different worlds from each other, although loading worlds is... fun) that should work
Just make sure you spread them out a lot
If you spawn 20 people together they'll probably spread over a few thousand radius from their spawn point
Maybe not permanently but for their mob farms or to go caving
Hahah yea I see. I am currently using that MoreFoWorlds plugin I shared a while back to generate worlds. Hahah I’m just waiting on the PR https://github.com/PaperMC/Folia/pull/97 so I can attach worlds to each other.
By the way, is there anything wrong with this PR? It seems to be in limbo.
Folia only has one developer and he isn't consistently active, at least not where I've seen
If I may ask, why is that? Is it because it’s considered like a “pet / personal project ?”
Or am I wrong about that?
I'm not sure how many people exist who are both capable of working on Folia and are interested in working on it
It still feels a bit like tilting at windmills even after seeing it actually work
Can you elaborate?
Hmm, maybe not the right idiom
Hahahahhahahahha
I'm still not really convinced this project is possible 😛
Hahahahah really??
And personally I just don't work on Minecraft stuff anymore
Oh? Why did you stop?
A cease and desist from Mojang's fancy law firm based out of London
May I ask what happened, or are you unable because of NDA?
Amaranth is one of the OG who made Craftbukkit.. the fundation of spigot/paper
That’s why I’m surprised that you got a cease and desist from Mojang
I tried to sell them the rights to my work on CraftBukkit since they were interested in continuing the project 😄
That was their response
Am I able to ask who was interested? Was it the CraftBukkit team themselves or an outside entity?
No no, we quit, Mojang said they owned it and would keep it going, DMCA happened, I sent Mojang the offer
is this spark?
So like what happened to your work lol?
o
You're using it right now 😛
Hahahhaha letsss gooo!
Although between the time passed and Leaf I'm not sure how much is still in there
That's why paperclip exists, to avoid me suing anyone 😉
Hahahahhahahah ayo?
Can you elaborate?
📈📉📈📉📈📉
Shipping any of the original Bukkit/CraftBukkit code with Mojang code is a GPL violation
We didn't care when we were working on it so only Mojang was a risk, then Mojang said they owned the project and were taking it over so we became the risk
what claim did they have to the project anyways
yeah I thought so
one of their recruiters told me a year or so ago that they have "never" acquired code from any modders taken into their team before
knew it was bs
afaik the 4 who were hired by Mojang originally had some deal with Curse and it was a bit of an aquihire
What’s an Aquihire?
Where you buy a company for the developers rather than for anything the company does
It wasn't outright one because they didn't buy Curse, dunno if they spun the Bukkit stuff off into a separate company to actually sell it to Mojang or just did the asset transfer separate from hiring the developers
acquihire, I missed the c
Hahah I still have so many questions. Like why would they lie about that?
Why’s that?
Bukkit was useless for the vanilla server and they couldn't use it outright due to GPL since they didn't own all of it
And when they made it public they owned it they were made to look really bad and the whole project exploded
yeah I mean secretly owning the project is pretty 
All of this is fascinating to me.
Hahhaha I know right! I would watch a YouTube video on this lol.
I've always love the grandpa Amaranth storytime 
ik w paper adding more ram doesnt help that much but is that the same for folia?
or should i not go over 12gb or is there some like idk 8gb for every X players etc
You want as much RAM and as many cores as you can.
If you only have 12GB of RAM then you aren't gonna want to run Folia.
Check the pins/FAQ and the readme for info.
You want 16 cores, generally.
At least
i can assign like 80gb and more?
Read the Readme/FAQ
Idk if they noted, for the most part they’re all pretty much the same outside of the more special distros, so it would just be one of the hotspot ones
what gc should i use? zgc or g1gc?
120-160 players still good but some time Folia do something wrong and restart the server 😭
We'd need the logs to tell
You also have 11 thousand entities in the most utilized region
I know
i think cause of my startup flag? : Old one java -Xms60G -Xmx60G -XX:ConcGCThreads=3 -XX:ParallelGCThreads=10 --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -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 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}
New one : java -Xms60G -Xmx60G -XX:+AlwaysPreTouch -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+UseLargePages -XX:LargePageSizeInBytes=2M -XX:ShenandoahGCMode=generational -XX:-ShenandoahPacing -XX:+ParallelRefProcEnabled -XX:ShenandoahGCHeuristics=adaptive -XX:ShenandoahInitFreeThreshold=55 -XX:ShenandoahGarbageThreshold=30 -XX:ShenandoahMinFreeThreshold=20 -XX:ShenandoahAllocSpikeFactor=10 -XX:ConcGCThreads=3 -XX:ParallelGCThreads=10 --add-modules=jdk.incubator.vector -Dterminal.jline=false -Dterminal.ansi=true -jar folia-paperclip-1.19.4-R0.1-SNAPSHOT-mojmap.jar
Maybe increase the netty threads or check your network utilisation, etc
Idk
currently :
GC: 3 concurrent
Chunk System IO: 4
Chunk System Worker: 2
Netty: 6
Region Threads: 16
You're using pre release experimental software intended for a niche use case
I don't think Folia 1.19.4 is supported anyway
There comes some level of expectations that you understand some level of what you're doing
We cannot provide you ideal configd for a lot of this stuff as we have no idea of your setup and how stuff is performing
It's in you to tweak stuff and see how it goes, or make educated guesses based on profiling etc
So
i have 2 servers
1 Is on datacenter and running Proxy the network_compression_threshold : 256
2 is my own server plan at other location and the main server running the network_compression_threshold : -1
the ping from proxy <-> my own server is 1-3ms
I set ram proxy for 2-8GB and main server is 60GB
Proxy dedicated
From the folia readme:
netty IO :~4 per 200-300 players
If you have the spare cores ZGC is probably better but G1GC is way better than it was in java 8 so is still a solid recommendation
https://github.com/brucethemoose/Minecraft-Performance-Flags-Benchmarks has some suggestions for flags to use and when different GCs might make sense
It's not quite the same as Aikar's flags when you use their G1GC suggestion but I'm not sure what is different or why
In 1.20 that "chunk-system" section doesn't even exist anymore
So I don't know that changing it will help? Try it and let us know what happens
From the folia readme:
chunk system io threads: ~3 per 200-300 players
chunk system workers if pre-generated, ~2 per 200-300 players
If your world isn't pregenerated I'm not sure there is a number of worker threads that will be enough 😄
Like I think it stops scaling after about 16 due to the design of the thing but otherwise higher is better
and my server have like 13-14 plugins
with 60GB ram
how much players it can handle in anarchy server?
We can't tell you
like 100-300
It's all going to boil down to how people play
im just make sure the server have enough ram
If people aren't spread out enough, less players than paper will handle
Ram is probably not going to be an issue
even i set 5gb ram? 😂
...
I mean in the past
You said you where throwing 60G if ram at it, hence the statement
server in 1.17.1 i set server for 5gb ram and it got 60 people playing with 20tps
Idk if you're trolling or just being dense
maybe ram isnot a problem
But we've already gone over this, we can't really tell you what is best for your environment
Yea i did
cause 1.19 can't handle over 40 players in 26gb ram
All we can say is to throw a bunch of hardware at it and if stuff is split up, if will generally perform better than paper for the same player cuubts
Er
Yes, it can
And if you're having issues with memory with 40 players with that much ram, idk what to tell you
Memory in java is not a simple topic, especially with software like Minecraft which has a stupidly high allocation rate
If you tell it it can use 26G of ram, it will use it
-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!
I think my server enough to handle 200-400 players with full 19-20tps but i have to
spawnradius them
12500
well im running with 80-100 players daily and 14gb is just fine
ofc it uses 65gb ram because you tell it to use all the ram thats available
Any way to remove a worldborder on folia?
Er, if you mean the vanilla one, you can't remove it, all you can do is set it stupidly high
Well yeah I wanna set it stupidly high, but the worldborder command is gone
My bad, that’s what I meant by “remove”
But do you know of a way to change the border in folia since the command is gone?
No, you'd need to modify the level.dat
Doesn't it default to 12,000,000?
Unless you imported a world where someone had changed it
Surprised he even reads that data, id imagine that that would be considered a bug
Guess nobody though somebody would copy a world they cared about over
I copied a world I cared about over lol
But I’ll try to see if I can change it in level.fat
Dat*
Idk why the fuck that autocorrect to fat lmao
Appreciate the help homie👍
i will start the world with paper and set worldborder, then start it with folia, that s ok i try a lot of times
one of my players is asking if chunk loaders work
in other words is region allocation influenced only by player location
Is it possible to get a scoreboard on a Folia-Server?
with packets
like any good server
folia team hasn't yet implemented (and by the sound of it isn't unanimously sure how to implement) vanilla scoreboard API
since that's global state
ok can you give me an example?
if you want a code example go to #folia-dev and if you want a plugin that just does this for you, any existing packet-based scoreboard plugin that targets paper should implicitly work with folia with few modifications
pester their authors if you please
ok
It now (finally) has adventure support too
They works - but sometimes they broke
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1698) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1536) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.IllegalStateException: Already sent chunk [-83, 3] in world 'world_nether' to player ServerPlayer['Dinosaur_Hamin'/639748, uuid='a6c2aa37-5ac2-3824-a151-9a67d066e3dc', l='ServerLevel[world_nether]', x=-1462.27, y=67.00, z=52.50, cpos=[-92, 3], tl=269747, v=true](Dinosaur_Hamin at -1462.2653441011716,67.0,52.5)
at net.minecraft.server.level.ChunkHolder.addPlayer(ChunkHolder.java:136) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.level.ChunkMap.updateChunkTracking(ChunkMap.java:735) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader$PlayerChunkLoaderData.sendChunk(RegionizedPlayerChunkLoader.java:485) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader$PlayerChunkLoaderData.updateQueues(RegionizedPlayerChunkLoader.java:860) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.tick(RegionizedPlayerChunkLoader.java:244) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:598) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:739) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1679) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
... 6 more```
my whole server just dead cause that
💀
message.txt by @vernal wyvern: https://pastes.dev/gsyfQDyLTp
I spy offline mode
😡
that issue might have been fixed in 1.20, no-one confirmed it anyway
https://github.com/PaperMC/Folia/issues/45

fixed in 1.20
Can we get an upstream for PlayerOpenSignEvent? ❤️
Work isn’t gonna get backported to 1.194, so recommend updating plugins and/or switching plugins.
Is the current source code buildable? All i keep getting is java.lang.IllegalStateException: Module entity with name: Folia should be available
Yea no terminal just straight garbage
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':paper:patchCraftBukkit'.
there should either be more info or a prompt for a flag to enable more info
You want me to run --info or --debug?
It needs to not be in a OneDrive synced folder
And in as short of a path as possible
Try C:\Folia
The patch files have long names and end up nested a few levels into the git repo so you hit the WIndows path limit
And OneDrive sometimes tries to mess with the files while they're being worked on and crashes a build
I see alright. Also dont have ondrive at all.
Either install Java 17(not 17.1 or anything else, straight 17) or you have to assign a user.name and user.email in git bash. I had the same issue a few days ago and doing those fixed it
Atleast thats what worked for me
if it's still not working, run the git command it's including in the error manually and see what it errors with
WIndows path limit was the issue. seems to work fine now
guys, is this spec gud enuf to run folia?
what cpu you use?
Need to know what CPU it is and more about the setup.
lemme ask the hosting provider...
If you have to ask them the answer is probably no.
You want a dedicated server.
Read the pins/FAQ in here and the Readme

No, in here for Folia.
And apologies - I thought you said /reload. Reload is bad. Restart probably requires some kind of script or plugin
i think /restart is spigot and uses a restart.bat/sh file or something
i think i tried it once, it didnt work (because i didnt have that), so i just never tried it again because my start script just restarted anyways
yea but it’s seemingly missing in folia
Hey Guys, how i can get this Folia ? 😄 im hyped to try it by my self 😄
You have to build it yourself
See the instructions on the paper repo, just clone the folia repo instead
uhm, i never have do this bevore xD
can you help me with this? (Send me the instructions or step by step)
Read the README and it's literally a step by step
But keep in mind that “step by step” doesn’t mean that you understand what the steps are.
We’re not going to teach you how to build it because if you don’t know how to do it yourself, you probably shouldn’t be using it to begin with (it’s intended for use by plugins devs and the like for the time being)
folia tps placeholderapi?
Yes
someone would just need to write such a placeholder extension
It's a mostly one man project whose busy af
Also, were somewhat far before bug reports really matters
If you notice there's a lot on the to-do list still
Yeah I’m sorta surprised ya even released it early considering just how indev it still is
@viral stone there another placeholder like %tps% for folia?
[no-ping]
then it might not exist
Placeholders have literally nothing to do with us
You not being able to find it doesn't give you the right to start annoying us, chances are nobody cared to make it exist
Hello, i don't found anything about how to build Folia i got folia-server-1.20.1-R0.1-SNAPSHOT-all.jar but i can't start it
How i can got the server file ?
here ?
i have only that
No idea, try cloning a fresh repo and trying again from the command line
No, read the paper resdme
I don't saw how to build..
It's in the paper resdme, there's like 4 steps
Hoo but i never see that before
is this the same for folia?
cas just linked it right there above the message
Yes, exact same tooling, exact same steps
Folia is a fork of Paper so the steps are the same.
Why doesn't add "How to build" on folia readme
It’s still in development. There’s a lot of stuff unfinished and missing.
because folia is intended for devs, etc for the moment
LIke what ?
Because it's experimental pre release software, documentation is still a work in progress, etc
And if you don’t know how to build it you probably shouldn’t be building it.
not meant for anyone to just go there, follow a step by step guide to just compile it without knowing what he's doing
You're expected to be familiar with our platform and tooling as a result of the state of it
I juste never need to do that before, and Paper build are different of other builds
paper builds are ready for production
folia is experimental and in very early stages
Read the pins/FAQ in here and the Readme
far from being ready for production
They meant building Paper compared to spigot or other stuff.
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.
gradlew commands for Folia are not intuitive
Gradle can be tricky if you haven't worked with it before.
^^
Everyday...
but
me too but i can't guess by myself
You don't have to guess, that's why we have the build instructions.
The build instructions for Folia are the same as Paper, as it's a Paper fork.
But it's not said in Folia readme
Yes, as cat said earlier Because it's experimental pre release software, documentation is still a work in progress, etc
but if nobody know how to build ?
It's not meant for everyone yet.
Once again, this is an early release for Devs
It's still experiemental, in development, and not released.
Documentation is still in the works
It's expected that you'll be here in Discord asking questions, reporting bugs, etc.
It's not just an off the shelf thing. Lots of stuff is busted or missing.
And, as early pre release software, there is some level of expectations placed on people who want to use it
it's why spigot plugin doesn't work or it's never gonna work ?
Spigot plugins don't work because the entire mechanism in how the server ticks has changed
We'd rather not deal with server owners crying due to their plugins not handling events being called concurrently, etc
Just make sure you read the FAQ, pins in here, and the Readme on the repo.
Folia has specific use cases and hardware requirements. It's not for everyone or every use.
not a problem for me
reload command is just causing an error, it's not disabled it's normal ?
You never want to use reload
I know but i just saw it is disabled
but it's not
Ok... I gotta ask. @visual pagoda what will you run Folia on?
Why do you "gotta ask"?
VPS server
Because I'm curios
Yeah you definitely don't want to run it on a VPS.
Reload command is borked, no idea what the plan for it is, wouldn't be surprised if it was just removed
why?
Yeah, it's a good thing !
It will be very slow and perform very poorly.
(Realy sorry for my bad english guys....)
No worries, your English is fine
All commands who are disabled still can be used by a plugin ?
Like bossbar
Or it's just completely removed
The command is disabled, does not exist
but the feature can be used ?
Depends on the feature
Trought a plugin i can send a bossbar ?
A lot of that stuff is disabled because it relies on global state
Idk, see the readme, worse casr they use packets to fake it
Ok ok, so it's not impossible but not more easier
I'm just shocked about my english, i just follow basics lesson at school. by my personals project who are using english i learn it so easier
Dev communities are so good ❤️
Does Folia follow the same development opinions as paper? Ie fixing vanilla exploits etc? Is there going to be feature parity with paper or is paper going to offer things that folia does not?
Yes.
Er, yes for fixing.
It's a fork of Paper, so the same "fixes" for stuff are in Folia.
They're targeted at different use cases so there will be some differences in how they run/are used and what's in them.
But if an exploit or dupe gets fixed on Paper it'll get picked up by Folia
Folia is for high core/high performance servers with high playercounts who are spread out. So it's not for everyone.
Tried to word my question in a way that was mindful of this 😅
Thanks for the answer!
ik its a dumb question, but could folia be run on multiple computers? like would it technically be possible?
That would require going from a shared memory model to a distributed memory model. Whole different project haha
And I guess with some smart synchronization you could fake that using multiple paper servers to give players the illusion they play on the same server
multipaper is a thing but it kinda sucks
the second option you said is the best imo
for non smp servers
should one disable hyper threadng for folia? it makes some sense on a usual minecraft server to not split the core and get more performance out of the single cores (since it's mostly singlethreaded) but does that still apply for folia?
pretty sure the performance gain per core by disabling it is pretty negligible, not entirely sure tho
Depends on the chip, you can have pretty sizeable single thread perf gains
Just depends on if losing the extra vthreads is worth it
Hey, I don't know if the bug is already known
I found out that if you sleep in a bed in Survival and then die, you no longer spawn on the bed, but on the world spun. I couldn't find anything about the bed or respawn theme in the GitHub issues
did others notice the bug too?
if you have steps to recreate the issue and have not found any currently listed as open, you can create new issue
(Note: test without plugins)
(and not with a fork)
ok i'll just test it
Don’t think there’s any recommendation for any of that yet. Really going to depend on the server CPU and setup, too.
Network block storage instead of a physical disk in a server? Yeah that’s gonna be slow as fuck.
400 megabits or megabytes?
And is that with Minecraft or with something else?
Network egress for the test didn’t include disk writes.
So if you’re using a network disk instead of a local disk you’re gonna have a bad time.
@final spire would rather you didn’t delete messages, as it makes the conversation busted and makes me look crazy for talking to myself
Would recommend you revisiting your requirements for Folia though to see if it’s the right choice. Paper and Minecraft out of the box don’t do great with network storage and folia especially
wierd i testedet and i is not an issue anymore i guess it was fixed in last commits or something it was there a few days ago okey never mind😅
thank you for confirming and glad it is fixed.
of course no problem
where can i download jar file ?
i dont know what should i do to compile any source code :<
⚠️ 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.
You have to build it yourself, using the instructions from the Paper repo.
⚠️ 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.
Oh I see
Very few do
Folia is mostly at the "you have to write all your own plugins" stage right now
Aside from the infrastructure ones like ViaVersion, geyser, etc
Thank you
@supple raptor if you check the plugins page on papermc.io, you can see most of the plugins that folia support. Other than that, very few will be able to work with folia due to there not being one main thread for them to run on. But some packet-based plugins might work but they’re few and far between
y no spigot /restart command
/stop
but restart saves me an uparrow and enter
create a auto restart script then
but then i type stop and need to ctrl c because it auto restart
stop should stop and restart should restart
Thank you so much
This is a good plug-in idea
I’ll try to get to writing one that does that, and has crash protection to auto restart on crash, but we’ll see ab that
Most likely gonna be questionable or just not work but we’ll see
FastAsyncWorldEdit jar for 1.20.1?
This is not google, check with the project, I believe there is a WIP PR or something.
No jar inside the PR

you can compile that pr yourself
though usually if no builds are provided then it's for a good reason
update
So you can do everything normally but you just look like when dying animation ends?
Well, this happened to me also in Paper, sometimes I think
this got fixed recently pretty sure
As others said, make sure you have the most recent build.
When did you build it?
Not sure how you have your build setup but I’m pretty sure that was fixed a week or so ago.
You might want to clone the repo and build it locally to make sure it’s building properly.
I’m deleting your screenshot because of the contents of the chat in the screenshot.
Can you post the output of /version and /plugins?
hello where i can report a bug for folia
on the issue tracker on github
Where’s this screenshot from? Link to the repo/page?
Depends on the bug. You can ask about it here first if you want or you can open a Github issue.
Yeah, you’re using a fork
That commit hash didn’t seem correct.
So there a bugs on Folia
Im using Folia 1.20.1, when someone killed a Dragon in the end and a whole server hear that
Can you clone build from the Folia repo to reproduce the issue?
That’s not a folia bug, that’s a paper thing.
IIRC there’s a flag to turn it off
what..
A game rule
what the name of it
Check the docs, I don’t recall it offhand.
ok
you do realise that with that, you're breaking the minecraft eula, right?
they're also using offline mode so it's not like they care about that
if your server only attracts 75 players you might aswell just use paper 

We don’t support piracy here.
💀
Which bit is breaking the EULA?
publishing the bundler jar (not paperclip); mojang does not allow to distribute the modified game (server/client), but mods are okay (e.g. patches, which is what paperclip does)
Ahh I didn’t actually click the repo link. Yeah that’s not good.

@prime juniper you should probably remove that. Per chance if someone report you they can get your stuff taken down
Oh hey I could get that taken down 🙂
Haha
Good afternoon! With an online 300 people absolutely stop loading chunks. Is there any way to fix this?
What is your CPU / memory?
You’re using hardware pretty undersized for our recommendations.
Better hardware is the only real solution here.
That’s not enough cores or RAM for that many people.
What player limit should I put on it?
Not sure. That CPU is undersized for our recommendations. You’d have to experiment and see.
You want at least 16 cores.
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.
Worth reading all of that ^^
Okay thank you
Normal in what way?
For 300 players
Sorry I don't understand your question. What are you asking?
Will this processor be suitable to support 300 players on Folia
AMD RYZEN 9 7950X and 64gb ddr5
Possibly? There's no good metric for "how many players per CPU" for Paper, let alone Folia which is very new.
Is putting a ssd on each world a good solution?
What's "a csd"?
ssd
Oh yes you want the fastest drive you can get.
SSD GIGABYTE Aorus Gen4 7300 AG4731TB 1ТБ, M.2 2280, PCI-E 4.0 x4, NVMe, M.2
I wouldn't recommend buying hardware if you haven't tested it first in case it's not what you need.
Maybe rent a dedicated server first?
I already have a machine like this at home
I have one more question. Does it make sense to allocate 100gb of RAM for the server?
From my testing, yes
However your mileage may vary
See #folia-testing-2
Yeah will depend a lot on plugins though.
G1HeapRegionSize=16M or 32M for 126gb ram?
and for -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 should i do like idk 50 60 instead of 40 50
Are you really allocating 126gb of ram
yea it's folia
should give as much as possible right?
they had 500gb ram assigned for the pub test
im leaving 2gb for the os
they didn't use G1 though
And that was like 1000players or something
and it was more "because we can" rather than "because we need it"
ic
Just copy the flags they used when testing
-Xms100G
-Xmx100G
-XX:+AlwaysPreTouch
-XX:+UnlockDiagnosticVMOptions
-XX:+UnlockExperimentalVMOptions
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseLargePages
-XX:LargePageSizeInBytes=2M
-XX:+UseShenandoahGC
-XX:ShenandoahGCMode=generational
-XX:-ShenandoahPacing
-XX:+ParallelRefProcEnabled
-XX:ShenandoahGCHeuristics=adaptive
-XX:ShenandoahInitFreeThreshold=55
-XX:ShenandoahGarbageThreshold=30
-XX:ShenandoahMinFreeThreshold=20
-XX:ShenandoahAllocSpikeFactor=10
-XX:ParallelGCThreads=10
-XX:ConcGCThreads=3
-Xlog:gc*:logs/gc.log:time,uptime:filecount=15,filesize=1M
-Dchunky.maxWorkingCount=600
Idk
For the first test it was 7713, for the other test we streamed it was a 7950X3D
There should be details in the #folia-testing-2 channel you can look through
ty
(note this only works with Java 21 + Generational Shenandoah builds)
The flags for the second test?
yes
first one was Shenandoah too but not the generational variant
First one was mostly to see how Shenandoah would do, I think?
I think the jury’s still out on which GC is ideal
I personally wouldn’t use coretto
why not
graal?
Your mileage may vary
I stick to oracle since they re-allowed the licensing.
I’ve had bad luck with coretto. Weird behavior.
Just a personal opinion.
i was on graal then i went to corrnetto didnt really notice a difference
GraalVM is a little different
I mean Folia's real new and there hasn't been a ton of testing on it yet, so try different stuff and see what works.
If you see anything specific it can't hurt to report it back as good/funky/etc.
If it were me I'd just use openjdk or Oracle
new 21 builds won't have generational shenandoah included though, it was delayed and will rather be part of java 22
do u have a commit
of what
i couldn’t find corretto 21 builds only the source
21 isn't released yet, you'll have to use some early access builds
but as I said, generational shenandoah isn't part of 21 anymore
i can’t even find normal 21 builds
only goes to 20
even in nightly
could i use 20 shenandoah?
Sure, give it a shot.
Like I said it's not like Paper where we have lots of datapoints and years of tinkering to make suggestions. There's not a ton of people using Folia yet.
You should expect there to be a lot of growing pains, crashes, stuff not working, etc.
can’t find corretto 21 shenandoah builds i’ll start with corretto 17 shenandoah
@fair merlin sorry for ping but do you know how many hugepages the machine had?
I don't.
Check the channel and see if it's in there?
no mention of pages of hugepages or largepages
Pretty sure it was hugepages
But don't recall size.
Maybe 1G
People who would know are currently offline
the flags don’t mention hugepages so i think hugetlb pages
Yeah I'm not sure for that test.
I wasn't around, and Leaf was keeping an eye on it but it wasn't a Paper test so I wasn't paying as much attention.
Leaf says "2M pages is fine"
i have that but what should nr_hugepages be
u said 1gb so i think 500?
if they're each 2M
No idea.
Does folia still require testings?
im planning on using it for a event i want to host
maybe the devs could get some usefull information out of it, idk?
If you have crashes and/or issues, post 'em up to the Github.
If you exceed like 3,000 players feel free to tar up and send us redacted logs.
(Removing player IPs/etc)
Otherwise it's ongoing day to day testing
alright
hey guys, do you know how much time it takes for a region thread to "close" when the only player in the region leave ?
yeah - i mean "drop the region" "drop the location" (idk if it makes sense 😆)
Is it possible to download the beta version of Folia? Is there something like that? I would like to test this engine a bit, because it looks good
You need to compile it yourself, same instructions as building paper, just with the folia repo
im using 1.20.1
@vernal wyvern Please reproduce with no plugins
If it does look like an actual dupe, then open an exploit report using #869651180698099732
You have to disable all the plugins and reproduce it.
If it doesn't happen again then it's a plugin.
idk all my plugins just for rtp and other thing 
Stop server, temporarily turn off all plugins (rename plugins folder or something), then try to do it again.
If it happens again with no plugins then record a video and post to #869651180698099732
⚠️ 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.
.1
does multiverse work for folia or is there an alternative plugin?
I just did git clone https://github.com/PaperMC/Folia
and ./gradlew applyPatches and ./gradlew createReobfBundlerJar
one would guess that apply patches failed
loading worlds at runtime is unsupported
I mean, it works fine
wdym
as for why it failed on your machine, try running applyPatches again and see what it says
it failed because it expected some info that was there
hence why I'm suspecting that the earlier operation may have failed, but, idk
that's not a matter of you not being a dev
that's a matter of some information which is fetched as part of the build process missing
the earlier steps should get that info, etc
I clicked on the error and it was a gradle error
yes
gradle is throwing an error because the tooling didn't set some data
No
delete the folia folder
reclone it, ideally into a folder directly on the top of the drive
and then run applyPatches, make sure that that doesn't fail
wdym on top of the drive?
directly onto C:/
I'm on linux
ok
It takes a while though
nope it doesn't
it failed
oh it just wants to know who i am
yeah
it was totally my fault
it worked now
10 actionable tasks: 4 executed, 6 up-to-date
[panas@server Folia]$ ls
build folia.png gradlew patch.bat rb.bat settings.gradle.kts
build-data Folia-Server gradlew.bat patches README.md
build.gradle.kts gradle install.bat PATCHES-LICENSE REGION_LOGIC.md
Folia-API gradle.properties jar.bat PROJECT_DESCRIPTION.md regiontodo.txt
[panas@server Folia]$ cd Folia-
-bash: cd: Folia-: No such file or directory
[panas@server Folia]$ cd Folia-Server/
[panas@server Folia-Server]$ ls
build build.gradle.kts checkstyle.xml LGPL.txt LICENCE.txt src
[panas@server Folia-Server]$ cd build
[panas@server build]$ ls
classes generated libs publications resources tmp
[panas@server build]$ cd libs/
[panas@server libs]$ ls
folia-server-1.20.1-R0.1-SNAPSHOT-mojang-mapped.jar folia-server-1.20.1-R0.1-SNAPSHOT-reobf.jar
[panas@server libs]$```
Wait so why do i have 2 jars?
Which is the correct one?
nope
i'm dumb
neither
i was looking in the wrong place
yep
This jar worked. Is this a good jar? folia-bundler-1.20.1-R0.1-SNAPSHOT-reobf.jar
from ./build/libs yeah
Are datapacks disabled as well as command blocks?
yes
aww
I tried folia today
And I gotta say i'm really impressed
No crashes
and it's even faster even with a single region at ticking chickens
- even when it does lag it still responds to player input
So you can get out of the situation
30k chickens in one area, 0 lag in the other
The tps was 1 in this region
But somehow I could still break and place blocks, pickup items and move
Literally 0 issues encountered
i believe datapacks work, just datapack functions don't? haven't tried it myself
people have been using some datapack stuff for world stuff
the command being gone doesn't mean that the system was stripped
well how are you supposed to do it then?
do what?
You just put the datapack in and it'll be loaded on start. You don't need the command
is per-player-mob-spawns on by default or smth now?
i cant find it in the config
nvm found docs
put my prod on folia, tried shennandoah at the start with 110gb, kept crashing after a bit so went back to g1 and it's fine so far
very interesting profile tho
how
negative mspt
this happens too even with shennandoah
no lag shit's fine just, weird anomalies in the profile
maybe i will make a article or something abt what it was like to move from paper to folia and shit i find
Do encourage your players to report any weird/oddball stuff if they observe any.
it's only 60 rn i didnt announce that it was back up from downtime, waiting to see if itll crash or not
i had to do sim distance of 4 on this same hardware with all mob limits other than animals set to zero and animals at like 8 to get 20 tps on paper with 200 players
right now i have vanilla everything except the ambient and axolotls set to 0 bc who cares about them
looks like your spike happens on interval too
idk if that's something strange happening
or just spark being weird 
probably
Read here #folia-dev message
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.
See the readme, etc
ask them
ask the skript people
they dont support it
We cannot tell you if random software on the internet works on our platforms
most regions fine but one at like 9 tps
i go to the region and not special
not a lot of entities or anything
literally one chicken around where it tps me too and no players
all of the 3 highest util regions are places where there's nothing like no players no entities etc
is this because the server prioritises ticking regions with entities/players?
No
it's because that region is taking too long to tick
with 87 players and 11k entities
yea but there's like
nothing there
when i tp, i was expecting like idk a farm or something
Look at the info?
A region is not a fixed size
it's literally just giving you the centre coords of the region
that region has 87 players inside of it
o :^)
i wonder if possible to make it only have regions within a world border
like chunky you know in the config
are regions squares?
or like they change all the time
when u say not fixed size
if there's like 102 ppl and 87 in a single region even tho theyre very spread out that means one region is way bigger compared to the rest no?
regions are not the minecraft regions
yes
that’s why you want them spread out
if they’re close together you’re better off using paper
they're dynamically created by grouping chunks into regions
if people get too close, the regions join one another
iirc regions are basically bubbles
given that you can't do stuff across regions, i.e. redstone, etc, etc; they have to by dynamic, etc; they could probably be smaller, but it creates a lot of complexity and performance overheads
if 2 get too close they merge and become a big bubble
im guess its not configurable the settings that determine when regions merge
no, it's low level implementation detail
making it configurable would be a performance/bug nightmare
yea id imagine
one thing i noticed
X tps on folia doesnt feel like X tps on paper
it feels less laggy
big maps r way better now
they spread out even just a tiny bit
tps surges a by like 6 whole seconds
Hi, I heard about folia and I would like to try it but I have no idea where to download the jar file for version 1.20.1
but I've already read the readme but I still don't understand how
did you read the paper readme or the folia readme?
the paper readme says the commands you'd need, not the folia one
just, you clone the folia repo instead of the paper one
I still don't get it.
Which part you read, can you tell us
you dont download the readme
just open the paper readme, and follow the steps
but clone the folia repo instead of the paper repo
worth noting that Folia is very experimental and mostly aimed at developers right now. If you don't know how to build it, it probably isn't for you at this point
where do I find paper readme
but where i need to change the repo
do you have any idea on how to build a repo? or how github works?
as said here, this is aimed for developers, should NOT be used in prod.
clone folia repo then follow paper readmes instructions it’s 2 commands to compile the jar
If you don’t know how to build folia you shouldn’t be using it
Which cpu is this running on?
Default config setup for paper-global.yml?
i only started working on this server after they launched, i was there before i would’ve used a bigger map
no
which ones would u suggest changing tho
I added you rq so we don’t clog up this channel
Hello, I have an AMD Ryzen 9 7950X 16-Core Processor, but the chunks on folia are not being created at all. I allocated for worker-threads: 13 threads, but it did not help me. The disk speed is normal. How can I fix this problem? I have 128gb DDR 5 RAM
You probably shouldn't be allocating so many threads to worker-threads
How much should be allocated?
I mean if you just leave it as -1 it'll do it by itself
But can you explain what you mean by "not being created at all"?
Can I set it to -1 for everything?
Not generated at all
Like you're standing there and it's a void?
Already generated chunks are loaded normally, but new ones are not
Yes
Probably need a spark report.
Unfortunately spark does not work on folia 1.20.1 😦
Yes it does.
Is it a dedicated machine running a 7950X?
Not like a VPS or something?
Not a Windows machine?
Yes, I have it in my house
Debian 11
You have to build it, but there's a folia branch of Spark.
I've done this before. There's an error
As cas said, go through the PRs and find the one with the jar in it.
It definitely works on 1.20.1
Yes, I saw it. There's a mistake there
Spark 1.20 doesn’t seem to be working. Not even the profiler works
At least from the jar from Luck I saw and tried.
The wrong jar was uploaded. Compiling the branch works fine, just pick the right jar
Yes, you're right. I'll send the spark profiler right away
Okay, I'll repeat it in Folia
how tf do you get negative mspt
Why are you running a fork of Folia anyway?
What does a fork of Folia even have that would make sense to run it?
Folia is like 3 months old.
Linear region format
No idea what that is.
I've seen this in a few Folia sparks, curious what it is
Anyway we only support Folia here, yeah. So I guess feel free to see if the issue happens on Folia. If you're using something which messes with Folia regions I wouldn't be surprised that you're seeing weird behavior.
If that fork has some support Discord maybe ask them.
The usual folia has the same problem
You see the same issue? You're standing on a chunk edge and chunks aren't generating?
Yes
And you have no plugins installed?
does increasing the view distance do anything?
Weird that it's not showing plugins in the spark report
can you walk into those chunks?
I had seven. I set it to 3, but the problem didn't go away
I can, but I can't move around there
I generated it using github actions
That's running Github actions on a repo that isn't our repo, though.
dont post kaiiju issues on folia discord pls <3
Which has other patches too.
Yes but it's their fork, there are changes in it.
Okay, I'm going to run it without change
doesn't look like theres any changes between that fork and us that would be relevant from a first glance, but 🤷♂️
I generally like it when stuff actually lines up with our software
Yeah it might not be anything major
But yeah, when testing big weird shit would be good to have an actual build of our stuff.
a small view distance will cause some potential side effects with the calculated settings for some stuff
I'd probs try setting values form the advanced chunk system stuff
otherwise, idk
I mean that linear region stuff could definitely be the cause of chunks not loading.
Becuase it's gotta compress and decompress stuff.
Also re-run with spark with --threads *
Thanks!
I dunno if that fork is going to mess with the world at all which might make testing on Folia invalid, but worth a shot at least.
I will now reset the world and put Folia absolutely unchanged
Yeah that's the best test. If you can reproduce there and run spark with --threads * then can look
How far out did you need to get before chunks stopped loading?
Good
At about 100 players, it's starting to happen
However, there are no problems with loading already created chunks
Real players or bots?
are they spread out
screenshot /tps
Yeah, get a screenshot of tps along with the spark report.
Make sure to run with --threads *
gen rate

idk how that's calculted, but, I just kinda wonder if you're in a bad luck position where others are overburdening the chunk gen stuff as-is
Can you paste the Paper config?
annd missing thread info
And yeah need thread info.
I set it to -1 everywhere.
I mean in spark
^
apparently it didn't accept the threads arg
