#folia-help
1 messages · Page 37 of 1
horizontaly scaling folia is the same as people have been doing with paper for years
there's always a border to transfer the user between servers
I mean like yeah, one could get rid of that, but the chances of a player accidentally stumbling upon them are somewhat low
happens sometimes, but isnt really something that degrades playing experience
making it completely seamless would be quite cool tho
i got curious myself and googled it.. i guess this is it https://old.reddit.com/r/Minecraft/comments/1ky97nu/weird_border_i_found_on_donutsmp/
sharded world
i was thought about this too much lol
it should not possible with nfs
and they are alr using linear storage
maaybe they are using nosql like mongo for storaging the world
and afaik, pedro solved this with smooth teleport
i guess, i found how he managed to make this
@primal quail can u come dm?
what is smooth teleport?
afaik, If you are at the same coordinates when moving from one world to another, you can switch without seeing the world loading screen.
its like hack(?)
Oh skip the world switching, I have implemented that before
yep
yeah that's a classic but still not seamless
How seamless do you want it?
entities passing through, seeing players/entities and buildings on the other side, building against the border
bonuspoints if you figure out redstone cross border but i can ignore that
ur wanting too much
i don't think those 3 are too unrealistic lol
yes and in the 10 years of doing minecraft i don't think i've seen any server pull off a near seamless sharding experience
donut i'd still have high hopes for because in the end they're probably the ones who can spend most of their time figuring this out
heavy i/o taks blocking the system
add pvp to the list
anyone who had the knowledge about k3s, minIO and how minecraft determines the world chunks handle
can do this system
kubernetes is not relevant here
in the end donutsmp still runs off of a basic pterodactyl setup at 20k players
i guess in future only donut can achieve this, too much complicated and expensive
the shards are merely just regions off of a larger map
yeah
this is not near to real shard system or we understanding wrong about sharding the world in minecraft terms
it's still sharding
but different method
ur saying what I think rn xd
this level of scale needs really too much reseources, money, time and teams
Does it make sense, I think uh...
i mean, not everyone can access this tech
The only place that actually implements the smp definition is donut for now.
if someone can tweak or change the heavy i/o tasks from scratch and handling the world in nfs or different system, this dream can be real, my thoughts about this.
In short, everything has to be done completely from scratch.
I'm pretty sure he knows that
if dev-imports is exclusively for libraries now, what is the process for patching an ignored file, specifically trying to patch Beardifier atm
when is folia going to be available for 1.21.7 or 1.21.8 (and especially with the Dialog API)?
It's available, go ahead and build it.
Can Ryzen 7 5700X handle 400-500 players?
I highly doubt it
probably yes
Is folia good for a skyblock server setup where you have one world per Island?
Yes. Each world will be ticked independently. In theory it would be slightly more efficient to use 1 world and space islands apart far enough, but one world per player should work
correct me if i'm wrong here, but iirc folia doesn't currently support loading/unloading worlds during runtime
Yes, this can only be done using data packs(?). https://canvasmc.io has a proper world loading / unloading api implemented, but you obviously won't be getting support for that here
you should not except for fork support in not related discord server. especially in papermc discord server 😄
yes, as i said in my original message. however i think its still fair to mention that this fork properly implements this API, for someone who very evidently wants to use it
yeah they implemented it at that api
Hey, is there a reason why this code is running on bukkit and on folia it throws an IllegalArgumentException: Unsupported custom inventory size 43
when are you running this code? it should never be posisble to open an inventory of the size 43
There was an issue in paper
folia is based over paper
the folia base needs updating
Make sure that you're using the latest build of whatever you're using
idk when exactly this was fixed or if folia has pulled in what into what branch
Ah alright, thank you. Do you have a link to the issue?
Nope
how to set up folia launch flags so that the GC does not load the processor so much
Flags:
java -Xms80G -Xmx80G --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1MixedGCCountTarget=6 -XX:InitiatingHeapOccupancyPercent=40 -XX:G1MixedGCLiveThresholdPercent=90 -XX:SurvivorRatio=32 -XX:G1HeapWastePercent=5 -XX:MaxTenuringThreshold=1 -XX:+PerfDisableSharedMem -XX:+AlwaysActAsServerClassMachine -XX:+UseTransparentHugePages -XX:LargePageSizeInBytes=2M -XX:+UseLargePages -XX:ReservedCodeCacheSize=512M -XX:+SegmentedCodeCache -XX:+UseStringDeduplication -XX:+UseCriticalJavaThreadPriority -XX:AllocatePrefetchStyle=3 -XX:+UseAES -XX:+UseAESIntrinsics -XX:+UseFMA -XX:+UseLoopPredicate -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+UseInlineCaches -XX:+UseFastJNIAccessors -XX:+EliminateLocks -XX:+DoEscapeAnalysis -XX:+UseXmmI2F -XX:+UseXmmLoadAndClearUpper -XX:+UseXmmRegToRegMoveAll -XX:+UseFPUForSpilling -XX:+UseFastStosb -XX:+UseVectorCmov -XX:+UseNewLongLShift -XX:+EnableVectorSupport -XX:+AlignVector -XX:+UseCharacterCompareIntrinsics -XX:+UseVectorStubs -XX:UseAVX=3 -XX:UseSSE=4 -XX:+EnableJVMCIProduct -XX:+UseJVMCICompiler -XX:+EagerJVMCI -Dgraal.UsePriorityInlining=true -Dgraal.Vectorization=true -Dgraal.OptDuplication=true -Dgraal.VectorizeHashes=true -Dgraal.EnterprisePartialUnroll=true -Dgraal.VectorizeSIMD=true -Dgraal.CompilerConfiguration=enterprise -Djdk.nio.maxCachedBufferSize=524288 -Dusing.aikars.flags=https://mcflags.emc.gs/ -Daikars.new.flags=true -jar {{SERVER_JARFILE}} --nogui
this is the picture with online ~ 70 players
and already globally there are TPS drops during cleaning
adding as much as possible flags doesn't fix your problem. I'd recommend to get rid of almost all of them and just set Xms, Xmx, and use generational zgc
as an example, UseStringDeduplication will definitely add overhead to your garbage collector, so unless you see significant benefits there, don't use it
- Use zgc
- You have 80gb of ram. Are you sure that is required for your use case with 80 players? (e.g. I can run 120 on around 35gb)
Hello,
Does anyone know how to resolve the following issue? I compiled the Folia .jar from https://github.com/PaperMC/Folia/tree/ver/1.21.7, but when I run it, I get the following error:
Downloading mojang_1.21.7.jar
Applying patches
Starting org.bukkit.craftbukkit.Main
Exception in thread "ServerMain" java.lang.ClassNotFoundException: org.bukkit.craftbukkit.Main
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:534)
at java.base/java.lang.Class.forName(Class.java:513)
at io.papermc.paperclip.Paperclip.lambda$main$0(Paperclip.java:38)
at java.base/java.lang.Thread.run(Thread.java:1583)```
I would appreciate any assistance you can provide. Sorry if I am dumb
GraalVM + ZGC
java -Xms40G -Xmx40G --add-modules=jdk.incubator.vector -XX:+UseZGC -XX:+UnlockExperimentalVMOptions -XX:ZAllocationSpikeTolerance=5 -XX:ZCollectionInterval=10 -XX:+UnlockDiagnosticVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+UseTransparentHugePages -XX:LargePageSizeInBytes=2M -XX:+UseLargePages -XX:+EnableJVMCIProduct -XX:+UseJVMCICompiler -XX:+EagerJVMCI -XX:+UseStringDeduplication -Dgraal.UsePriorityInlining=true -Dgraal.Vectorization=true -Dgraal.OptDuplication=true -Dgraal.VectorizeHashes=true -Dgraal.EnterprisePartialUnroll=true -Dgraal.VectorizeSIMD=true -Dgraal.CompilerConfiguration=enterprise -Djdk.nio.maxCachedBufferSize=524288 -Dusing.aikars.flags=https://mcflags.emc.gs/ -Daikars.new.flags=true -jar {{SERVER_JARFILE}} --nogui
I had experience with them, but the load is not much less, if I have incorrect ones, then where can I get stable ones?
did you read what I wrote
I'd recommend to get rid of almost all of them and just set Xms, Xmx, and use generational zgc
What gradle task did you use for building? Which output jar did you use?
I realized that you don't need a lot of RAM
where to get normal zgc flags????
-XX:+UseZGC -XX:+ZGenerational
java -Xms30G -Xmx30G -XX:+UseZGC -XX:+ZGenerational -jar {{SERVER_JARFILE}} --nogui
as far as I know it adjusts itself, but the previous server owner configured a bunch of things
yeah that should be fine
Is it possible to set more maximum RAM in case of a sudden jump in players?
a sudden jump in players won't necessarily require more memory, but you can set a soft heap size and increase the maximum
I used the runPaperclip Gradle task to build the server
does graalvm give any gain?
maybe, maybe not. But most likely not enough to be worth the potential problems
That's not the correct task, there should be a set of tasks under "bundling", iirc the name of the task is something like "create Paperclip Jar"
u should use generational zgc
they've already been recommended to use that by two other people
yeah i was late to say
java -Xms40G -Xmx40G
-XX:+UseZGC
-XX:+ZGenerational
-XX:+UseContainerSupport
-XX:ConcGCThreads=4
-XX:ParallelGCThreads=4
-XX:ZUncommitDelay=300
-XX:SoftMaxHeapSize=24G
-XX:+AlwaysPreTouch
-jar {{SERVER_JARFILE}} --nogui
Will this work as I intended?
the situation has become better, but I strive for more
what about -XX:+ZProActive
I haven't heard about this, I'll try it
nice
you don't need that
but setting Xms > SoftMaxHeapSize doesn't make much sense
and configuring concurrent/parallel threads neither
Got it, thanks
It's just that in my understanding, limiting the flows can save the situation with the load from the GC a little
java -Xms50G -Xmx50G
-XX:+UseZGC
-XX:+ZGenerational
-XX:+ZProActive
-XX:+AlwaysPreTouch
-XX:ZUncommitDelay=300
-XX:MaxMetaspaceSize=2G
-XX:MetaspaceSize=256M
-XX:+UseContainerSupport
-jar {{SERVER_JARFILE}} --nogui
This is the perfect option for 200+ players.
I just have doubts about
-XX:MaxMetaspaceSize=2G
-XX:MetaspaceSize=256M \
In the case of other servers where there are sometimes 300 and sometimes 50 players.
after all, there is a large amount of RAM and this did not interfere
I just want to be sure that there will be no crashes in case of shortage
for example during a peaceful raid when there are a lot of players
Server will not crash with a properly setup flags. Player count does not matter
but the folia docs page recommends configuring those?
You missed the context on top and bottom of that page.
there is a reason why there are 4 ?, and in contrast to some other GCs, ZGC dynamically creates and discards threads as needed to adapt to the load
netty io is important on high player amounts
I saw that. But i still found it confusing to state you completely don't need to configure those threads.
However "ZGC dynamically creates and discards threads as needed to adapt to the load." seems to be a valid point. (Didn't know/thought about that. I was Just wondering... 😅)
uh...
I am choosing a cheap CPU, I am looking at other options, there are only 2xcpu
But I think Folia not fully support duel cpu
idk
Low click speed
Clock
And is old
^
I think the ridge can be tested with a higher core count.
At least it should be better E5-2699Av4
I found out that they cost the same.
💀
please dont use e5s
on folia
😭
@peak adder you have been told many times for what type of cpu is good for folia. (I’ve checked your chat history)
If you do not have budget for a proper cpu (ryzen etc) you should stick with using Paper and get a shared plan with as much thread as possible.
I mean, EPYC 7551 would probably be fine for like skyblock or something
A setup where you can ensure each region only has a couple players in it
Each region is like its own Paper server and is limited by how fast a single core on your CPU is so however many players you could fit on a Paper server on that hardware is your limit for a Folia region
For that hardware I would assume if you have more than 5-10 players in a region and/or if they're doing expensive farms you'll have problems
how do i handle permissions in folia?
Luckperm
i just added it and it doesnt work
You have to use the one built for Folia
There don't seem to be builds for folia available on their downloads page, only their jenkins https://ci.lucko.me/job/LuckPerms-Folia/
dude, i guess u didnt see the builds at luckperms github repo
the latest jar at luckperms.net is also working
the downloads at jenkins is really old afaik
the last jenkins build is the same as the one you're showing on gh. And the pr is not merged yet, so I assume that it's not included in the downloads on luckperms.net
looking at the latest jar from luckperms.net shows no folia-supported: true in their plugin.yml, so in theory it shouldn't load
I used cloud dedicated or bate sometimes but not I have plan to rent cheap home server
Does each entity run on its own tick thread
Since it has its own scheduler
So for example; if a region is running at 15 tps, an entity could be ticking in parallel at 20 TPS?
Your answer depends on where the entity is
There are a bunch of tick threads. In essence, each tick thread ticks a part of the world, and also the entity schedulers for all entities within that region of the world. If there's 2 entities in 2 different regions of the world, their schedulers can run at different TPS
If the entity is within a region at 15 TPS
would it tick at that speed?
Yes
Why does it have its own scheduler then
See Jan’s paragraph above
Like right above you lol
.
read this.
If it ticking at the same speed as the region, then why would it need its own scheduler? Wouldn’t you be able to use the region scheduler to modify the entity?
each entity 'scheduler' is just a list of tasks
that is being polled by the tick thread the entity is on
Oh I see
by design I think this is the best, since a player can change region and the task would be fired in the region where player is not.
java -Xms50G -Xmx50G \ -XX:+UseZGC \ -XX:+ZGenerational \ -XX:+AlwaysPreTouch \ -XX:ZUncommitDelay=300 \ -XX:MaxMetaspaceSize=2G \ -XX:MetaspaceSize=256M \ -XX:+UseContainerSupport \ -jar folia.jar --nogui
Are these normal indicators?
GC
add
-XX:+ZProactive
with it I couldn't start it, it said it didn't exist
maybe I wrote it wrong at that time
I'll try later, there are too many people now
I had one capital letter (-XX:+ZProActive)
Thanks for helping
I hope it will work adequately
why ZUncommitDelay?
is there a good folia replacement for essentialsx?
there are forks of it that work on folia
also a lot of alternatives
but if you want essx just use a folia compatible fork
Ok ty :)
How to start up folia? Like just with the paper startup script but i switch the jar to folia one?
Cuz im tryna upgrade from paper to folia
Yes
But I'm wondering if it's the right choice for your use case, given that you don't sound like you have a lot of experience
Nah dw im good ik what im doing its just that i didnt find documentation
ok so
how do i display server performance stats well or like what is it i should display? like local tps and what else?
How do i disable coordinates showing in /tps in folia and is there a configuration file specifically for folia options?
ok so how do i make a patch
do you want to disable f3 coords?
i think its easier to just make your own custom tps command that gives you an average of all regoins
the /tps in folia gives you a lits of the 3 regions wiht the highest usage and where they are located at
ok i figured it out in luckperms u can disable it
he can disable the /tps command via CommandWhitelist plugin
or disable the permission at luckperms
he sounded like his goal was to make a command that displays performance informatoin but does not leak potential base *positions
altho his latest statement kinda defies that idea
oh
Hi, how could I make cross-servering between dimensions with portals? I have 3 servers, one for each world. Is there a plugin or something to connect the portals with the world?
You will need to find a plugin yes
wow
Hello, does folia allow to do horizontal scaling ?
it doesn't provide anything in that regard that isn't already covered by paper
It supports it to extent paper does. It doesn't implement it and you will basically have to do everything yourself
Custom World generation works on Folia??
i dont thinks so bec multiverse-core said its impossible
It works natively through datapacks
World loading can work if a plugin hacks around Folia's internal code in a way to allow this to happen, but this is considered unsupported
Can you recommend something for me?
You can do custom terrain on Paper and then move the world over to Folia also.
Is this plugin safe to use on a server with many players and many plugins?
We don't support it
Well, Folia doesn't offer a way to load and unload worlds at runtime, the supported way is to define your worlds as dimensions in datapacks
Okay
Worlds, PhantomWorlds plugins can handle your job for world management.
Phantom worlds doesn't work on folia
Their folia support is just setting folia in the plugin yml to true

Look at the diff
The plugin does work on folia but only through a lot of hacks around internals
i would consider it stable
yeah lol
But every folia update has the chance to brick something so...
Datapacks are probably more stable
🤣
Not wanna bash on the plugin but I doubt there was any testing involved
Added folia support
+folia-supported=true
and didnt got any exception
Which one?
its using folia library?
i guess, but still idk
these 3
No which plugin
phantomworlds
ah 😄
this explains my feelings to whole folia community
Canvas implements world loading / unloading api
yeah
canvas api fixed this and i be able to used it
otherwise managing worlds in folia is funny
im not gonna manage the worlds over datapacks/dimensions
But I mean I'm guessing there's some caveats to it
Since if it's actually fully stable, why not merge into folia
the dev hasn’t had the time yet to do it i assume
he wants to pr his fixes to folia
I see
I'm entering version 1.21.4 of folia, but only paper versions are visible.
scroll down the software list
It would be much better if it automatically scrolled down when we clicked.
We know
It used to, but that broke with the Next update 
That sounds like a perfectly reasonable idea and will not cause region ticking threads to wait for one another
Not necessarily, but doing this is most defenetly not a good idea. The core problem isn't that some data structures will break with folia, but that folia just doesn't implement the bukkit word loading api
Hi guys! Please tell me the optimal flags for Folia on this VM:
VM: 18 cores, 42GB RAM (maybe too weak for Folia?)
Java: open-jdk21
Host: 2x Xeon E5-2687W (16c/32t), 192GB RAM
ESXi 7.0
Server on 1.21.7 and online +-30 people
it would probably be worth mentioning that since he is using java 21, Generational ZGC is not enabled by default, I'm not sure how good non-generational ZGC is
GraalVM 24 with generational ZGC, Probably Folia fork can handle your job.
with these specs
I wouldn't recommend GraalVM without very strong reasons
We use Folia because it's interesting to test it.
Thanks for the information, I'll try your advice.
Is folia faster then paper for chunk generation
in a 1:1 comparison probably not
Hmm I see
question any way to turn on or enable the team command on folia or its just broken at the moment?
it's not possible to enable it
I swear it was 1.21.6 like 2 days ago
it got updated!
Does anyone know how to show global or local TPS in the tab?
there isn't really 'global' TPS anymore, theres the global tick thread, but its TPS arent really meaningful to players im guessing. We use https://github.com/Winds-Studio/Folia-Expansion as a PAPI expansion, it allows you to get TPS in a players current region aswell as 'global' tps
[PluginRemapper] Done remapping plugin 'plugins/Folia-Expansion-1.0.0-dev.jar' in 149ms. [22 [15]57 ERROR]: [DirectoryProviderSource] Error loading plugin: java.lang.IllegalArgumentException: Directory 'plugins/.paper-remapped/Folia-Expansion-1.0.0-dev.jar' does not contain a paper-plugin.yml or plugin.yml! Could not determine plugin type, cannot load a plugin from it!
it's for an old version, so it's possible to make your own plugin only based on it?
there are no other options?
that is a PAPI expansion, not a plugin
this goes into PlaceholderAPI/expansions
hmm, so I assembled it, so where should I put it?
see the message above
Understood
pterodactyl mentioned
Yo is there a pluginn for folia thst increases max speed of minecart?
Or some otjer way to do it
Can't you just "merge" so much regions that it just crashes due to watchdog or reaches a limit?
Not really
Watchdog doesn't really exist for regions afaik
but, yea, you could theoretically create an uber region so much so that you defeat the entire point of using folia, that's why the picture and many discussions try to make it clear of the limitation that exists
How to put datapack in server?
the minecart speed thing is a part of the experimental minecart datapack thing
it isn't something you put in the datapack folder
watchdog exists, just wont stop the server if something is deadlocked for too long
while server exit from deadlock, watchdog just sending a 500 line of death message
into console 😊
Hi, can I benefit from Folia on Ryzen 5 3600?
Thanks. For now I don't have a large number of players, but in the near future I expect to have to handle more than 200 people. If I understand correctly this CPU is enough to run the game for 50 people, and later just move my setup to better hardware and it should increase the server's capacity (ofc if I increase the region thread count first in the config)?
sorry for typos, I'm on mobile rn
200 with a better hw
realistically how many players can a r5 3600 handle?
my proxy is already outsourced on a separate machine
what do you mean by 💀?
Well, I manage it, but it's on a separate machine
I expressed it incorrectly
how about this with folia being the only resource-hungry app on the server?
With 6 cores you're not really taking advantage of folias capabilities
Even with region thread count manually increased?
And how does Folia (or Java) handle servers with multiple physical cpus on the MOBO? Does it just work like more cores?
Well then you just have a bunch of virtual threads on the same core
Folia runs with the expectation that you have extra threads for dealing with stuff like chunk loading and management outside of the region threads ticking; There is a pretty sizable resource usage increase mitigated by the fact that it can take advantage of more CPU threads (i.e. pipelines)
increasing the number of pipelines the game is trying to use (region threads) without increasing the number of CPU threads you have, just means that you stand closer to a risk of overloading the pipeline; where the numbers need to sit for your game play, etc, can vary drastically
The stats/recommendations for folia are generally around a level of assumption that if you're using folia, you should have or be a dev able to patch stuff, and have the income to splash out as needed, not be trying to squeeze as much as you can out of older hardware; Not that you can't, it's just not a situation that the general usecase is tailored for
Well, I am experienced enough to create most of the plugins for Folia on my own. I have also ported several public (incompatible) ones to Folia. So the first recomnendation is already fulfilled. The "income" part is a bit more conplicated 😆
iirc Folia is backward compatible, so if I already have a server fully compatible with Folia, I can start with Paper, collect the required funds and later on better hardware just replace the server's JAR file?
but that way, when I notice Paper can't keep up, I can easily migrate to Folia anytime without worrying about plugin compatibility
Yes, true
it will, but the gamemode affecting the performance directly.
may i ask for the gamemode?
it's SMP, so players will be spread all over the world.
oh.
i dont think raw folia can do the things that u need. my thoughts
u can look on canvas and other forks, just an suggestion not recommendation.
i would still avoid at this point for using r5 3600 for folia.
Is there a working worldedit for 1.21.8 folia
im using a fork and it does work but i have no clue where i got it make some research on github
A Google search, and it's there in a few clicks.
How to allocate more threads as tick threads? Currently it only is using 4 threads i think and i have a 16 core cpu
Wait is folia already released?
There are downloads on the website, yes, but it's still at the same level of "release" as it's been for quite a while.
whats the gradlew command to create a mojmapped jar?
the output of ./gradlew tasks has all the answers
ahh thank you!
does the 1.21.8 version of folia have the change that all loaded chunks are randomticked regardless of player distance?
Isn't that vanilla behaviour?
Does Folia have any known issues with Java 24 or GraalVM? I am getting failed main thread checks on a brand new and bare server while it tries to do the initial world generation
no this happens from time to time, you have to delete your world and try again
Hm, it appears to be consistent, but I can try again
Looks like you are right. It took quite a few tries, but it eventually managed to start normally
This is an error I get from time to time on the first installations of Folia when I use run-dev during my tests.
It might have been exaggerated by the fact that I'm booting 3 new servers in parallel
so every time I upped my container stack, at least one server crashed
There is a loosely known race condition or something weird there, no idea if anybody has ever actually reported it
Yeeting the worlds and trying a few times might help
I've noticed this happens when the player's spawn chunk in the world isn't actually in the center of the world, but I haven't done any more research than that.
The thing hits a random pos and then scans from there
I wonder if folia makes some assumptions around where spawn is
repo down repo down
yes
sorry 1 more question but does ender pearl chunk loading work?
about to start a new season and would just like to know, if so how would one prevent that
Folia has shutdown thread and it should have a generation or loading thread and only when world is fully generated/loaded switch to region scheduler
hello friends
is it a bad idea to fork folia & force each world to be 1 region for a skyblock server?
currently ChunkAccess#fillBiomesFromNoise is omega killing the server, but I figure I'd ask so I stop before I go too deep down the rabbit hole
It's mainly that it would be extremely heavy if there are more players, and unloading world is not supported.
well the main goal was to use folia to be able to support a lot of players
estimate of 500+-
unloading world we can figure something out about that, we just figured each world ticking in a separate thread would be better than plain paper for this
after you can put a very large distance which separates the islands
well actually
this would technically split each island into its own region, right
Yes
This is what we did on our server, each island has 5 distance region files for 1 island per region folia
mind if I ask how many players you held?
all entities we would handle ourselves so they wouldn't need to be ticked, we will probably strip the jar down quite a bit
I'm just not sure if it's a better idea than just using plain paper
but i think it is
We reached 500 players at the start of the server, we had to upgrade our server to a 224 core CPU.
In fact, we had 64 cores which was not enough, so we upgraded and everything is fine, I think we can hold 1000 players
where does one even find a provider with 224 core cpus
I don't know, on my server, we bought the machines and put them in a data center
Np 
This wouldn't really make sense. Making it "one region" would basically make it a Paper server.
So you'd be better off using an instance of Paper.
I mean, each world would literally already be a single region jsut due to how the regioniser works
You'd have the advantage of parallisation of world ticking but some level of overhead for each world, and would need to figure out a solution for the whole un/loading worlds thing
we have already figured out unloading
smells arm'y maybe?
well our main goal was to avoid having to shard
& to maintain 2 versions of each module
since we already have an ongoing prison server
oh, no, I forgot x86 was there with dual CPUs
figured going for single-world would be smarter since world unloading wasn't supported but
FeatureHooks.closeEntityManager(handle, false);
handle.levelStorageAccess.close();```
this seems to do the trick at a first glance at least
I saw some people having some issues where it looked deceptively easy but led to stalling out the system on actual servers, so much so that it needed actual patches to folia, but 
are there any known issues with cactus growing on folia?
BTW it's often better to describe your actual problem rather than asking questions like this. I'm guessing you're not asking about this just to be safe that cactus works properly but rather to figure out your issue
Hi, is it possible to create a plugin for Folia that generates empty worlds?
I want to create a minigame plugin for Folia.
Is this your issue?
https://github.com/PaperMC/Paper/issues/8544
colocation explained
https://mcpaste.io/bf00fc976c447eb2
is this because the player teleported to another world too soon?
A easy to use Paste site for Minecraft Server logs.
Probably
The server is highly sensitive to where you teleport players, in a single threaded server you can mostly rely on nothing too bad happening to pretend you didn't just cause some oddball side-effects, on something like Folia, it becomes a whole lot more fun
i see ty
hey is there a list of plugins that currently work or is every trial and error
plugin authors can choose to mark their plugin as supporting folia on hangar/modrinth
for a skyblock public server estimate play count around 100-200 is folia or loofah a better server jar?
I have never heard of loofah, but considering this is the Folia channel, people will probably recommend you Folia.
it's a modded with plugins
Then I'd definitely recommend Folia
Server jars that attempt to allow for both plugins and mods have never worked well
true
mohist aah solution went wrong last time
Why is this
The API design of the server is not very extensible in many areas, so once you try to add new blocks, items, entities, or even modify existing ones, it becomes very hard to also maintain plugin compatibility. So you run into the issue that either plugins work correctly, but many mods don't work, or mods work correctly, but then many plugins break.
opinon on this then
Sponge was made with the idea of mod compatibility in mind
so that likely works better than any Bukkit-based attempt at it
Loofah is still newly started and HEAVILY WORK IN PROGRESS. At this point the game launches on both client and the dedicated server but opening worlds on clients crashes and players can't join the dedicated server.
Hello everyone, i have question. How i can check right clicked on player?
#paper-dev PlayerInteractEvent
PlayerInteract haven't func for this, or I don't find it
Ty, I will see it
I seem to recall reading somewhere that PlayerPortalEvent is broken on Folia. Did I dream that?
Looks like it's in the readme
Any workaround to catching a player about to teleport to a different world?
EntityPortalEnterEvent
but its executed even when an entity touches the nether portal
so you have to add throttling or otherwise the method will be executed every tick you are touching the portal
Ah, okay cool. That's doable. I was imagining scanning all player positions on a timer as a backup, but this is cleaner
Want to use Folia for my upcoming SMP just so that when we have events on the SMP and get a lot of players (100-200) the server doesn't crash or anything. Should I used Folia for this case or no and just stick with purpur?
map probably 20k by 20k
wrong message
ty
Probably will start with no folia
and expand to folia if we get too big
I know that folia needs a lot of threads to work well, but what does it actually do with all those threads? A paper server is happy with just two threads (given reasonable player loads and plugins), but afaik a folia server with three regions would need more than 6 threads.
there just isn't much benefit if you use only a few threads
Well it needs threads for ticking the world, plus all of the threads paper would need, I.e the chunk workers and netty threads. You could have 3 regions with 6 tick threads it's just not that anyone Is expecting you to run folia with 3 regions
On the foila website it asked for 16 cores so what server host allows you that many
pretty much any host that gives you a dedicated/root server
can i make a test server for folia only 1 person if i have 6 cores?
I am doing sky block with multiple worlds
So if I get 16 threads that should be enough?
if you really need it for 1.21.1 then you can just build it yourself but don't expect it to be stable
there is a branch
thx
Build explorer for PaperMC projects. Proceed with caution!
this is paper
I mean that page literally doesn't list folia 1.21.1 so...
oh yeah my bad.
idk why would you use 1.21.1 though especially on folia
use latest unless you gonna fork that version
Well it says online 16 threads doesn't equal cores but server hoster isn't telling me how many cores 16 threads is
then you might want to use a better host
Ok
has to be at least 8 cores for 16 cpu threads
But that doesn't really mean anything
if you have 16 dedicated CPU threads, that's all you have to worry about
Hey there, apologies if this question has been answered a few times already. However, is there a chance to make Folia generate more regions?
As of now, it appears we're locked to around 3-5 regions despite me lowering the grid-exponent. For context, we are on a 8x8k pre-generated map.
8x8k is pretty small
What would a recommend map size be, for reference?
I assume it's time to go big or go home next time 
167 players but only 3 regions
you have spread players more and 8x8k map isnt enough at all
Yeah, I'm aware
Then the answer is no - if players are too close the regions will merge. You can’t force more. Folia wants large maps and player spread.
Thanks alot 
How are the regions decided
We are experiencing intermittent issues with certain regions not responding.
We are using Folia 1.21.8, and we know that this is caused by some kind of plugin.
However, it is difficult to investigate because the error does not specify which plugin is causing the problem, and we do not know when the error occurs.
https://pastebin.com/raw/UCxu2zwU
Does anyone know of a good way to investigate this?
datapacks can't modify the default components of items, if that's what you're suggesting
a plugin would more suited to modifying items like that
when mspt>50, does it change behaviour of entities? will minecarts move differently?
They will move slower
i mean slower per each tick, not per second
thank
Hey guys, I’m testing Folia (build 3 for 1.21.8) and noticed something strange.
I split my server into 3 regions. In the first region I spawned a ton of villagers. What’s odd is that when I check CPU usage, only 1 core is fully loaded (sometimes 2-3 cores spike for a second or two, then go idle again). I tested this on both my 8-core server and my 12-core PC same result.
Is this normal behavior for Folia right now, or is something wrong? Shouldn’t the load be separated between regions/cores instead of sticking to one?
iirc on sub-16 core cpus the default allocation for tick threads is only 1
Yeah, you’re right I checked my paper-global.yml and it had threads: -1 so it was defaulting low. After setting it manually my regions actually started spreading across cores.
Pretty sure it wasn’t GC the load was stuck on 1 core the whole time until I fixed the config. Now it looks way more balanced. Thanks for pointing me in the right direction 👍
does sand duper work on folia 1.21.8?
@dim merlin i enabled the setting
and still it doesn't dupe the sand
it is an unsupported setting so ...
ok don't help if you don't want
Don’t randomly ping people asking for support. The config is provided as is as NonSwag already told you.
i didn't ping randomly
he responded me in another channel and told him here so i don't crosspost
iirc some machines still just don't work but some do?
Or you might not have actually changed the setting, depending on when you did it and what hosting solution you're using it might have been changed back or ignored
Is this normal in folia?
Server works fine actually, but the main server thread is at 100%
yes
Would folia be good for a practice / 1v1 duel gamemode where all arenas are in separate worlds
if you want to load and unload said worlds on the fly, no. otherwise yes
What if the arena have a distance between each other
so long as the distance is enough, sure
Okay
im a bit late to this but yeah this was the issue
i just made a patch to fire a CactusGrowEvent and not actually make the cactus itself grow though
as my goal was to implement chunk hoppers, so problem solved:P
if you hover over the i circles you'd also see an explanation for that
Yeah i do run a practice server on folia but arenas are in the same world with a enough distance to have their own region
Any improvements over paper?
we still havent launched for everyone its under beta and we are testing with 20 to 30 players and so far everything is going well the main goal is most likely to handle more players so if you dont have a high player count i dont think its necessary to use folia but if you do i would suggest to build your server on folia
I work on a practice core and wanted to know if it’s worth adding folia support
at first i made arenas and spawn in a different worlds and had issues like this ^ so i moved everything into same world + made 5 spawns so players could spread between them
What's the best host for running a Folia server? Considering THE POWER OF MULTI-THREADING, obvious choices like PebbleHost go down the drain
if you have enough customer base for that sure
Yeah some want it but I was unsure if folia would even be a great choice for duel servers
i was looking for a folia supported practice but theres none so had to make one from scratch 
Damn
if they have more than 200 players i would say yes also how does your core regenerates arena?
Right now I don’t even regenerate arenas as I generate a copy of the arena on match start
pebblehost has dedicated servers just get 9 7950x
The code is open source
oh you are the dev of neptune lol
Yeah
It's 140$ for a month
https://github.com/TitanPowered/Gaia
im using that open source plugin to regenerate arenas. had to fork it though since it had issues with folia but you could check it out
i mean you could get a lower cpu but for folia atleast 16cores are recommended
Thanks I will check this out
I want to experiment first, build a foundation to then host to a lot of people (200 players max). Will it be simple to upgrade hardware when I finish the setup of the server itself on a budget plan of PebbleHost?
Try to build a community and ensure you actually can sustain and have the income for big machine first. 99% of server don’t survive first few months
A 200 player max can run at paper or kind of forks of it, you should use folia if you are having 200 above players
Pebblehost is a bit expensive, find a cheapest host with the same specs and trusted/registered company.
That depends. E.G we were only running about 100 players but with many players having massive villager farms and even more massive farms, which often brought us above 50mspt during peak hours, and hence got a great advantage from switching tonfoliab
it can be optimized in paper, but no one will stop you using folia as long as you are using it right, paper have more plugins compatibility.
and i suggest him to run paper because he doesn't have enough funds to run a good machine for it.
Keep in mind that all of those 200 players will be exploring the world and making a lot of farms, so that's why I want to make my next server a Folia server. Paper just didn't cut it
that's why I tell kind of forks of it, not a normal paper without optimization can handle it but yeah it will lag
but keep in mind you will need a good machine if you ever will use folia so make a good decision
it depends, a default will look like that, you need to adjust it since he doesn't have enough budget, that's the only way he have
if you have good enough money for machine, go for folia
if you dont, then stay at paper 
Doesn't multi-threading help in normal machines too? Like, 8 cores and such?
In general sense yes, in Minecraft context, if your machine is below spec, running folia is just adding extra overhead.
Then I am definitely going with Folia! Thanks!
Hey
Someone have alternative of multiverse for folia ?
Who can upstream Folia to latest Folia
PhantomWorlds
PhantomWorlds vs Worlds ?
Never heard of Worlds
okey thanks you dude
MoreFoWorld
Cant import and load world
do you actually need MV or are you using it just because you think that's the only way to add worlds
cus I'm pretty sure you can just do it with datapacks
im using Worlds and never had a issue
ye im using this
PhantomWorlds is not working with stock folia.
Worlds is workable with stock folia.
Does anyone know if there's a workaround for this: https://github.com/PaperMC/Folia/issues/372
Since save-all is disabled I can't force map data to save. For reference this is seemingly still an issue in the latest folia release, but my current version is 1.20.4.
yo anyone got the link for luckperms folia build?
what would be the better CPU for folia?
- Ryzen 9 7950X3D
- Ryzen 9 9950X
2 would have more "raw" performance, while 1 has 3D-Cache. Is 3D-Cache good for folia?
3d is pretty much useless in mc
9950X would be a much better option
yea either the 9950X or possibly going into epyc/threadripper territory
but isn't it better to use a Ryzen 9 because of the single core performance? or is that not as important on folia?
on Paper single core performance is everything, as everything is ticked on that one single core
on Folia multicore performance is everything, as provided your game world is optimal for Folia (if it's not, go use Paper lol) then the ticking is spread across multiple threads
what would you rather
32 threads
or 64 threads (but each thread is 25% slower)
the 64 threads for folia are MUCH better
if Paper, 32 threads; if Folia, 64 threads.
I think he was more so making a point on what choice you would make for folia, rather than asking for help on which is better. for paper 32 threads would be overkill, no?
ehhh depends
if you get that on a CPU that's high single thread anyway, won't hurt
and it's useful for things that are async such as chunk loading
as well as some plugins that may be able to take advantage of multithreading
also you don't necessarily need to give Paper all of those threads, you can use them for side services which may be needed
such as a database, redis, proxy, website, wiki, etc
Single core performance still matters, if you never have more than 1 player in a region why bother making them all play on the same server so you're going to need to care about the performance of single regions too
It's less important because you might only need to care about regions having up to 20 players (really past that your game design has failed to take advantage of Folia) but you still shouldn't run Folia on one of those Atom-based Xeons
Sound sound = Registry.SOUND_EVENT.get(new NamespacedKey(NamespacedKey.MINECRAFT, soundName.toLowerCase()));
``` why is this null when "soundName" is "ENTITY_ENDERMAN_TELEPORT"?
because it is entity.enderman.teleport
bruh
i use the latest version but its also doesnt work
1.21.5 is not the latest version
provide logs of it happening on the latest version
The problem is also on 1.21.8-5
what happens when you try starting your server without plugins like Worlds
the same problem i remove any plugins
one thing i do before idk 1h i delete world file bec i need to reset, is this maybe a problem?
the plugin itself tells you that it's highly experimental, because folia does not support loading worlds outside of using a datapack to do so
but it works the last 3 weeks
if you could get a log of it happening without any plugins then that'd be useful
my friend created a new world on 1.21.5 and we paste it in my other server
it works now
Are there any plans to support it?
i would be guessing so. especially if you want to create worlds on the fly, a datapack is usually not the nicest option, curently you have to rely on forks for properly implemented apis
i dont even know why i put that warning there
people dont read anyway 😄
Is it really recommended to use 16 threads? Or it can work with like 6 too but not as good? Or it would have issues?
it will work but might be slower than paper, or generally just not worth the additional complexity and limitations (e.g. regarding plugins)
Thanks!
By experience I can say even in folia, single thread performance should be keep in consideration, there may be situations were players while moving causes region mergings and in that case a single thread performant cpu will save the region tps. Predicting players is difficult.
Where exactly can I set the utilization higher, i.e., allocate more power to Minecraft?Where exactly can I set the utilization higher, i.e., allocate more power to Minecraft?
he means that
ok nvm we have already fixxed it 👍
config folder / paper global
threaded-regions: threads: X
How can I make that Folia use less RAM?
By allocate less ram via your JVM flag
It is governed by the Xmx flag
Thanks!
okay, and how much would ram you recomend to use?
It depends on the server. Especially with Folia there’s no great answer easy for that.
Alright
Folia is really hard to configure. We’re running it on a Ryzen 9 7900 with 120GB RAM and a 1TB disk, and we need help setting up the server YMLs, like IO and Worker threads, and other performance-related settings from Paper.yml.
Our current startup command is:
java -Xms2G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dterminal.jline=false -Dterminal.ansi=true -jar server.jar nogui
If anyone can provide guidance or recommend better settings, we’d really appreciate it. 
paper-global.txt by @lost vessel: https://pastes.dev/9jSNtU07wy
paper-worlds-default.yml by @lost vessel: https://pastes.dev/I0QCEd5pN8
is that a better configuration
no, its just an uploaded version of your file for easier view
ok thanks!
also in regards to io and worker threads, there isnt really a big difference between folia and paper. but folia is pretty new and there isnt a lot of public resources regarding configuration, you will most defenelty have to play around with it yourself. also id recommend using ZGC over G1GC, especially with 120GB ram (what server are you running?)
Ryzen 9 7900 or what you mean?
from looking it up, that thing has 12 cores, which is okayy, but not optimal for folia
i didnt mention hardware in that message at all
Sorry, I misunderstood that.
no worries
but in any case you are probably going to have to try around a bit. if you have a question regarding a specific part of the config or how it will affect a folia server people will likely be able to help you, but i doubt someone wants to look at your entire server config, without knowing the details of your server type, and look for potential issues
Yes, I think so too, but it doesn't hurt to ask. But thank you very much for this helpful tip!
Np
yeah most defenetly
or well
again really depends on your specific use case and configuratin
but as a general rule of thumb, probably
The arrow doesnt hit the target sometimes while the target is moving on the latest folia. 0 plugins btw.
I think it's this issue (Paper too):
https://github.com/PaperMC/Paper/issues/12200
It's affecting every server that uses Paper currently and is pretty annoying
I don't really know where to look for a fix
yeah especially on my practice server
does "Utilisation: 130.9% / 400.0%" this mean i only have 4 threads going?
yes
my system has far more cores, how would i increase this?
Paper global config, do note that it's intentional for the the tick thread count to be far lower than the total core count, because there's way, wayy more potential threads that'll be used
right but i have 16 cores, i want to use at least 8
paper global, got it
do you know the keyword?
Not sure, probably has "thread" somewhere
grid-exponent: 2
threads: -1
``` this is the only part that i see that has that
yes
i assume i change -1 to 8?
Yes
thanks so much!
Hey, how can i enable the spark-profiler for my folia server?
You need to grab the folia build from their CI server
ohh, so the bundled one that comes with paper doesn't work on folia? I was wondering a lot, since i didn't disable it but it didn't work 😅
just grab the folia one and you should be good to go
Is it possible to reduce the merge region size/radius ?
Not really, the smaller the regions the more locking overhead and they can't get smaller than the range of MC features
Implementation variables: The implementation variables control how aggressively the regionizer will maintain regions and merge regions.
There is a grid exponent configuration option which is exposed
That's what I'm looking to experiment with, there is no easy way to modify thos implementation variables ?
Well, they're implementation aspects, you would need to modify the implementation
Ok, thanks
The grid-exponent setting is either already as small as you can go or almost as small as you can go
if vanilla features access outside of the region, stuff iwll blow up; that is generally why the min region size is what it is
You certainly won't be getting regions down to like 400 blocks or something
So if I get that right, the default int gridExponent value is 4, which means a default region would be 16x16 chunks ?
And lowering that is not feasable ?
I've not done the maths, I have no idea how that works
Just seen it was changed from 2 before to 4 in recent versions, wonder what caused this.
2023
recent
So Folia says it recommends 16 cores, what happens if you run it on hardware with less?
The recommendation is partially set based upon the economical expectations of using Folia
you could run it on 1 core, you'd just have less resources to gain from
(and with the overheads, it might even run a fair bit slower than paper)
What would you say about an 8 core cpu where each core has one thread?
So 8 cores and 8 threads
nothing changes in what I've said
Do you think that would benefit from it? In my opinion, it's worth it even if it only benefits a little bit
How much value you get out of said hardware is going to depend on your server setup, can't really provide much more than the genric plataitudes we've provided for the past few years over this topic
We'll it's a survival server where everyone is thousands of blocks apart. So I know folia is the right pick for it, I just don't know if the cpu would be good for it
The number of cores is only one factor
Chances are it will be better than paper in those cases, that just ignores the other half of the equation there
What is the other half of the equation?
The expectation that if you're dealing with folia you have the resources to throw around on suitable hardware and some devs
I just do all of the developing myself and the cpu is already prepaid for more than another year. It's just a side project
How much usage each region has, how many packets they produce in general, if you'll run other things on the machine, the memory usage which then causes possible considerably gc overhead, etc etc
Well I run the proxy on the same machine and one small other server that only catches people when the main server restarts
I'll be honest. In donutsmp our experience has mostly been:
You will experience real improvement if your region has lots of players(like our rtp zones)
But you will have more cpu power if there are lots of farms that use a good amount of cpu so here more cpus are better
But then if your machine has more cores with slower core frequencies you end up with a higher latency for netty pipeline in general
Yes it's a vanilla server that has high mob rates, spread out players, afk alts at large farms, etc
It's more of a depends on your workload and what you find acceptable
But generally pvp performance is a one way road so
What do you mean?
Vanilla server with high mob rates and large farms
Or very good pvp latency
Usually you won't achieve both on the same cpu
At the finest level possible
There'll be a mid term
You can fit lots of spread out players with massive farms on a high core count box
But you'll have small but extra latency on lot of operations so you won't have massive player count areas on low latency or (mspt) if you want to call it
Fast cpus usually not have too many cores so
If you have 16-32 farms that are using a lot of resources and all on different regions, you see where you're getting?
Capping cpu
Hey, is there a folia version of vault?
wonder if anyone actually working on this its a big issue on practice servers.
I'm trying to compile a simple test plugin, but every time I try I get something along the lines of
> Could not find dev.folia:folia-api:1.21.2-R0.1-SNAPSHOT.
Searched in the following locations:
- https://repo.maven.apache.org/maven2/dev/folia/folia-api/1.21.2-R0.1-SNAPSHOT/maven-metadata.xml
- https://repo.maven.apache.org/maven2/dev/folia/folia-api/1.21.2-R0.1-SNAPSHOT/folia-api-1.21.2-R0.1-SNAPSHOT.pom```
I'm at a loss for where I'm supposed to grab the folia version from
Also this is my very first attempt at minecraft plugin development (im a software dev for work though)
So in the gradel build, in the dependencies, compileOnly 'dev.folia:folia-api:1.21.2-R0.1-SNAPSHOT' This isn't needed?
I've tried with every version I can think of past 1.21
why doesnt command blocks do anything on folia server?
there is enable-command-block=true is server.proterties
but when i try to use command block, it literally does nothing
it doesnt say "command blocks are disabled on server"
https://github.com/PaperMC/Folia/issues/387#issuecomment-3168217593 ok turns ok they are disabled
Hey all, i'm trying to setup a test server with folia, but it seems only one out of the 2 cpus is being utilized, ive tried changing some things in the .yml without avail
go in paper global and in threads
change the value
to what you desire
Thanks, i will try
how do i get folia 1.21.4
by downloading it in paper website
it's really not recommended to run outdated versions on folia, but if you insist
oops, ignore this one
tha jar name is paper
you need to scroll down on the left to folia
okay thx
1.21.4 was not that old 
It has less to do with Minecraft version and more to do with Folia improvements and bug fixes.
You don’t want to run an older version of Folia.
How can I use placeholderapi on folia?
I don't believe PlaceholderAPI supports Folia, so you can't.
they do support it nowadays (since July) but haven't made a new release for it, you can get it from https://ci.extendedclip.com/job/PlaceholderAPI/
hey, i was wondering if anyone knows an alternative of spark for folia?
any good folia supported prometheus exporters in 2025?
If there is a issue with it, i will look further away.
anyone had issues with mobs not despawning at all
Please post a link to the spark report, not a screenshot.
Hi, when my Folia server has a lot of players (+1100), it doesn't let anyone in and instakicks. Is this due to something wrong with the Folia/Paper configuration that I need to adapt?
You would need to work out what packet that is
I would be surprised if the tab list stuff just wasn't designed to handle that
How can I find that? No errors appear in the client, proxy, or server logs.
There is no trivial way to find that out
protocollib listener?
I mean, it would probably more require modifying the server software itself to inject that information
or some other form of hackery to pull off
Oh, could probably slip something into the packet encoder
it would be great
I mean, I'm not going to do that
yeah yeah, I know haha
how to use Folia NMS? I just want to know the MSPT of a certain region. I think ServerWorld.regioniser can help me with this somehow, but it is only available in Folia NMS.
hi, have you solved that?
I have this happening on the Paper server as well. The trouble is with your big ping
it happens with all players and the average ping for players is 20. its not ping related
Nah
Is enable-jmx-monitoring=true broken/disabled for Folia? https://docs.papermc.io/paper/reference/server-properties/#enable_jmx_monitoring I am only seeing averageTickTime and it is stuck at 0 consistently, and tickTimes don't appear present at all.
thats very much possible given there is no main thread to be profiled for tick times
each region has its own tps
https://github.com/PaperMC/Folia/blob/7a1c5c7c7c86a0071654e03d7bf82120d113ef38/folia-server/minecraft-patches/features/0001-Region-Threading-Base.patch#L8724 Yep it was removed. It would be neat to have the different regions' TPS be exposed as individual tick time metrics. Alternatively, documenting that the JMX ticktimes and averageTickTime are both disabled on Folia would be helpful for future folks I'm sure
I've added a ticket for updating or at least removing the exposed JMX monitoring metrics https://github.com/PaperMC/Folia/issues/398
Hello! I have a question regarding tnt behaviour when pushed through nether portals.
I dont know if its the servers specific plugins/config that change that, or what. But tnt loses its momentum when pushed with a piston and slime block (thus breaking farms like portal based obby farm)
How do i folia compile plugins
don’t crosspost
Could not HEAD 'https://repo.papermc.io/repository/maven-public/dev/folia/dev-bundle/1.21.6-R0.1-SNAPSHOT/maven-metadata.xml'. Received status code 500 from server: Internal Server Error
I use paperweight-userdev. This happens when the plugin is compile with paperweight.foliaDevBundle. Am I the only one with this problem?
I'm in the same bug. I have a release at 6 p.m. CEST today, and I need to be able to compile my project by then. Both my CI/CD and my PC are showing the error. Could you please restart your repo server or look into the problem?
Could not HEAD 'https://repo.papermc.io/repository/maven-public/dev/folia/dev-bundle/1.21.8-R0.1-SNAPSHOT/maven-metadata.xml'. Received status code 500 from server: Internal Server Error
So I'm not the only one
use gradle build --offline. It helped me
soo paper repo still down?
yes
Hey, is it recommended or required to set a fixed number of threads for the different tasks in the config manually, or does the default -1 generally do a good job at managing it automatically as a baseline?
Apart from that, any other basic recommendations? As launch args, I currently simply have matching xms and xmg as well as generational ZGC.
@acoustic garden I don't provide 1:1 support
oh sorry
Do you think you could help me configure Folia correctly?
I think I have too many chunks in each region.
You have 134 players in a region
I know, my survival world is 50k x 50k and the spawns are separated into different servers. The problem is that there's a streamer with a lot of viewers who are concentrated in specific chunks and are lagging that region. Having 14k chunks in a single region seems excessive to me. Do you think I could lower the grid in the Paper config? Does it affect CPU usage a lot?
It's nothing to do with chunks
it's all to do with how close players are together
there is the grid exponent setting but it's not going to help if all of your players are close together
So I understand that this region is doomed to lag, right?
Correct
Hmmm, interesting. Thanks!
9k entities seems like alot for 134 players as well
its not really out of the ordinary. we have 20k+ entities with 120 players
iirc one of the main problems with that was that if you have players within a tick region, entity update packets, players pushing each other etc. will rise with the square of the amount of players in that region, and the ticking thread will quickly get overwhelmed. You can split your spawn into multiple 'virtual' regions, where each regions keeps some players and spawns fake players for all other players, that gives every player the visuals of having all other players there. comes with the disadvantage that you basically have to disallow most interactions between players within the 'spawn' area, or put a lot of effort into making that work properly without dupes
20000 entities in one region is insane lol
Is it normal for my Folia server to crash with 400 players?
How should I set it up so it stays at 700 players?
I wanted to use Folia for a custom survival
show the crash report
with no doubt
mspts reach 2000 lol
what hardware are you using? any spark profiler?
AMD RYZEN 9 9950X - 16 c / 32 t - 4,3 GHz / 5,7 GHz
RAM
128 GB DDR5
use zgc flags
which?
in jvm startup
looks like your struggling in gc
outdated an offline mode lol
oh yeah update to latest
We don't support offline mode servers here.
And yeah, you don't want to run 1.21.4
mb i didn't see offline mode
OPSSSS
why not :(
. . . what?
nothing
well you would need to ask support in another server because paper doesn't support offline mode server
you gotta follow the rules
See rule #7 in #welcome
hey, can someone help me get configurate-core to install? i keep getting this error:
Could not find org.spongepowered:configurate-core:4.2.0-20250225.064233-204.
Searched in the following locations:
- https://repo.maven.apache.org/maven2/org/spongepowered/configurate-core/4.2.0-SNAPSHOT/configurate-core-4.2.0-20250225.064233-204.pom
- https://repo.papermc.io/repository/maven-public/org/spongepowered/configurate-core/4.2.0-SNAPSHOT/configurate-core-4.2.0-20250225.064233-204.pom
- https://oss.sonatype.org/content/groups/public/'/org/spongepowered/configurate-core/4.2.0-SNAPSHOT/configurate-core-4.2.0-20250225.064233-204.pom
- https://jitpack.io/org/spongepowered/configurate-core/4.2.0-SNAPSHOT/configurate-core-4.2.0-20250225.064233-204.pom
Required by:
root project : > dev.folia:dev-bundle:1.21.4-R0.1-SNAPSHOT:20250613.215508-3
That snapshot version was lost during the repo migration
wdym lost?
can i get it back?
you should be able to add an exclusion to your project to not pull that dependency in
jmp said about it somewhere iirc
so i should add an exclusion for that library specifically?
yes
jmp said --refresh-dependencies might work?
For paper
ah
folia would need updating to pick up that fix
if i get the dependency sent to me by someone who has it, would that fix it?
I mean, you would need it in a maven repo where it can resolve it
i'm pretty new to maven and repositories in general, but can't i just put it in the directory it's expected in and gradle will pick it up as cached?
it's expected in a maven repo, idk how you'd manually slap it into the gradle cache structure
ok yeah i couldn't get this to work
how would i add an exclusion?
not sure exactly
the exclusion needs to be applied to a specific configuration so you'd need to get that and add it to that
is /data disabled in folia?
why?
probably because it allows modifying state across regions and its more trouble implementing that than its worth. Especially given that is something used mostly by datapacks anyways
oh alr
It didn’t actually exist in our old repo, I assume it came from some random other repository that we used to proxy
Can someone edit the ClickVillager plugin so it works on Folia for me?
The owner needs it for a large earth smp that wont be starting in that long
This isn't really the place for that kind of thing. You may want to check out like HelpChat or something to see if you can find someone who'd do that. It's linked in #community-guilds
Post a spark report please
you can lower the delay from 300 to 11 since the spark is just for configs
Yeah that server is so inactive I wont get any help anytime soon
I kinda need it converted asap
I wouldnt rely on hoping to find someone in some random support chat. if you are making a 'large earth smp' (especially on folia!), you should probably have dedicated developers that can do this sort of thing
Im not the one hosting it
But the owner wants me to find a way to get it on Folia
And its also not a large large server
It has like 300 people
Its a revival of a dead smp
Like I said - this isn't the place for that.
...
We don't want people hiring services inside of our discord because then we have to moderate it and we would rather not do that; we ask that you take such requests to a place which has said that they're willing to do that
To which you were already directed.
Are all datapacks disabled in folia? Because apparently there’s a distinction between datapacks that use .mcfunction and datapacks that just alter the registry. Registry datapacks are only processed on init, which doesn’t seem to be in contradiction with folia, as far as I can tell
But I only learned about registry datapacks today so idk
Command functions are disabled because global state
So are you saying datapacks with command functions in them are disabled?
Or are you saying all datapacks are disabled because command functions are in datapacks?
Or are you saying that only command functions in datapacks are disabled and otherwise datapacks should work fine?
I'm saying that command functions inside of datapacks will not work
what is mean by compile Folia to version 1.21.8
guys im pretty new to folia, is there any way of doability to trigger portals to another server in folia? im trying to proxy nether, end and overlord in folia to each have its own server
Yes but can I ask why you need nether and the end in different machine?
im going to manage a scaled anarchy server for 250+ online players and wanted it to resource friendly option
A single beefy machine would just do the trick.
Your end and nether ain’t going to be populated enough to justify the complexity to use 3 physical machines to do the work when one is just ok assuming you are using Folia properly.
If a player is in nether, that player would have a region dedicated to him/her already on Folia.
There is almost zero gain and all the extra works/potential dupes/exploits by introducing complexity.
I see, I'm using I9-12900k + 128g ddr5 in debian with velocity, as I'm new to Folia would it be ok if i only run one folia for all 3 worlds then?
Yes
Thanks you're the best!
folia 1.21.9 when 😭
well well
Hm?
i finally found a way to divide the overworld into two pieces
i was meaning of sharding...
now all i need to setup postgres and redis
How are you doing it?
PS C:\Users\RajathRejesh\Auctions> ./gradlew build -x test
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by net.rubygrapefruit.platform.internal.NativeLibraryLoader in an unnamed module (file:/C:/Users/RajathRejesh/.gradle/wrapper/dists/gradle-8.13-bin/5xuhj0ry160q40clulazy9h7d/gradle-8.13/lib/native-platform-0.22-milestone-28.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
FAILURE: Build failed with an exception.
What went wrong:
Could not determine the dependencies of task ':check'.
Could not create task ':test'.
Could not create task of type 'Test'.
Could not create an instance of type org.gradle.api.internal.tasks.testing.DefaultTestTaskReports.
Could not create an instance of type org.gradle.api.reporting.internal.DefaultReportContainer.
Type T not present
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 1s
why it failed?
keyword: seed
😃
managed to run 4 shards successfully
maybe i can increase it
its even enough rn in this condition to handle 5-7k players?
if i handle 1500 player per shard
probably that version of gradle doesn't support the version of java you're using
i am using java 24 uh
which is basically not considered supported yet by their matrix
how does folia handle mob spawn, is there a difference to paper,?
