#folia-help
1 messages Β· Page 38 of 1
Depends on how much load you have different flags may be advantageous.
what if you just make a 5000 block line from accounts that will load the chunks?
Is Folia worth it for a 10k by 10k map with 500 players?
will that be a whole region or a lot of them?
there is a non-zero chance that all the regions will merge into a single one
which will effectively make it work like a worse version of paper
"Too close to each other" means around 1k blocks or less apart
oh wow- 10,000 block width/height not enough for Folia?
What would you say the minimal map size is to make Folia effective?
it depend on how your players play
ideally your players are always more than 1000 blocks apart
- 2 player never meet each other can be fine on a 2k x 2k map
- 50 player who always together will not work on any map
ahhh, alright
You stole my computer
a plugin could add a similar functionality
oh i wanted to avoid making one
oh well
what does this mean
[01:19:49 ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread failed main thread check: Accessing entity state off owning region's thread, context=[thread=Region Scheduler Thread #4,class=io.papermc.paper.threadedregions.TickRegionScheduler$TickThreadRunner,region={null}], entity={root=[{type=ItemEntity,id=42793,uuid=98fcca7f-a4d1-4cbe-919c-4a104d5503c9,pos=(-33.082,72.988,-9.349),mot=(-0.084,0.032,0.050),aabb=AABB[-33.20654296875, 72.987548828125, -9.474365234375] -> [-32.95654296875, 73.237548828125, -9.224365234375],removed=null,has_vehicle=false,passenger_count=0], vehicle=[{null}], passengers=[]
something attempted to access an entity from the wrong thread
make sure you use the EntityScheduler from Entity#getScheduler
i'm trying to get something to run on the next tick (ItemMergeEvent - i'm trying to modify the merged item after it's merged), so do i just use runDelayed with a delay of 1 tick?
yes
besides: the smallest number that runDelayed will work with is 1

(well depends with what you mean with "modifying the item after its merged"
i.e you cannot cancel the event anymroe
private static void merge(ItemEntity destinationEntity, ItemStack destinationStack, ItemEntity originEntity, ItemStack originStack) {
// CraftBukkit start
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callItemMergeEvent(originEntity, destinationEntity)) {
return;
}
// CraftBukkit end
merge(destinationEntity, destinationStack, originStack); // <-- NEED TO RUN SOMETHING AFTER THIS LINE
destinationEntity.pickupDelay = Math.max(destinationEntity.pickupDelay, originEntity.pickupDelay);
destinationEntity.age = Math.min(destinationEntity.age, originEntity.age);
if (originStack.isEmpty()) {
originEntity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.MERGE); // CraftBukkit - add Bukkit remove cause
}
}
Flags kinda depend more on the ram you have allocated rather than the server software, the main use for flags is to optimize gc
You can play around with zgc tho (I was looking at the docs on paper about zgc, but apparently got removed lol)
ZGC does work well in some use cases but it will eat up more cpu
yh, but I'm assuming if they're using folia they already have a good cpu and prob enough ram
Someone said that having skyblock islands in different worlds would be useless for folia, because there would be too many regions
But in this image it clearly shows each island in its own region
Which would be like having each island in separate world
So now I don't understand the issue for having islands in different worlds
they were wrong. a region is a region
doesn't matter if it's in a separate world or not
the only thing limiting you would be amount of physical threads on your cpu
Generally "too many regions" doesnβt make sense, you basically want as many regions as possible (while trying to avoid frequent merging and splitting) so these regions can be ticked independently
and so you can use fully the server cpu threads 
you can't
why π
because it's not compatible with how folia works
.
What?
is there a good free or paid anticheat for folia?
grim
Does the region have a fixed size? If not, what are the minimum/maximum sizes it can have?
maximum can be an entire world
minimum is 1 chunk
Nah, it's like 25x25 chunks iirc
Probably larger?
I know you have to be something like 700 blocks away from someone to have a chance of being in a different region so maybe like 32x32 chunks?
dont they only allow you to configure the exponent? you couldnt do 25 but at best 16 or 32
looks to me like its 2 to the power of 2 (1) to 2 to the power of 32
It is at least somewhat based on view-distance too but I think you'd need a view-distance above like 20 for it to make your minimum region size go up, everything below that was the same
I had all the math worked at at one point and wrote it up in here but that was also before the grid exponent config and before the default was changed
I also kind of forgot it all anyway π
As far as I know, no, make sure you don't have any "explot fixing" plugins as they can instroduce this kind of issue
As for villagers disappearing, probably not anything Paper causes, there's been many vanilla bug reports of this but it's uncertain whether this is an actual issue or just villagers being dum enough to walk off a cliff and die
its happening constantly villagers dont take jobs villagers despawn villagers take jobs and lock them without trading or villagers dont decrease price when cured
Mojang added logs to determine when villagers are actually dying
much other stuff often gets confusing in general due to how villagers work being hard to debug by proxy
no message the villagers just stopped existing i checked
ill write a plugin to monitor villager activity ig
my server keeps disconnecting all players every hour or so with this msg in console each time it times them out (all at the same time) and eventually crashes shortly after.
[15:36:19 WARN]: Failed to deliver packet, sending fallback clientbound/minecraft:system_chat io.netty.channel.StacklessClosedChannelException: null at io.netty.channel.AbstractChannel.close(ChannelPromise)(Unknown Source) ~[netty-transport-4.1.118.Final.jar:4.1.118.Final]
it failed to send the packet because the connection was closed
that is not the cause of your issues, that is a symtom
hmm dang
idk what is causing this issue. my players are starting to get really upset :/
the only other error i see is this
[15:53:18 ERROR]: Could not pass event AsyncPlayerConnectionConfigureEvent to Essentials v2.22.0-dev+44-9416b84-Folia java.lang.NullPointerException: Cannot invoke "com.earth2me.essentials.User.startTransaction()" because "dUser" is null at EssentialsX-2.22.0-dev+44-9416b84-Folia.jar/com.earth2me.essentials.EssentialsPlayerListener$JoinListener1_21.onPlayerConfigure(EssentialsPlayerListener.java:351) ~[EssentialsX-2.22.0-dev+44-9416b84-Folia.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:71) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.21.8.jar:1.21.8-5-7a1c5c7] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[folia-1.21.8.jar:1.21.8-5-7a1c5c7] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at org.bukkit.event.Event.callEvent(Event.java:46) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.connection.PaperConfigurationTask.lambda$start$0(PaperConfigurationTask.java:37) ~[folia-1.21.8.jar:1.21.8-5-7a1c5c7] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
if that's not the cause for the timeouts and its not giving any other error msgs in console. what should i do/try?
I mean, that's an error with ess
yeah i figured it wouldnt be the issue
the first error you talked about is due to general packet sending when the connection is dead
timeouts are timeouts, you would need to work out why the connection timed out
so do youthink its a server side thing?
that is generally networking issues or something failed to keep the connection open, but, keepalives should generally do that part in terms of server <> client
okay thank you i will try and contact my server host
the timeout handlers are quite simply a "we didn't recieve a packet in X amount of time", which would generally be networking issues
okay ty!
so it will be the hosting side? (just asking because this happen also even in paper)
this one
Don't know
that's really weird then
, because mostly weird is it getting fix if the player lower their own view distance to 2
I mean, it's a fairly generic side-effect to a whole host of issues
chunk packets are one of the bulkier packets for the server; having to lower their VD would sound like an issue with the network
You would need to see if the client logs have anything interesting
but it's only happening to 1 guy only which is weird even 1.21.7 used and 1.21.8 is used(client version), once he enter the error will include what the person send and kick the player with keep alive even it's off or any settings and the whole server will died along it very soon
I mean, there is nothing I can advise on without any form of logs, etc
But, if it is networking related, there is nothing we can advise on either, you'd need to speak to your host and pray they can diagnose network stuff
Hi, I have a question for people familiar with this topic.
Is it feasible on the Folia engine to maintain 1,000 players on a single instance, with a world size of 18408 x 9190, on a R 9 9950X or R 9 7950X?
Is a result of around a thousand players on a single instance achievable with well-optimized plugins and slightly limited values, with ~1.000 players giving 18β20 TPS and meybe 40β50 mspt?
one would need to do the maths, but, I'd imagine not
Is it that the map is too small? π§
as I said, one would need to do the maths
but, I would fear that you wouldn't have the needed player spread in order to actually have useful regions form
Well, this option is probably not for me
Can you savestate chunk on folia? Is that real?
not sure what you mean by that
Chunk Resetting.PNG
This article is about reverting a chunk to its last save. For regenerating a chunk to how it generates from the seed, see Chunk Regeneration.
Chunk savestating, commonly known as the "Chunk Dupe", is an extremely powerful method to reset a chunk to its last saved state. This exploit...
Never thought this day would come. Paper actually officially released Folia builds on the website
That happened a while ago, yes.
Only checked just now
hey guyz anybody knows if folia 1.21.9 will comoe soon?
no
Can you chunk savestate on folia?
https://mcdf.wiki.gg/wiki/Java_Edition:Chunk_Savestating
Chunk Resetting.PNG
This article is about reverting a chunk to its last save. For regenerating a chunk to how it generates from the seed, see Chunk Regeneration.
Chunk savestating, commonly known as the "Chunk Dupe", is an extremely powerful method to reset a chunk to its last saved state. This exploit...
youve asked this a few lines above π
if it doesn't work on paper, it likely doesn't work on folia
Hey is there any information about a roadmap for 1.21.9?
i just got a quick question, is geyser / bedrock supported on folia servers? (Or does geyser support folia in other words)
yes
okay thanks
Wierd question but Folia is a fork of what?
Folia is a fork of Paper.
Itβs a fork of Paper, as stefvanschie said. But it has a bunch of underlying changes to make it work.
Ah, thanks to you both 
Someone knows when folia 1.21.9 releases?
Alright thanks
Spears literally aren't in vanilla yet...
How are we supposed to dispatch commands onDisable, when the shutdown thread doesn't accept them and the scheduler is halted already? 
You aren't
Cool
The thing is tearing down
allowing you to do that sorta thing would rely on the server still ticking, which you obviously don't want during shutdown
Then, can I dispatch them right before that happens?
there isn't any real hooks for that afaik
I spent hours looking for one, yeah
the API doesn't really have a proper async event system which would be needed to pull this off
I let users specify custom effects that can have a command that applies them and a command that removes them. When the server shuts down, I need to make sure all effects are removed, so I realistically need to dispatch all set undo-commands
You just have to save the need for a remove and do it when they come back
Yeah that could work, though it seems far from ideal
That's what I mean (for context)
effects:
- COMMAND / attribute %PlayerName% minecraft:oxygen_bonus modifier add bodyhealth_configured_effect 1 add_value
- COMMAND_UNDO / attribute %PlayerName% minecraft:oxygen_bonus modifier remove minecraft:bodyhealth_configured_effect
Your design only worked on Paper by accident, more or less, doing anything to the players/world at shutdown/disable was always kind of a bad idea
just use transient modifiers
those aren't persisted with playerdata, so they will be gone after a restart
Those commands can be anything
This seems like the only real option then, thanks for suggesting that
Are PlayerTeleportEvent and other things that were disabled earlier enabled there?
No
Those events are disabled because of the context issue still, until the event system has some feature additions that is not going to happen
hey guyz anybody experienced a situation about RAM/CPU limits in Folia? I can't exceed over 40% cpu and 32G ram, even though java has issued 128g ram and no limit on CPU, its like this.
send spark profiler

I've experienced an issue where Folia will generate multiple nether portals in the overworld when I create one in the nether, I had an idea that it might be generating a portal per thread
but if i make a portal in the overworld, it only generates 1 in the nether
Any luckperm alternative for folia
does that also happen without plugins?
i had a somewhat similar issue recently too but wasnt sure if it was plugin related or not
also it was only on my test server with heavily f'd up configs
check your world defaults
@river tide there is a PR open for it with builds available: https://github.com/LuckPerms/LuckPerms/pull/3615
Oh thanks
I have 1 plugin which is ImageFrame which I doubt would cause the issue but I can check later, I will also do the same for the world defaults
however, I would like to note that
nothing is actually modified in terms of the world
settings
its just a vanilla server with ImageFrame installed
Hi, I'm using the latest version of Paper Folia. I reached 200 users and implemented a command that kicked everyone out. Since then, many things haven't worked or are running too slowly, such as the RTP and the SMARTSPAWNERS spawners, among other plugins like SMP portals and more. Does anyone know the solution?
how to fix its?
message.txt by @boreal pewter: https://pastes.dev/8UorCBDebq
This server is running Folia version 1.21.4-6-ver/1.21.4@b785bcc (2025-06-13T21:52:33Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
this is a bit too broad for anyone to give you concrete advice
- what 'type' of server do you run? is it optimal for folia?
- for performance, can you provide a spark profiler?
- for issues with plugins, contact the plugin authors
unfortunately dont have spark installed :/
AMD EPYC 7763 - 12 Core - 64GB or Ryzen 9 9950X 4 CORE 16GB ? what's better for folia
Neither, Folia requires a minimum of 16 cores
for 100 player?
Doesn't require it, it's just recommended as in, if you're not able to justify spending that much you probably shouldn't be looking at folia
What hardware you actually need is going to depend on many factors, web CPUs can work (such as that epyc) but you're generally going to be limited in how fast a single region can perform
can't really provide figures for every single piece of hardware and server need
If the CPU has less than 16 cores, is it recommended not to use folia?
if you are in the intended folia target audience, you should be able to afford a proper CPU
I have a question, can anyone answer it?
Is it okay if I use Purpur as normal and use the folia for my game worlds?
So can I use these two under one roof?
i hope you dont mean as one server as thats impossible
π
Hello, anyone here has experimented with modifying Regionizer implementation variables ? I'm interested in reducing considerably the region size, and if needed, disable minecraft vanilla features for it. Interested in any take on this, thank you.
that sounds like you dont need folia and wont actually profit from it at all
if you are willing to compromise vanilla features just use paper and tweak the configurations the way you need it
I've done that already, but for this specific use case, I have an epyc 9654 with lot's of cores and I wish to use Folia.
well... i have a lot of wishes too
but that doesnt mean they are logical
you wont profit from folia
i bet you will even have a worse experience in terms of performance and compatibility
Folias intent is to maintain vanilla functionality
I don't think that leaf wants to expose the ability to break that, we can't make a list of what would need to be disabled at specific levels
that would probably be "maintain it yourself" territory
I know about the compatibility, and no, I won't have better performances, single core performance is not good on an epyc 9654, for my specific use case I know Folia is what is best. I've ran factions server with 200+ connected already, and I can go higher disabling a lot of features, but to go to the next step, such as 1000+, I will have to use Folia.
that was misleading
i meant plugin compatibility π
[20:35:38] [Region Scheduler Thread #6/ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread failed main thread check: Cannot move entity off-main, context=[thread=Region Scheduler Thread #6,class=io.papermc.paper.threadedregions.TickRegionScheduler$TickThreadRunner,region={center=[27, -7],world=world}], world=world, chunk_pos=[-105, -67]
how to fix its
send the full stack trace
this could be a plugin related iissue, or, more rarely, an actual bug in folias code
message.txt by @acoustic garden: https://pastes.dev/4YjhlN2rcY
Could it be that the cause of the crash is the PvPManager?
I run a 10 player MC Server for my friendgroup on my $10 6-Core EPYC RS, and Folio performed better than Paper. We have 3 main bases roughly 2000-3000 blocks apart. Every base was its own region and even when 2 regions where merged, it still maintained 20tps in situations where paper previously didn't.
So even if Folia is not intended to perform on cheap high core epyc rs or vps, it can performs quite well.
I still switched back to paper as players missed the player locator bar.
Chance is your experience will be the same on Paper server as well.
Folia is completely unnecessary for 10 players. A normal Paper server on any decent hardware should be able to handle that without any lag issues.
even on slow hardware 10 players should be fine π
This is not necessarily true if you're running a farm based server, assuming there's enough spread like the case above
Splitting tick threads in hardware that is limited by single threaded performance but not multi threaded makes a lot of difference
If there are multiple intensive farms running in different regions then Folia might be better. The 16 cores guideline is really just that if you have that many cores and your server type fits Folia, Folia will generally perform better than Paper. Depending on the intricacies of your hardware and setup you might still be able to get better performance with a lower amount of cores, but this is much less common and so in general we don't recommend it. Especially when people are trying to make purchasing decisions, it's better to err on the side of caution. But of course, you're free to give Folia a shot on your server and if it turns out it does perform better, more power to you.
10 different farms on paper will still run fine if you have semi decent hardware
Just optimize where you need to
I think Kyle is referring to the need of efficieny, given the players are far enough to create their own region, the logic to run mobspawning will be ran on each region and restores behavior closer to Vanilla server when only ONE player is online.
Still a very niche use.
There are advantages even on fairly modest hardware, nobody who knows what they're talking about would say otherwise
the caveats are literally in their statement on why they returned to paper, they wanted something that folia doesn't support; that's the sorta reasoning why I say that the requirements for folia are more of a budgetary marker than anything, hiring a dev to reimplement that sorta thing is part of the "folia experience"
Execution failed for task ':folia-server:cloneSpigotBuildData'.
> io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false fetch --depth 1 origin 436eac9815c211be1a2a6ca0702615f995e81c44```
how to fix it?
enable long paths in git
thx
hello, I have a server that uses folia 1.21.4 and every now and then it shuts down by itself giving the following error:
https://pastebin.com/rynAuL96
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
That error is kinda useless sadly.
Generally with pretty experimental software like Folia it's a good idea to stay on the latest build. 1.21.4 is quite outdated at this point
is there anything I can do without changing the version?
Unless it's caused by a plugin, no
folia doesn't backport fixes to older versions
it's a release rolling software
okay, thank you
so.. i switched to folia 1.21.8 (github version) and when i try to log in this happens:
π©
I removed all the plugins and put them back and now everything works, haha
Hello, I have a question. It says that placeholderapi is not compatible with folia. I don't know about this?
Whatβs the question?
If it says itβs not compatible, itβs probably not compatible.
they have folia builds im pretty sure
Is there exist like fawe fork for folia ?
Thank you
I phrased it poorly, but I've figured it out now
Any updates on Folia 1.21.9, or should we just wait until it's ready as usual?
there definitely wonβt be a 1.21.9 given its been superseded by .10
how can i limit the amount of cores and threads on folia
So they will just jump to .10 and dont even release .9 ?
there is no reason to
Hello, i need some help. i am working on a plugin in intellij for folia/paper as an authentication system for terms of use but it doesn't recognize it and posts the following error even though i have folia set to true: [09:18:00 ERROR]: [DirectoryProviderSource] Error loading plugin: Could not load plugin 'PengunivAuth v1.0.0' as it is not marked as supporting Folia!
could anyone help me out? i have checked everywhere to see if i have the correct use cases for folia with player kicking etc. and even edited my build.gradle.kts thrice while doing this and i am at a total loss, could anyone help me out?
yes its enabled in plugin.yml
jvm 21
you dont have it set in the plugin.yml
atleast not properly
huh
can you send the plugin.yml here?
yeah hold on
i used intellij to create the paper preset and thought it would work
name: PengunivAuth
main: com.stormtools.penguniv_auth.Penguinunivauth
version: 1.0.0
api-version: "1.21"
author: stormtools
folia: true
commands:
agree:
description: Accept Penguin Universe TOU and be added to the accepted list
usage: /agree
permission: penguniv.auth.use
disagree:
description: Deny Penguin Universe TOU (will kick you)
usage: /disagree
permission: penguniv.auth.use
penguniv:
description: Admin commands for PengunivAuth
usage: /penguniv auth <list|deauth|reload>
permission: penguniv.auth.admin
permissions:
penguniv.auth.use:
default: true
penguniv.auth.admin:
description: Admin permission for PengunivAuth
default: op
i have no idea where you got folia: true from
it should be folia-supported: true
a friend told me to add that lol
ah
alright seems like in the console it doesn't get that error anymore
yep it works now, thanks so much for the help!
message.txt by @delicate ice: https://pastes.dev/MLVwAuL8Yp
You have to use the correct schedulers like written in the README. Just use the Paper docs for their JDocs.
ah thanks
I started my first Folia server and what is this?
it took the game a bit too long to find a suitable spawn location, but iirc the watchdog just notifies you that it took to long and its not someting to be concerned of (but it hints at either a very odd world or perhaps poor performance)
but I have Intel core i5 12th and 24GB RAM
thats btw too little cores compared to the folia recommendations
and when will EssentialsX, LuckPerms, PlaceholderAPI, Vault, and other plugins be compatible with Folia? Because it's almost impossible to run a Folia SMP server like this
Is Folia out for 1.21.9?
all of the plugins you mentioned either have folia builds available, are trivial to fork, or atleast have 2 year-old PR's that add folia support
thanks
https://github.com/FreshSMP has a pretty good suite of folia-comptaible forks for popular plugins
Is there folia 1.21.9 or 1.21.10 test build
Does anyone know why with folia hopper amount not work
It still tranfer 1 item per 20 tick should be 64
ticks-per:
hopper-transfer: 20
hopper-check: 20
hopper-amount: 64
Hey there, short question, is there a way to force split regions into two or more regions. I am currently running a server with around 200 players and we have a bugged region which does not split up and loads up to 30k chunks and 10th of thousand of entities. If there is such a way, it would be awesome to learn it. If there isn't but if there is a way to fix it over the configs, that would be awesome as well.
Cheers
If two players or some game mechanic has to interact, the region will merge. You will need to provide more information on your world size and how close players are together before calling it a bug.
well the world as it is is about 300k to 300k and same in the negative. The region I am talking about is from around 3000 to 3000 and the same in the negative with around 40 to 50 players in that region.
Are they too close?
Each one of them has to be like 1500 block away from any other players
They are running around in groups up to 10 or 15 people I think, don't know in detail. But is there a way to fix or make it better with a higher powered CPU? We are currently running the server on 2x AMD EPYC 7282 with 16 Cores each.
That was the server we were provided by our partner
There is no real way to fix it. It is intended if they are too close, region will merge.
Then is there a better server setup? Like with velocity or so?
Instead of Folia using Velocity and Purpur for example
I am not sure if I understand you
I was thinking of a way to setup multiple purpur instances and linking them together with Velocity. And the question is if that would be better performant than the current way we use Folia for
I donβt think you understand what you really want.
The issue is your player being too close so I donβt see how having mutiple instance will help unless each instance has a world size smaller than a thousands block
With added complexity of linking worlds, share inventories, and ensure all your plugins support such setup.
hm ok, thanks tho
not much you can do
happened to us as well
we had around 25k rtp radius (with border 100k+)
and yet it still made one big region with 20k+ chunks
so yeah, even if it was 25k radius, the players were so close to each other, that it started merging and merging
Hello, I want to send a game event which scheduler should I use, it spams me warn that it can't be asynchronous
I mean, if the event isn't async then you need to dispatch it sync
where that is is going to depend on the context of the event
finalBaseEntity.getWorld().sendGameEvent(player, GameEvent.BLOCK_DESTROY, finalBaseEntity.getLocation().toVector())
I mean, you're sending it to a player
so, one would assume that you're in the context of that player
(or, that the player is in range of that block entity)
so regionScehduler or EntityScheduler?
Yes
entity scheduler is safer for entity stuff
but the region one works too with a few edge cases which will crash the server afaik
because it follows the player entity on teleports so you run no risk of having incorrect data whereas if the player teleports away to another region the moment that you schedule something for that player, things will break
and throw
isnt that just going to tell you that that region scheduler is retired
or if you have already schedule the task, just calling the retired callback
i'm observing big lag spikes caused by something on a folia server but seems like spark doesnt have only-ticks-over for folia. Is there an alternative tool to profile lag spikes?
big as in 40 second freeze
what's up with this? anyone know what might be causing this error?
are you by any chance using the plugin Worlds or MoreFoWorld?
MoreFoWorlds, yes
in that case you should ask their support
they said itβs unrelated
The thread stalled out writing to the disk
That's likely not from a plugin, seems like your disk is having trouble
I have a problem with cats. I spawn a cat and put a leash on it. After a few minutes, I am back in the same spot as before, having flown up so high it disappeared. I go downstairs again and the cat has gone. This only happens with cats and not horses. The default paper configuration has no changes.
it's an SSD
can someone help me decide if i should use folia or paper for my survival server?
i could get servers with a relatively high core count (16-24) for a fair price and alle my plugins are selfmade so its not a compatibility problem. players will probably be spreaded all over the map.
Are your players all going to be anti social and play by themselves far away from another player at all times? (1500 block away)
There will probably be some players that build around spawn and some that build their base far away to prevent griefs. I expect that at least half of the online players are far away from spawn after a few days.
is this 1500 blocks a non-configurable limit
for example I run an SMP with 30-40 players on a decent machine (24 cores) those players are really redstone/farm intensive players so I always had to limit the sim distance and put some soft limits on entity counts (cpu usage is always in the 10% range)
players bases could be anything from 500 blocks to thousands of blocks apart
so essentially I have 2 questions
- if all the players are far enough to have separate regions anyways, is that a use case of Folia and I can pretty much remove all restrictions now?
- is it configurable to have regions start to be split at lower distances?
- Given you have powerful enough of hardware to support it and the player ainβt just outright crashing the region, yes.
- Only by a small degree anything too low is non-negotiable
I think that the configs let you bring it down to like 900 blocks or something, the issue is that it needs to be able to keep regions large enough to contain vanilla behavior (and not have a huge bunch of complexity for dealing with other things)
ultimatly, worse case folia performs a bit worse than paper, the big thing is trying to ensure that you even stand a chance to gain anything from it AND have the resources/dedication to do so, folia is much less supported on all sides with some level of expectation that part of that burden falls onto you
Thank you guys!
I will probably try and play around with it a bit then consider switching to it later
i got a question: when do we get folia 1.21.10 support ?
https://fill-ui.papermc.io/projects/folia/version/1.21.6
is folia 1.21.6 really supported or is it a glitch
good morning guys. does folia support vaults? it sems that you cant open them when trying to
vaults are blocks and they can be opened π
not vault as in plugin
my bad lmao
i thought your message was answered?
folia should not break anything regarding vaults so maybe the vault has already been opened or is on a cooldown or the key is the wrong one
I changed the server from folia to paper and now it works idk what the problem was
this was before i posted on the other server ^^
Help me with cats on a leash tied to a fence disappear after 5 minutes if you move away from them
Is there any way to setup multiple worlds with folia and per world inventory?
multiple worlds yes but per world inventories are pretty much impossible on folia and quite pointless if you really need folia because at that point you also should have the resources to host multiple servers
I guess thatβs more my question, if we have multiple servers whatβs the best way to link on folia?
With Velocity proxy
Are the people who work on folia the same people who work on paper or is it a completely separate group?
Mostly one guy works on Folia, Spottedleaf. He's on the Paper team
^^
I don't know how that flag gets set or who has control over it
In general I'd say no, not even Paper 1.21.6 is still supported and with Folia it's probably even more important that you be on the latest version
Not that there is much support anyway, Folia is the kind of thing where you should know how to do stuff yourself
When loading chunks on my server, the ping increases significantly. How can I resolve this?
Can I use folia with 8-10 ryzen 9 7950x3d cores? For a smp or is it not enough?
Are your player always play alone and always gonna be 1500 blocks away from each other? @twin meteor
that depends on how many regions you intend to have
We are like 40-60 Players who are spread across the world
Some are 500 blcoks away some are maybe 1500 away
You are better off just using Paper
I am using paper but we have tps problems.. I dont know how to fix that
Then post your spark report in #paper-help
Folia wonβt solve your problem if your player still group up together. In fact, it is likely going to make your issue worse
Make a spark report during peak player count and post it in #paper-help so we can take a look
Okay I did
Yeah I saw it. Several issues on that report and looking at the chunk loaded I can get a rough idea of how close your players are, Folia will not work for you and you should reach out to Purpur for help. You have crazy memory issue there.
Hi I have a question about folia. I'm making a plugin with need for temporary worlds (like dungeon instancing). I'm curious if folia would help in that regard. Docs are focused on regions. Does dimensions also become multithreaded, or maybe they already are?
you are better of using paper for that
not only because of the api limitations of folia but also because of no upsides
Are you sure? I would definetly benefit from different tick loops since I'm planning on running a lot of worlds at the same time with different player sets
you probably wont have a big enough player spread to gain anything
yeah each dimension would be small, totally not enough for regionsizing to do it's magic
well I guess I'll go with paper then ty
well wouldnt you have the advantage of each world being its own tick thread
if we disregard the world-api problems, ticking each world can be a performance gain very quickly
There seems to be a misunderstanding going on here, individual worlds will indeed have separate tick threads. The "spread" in your case is the separation between worlds
That said, multiple servers connected with Velocity is an option for you, despite the overhead of running multiple JVMs you get a more supported ecosystem to work with
Hi, is there a fork of Folia or Paper that would allow me to launch my server with mods and plugins under Forge 1.20.1, please?
Probably, but we do not recommend or support any of them. They are very likely to break in various ways
I would guess no, actually, but there is probably someone that crazy
Paper+Fabric/NeoForge is known to break a bunch of mods and a bunch of plugins, I think Folia+Fabric/NeoForge would break every single mod
Aprox ETA for 1.21.10?
how to setup flag optimize folia for ryzen 9 ram 64
just use zgc
Hello, I'm having an issue on a folia server where my items in my chunkloaded storage system despawn. Previously on Purpur this storage worked but now the items don't seem to make it to the end/are disappearing. Does anyone know how to fix this?
Mainly having issues with items in water streams being chunkloaded correctly
Weird that thatβs causing an issue. Can you verify that you have not change any config while switching over?
Additionally, do you have a player in the end dimension?
No players in the end dimension, I will have to check with the server admin about config files changing
Has this been an issue for anyone else? Mainly chunkloading areas with item entities moving around in water streams
Whats the min amount of blocks for players to be apart from each other to be in different regions?
1500 block ish
ty
900?
what now
Pretty sure it's like 700-900
what is wrong?
message.txt by @knotty egret: https://pastes.dev/JD5h61oN8v
No, Minecraft regions are fixed, Folia regions are related to the player's locations
Folia regions are like isolated islands of chunks. If two of them come in contact they merge. Each region is basically its own Paper server.
If they were MC regions they'd all just merge together since they're touching and you'd just get a slower version of Paper π
https://spark.lucko.me/GdMqeBfMwk
Okay i get it i think, I currently tend to switching to folia if 1.21.10 is released but idk if it would help much, maybe you can take a look
It'll depend on how spread out your players are
Its basically an SMP where you have an spawn elytra with a boost and everyone spreads out, yes some cluster but this isnt really a problem ig
Fair
How do i messure how far they are spread out
Small clusters are fine so long as they're spread out enough from others
You run Folia and see how many regions you end up with π
There is no way to calculate this stuff ahead of time
If two players are less than ~1000 blocks away from each other, they will be in the same region
4 cores is probably not enough, I dunno if that's even enough for a Paper server under heavy load
Based on tps ig not
Judging by your chunk loaded, your players ainβt far enough either
And if players come close and then spread a bit, the regions will resist to split, so distance isn't really the other criteria, there's other factors like redstone loading the chunks
The recommendation for Folia is basically a Ryzen 7950X or 9950X
Or some of the high performance Xeons and EPYCs
Okay
this happened when start the server (Bump)
So it still would make sense to improve hardware for the current paper setup?
Do you have a custom worldgen datapack? Some of them end up trying to load so much of the world at once with large structures that they crash Folia
But folia wont decrease perfomance, right?
Getting a hardware upgrade is the most direct way to improve your server rn yes.
It could
Folia without regions or the threads to run them is a slower Paper
It will if your server is already struggling. There is extra overhead.
Nope, i have default startup.
You have 4C/8T, it's really easy to starve your hardware with tick threads if you misconfigure it, and if your players are too close you will also be slightly slower than Paper
Where are you renting your hardware?
Hetzner
Dude, nothing is installed, only Folia.
Not sure how much you're paying right now, but something like an EX44 (39 eur/mo) will be a dramatic upgrade
We pay 35β¬ currently
You can defo do better with that budget 
What would you recommend
Could this be related to the commit 59156c2 in Folia? Should I try an older version? (https://github.com/PaperMC/Folia/commit/59156c2)
This should fix rare instances where the spawn is selected very
far from 0.
If you need to stay strictly under 35, I couldn't find anything in Hetzner
I'd just go with the EX44
No not really but whats in that price range
The EX44
Okay thanks
With help of chatgpt i calculated the regions of our players, with 900 blocks spread we would be at 18 regions, would that be okay for 41 players?
with 900 blocks spread
that will give you one big region
No like if one region is 900 blocks big it would be 18 regions
if 2 players are ~1500 blocks close to each other, the regions will merge
the regions have a tendency to merge more frequently than split
so if you have
Player <900 blocks> Player <900 blocks> Player <900 blocks> Player
it will merge all the regions into a big one region
1500 seems to be the tipping point, but i cant say accurately
we had 20k rtp distance from 0,0
and it made one big fat region
from -15k to 15k...
You should have a large buffer
just make sure there is enough distance
If you try to stay near the minimum, players will simply move a bit, get within the radius of another players, and done, in 5 minutes you're back to one region
https://pastebin.com/RyA2WABB
Thats like the code chatgpt gave me and with 1500 it would still be 15 regions
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
you dont understand
there is no such thing as "region size"
region can be infinitely big
regions depend on player distances
Yes
But with players are more than 1500 blocks apart they wont be in the same region right?
they can be...
thats the thing
This code is incorrect
Generally they won't be, but if they get too close those regions could merge.
In general, don't try to ask Minecraft or server hosting questions to GPT (trust me, it has very little knowledge in that domain)
Regions merge eagerly and split lazily
So if two player have their regions brush against each other unless they get significant extra distance from each other afterward they're just going to be in a single region
And so on, cascading across the whole server
That's why unless you have some strict separation of players (like skyblock) it's impossible to say how many regions you'll end up with
Okay one last question at which count of regions would folia be more performant?
It can be more performant even with just two regions
Depends on your situation
Each region has some overhead vs a Paper server but they also share some resources that make things sometimes more efficient and sometimes slower
Ig if one player is in one region and 40 players in the other one it wont help
Well that one player will be having a great time π
So for them it would be 20tps?
Yeah
That's kind of what I mean, some people want Folia just to isolate expensive farms into a region and let it run like crap while the rest of the server is fine
Only need two regions for that
Pretty much always the more regions you get the better you are though
Do note that if you have weak hardware (an i7-7700 is pretty weak), a few regions can tank the entire server's TPS
Depending on the tick thread count, especially
Right, on an i7-7700 Folia would normally only have one region tick thread so more regions doesn't do anything
Is the vanilla likeness like on paper? Will every farm work the same way as on paper?
If you override that to spawn more region tick threads you risk overloading the entire CPU and making everything terrible
No, Folia is even less vanilla-compatible
Yeah after that we would upgrade min to the 39β¬ cpu
I don't think you'd notice the differences though unless you were doing some wacky things
Like making a computer in MC or something
So tnt dupers and raid farms would work?
Well, and it doesn't support datapack functions or command blocks but that's not player stuff
The i5 13500 isn't that great for Folia either, it has E cores that will make the regions it ends up in pretty slow
Those should work the same as they do on Paper
The i5 13500 is reasonably good for Paper for the price, though, because the P cores are good
https://www.hetzner.com/dedicated-rootserver/matrix-ex/
Would the EX44 be better?
Powerful Intel processors server β High-performance β Affordable β 24/7 support β Eco-friendly hosting
Note that you'll need to replace plugins with their Folia-compatible counterparts (if they exist)
The EX44 has the i5 13500
Oh yeah, none of your plugins will work π
They need to be made specifically for Folia
We only have our custom made plugin which not much functionality
Folia plugins work on Paper so some already support both but most do not
Yeah we know that but we dont really have much code, just spawn, claims and simple stuff that we would fix
What would be a buget folia cpu?
Thats pretty expensive, would that be one of the best?
Or isnt there really any limit?
That's the recommended minimum
Okay
Thanks for your time
I appreciate the help
I think we will stick to paper for the time, maybe increase in hardware will allready make the difference
bump
try the EX63
Whats like a good mid tier cpu for folia?
Hi im a paper user wondering about Folia, my server has multiverse and im wondering with Folia run it better then paper since its multicore supportive
also will Folia support multi cpu?
i own my servers so im thinking of switching thats why i ask sorry its its alot at once
Folia doesn't support multiverse or dynamic world un/loading in general
Folia doesn't cater towards NUMA, etc, so multiple CPU based setups will have a small perf hit due to the cross CPU stuff
Is a AMD Ryzenβ’ 9 7950X3D okay?
Sure?
So you can't use multiverse so you just load your worls on startup in your plugin?
this one does support loading & unloading
but i could just load it in my plugin right?
or is this not possible because folia needs other world setup?
folia generally does not support world loading/unloading
on startup its fine
but unloading can be tricky
why can unloading be tricky just stop the server xD
unloading as in disabling a certain world dynamically
imagine you create a temporary world using /world create (abc)
then if you want to delete the world, it can become very tricky
there are plugins, like the one i mentioned, which use certain workarounds
but again, generally its not "safe"
oh okay i just have like word,nether,end,spawn,afk thats all i dont unload normally or delete any of these worlds
in that case you can either switch from multiverse to MoreFoWorld (https://modrinth.com/plugin/morefoworld) or Worlds (https://modrinth.com/plugin/worlds-1), both of them support Folia, but Worlds has more features
Thanks mutch! ^^
there a fork that have world loading and unloading
grid-exponent
canvas I believe
yes
We strongly advise against using forks that have things bolted on to get stuff working, FWIW.
And you obviously won't get any support here for forks.
im curious wym by "bolted on" tbh, like generally wondering what that means lol
or ig the full sentence
I dunno about that one but a lot of Folia forks are "works for me" things that either only work most of the time or only work when you use it a certain way
There are things Folia blocks/disables that would be safe but only if you use it in a limited way or at a specific time, people make forks to enable those again for their use which fits
oh yea fs
Again, no idea about that one in particular, it at least claims to solve things more generally, I haven't looked
And wouldn't be qualified to say anyway, I only know how Folia works at an abstract level
i(developer of Canvas) know how folia works and try and abide by all such rules to try and make sure its up to SpottedLeafs standards
i do plan on a "PR party" to Folia once 1.21.10 comes around
Did you make PRs? Oh
unload/load API was also made to abide by his guidlines in a PR to Folia
that one PR for load/unload that was rejected
nah, but planning on it once updating is done
i do believe some features, at least Folia crash fixes, should be ported from Canvas -> Folia
yep i know that
God dueris
Hi! I have a conceptual question:
If the goal is to increase the number of players that can play at once, given that the server has limited borders (about 20k x 20k), and almost no natural mob spawning except certain areas, is it worth switching to Folia? Theoretically would there actually be any improvement in performance or would the "extra cost" of Folia outweigh it?
I don't really want to get into this sort of thing here in help channels.
In short: we don't really want people recommending forks to people and we definitely don't want fork developers coming into help channels to shill their forks.
oh yea ofc, i agree completely
Excited to see those PRs, it'd be nice to get Folia more functional
folia 1.21.10 when?
this also applies to folia
hi how can i create a world in folia because when i trying to use worldcreator i have an error
java.lang.UnsupportedOperationException: null
at org.bukkit.craftbukkit.CraftServer.createWorld(CraftServer.java:1265) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at org.bukkit.Bukkit.createWorld(Bukkit.java:841) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?]
at avaris.jar/pl.mythica.avariscore.mechanics.sectors.SectorsManager.lambda$generateSectors$1(SectorsManager.java:62) ~[avaris.jar:?]
at avaris.jar/pl.mythica.avariscore.AvarisCore.lib.folialib.impl.FoliaImplementation.lambda$runNextTick$0(FoliaImplementation.java:96) ~[avaris.jar:?]
at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler$GlobalScheduledTask.run(FoliaGlobalRegionScheduler.java:179) ~[folia-1.21.8.jar:?]
at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler.tick(FoliaGlobalRegionScheduler.java:37) ~[folia-1.21.8.jar:?]
at io.papermc.paper.threadedregions.RegionizedServer.globalTick(RegionizedServer.java:307) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at io.papermc.paper.threadedregions.RegionizedServer$GlobalTickTickHandle.tickRegion(RegionizedServer.java:161) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:418) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:546) ~[concurrentutil-0.0.3.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]```
the world loading/unloading API isn't implemented on folia
hello, I would like to use the biome temperature at a given block to determine if i cancel a BlockGrowEvent or not.
Is that save to do in Folia out of the box or do I need to do some special scheduling?
All I want the event handler to do is basicaly this (pseudocode):
if (event.getBlock().getWorld().getTemperature(blockX, blockY, blockZ) > 1.5) event.setCanceled(true);
In the grow event you're in the right region for the block so you can just read it like you would normally
The folia stuff only matters if you want to access something outside of the data/location provided in the event
is there a difference between Block.getTermperature() or the world.getTermperature() ?
Block is basically just a Location, it doesn't store any of that data
So there shouldn't be
ok then chatgpt spit out some garbage to me lol
it said the block type affects the temperature (as in ice is colder than magma)
I mean, there is a chance someone massaged the data in the Block method so it has a different range/type but it'd be ready from the world to begin with
And I don't think that happens much if at all
so you think just using Block.getTermperature() for my use case is fine?
Huh, I was going to say the temperature is just a biome and height thing but now I wonder if they do have anything special for ice and lava π
Yeah, that should be fine
ok, ill try that thanks
when folia support 1.21.10?
How much activity would it take on an anarchy server to fill a 300GB storage limitation
I'd recommend estimating this with https://onlinemo.de/world and some math (i.e. use the total chunk count instead of the radius)
auto-config-send-distance: true
player-max-concurrent-chunk-generates: 64
player-max-concurrent-chunk-loads: 64
chunk-loading-basic:
player-max-chunk-generate-rate: -1.0
player-max-chunk-load-rate: -1.0
player-max-chunk-send-rate: -1.0
chunk-system:
gen-parallelism: 'true'
io-threads: 8
worker-threads: 8```
are these good values im having a tough time figuring this out
im trying to have 100 to 300 players on a 32 core server ive allocated 24 cores to the threaded regions and the rest i have for netty and the chunk system but im having chunk loading issues at high player counts and i keep messing with these settings trying to figure out whats best without knowing what they even do lol
previously i had it like this:
auto-config-send-distance: true
player-max-concurrent-chunk-generates: 64
player-max-concurrent-chunk-loads: 64
chunk-loading-basic:
player-max-chunk-generate-rate: -1.0
player-max-chunk-load-rate: 2000
player-max-chunk-send-rate: 2000
chunk-system:
gen-parallelism: 'true'
io-threads: 8
worker-threads: 16```
There is no best guess for chunk system workers if not pre-generated, as on the test server we ran we gave 16 threads but chunk generation was still slow at ~300 players.
From the README
300 players generating chunks is just a lot of chunks and chunk generation is slow
You could lower your view-distance
ok so chunk loading is always gonna be slow like i put 300 bots on with spawn radius at 500,000 to test and i couldnt load any chunks even old ones on my account millions of blocks out
right now its 8
How did you spread them? Were they all flying?
they were just sitting in the same spot and i changed the random spawn radius to 500,000 blocks
their render distance was 6
they were just sitting in the same spot and i changed the random spawn radius to 500,000 blocks
And then killed them all so they'd respawn all at once?
nah just let them afk die and auto respawn
Ah, I see. I was trying to rule out whether you were doing /spreadplayers or spawning them all at once, which would overwhelm the chunk system
i was joining them in mass thats prolly it
Okay, yeah, that could have done it
wat
I'm not sure if you were referring to donutsmp, but it's the second biggest server now π
If not, mb.
Alright mb
hi, any know guide for create plugin with Folia ?
Not specifically, but
Does that mean I can use the Paper Spigot API and it already includes information about Folia?
I was literally trying to use Foliaβs API, but I couldnβt find any relevant informationβthere arenβt any API repositories or anything like that. I want to create a game mode using Folia as the base.
The underlying API is mostly the same, minus some that Folia doesn't support (e.g. Bukkit scheduler, world creation...)
Paper includes all the API you need for a Folia plugin
including scheduler folia ?
Paper implements all the methods you'd need to write a folia plugin, such as the region schedulers, etc
ohh okey
perfect
There is no real documentation over the dev aspects of the project, there generally comes a level of expected knowledge here
What is the latest version of the Folia server and the Paper Spigot API that includes Folia?
okey thank you
are there any alternatives to worldguard and worldedit for folia
So I am fairly new to Folia and I was just wondering how the teleport event works. If the player uses for example an enderpearl and teleports from one region into another. From which Region is the teleport event called? Is it called at all? Is it possible in folia to detect teleports and the from/to location?
it doesn't fire, because that question you first asked is a fun one
Yeah I understand that ^^ So there is no way at all to check from and to location when the player moves / teleports?
ender pearls in particular fire a ProjectileHitEvent. if you listen to that and set the ender pearl owner to null if you dont want to proceed with the teleport, it works
I think someone suggested a pre/post teleport event in here once, i think that'd work
or forbidden fork π
How does folia work, is everything multi threaded or like chunks or areas how does it work
check the first 3 links
Can i ask a question without looking it up myself⦠how big are the regions or is it customizable
there is no specific region size
the regionising logic is well documented and would again suggest reading through that before asking questions about how it works
yeah i will
assuming linux, you would want to check your hardware logs
folia doesn't really work at the level to make a disk fail
Yeah that's going to be a kernel or hardware issue
The kernel flips it in to read only mode whenever it runs into a filesystem or hardware problem
I mean, a FS tripping into RO will basically always show in dmesg
I've never heard of it not doing so
Unless you have some other weird issue where it's not flipping RO but is just having a more generic IO error
If nothing else it'll log flipping it to RO, it should have what caused it above that
(You are looking at dmesg?)
Reboot would clear dmesg so yeah
I would just buy a new drive
Unless you have some unusual setup it's 99% going to be the motherboard or (more likely) the drive
If you had some RAID setup or a niche filesystem or something it might be a kernel bug but otherwise...
If it's a HDD I suppose it could also be the power supply but that's probably the least likely
Standard Debian install with ext4 on an nvme drive it's almost certainly the drive
Invest in expensive drives
@winged palm This isnβt really the server for that. Try something like HelpChat.
i know this isnt the server for that thats why im asking about it. Also thanks idk what helpchat is. Is it just a server?
Itβs linked in #community-guilds yes
thanks mate
hey, does folia tick skip?
no
okay, is there any other changes to how redstone works?
How can i get vanilla like experience with redstone?
3 engines?
i haven't gotten my hands dirty with paper/folia yet
i do plan on using folia
but i can use folia with fabric? is that what im understanding?
looks like engine-mode is just for anti cheat?
my only concern is having a almost vanilla like experience with redstone in folia
thats all
I would consider Paper/Vanilla redstone near vanilla (to the point we have issues getting people to file reproducible reports of issues)
i heard you can disable the anti duping or whatever and then u get the true vanilla experience
so i just make all of these true
and bam vanilla
thanks
hey, i want to switch from folia to vanilla, but switching the jar doesnt work for some reason.
there is no docs on folia
You can use the steps for Paper -> Vanilla
they dont work
i shut server down. switched jar and booted it back up
idk why it still boots with folia
What, exactly, isn't working? Logs?
it just starts back with folia
basicall this is what i did
minecraft_server.jar was folia, server.jar is vanilla. i deleted folia, then renamed vanilla .jar
Make sure your start.sh was changed to point to the vanilla jar rather than the Folia one
they both have the same name and the folia one is deleted completely
the name didnt change
Well, a Folia jar is being ran somehow, if it's being run at all that means you still have a Folia jar downloaded. What runs is determined by the file name in the startup script
I'd just triple check this, delete every server jar and download the vanilla one
oh my god im so dumb sorry for wasting your time
No worries lol
it used the jar from the other folder
is there something like skript but for folia? I really need to be able to load/unload plugins or whatever on the fly
you really dont need that
but regardless i doubt there is a folia version of skript
I dont want to really use skript itself, but i do want to use a scripting language
lol
I found this https://gitlab.com/spidermodders/openjs
i dont think it is a good idea to base your code on AI
Codex CLI⦠mostly correct code.
dont mind about the Affero GPL, as for the maintaining, I don't mind making some prs
skript is basically just plain english?
also they dont come across as "so much a beginner"
My objective isnt to use skript, my objective is to use something along the lines of skript that lets me load,unload and/or reload scripts/plugins while the server is up.
I'm not a fan of skript, I'm also not a huge fan of java. I rather use a actual scripting language since it makes sense for my usecase
I want to run a beta, and I dont want to have to always restart the server specially when there are players on
folia restarts in less then a second for me even with a bunch of worlds
i dont get the point of reloading anything during runtime
.
Youβll always run into the problem that your scripting language needs to expose scheduling in some form
dont work on prod directly i guess
testing in prod is the way
okay
:p
nah but on a real note, there are some balancing stuff or maybe bugs that would be introduced and I'd like to correct them on the fly
idk skill issue i guess π
dont think this would be a big problem
best solution in my opinion to such a problem is having a fallback system
most servers just have a lobby to send the players to when restarting a sub
some even go the extra mile and spin up a mirror server where players are sent to so there is basically no interruption
it is
but it is a better solution than hot reloading
i dont know why hot reloading is an issue
Given the design of many scripting languages, it might be
the point is you make your own engine to handle that
i think this guy did a good job
Hot reloading seems to be annoying/hard in java
I dont like java
A scripting language just makes sense
A "script" is often an extra layer, so at some point, it executes in Java. So no, it's even illogical
So why use JS in a browser if it will just turn into c++, might as well just write c++
But how do you ensure thread safety of a js collection that isnβt meant to be used from multiple threads?
Not sure, but the project i linked earlier seems to partly? solve that issue. I'd have to look into it more
Seriously, at this point, why don't we just develop directly in "assembler"?
rewrite it in rust even
Groovy might be the best choice lol
I've worked on hyperion, we're pretty close
we havent dont much last few months but we have hot reloading through bevy
Haven't heard of that let me check it out
I spoke to my lawyer, the plugins don't have to be public. Any modifications to the engine itself has to be publicly available.
Hi, could folia run on an ARM64 CPU?
Well, it's going to start up as long as Java is supported by the platform, ARM is
Though performance may be an issue
k
It fully depends on the ARM chip, but if it has many cores, it should be fine for folia
hi, i am considering using Folia for my next server project. i plan to use a vps with 16threads (qmd epyc zen 3 server with 4.3ghz boost) and 96gb ram. does someone know how many players this setup would be able to handle in a situation where thenplayers are spreaded over the map.
the repo says ~300 people per region
and it recommends 16 cores not threads
Which repo is this? We would not recommend 300 people per region.
There's no good math for this - just like Paper. It depends on the server, what people are doing, etc.
We don't generally recommend using a VPS and 16 threads is going to be low for what it sounds like you want to do. You have a bunch of RAM but the rest of the system seems not ideal.
Folia is really for leveraging higher end hardware, it's not really a great solution for cramming more players onto slower setups. So the hardware tends to cost a lot.
so how many players can i have in lets say, skyblock with a 9950x3d
Again, there's no math for "this is my CPU, how many players can I have?"
Same with Paper. It depends on a ton of factors. What the players are doing, what plugins you have, etc etc etc
yeah makes sense, but lets say a standard skyblock, farming, spawners large islands (5k size) per team
just a ballpark number
There really isn't a ballpark number.
Alright
And not every 9950X3D system is created equal.
It could be 10 players or it could be a few hundred. It's really really hard to speculate.
If you have one plugin that's poorly made it can completely limit the entire server.
So how is a server like 2b2t able to handle a thousand players?
Grabbing a bunch of off the shelf stuff and bolting it together puts you in a place where you can have a lot of bottlenecks.
Big servers like that are using a lot of custom stuff, they're spending a lot of time finding the best way to speed things up, and they usually have custom forks of Paper/Folia where they're pulling stuff out that they don't need.
You can't just walk in off the street, rent a server, slap a stock install of Folia on it, download a bunch of "these are Skyblock" plugins, and expect to be able to handle 500 players.
Wasn't what i was expecting. Doing everything custom
The reality is that if you have no playerbase right now, it's going to take a long time to build up to that many players anyway. In that process you're going to learn what works for your setup and how many folks you can handle.
Most server start small and grow organically from there.
I'm in the opposite state and in a weird/awkward position
no not really. if i find out that my server software choice is limiting me, it will be a hard time adapting my plugins to another one. Also i expect there to be a player peak around launch and would like to be able to handle upwards of 200 players on one single map.
That is also the reason why i explicitly mentioned that i would like to know ho much players Folia would be able to handle without any plugins installed that could be a potential bottleneck because if that happens i can simply improve the performance of the plugins.
Folia can handle more players on a given server instance than any other Minecraft software out there.
Anything else would be a fork of Folia that has a lot of stuff yanked out of it and may or may not be unsafe. In this case your limiting factors are going to be hardware and configuration. You can look around for other larger servers to get an idea of how many players they're able to support but they're using dedicated resources, not a VPS.
So there are a lot of factors.
i am considering getting a Dedicated i5 13500 (14C/20T) or R9 3900X (12C/24T) with 64GB or 128GB RAM since they can be had for about 40-50β¬/Month. would that be a noticable improvement? i just want to get a estimate on Folia would work without plugins from someone who knows more than me, it doesnt have to be accurate or smth.
i find that the upgrade from ddr4 to ddr5 is a big upgrade as well
what i want to say is that I dont know any reliable source of information if i should use Paper or Folia for my Survival Server (assuming there are no potential plugin bottlenecks) to get the most players on one map while beeing spreaded out. Everything that i know at this point is that Chatgpt recommended me to use FOlia and estimated that the server could comfortably accomodate 100 Players.
First of all, donβt listen to ChatGPT
Whether to use Folia vs Paper is dependent on hardware requirements and player distance from each other.
If you do not currently have 100 players already, start with a smaller Paper server and grow it until you start to exceed your hardware / server setup.
If you're already running with 100 players, what are the limitations of your current setup?
You can run 100 players on Folia under the right circumstances but you aren't going to do that with a $40 server setup.
Folia will run more players but it's hardware hungry, so you're looking at a dedicated server that's going to cost you most likely more than $100.
The folks running big numbers on Folia are spending hundreds (thousands?) per month on their hardware.
Also, yeah, don't listen to ChatGPT.
its ok for searching/research
It is not unless you read source
99% of people donβt
It gets a lot of Minecraft/Paper/Folia stuff wrong.
Especially Minecraft as LLM operate on probability and Minecraft has 10+ year of βinformationβ and only the latest 1 year would still be consider current.
Things like asking it about ram usage, it will almost always get it wrong
Someone in here had like 500 players on a skyblock and I think used a CPU like that but it'll vary depending on your setup
You might end up only running well with 50-100, depends on what you let players do
And that server was a dedicated box, not a VPS
What about Mobs / Entities? If you are running a Survival Server with 50+ players arent you required to lower mob spawn rates intensely?
Im struggling to understand how a server is brought down to it's knees trying to run with a couple hundred players or atleast you guys are making it out to sound like that.
To keep it simple, letβs use a company as an example.
Imagine youβre a manager supervising 100 employees. You have to check what each employee is doing, and every 50 milliseconds you must deliver a report to your boss. If your employees have little to doβlike casually exploring a worldβyou can review things quickly. But as your company grows, your employeesβ tasks increase, your workload grows too, and you may fall behind on your reports. In other words, you start to βlag.β
Now, with Foliaβs regionalization system, youβre no longer the only manager. Instead, you have multiple managers, each responsible for their own division (1 region = 1 division). Reports get done faster because each manager handles fewer employeesβassuming, of course, everyone isnβt crowded into the same division.
I tried to simplify it by using an example from everyday life.
brother im a systems engineer π I understand whats happening. But I dont understand how the performance is such a bottleneck across multiple frameworks
I just explained it, you have 50 milliseconds to complete all the tasks, otherwise your TPS (ticks per second) will start to drop.
So, the more load there is during those 50 milliseconds (plugins, entities, players, etc.), the slower the server will be until it exceeds the 50 milliseconds.
50ms is a lot of time to do a lot of things, spreading that across multiple cores/threads is even better, syncing all them into one state is a bit annoying. my point is It doesnt make sense that such high end equipment cant handle 500 players at stable TPS
Is there a way you guys are testing/benchmarking the framework itself?
Yes, in reality, we've been using Folia in production for literally a year. We've had peak player counts of 600 players, but since we have a lot of cores, and therefore a lot of regional threads, I haven't had any performance problems (except if the players build very, very large farms, which naturally causes their TPS and MSPT to be really bad).
my goal is to let players build very very large farms π’
You need a high CPU frequency and many cores for this. But there will always be a physical limit
they have, it's probably in readme
If you want more details, you can go and see here:
Folia is a Minecraft server software with true multithreading and regionalize ticking, with a goal to achieve better scalability and performance.
I checked, it isnt
so just public tests
Yes, and it's enough to give you a very good idea
not really, I want to investigate and see where I can improve in performance and make some prs, wouldn't want to make a whole benchmarking suite myself
Load testing Minecraft servers is basically impossible
You just have to get spark reports from real servers with real players and see where the hotspots are
You can use Spark to see what is consuming the most resources
offline bots sending packets...
Technically you could make bots that walk around, mine, build, fight mobs, whatever but at that point you're putting a ton of effort in to making bots that still probably won't match up to actual player behavior
It's harder to make an accurate bot than it is to make Folia π
And of course each server will to some extent have their own different hotspots
yeah i get you, but something basic shouldnt be trivial, and would/should give you a good insight
Maybe on your server everyone idles at farms but on my server there are no farms and people just mine all day but on someone else's people are just nonstop walking around
or all 3 π
3 non trivial activities
Last time I tried to do simulated loads to optimize CraftBukkit I ended up making it slower for most actual servers because my bots were not doing a key thing real players did
for example?
I don't remember what it was, probably walking normally, I think I just had them teleporting short hops
I was optimizing chunk lookups so that makes sense
so how did it end up being slower for actual servers
Basically don't try to microoptimize off simulated loads
I was tuning a HashMap (writing a custom one with a custom hasher, etc) and my worst case performance for that was something my bots didn't hit often but real players did
This was 2013 or 2014, the details are going to be vague
hm, i think there needs to be some sort of replay-ability, record packets from 5-10 players from join and simulate those
Hmm, this might be completely wrong but it suddenly popped in to my head that my bots were hitting the key not found case (need to load the chunk) while players were more likely to hit the key found case (walking in to loaded chunks) and my map was way better for the first one but worse than the existing map for the second one
Or vice versa
But that's going to be server dependent too so you might find a real server where my map would help but that's still not valid to go in to a project like folia or paper, it needs to be generally good
I want to investigate, but I don't know what values to go off of
You really just need to run your own popular server or get someone who does to hook you up with spark reports
hm
There also isnβt much low hanging fruit in Paper and Folia anymore
i guess zgc dont liked 18gb ram
very funny test.
falling back again to g1.
outdated java version???
its graalvm 24?
canvas is fork of folia.
i just test the gc latencies at 18gb ram allocation, while using zgc
Java 24 is no longer supported; its end of support was in September 2025
Now the latest LTS is Java 25
Wtf does "GC latencies" even mean? Are you mixing up cycle duration with pause time?
garbage collector latency
i was looking all of them their frequencies and ms
Iβve noticed that some players randomly get disconnected and see the message:
βYour connection to Folia encountered a problem.β
Just to clarify β the server is running Folia 1.21.4, and its name is simply βFolia.β So the word βFoliaβ in that message is just the server name; it could be anything else depending on the serverβs name.
It doesnβt look like the server is actually kicking them β and the players arenβt doing anything to leave either. Itβs as if they suddenly disconnect on their own, and then the server just shows that message.
This happens randomly and without any clear reason. Do you have any idea what might cause this kind of disconnect or if it could be related to Folia itself?
That sounds less like a Folia thing and more like a proxy thing.
But 1.21.4 is pretty old - I'd probably recommend starting to update.
We definitely don't support 1.21.4 anymore
hey, when folia for 1.21.10 will be released?
Hi, could there be problems if I set "grid-exponent" to 1? What would be the best value?
We don't have an ETA. Folia tends to be on slower releases.
okay, thanks
depends on your server gamemode, needs.
for folia - any spigot/paper mechanic will run the same on folia or are there "side effects"~?
As a example how does folia handles eventhandler priority~? since plugins run not longer in the same thread/loop~
Or plugin using~ "Depends on, Loads after"~?
Youβll want to read up on the docs there (and in this channel). Folia isnβt for every server / use case, so make sure itβll work for you. Plugin support is more limited also.
mean you might be able to tell me if it would or wouldnt work for my server~
survival faction - but i make all plugins myself the only 2 plugins that aren't written by me currently is worldedit / coreprotect~
plugin support would be my least concern
aahh i see will benefit smp so for me it would
You get benefits if players are properly spread across the world
ahh oki yeah that would benefit my server
the only thing i wonder is how it handles duo CPU~ (idk if this is all handled by the OS)
Thatβs pretty much handled by the os iβm sure
Btw about this
You want to prevent players from getting too close from each other or their regions will merge
Each region is handled by a single thread, you donβt want to end up using folia with a single huge region 
mhm~ can't not setup a max region size~? so even if close by that its not 1 massive region?
since the server should still benefit from the multithreaded performance compared to paper? (world, nether, end) are already 3 worlds~
Btw, this is an oversimplification, youβll want to read the docs on the regionising section
or will the server end up been less performance if player cluster~
Nope, regions are not exposed in any way
Folia handles everything automatically
i will read into the docs~ i mostly want to use the hardware i have to increase performance across the server. Its a small server (player count) but got the hardware for a big server
Kinda, but personally I only see players on the overworld
Almost no one hangs around in the end
And the nether is just an oversized highway
Depends on what your players do
at this point of time not much x3 but i want to build a server that will last for a life time without to much managing
just want to prevent lagg and optimize the server to its max~
If itβs small you could go with paper with just a couple of cores and save some money
If you still want to run folia, youβll still get benefits even in a small server as long as you manage to get this spread
the server specs i got is 36 cores (72 threads) 192gb ram~
Thatβs for a huge server yh
not allocated to the server fully only 24 cores - 16gb ram but will increase when necessary
for now i will read into the docs and then got to figure out when to find time to rewrite plugins to folia
thanks for all information so far!
okay 1 more question does Folia work with Velocity?
Yup
Velocity kinda works with everything, anything paper-based (like folia), fabric, forge and even vanilla
Also NUMA (dual CPU) isnβt officially supported, so use at your own risk.
Can i run folia on a Dedicated Server like AMD Ryzenβ’ 9 7950X3D? (smp server)
In theory paper should also be able to handle that
Given the other specs of the server are decent too
But if you have the resources and meet the requirements to use folia you will definitely profit from it
it's a smp but the world is big
its also depends on player spreading
if u spreading them too near
make it 1
But if ur spreading them too far based on each player
make it 2-3-4-5...
Is there any chance that the ad 1 grid will cause problems? like desync or player kicks?
I currently have about 150/200 players in a 30kx30k world
no, 60k x 60k sorry
do it 1.
no
Oh, another question (sorry). If I have 32 threads and the entire machine is dedicated to that mode only, how should I set up the various threads?
Not big enough
how much would you recommend?
Players need to be thousands blocks away from each other
^
still depends. But if u wanna learn them u can look to papermc configuration in their website
For more information
okay, thank you so much
not sure how useful example numbers are to you, we have 400k x 400k, and we basically have 1 region per player, besides that spawn region and sometimes players teaming.
If your players are close, they will all be lumped into one big region. Better to use a standard paper server at that point.
Though I guess separate dimensions would still tick separately
Like and Subscribe! π
Support me on Patreon! ππ
patreon.com/MinecrafterJoe
I am useing canvas and i have tryed to get this to wwork but it dosent quit work
canvas-server.json5 by @azure cloud: https://pastes.dev/6VijA9RCdt
paper-world-defaults.yml by @azure cloud: https://pastes.dev/zeFNCgUNRQ
paper-global.yml by @azure cloud: https://pastes.dev/SYsA2oD9jD
So when i am just only using papper with the configs it works but not whn i get canvas as well bc then it breaks
Any help with this?
idk what Canvas is, but if it breaks with that, you should ask them for help
it is a version of folia
we only support Folia here, not forks of Folia
ok