#folia-help
1 messages · Page 34 of 1
I have a fabric server running 1.21.4 on a linux box. Idk how good the cpu is but it has 20 gigs of ram, has about 190 mods, and if i have 3 people on at once it starts lagging really bad. Is folia compatible with that? If so, how much will it help? I guess you can’t answer that question unless I tell you what my CPU is
Folia does not support Fabric mods, at all
No. It supports Paper/Spigot plugins that were specifically adapted for it by the developer of the plugin
i cant compile the newest version of folia. https://pastes.dev/ew3wbYxJOG
idk why but it fixed itself after i recloned repo. i think
hi, does anyone know a coreprotect alternative that is compatible with folia?
I thought CoreProtect supports folia? At least its plugin.yml claims so
no probs with coreprotect on folia here
You would need to go check with those plugins
clearlagg is also generally not recommended vs properly configuring your server
Do you have any suggestions instead of clearlag?
A properly configured server
most of what CL patches over are better solved through configuration of the server rather than trying to solve it after the issue has already been created
What about multiversecore?
un/loading worlds at runtime is not supported
does it function the same?
mv
i dont think i understand your question correctly
Just FYI - we want people to find plugins they need/etc, but there's a fine line between helping and seeming like you're constantly shilling your own plugin. I don't really have a great answer for this but something to be aware of. If it's happening too much we may ask you to stop promoting it/etc
And if someone's asking questions about your plugin(s) then we're prefer them go through whatever support channel you have, not use this channel as a forum for that.
I don't think it's been a real problem yet, I'm just telling you now before someone feels like it has been, if that makes sense.
Does it have the same functionality as multiversecore?
yeah i understand
i really hope its not too much
i try to keep it low
No, it does not
meh, different plugin from what I recall, you'd need to read the docs or whatever and see if it has what you need
I found it but it didn't work
Yeah "does this plugin exist" is more of a you should be helping yourself answer those questions.
Or asking the places who make those plugins.
The best you can do with Folia is hack in support for loading worlds but only during certain times, there is not and will likely never be the ability to unload worlds
There was a page maintained by somebody which had a list of plugins which support folia/forks/prs with such stuff
And if you can't unload worlds I don't really see the point in a plugin to load them but maybe people have a better imagination than I do
You still having this issue? I haven’t had time to do side testing yet?
i am pretty sure we are. I will check tonight when i get home from work. Havent had much time to test either
Let me know if your players report anything with entities being invisible.
invise entities? thats the first i have heard of that one
thats the issue?
Same I’m not sure they just reported it to me that the gold farm underneath the entities are an invisible, but it just started happening today so I don’t know. I haven’t gotten to look at it since I’m so busy with work today.
And it’s just one guy so it’s probably something stupid. I get stuff reported all the time that’s just user error.
I just wanted to ask to make sure, though since I have your attention right now
LOL, this is 99% of the time
i will take a look though and see if we have any issues like that. I havent heard of any yet though
Great server by the way, we are fellow anarchy owners
cool!!
Hey so im asking myself if you should switch to Folia. The current server I have is with paper (1.21.4) and i got a few plugins including mine. The server would be an SMP. I heard that Folia is made for SMP where players are spread out in the world, which would be the case for me. I also know that Folia probably breaks multiple plugins and I dont know if it would be the case for mine. My plugin just has some basic command, adding few custom items and accessing a DB. My question is should I switch to Folia, with a goal of reaching 100-150 players eventually, taking in account the fact that I'm still really early in the dev.
Just use paper until you have the need man
If you aren't anywhere near 100 players yet, I'd say you could start developing plugins for it but maybe not switch yet.
If you've read all the requirements for Folia including the system specs and player spread distances and think it'd be worthwhile for you, then it would make sense to start porting stuff over.
Yeah I guess it would be better to just use Paper until I really need FOlia, at this point it would be a much bigger project and the choice is safer that way. thanks
If you think you'll switch to Folia some day, it can't hurt to start developing your stuff against it.
You can write a plugin with Paper+Folia support and switch over when/if you switch.
Is the difference between them really big ?
It depends.
API side
I'd recommending reading up on the documentation in here and browsing through #folia-dev
don't think thats explicitly mentioned in the docs, but the Folia schedulers will work on Paper too, so its reasonably easy to make your plugin work on both
Is there any unofficial forks of worldedit and worldgaurd that supports 1.21.4?
Check out the folia inquisitors
https://github.com/Folia-Inquisitors/WorldGuard-Folia
I could have sworn they also maintain a worldedit fork for folia
I don't have worldedit to match the version of worldgaurd 💔 I can't find worldedit for 1.21.4 same for worldgaurd
I mean I did look for worldedit that supports 1.21.4 but I couldn't find one 😭
https://github.com/Euphillya/WorldEdit-Folia
i found this one
looks like it is up to date
Lemme check
Does that support 1.21.4?
you'd have to check yourself but i think so
I believe 7.3.9 version doesn't support 1.21.4 it only works for 1.20.6-1.21.3
This is pure turtore fr
Downgrading to 1.21.3 is my only option but is there a worldgaurd for 1.21.3? 💔
Wai
try and see
i doubt it only works up to .3
https://github.com/NekoMonci12/WorldGuardFolia/releases
This have version for 1.21.1
should I downgrade to 1.21.1?
I mean idk if https://github.com/Euphillya/WorldEdit-Folia supports 1.21.1 💔
Imma test
@dim merlin
Do you have a pre built jar file for folia 1.21.1?
I wouldn't suggest to downgrade
Especially not on folia
⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.
why?
Folia 1.21.1 is broken?
because every update to folia is a big fix, because folia is really unstable
💔
So on paper each commit is a very small bugfix but on folia there are many more bugs and instability issues
not broken but also not recommended
try and see
so like what's wrong with it tho
Also it sounds like folia is not for you
It is not a replacement for paper
To get the most out of folia you have to meet certain conditions
You are most likely better of running a paper server
I can't run with single threaded thingy 💔
Many parts of the api are broken and even more in earlier versions
so I just keep the lastest?
it's not really single threaded
thats the best thing to do
And you also get more minecraft features
ik but I have spread players 40+ it's pretty laggy
That much spread?
I have extra vcores
12 vcore
Probably enough to handle 100-200 players with multithreading
P
I really need this folia thingy 💔
I heard 1.20.1 is a good version
Should I use it instead? @exotic canopy
The version of Paper you are using is outdated and unsupported, as old versions may contain numerous bugs and/or exploits. If you wish to receive support, make a backup and update to the latest supported version.
Download the latest version here.
i assume you have a vps when you say "12 vcore"
that is most certainly not good enogh to come even close to 100 players considering you said your server cant even handle 40 players on paper
I mean the paper server doesn't even use all the vcore
It only uses like 4vcore
of course it doesnt
throwing more cores at it doesnt magically make it go faster
you are most likely bottle necked by the clock rate/speed
does throwing more cores at folia work?
not if the cores are weak
doesnt sound like it tbh
but if you go for something else than latest version you are on your own
.
Alr
@dim merlin I give up
💔
So many issues
Do you have a region protector for folia? @dim merlin
1.21.4
please stop tagging me
Mb
You should test the ones linked above and fix smaller issues yourself... To make these plugins work on the latest version shouldn't be really challenging since they are explicitly made for Folia, so the whole region-handling thing ist already dealt with so you would just need to Deal with minor changes Like in normal paper.
If you are not able to programm such bugfixes and don't have a Developer who is, Folia isn't for you...
When will be folia 1.21.5 released?
Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.
For more information:
Folia will:
- NOT be backported to older versions <1.19.4
- NOT be merged into Paper
- NOT be ported to Fabric nor Forge
Stay tuned to #announcements for any further info about releases.
hi do you guys know any good economy provider plugin for folia?
We don't have any ETAs for releases.
It'll get released when Leaf releases it.
Leaf being “Spottedleaf”, the main developer for Folia
Did you think I meant something else?
Oh. No.
yeah my bad
Any fork of skript that supports folia?
Folia is generally aimed at large professional servers that care for performance. Skript is the exact opposite of that.
Not to mention that you would need to change the skript language itself in a major way too + adapt all your Skripts to Folia
Ait
And yet sadly there is a skript port for folia
Is there no version of Folia for the latets version of Minecraft?
I'm using https://setupmc.com/java-server/
and I only get 1.21.4 when I set it to latest
But in the works?
1.21.5 of paper is even in experimental
I thought it was out already
Oops no, it's still experimental
what's the difference between dev/hard-fork and dev/1.21.4
one of them is so outdated you wouldnt want to use it
Use the hard-fork branch
Is there a way to make the thread regions smaller? I'm running a server with Folia and people are thousands of blocks apart and the threads arent splitting.
they aren't fixed size. But with a default grid-exponent value, its around ~900 blocks for a split at view-distance=10, which seems plenty low
you can try adjusting that value (see here for an explanation), but generally the default is sensible
Your players are likely just not far apart enough from each other
***grid-exponent: 2 ***tried finding some information on this setting, what does this modifty regions?
read from the link linked here
You can't really get regions smaller than ~1000 blocks, though.
If you need players closer than 1000 blocks then Folia might not be for you.
I think they're down to ~700 blocks
You can't change the grid exponent to be smaller though, only larger
IIRC it's ~900
So you can have bigger regions if you want, there can be some performance benefits to that
Or maybe I don't understand that setting either 😛
All I know is around the time that setting was added the default was also changed to make smaller regions and it was suggested making them smaller would break things and/or cause large slowdowns
Right, so grid-exponent is 2. if I am reading it right, is it suggesting chunk buffer is increased or more
But what I don't get is increase the number = more buffer or less. That isn't explained in the github
Smaller = Better imo
Smaller regions means they're more likely to combine.
So be aware of that.
It's a lot easier for players to move towards each other if the block distance is small.
smaller = more lock overhead
So what exactly is grid-explonent supposed to do? thats the question I am still on
It says chunk buffer, but lock shift above 6 shift affect region shift
Previously was at 4 and now at 2 implying ~1500 blocks to ~900 to which I assume from grid exponent being changed changes region shift
datapacks not working on folia
:waa:
just as a heads up, Folia is not a drop-in replacement for Paper. Your plugins also won't just work, until they are specifically adapted for it
well as long as it does not have any functions in it, it should work just like on Paper
anyone having this weird bug..?
Worked for me. Are you on dev/hard-fork?
No, master, should I use dev/hard-fork?
When I do ./gradlew applyAllPatches it doesn't work..
use a shorter path
probably want to do a fresh clone and immediatly switch over to the correct branch too
Alright ill try that. Btw, is it possible to load/create new worlds while the server is on?
unsupported
There is a plugin thing which shims support for that back into its own library
but, unloading is 100% unsupported and nobody has gotten that working
Alright, but disabeling access to the world and remove it on shutdown/startup is supported?
you cannot remove the main world at any point
the server will unload worlds on shutdown for you
No but I want to reset the nether world every x days (automatically)
if you use the bootstrapper you could maybe just delete the folder from there, or do it with a startup script
Alright thx, where do I find the jar? I compiled it but there is nothing in /build
in the build/libs folder
Nice got it. But when I run the jar I got:
Caused by: java.lang.NoClassDefFoundError: joptsimple/OptionException```
I need the bundled one?
yes
In the root build folder is nothing
then you probably didn't run the correct command
./gradlew applyAllPatches
and
./gradlew createMojmapBundlerJar
then it should be in the build/libs folder of the folder you cloned
I guess maybe he set a different layout then, you need the bundler jar
Hello i would like to know if folia can be good for us. Our server is a Gens Tycoon. So most of player are on spawn in the same wheat field (or in their skyblock island).
Im asking that because i see someone say that: "Folia will be only useful to you if your players are spread far across the same world / multiple worlds. The work is split between independant areas (unloaded chunks inbetween a batch of loaded chunks)"
So actualy our players are not spread far across the same world they are all in the same area (the 1000x1000 spawn)
If everyone is in one small area, then no, it wouldn’t make sense to use Folia.
Ok thank you
I thought that servers with "kind of" instances were actually using Folia, but it seems it's actually multiple servers connected through a proxy, if I'm not mistaken. Thanks!
Does anyone know if Tebex supports Folia?
Hi, how do i download Folia 1.20.4?
You have to compile it yourself. There is no direct download @worldly sparrow
I don't think so
Just try it out
Does folia work with worlds with custom height?
You'd need a datapack for that - so probably not.
datapacks doesn't work at all?
Actually I guess a world datapack might work.
Datapack functions won't
Test and see if it works.
Best way to know for sure.
Is the latest version of Folia on the banch dev/hard-fork? Also, how exactly do I build it? What are the commands? I get an error from time to time.
the same you build Paper, so see the build instructions on the Paper github page
Task :Folia:folia-server:applyPaperMinecraftSourcePatches
[WARN] Patching: net/minecraft/server/players/PlayerList.java
[WARN] Hunk 7: FAILURE: @@ -309,56 +481,162 @@
[WARN] Hunk 22: FAILURE: @@ -772,18 +1270,25 @@
[WARN] Hunk 23: FAILURE: @@ -791,7 +1296,7 @@
[WARN] Hunk 24: FAILURE: @@ -799,11 +1304,11 @@
[WARN] Patching: net/minecraft/server/players/UserBanListEntry.java
[WARN] Hunk 0: FAILURE: @@ -37,19 +37,27 @@
[WARN] Patching: net/minecraft/world/entity/NeutralMob.java
[WARN] Hunk 0: FAILURE: @@ -39,18 +39,11 @@
[WARN] Patching: net/minecraft/world/entity/animal/horse/AbstractHorse.java
[WARN] Hunk 11: FAILURE: @@ -862,6 +936,11 @@
[WARN] Patching: net/minecraft/world/entity/raid/Raid.java
[WARN] Hunk 6: FAILURE: @@ -357,6 +378,7 @@
[WARN] Patching: net/minecraft/world/level/entity/EntityLookup.java
[WARN] Hunk 0: FAILURE: @@ -33,6 +33,14 @@
Task :Folia:folia-server:applyPaperMinecraftSourcePatches FAILED
Task :applyAllPatches FAILED
FAILURE: Build failed with an exception.
- What went wrong:
Execution failed for task ':Folia:folia-server:applyPaperMinecraftSourcePatches'.
java.lang.Exception: Failed to apply 9/2970 hunks
- 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 2m 23s
6 actionable tasks: 4 executed, 2 up-to-date
Configuration cache entry updated for no projects, no projects up-to-date.
make sure that it's a fresh clone, make sure that you're using java 21
Hey, is it somehow possible to turn off the new ender pearl chunk loading feature from 1.21.2?
This is part of Paper config that should also works for Folia.
its called something with "legacy enderpearl"
I cloned dev/hard-fork and I'm using java 21 but it doesn't work
use a shorter folder path
C:\Users\mysam\Desktop\Folia
Isn't it short?
Thank you EterNity, could you tell me where I can find this setting or how its called?
it's probably not that for that specific failure, but, you'd want to reclone anyways, and, update to the latest build of java 21
outside of that, you'd need to work out why the patches are failing
oh thanks sniffer I didn't see your message
https://github.com/LuminolMC/LightingLuminol
Is this project fake? It says that folia has been developed. I installed 2-3 bukkit plugins and they worked.
it has nothing to do with us
and, yea, there are a small number of forks which allow non-folia plugins to load at the cost of introducing a whole bunch of syncronisation; we recommend actually addressing the issues rather than shimming in such a thing, you'll also not get any support here
So you think it won't be productive and healthy?

in my experience such forks break a lot of plugins that are actually folia compatible
but on the contrary it worked positively
Good luck with that
If I take out some of the bolts in my car, it will still run probably but I probsbly wouldn’t trust its safety.
These things tend to work fine until they don't. And when they don't it's catastrophic.
Either way - not our software. We don't recommend running it.
threaded-regions:
grid-exponent: 4
threads: -1
Could you explain these settings to me, I couldn't find a clear document
Whats the vibe for folia stability now
Is it good enough for prod if ur fine with rewriting all the plugins
Had been that way for a while now
?
Are bossbars completely disabled in folia or just the command is disabled?
is it safe to switch from paper to folia? and also folia to paper?
just askin
anyone
Most plugins would break
-# the world itself would be okay
oh okok, i don't mind plugins lol
is this like packet crash?
Yes, fixed in the latest builds of paper
when will there lastest for folia?
Updates to Paper do not have any sort of estimate for when they release, ever. Any and all updates will arrive when they are ready, and the only thing to do is wait for them patiently along with everyone else.
never
This is prerelease quality software which in expects that you're a competent developer or have access to them in order to deal with issues that might arise
used in prod last 4 months no major issues
115 plugins
Player count? The readme says 330 but id imagine it could go much higher just based on what people are able to do on plain paper/forks
That's literally just the "here is what we had it working on on our test server" notes
yea
towards the start of our season we were doing 220 no problem
prison server which has some advantages and challenges though
Just as a quick 2-second (and then 10 minute...) experiment grabbed the latest commit ref from the 1.21.4 paper branch and folia appears to patch and compile with 0 issues, do with that what you will, 0 warranty, etc
im guessing 1.21.5 needs more manual changes than just patching the latest commit from paper?
tried it myself and got some errors
Is it possible to get the Chunk's LoadLevel without loading the chunk first in Folia? I thought you had to load the chunk to read any data from it
Can't you check if it's in World#getLoadedChunks first?
I know many of the chunks I'm looking at won't be loaded. I was curious about the exact LoadLevel instead of just loaded vs unloaded as that's causing my issue
Right, so only call Chunk#getLoadLevel if it's loaded; otherwise, default to UNLOADED
The load level is a dynamic value.
does the hard-fork branch have this issue fixed?
No, Leaf hasn’t pulled Paper in a while.
threaded-regions:
grid-exponent: 4
threads: -1
Could you explain these settings to me, I couldn't find a clear document??
grid-exponent ?
I'm sorry I didn't quite understand 😕
Stupid peoples
Can someone tell me what version of folia most stable.
Thx
theres no stable version of folia, its all in beta until a actual stable release drops it'll stay unstable for now
dev/hard-fork is the most recent and the most recent is generally always the most stable
Can i have the link of folia. Thanks
But is it 1.21.4 version?
Yep
I'm guessing that Folia has stalled while Paper updates?
Ye, Leaf must be helping with it

Updates to Paper do not have any sort of estimate for when they release, ever. Any and all updates will arrive when they are ready, and the only thing to do is wait for them patiently along with everyone else.
this issue also persists on papermc
Addressed here - #paper-help message
Guys, I'm planning to set up (actually convert) a Paper server to Folia. It's a semi-anarchy server, basically a survival. I'll be using a Ryzen 9 9950X, fully dedicated to this server with all 16 cores. What do you guys, who are more experienced, think the average player capacity will be?
It depend on what your players are doing. This is also an unanswerable question on Paper.
100 players naked who just log in to your server? spread out? No problem vs 5 players with SciCraft level base close together? Your server is doomed.
My Paper server peaks at 100 players, but I use a bad CPU for Paper, a Xeon 2680 v4. I believe that with the new processor and the conversion to Folia, it will reach around 400.
is there any alternative for worldguard that works in folia? or a worldguard fork that works with the latest folia dev/hard-fork version?
there seems to be an alternative yes
but you should be able to also sort of create these functions yourself (and it would probably be better if there were issues)
Yes, open-source plugins generally have variations for Folia. I even have a .jar file here—it's the original WorldGuard. Do you want me to send it to you?
We generally don’t want to normalize random people sending jars. The place to get jars is from repositories or known good download sites.
In this case, I would be sending git to compile it.
Values from /mspt are real?
As opposed to lies?
Task :Folia:folia-server:applyPaperMinecraftSourcePatches
[WARN] Patching: net/minecraft/server/players/PlayerList.java
[WARN] Hunk 7: FAILURE: @@ -309,56 +481,162 @@
[WARN] Hunk 22: FAILURE: @@ -772,18 +1270,25 @@
[WARN] Hunk 23: FAILURE: @@ -791,7 +1296,7 @@
[WARN] Hunk 24: FAILURE: @@ -799,11 +1304,11 @@
[WARN] Patching: net/minecraft/server/players/UserBanListEntry.java
[WARN] Hunk 0: FAILURE: @@ -37,19 +37,27 @@
[WARN] Patching: net/minecraft/world/entity/NeutralMob.java
[WARN] Hunk 0: FAILURE: @@ -39,18 +39,11 @@
[WARN] Patching: net/minecraft/world/entity/animal/horse/AbstractHorse.java
[WARN] Hunk 11: FAILURE: @@ -862,6 +936,11 @@
[WARN] Patching: net/minecraft/world/entity/raid/Raid.java
[WARN] Hunk 6: FAILURE: @@ -357,6 +378,7 @@
[WARN] Patching: net/minecraft/world/level/entity/EntityLookup.java
[WARN] Hunk 0: FAILURE: @@ -33,6 +33,14 @@
Task :Folia:folia-server:applyPaperMinecraftSourcePatches FAILED
Task :applyAllPatches FAILED
FAILURE: Build failed with an exception.
- What went wrong:
Execution failed for task ':Folia:folia-server:applyPaperMinecraftSourcePatches'.
java.lang.Exception: Failed to apply 9/2970 hunks
- 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 3m 26s
6 actionable tasks: 6 executed
Configuration cache entry stored.
what is the problem
branch ver/1.21.4
delete stuff and try again, make sure you're using java 21
I tried and I am using adoptium java 21
make sure ur git is installed and works fine
I'm sure it's installed
the error indicates its failing applying patches by git
maybe try --info or --stacktrace?
Hi, I am beginner developer with plugin on Minecraft, please I need help with one problem. I created my own plugin, but this plugin is function on Spigot, Paper, but no to Folia,. I know that I need threadedregions.scheduler.ScheduledTask, but my maven project does not support Folia. so threadedregions.scheduler.ScheduledTask is error
What should I do please?
<@&748618676189528155>
Thank you
Sometimes this is spammed randomly for 10-20 times in the console (I know this happens when whitelisting sometimes), without any command like whitelist etc. being executed:
[10:06:01 ERROR]: Got an error with a html body connecting to https://api.minecraftservices.com/minecraft/profile/lookup/bulk/byname: <html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>Microsoft-Azure-Application-Gateway/v2</center>
</body>
</html>
also this:
[com.mojang.authlib.minecraft.client.MinecraftClient] Got an error with a html body connecting to https://api.minecraftservices.com/minecraft/profile/lookup/bulk/byname: <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='content-type' />
<style type='text/css'>
// random css I removed bc it doesn't matter and bc of discords character limit
</style>
<title>Service unavailable</title>
</head>
<body>
<div id='content'>
<div id='message'>
<h2>The request is blocked.</h2>
</div>
</div>
</body>
</html>
didn't happen when using folia 1.21.1, now on 1.21.4 it happens. Could be an issue with microsoft/mojang that would have also been present on 1.21.1, I don't know.
it does happe.n in 1.21.1, mijang just had the errors squashed, now they don't
yeah, i noticed the same thing
but i suppose each server owner has to fix it for themselves
yeah, 1.21.4 seems stable unless you have shitty plugins crashing it
We don’t really have “stable” versions. The brand names change because new versions come out, basically.
Folia is inherently experimental and when there’s a working 1.21.5 branch that’s the branch you’ll want to be on.
No, it’s just a branch scheme.
hi, I don't know how I'm doing here, but would it be possible to help me please? I created my own home system, which is not 100% functional yet, I already got it on the server, the home is created but it can port me out, I tried PortalAsyns, but it doesn't work, would anyone know how to fix it? not only this, but also the gui click menu etc.
Sounds like you're using some plugins - you'd want to ask the people who make those plugins for help.
See if they have a support Discord or something similar.
Yea, ok so I'll try to find someone, but thanks for the answer
Heya! I might just be being blind but what do I need to do to build the folia server jar? i tried running the patch.bat then the rb.bat file but both failed to build?
this is the build failed error: https://pastebin.com/s5wh9nwm
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.
this is on the 1.21.4 branch
Folia's a fork of Paper, so you'd want to follow the instructions on the Paper repo.
ahh alright cool ty
your folder path is too long, give your folders a shorter name
I believe the command: git config --system core.longpaths true fixes the problem of having a folder name that is too long
How many netty threads should I set for a server of 100-200 players?
leave at the default
aka 4
its 4 threads per 200 players so u should be fine iirc
Hello, I ran into a problem that sometimes the entire tab complete of command arguments can disappear, most often this happens when there are 50+ players on the server, maybe someone has encountered this and knows how to fix it or wants to track down why this is happening?
If I had to guess, some plugin is causing it.
The command tree (the thing that does the tab complete) does not get randomly re-sent to the client otherwise, so it shouldn't just pop out of existence suddenly unless something causes it to get sent again
Since we switched from 1.21.1 to 1.21.4 after switching worlds the hungerbar shows to be full only if it gets updated with losing hunger it shows the real hungerbar from before.
It doesn't act as its full but shows it everytime until a hunger update.
Sounds like a plugin issue.
Quickest way to test ^
would it be good to use -XX:+UseZGC -XX:+ZGenerational instead of G1GC for a ~100 player folia smp server?
It will be fine. They ain’t going to make much difference if you do not have problem to begin with.
would I need any other startup flags? I would use amazon jdk 23 then andjust the 2 flags above instead of -XX:+UseG1GC
I already have aikar flags etc.
I mean any other flags for the GC to work good with 128 GB memory
Java 23 is eol and shouldn’t be used
squaremap.txt by @oblique forge: https://pastes.dev/nF2bgLbqEU
Pl3xMap.txt by @oblique forge: https://pastes.dev/uuB3o9EGF8
2nd error is due to a busted chunk
1st error is because internals apparently changed, accessing internals is not supported
If its the internal stuff then its to the devs to fix it
Why can't we copy the carpet
Can you elabroate on what you mean? What carpet?
If you're trying to copy and paste something, that's a plugin, not Folia.
copy meaning dupe I assume
Looking to re-enable patched Vanilla exploits like duping (TNT, sand, tripwire hook) or bedrock breaking? Click here for more information.
Sorry, I am a Chinese user and I use a translator to type. The translation may not be accurate

So did anyone found there is an issue on the teleport async method?()
I noticed someone who teleported to the edge of the tickregion will trap the async catcher after they teleported
This issue also happening on some portals like end gateway but it says it's getting a chunk out of the tickregion
I mean, I'm guessing you mean the entity tick logic is accessing unloaded chunks
that should be fixed in the scheduler branch afaik
I tried but it still can be constantly reproduced()
tried what?
Yes, and that's a known issue
at least, I know of it, idk if anybody cared to report it on the issue tracker
I tried add a tickthread check in the same tickregion check and it seems to be solved?()
It happens a little frequently on my friend's server()
But the part of the callback of async teleport API is still in a mess()
As the check radius is actually cannot be surely given()
Well, yea
the only garauntee is that the chunk they're standing in is fully loaded, that doesn't really change
Actually there is no tickregion there but some logics added the chunkholder there to load data and then it caused the tickregion add()
No idea, I don't really deal with folia
- private boolean checkNearbyTickRegions(int destX, int destZ) {
-
// Dumb end gateway search the chunks in radius of 5 chunks, so we need keep 6(5+1) by default check radius -
int sizeBx = Math.min(6, (int) (this.bb.maxX - this.bb.minX) + this.level.getCraftServer().getSimulationDistance()); -
int sizeBz = Math.min(6, (int) (this.bb.maxZ - this.bb.minZ) + this.level.getCraftServer().getSimulationDistance()); -
// check tick thread around these area -
return ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(this.level, -
(destX >> 4) - sizeBx, -
(destZ >> 4) - sizeBz, -
(destX >> 4) + sizeBx, -
(destZ >> 4) + sizeBz); - }
- protected final void transform(TeleportTransition telpeort) {
PositionMoveRotation move = PositionMoveRotation.calculateAbsolute(
PositionMoveRotation.of(this), PositionMoveRotation.of(telpeort), telpeort.relatives()
@@ -4157,7 +4172,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// check for same region
if (destination == this.level()) {
Vec3 currPos = this.position();
-
if (
-
if (this.checkNearbyTickRegions((int) pos.x, (int) pos.z) && destination.regioniser.getRegionAtUnsynchronised( ca.spottedleaf.moonrise.common.util.CoordinateUtils.getChunkX(currPos), ca.spottedleaf.moonrise.common.util.CoordinateUtils.getChunkZ(currPos) ) == destination.regioniser.getRegionAtUnsynchronised(
My fix(
Given that you've not provided the error I just assumed it's the one I already knew about, outside of that, I'm out
But idk if it's correct()
Thanks
Mainly diff of the class Entity
Ok I need to go sleep,I am out()
Hi, I have a question: Is it possible to run a Minecraft server using storage over NFS?
I have two servers:
Server A: Acts as a storage server with 12TB of NVMe, but only has an 8-core CPU
Server B: A high-performance Ryzen machine that I want to use to actually run the Minecraft server
Can I mount the storage from Server A over NFS on Server B and run the Minecraft server from there? Will this work reliably and perform well, especially under high player load?
using network based filesystems is generally unsupported as they do not reliably implement the various things minecrafts region file stuff expects
afaik it should generally work, your biggest issue is also going to be things like latency
Yeah the latency would make it a non-starter IMO
I have like an SMP
it load for like 70k chunks and 35k entites
it gonna be so worst right..?
I mean, it's going to depend on many factors that we cannot see or cater for
nfs performance can wildly vary depending on network conditions
Put a bigger drive on “server b” and use that.
How to fix this error?
https://mclo.gs/lbsouBR
My server always crashed by this error
thats unified metrics iirc
12TiB of NVMe
Single drive, or multiple drives? How much RAM do you have, and what's the speed of network
Hey guys, does anyone know an anticheat for Folia? I tried Grim and Spartan, but Spartan isn't even running, and Grim doesn't work because of Velocity.
dms
I use matrix
any Multiverse-Core like plugin for folia?
I'm the server owner who previously reported issues with Piglins spawning outside of the gold farm portals. I went ahead and loaded the world on a fresh Folia 1.21.4 server with no plugins and default config files. The issue still persists, so I can now confirm this isn’t caused by any plugins on my end. I likely would’ve seen more spawning below the gold farm if I hadn’t used so much carpet spawn-proofing
Fulgur I assume you didnt find a solution either?
I’ve also noticed another issue with overworld gold farms. Piglins are being sent through the overworld portal into the Nether, and once there, they just keep coming... without mercy, care, or love. They continuously pour in from the Overworld and stack up on the Nether side, potentially reaching into the thousands if left unchecked.
This was not happening when our server was on 1.21.1 of Folia. Only after the update did we start seeing these issues
nope, not yet
also, i may just be dumb and it might just be a vanilla feature, but i have found that if you load a portal gold farm, and a player just loads the nether, it will still run the overworld side. Can you see if you can replicate that on your server as well. I haven't reported it yet because i want to verify its not something on my end.
https://hangar.papermc.io/?page=5&sort=-stars
Will all plugin here works for Folia? I'm completely new and I'm really interested in this concept of multithreaded server much so that I wanna try opening a skyblock server for Folia
Hangar allows you to find and download the best Minecraft plugins for your Minecraft server
No, only the ones that are marked as compatible with Folia
Hangar allows you to find and download the best Minecraft plugins for your Minecraft server
I seems to find why this bug caused https://github.com/PaperMC/Folia/issues/280
But a little confusing()
Hello, will the Foila be suitable for SMP where there are e.g. clans, and there may be clusters of several dozen people in one place?
will your player be few thousands block apart and anti-social and never want to meet each other enmass? if so, yes
Assuming you have top of the line hardware dedicated to you and a team of developers updating plugin that may otherwise not support Folia.
ServerChunkCache getChunk → ChunkTaskScheduler scheduleChunkLoad→ created chunkholder out of tickregion but close to current enough → ChunkHolderManager run some ticket updates → ThreadedRegionizer addChunk→ created a transit tickregion for merging logics and then will merge to current tickregion and begin to tick when the merging is done and chunksystem put some main thread taks of the load task into this transit ticket(including retiring that chunk load callback) → waiting for that future until task is done
But current tickregion is waiting for that chunk future and that chunk future can only be finished by that transit tickregion and that tickregion can only begin ticking when the merging is done and the merging can only run when current tick of the tickregion is done
So it actually became a unreachable future
And nothing but that block waiting can be found on thread dump
And in this commit https://github.com/PaperMC/Folia/commit/2e7bc0721af95196c85500c7bb136aeea0bc12ce which adds the thread checks back to getChunk again, preventing load a chunk out of current tickregion.And it is that actually make that "deadlock" disappeared in the last versions because it actually prevent that unreachable future
so it's better to use paper? even though players will usually be a few thousand away from each other, but they would often go in groups of 5 or more, for example there could be fights where there would be even 50 people in one place
Sounds like Paper with correct amount of optimization/gameplay reduction is the way to go.
What's the output when running /data get entity <uuid> on a paper server
I spent quite a few hours testing for that issue and it was caused by the zombie leader reinforcement feature, which isn't a bug and happens in vanilla as well
what folia supose for
The main audience is large servers with good hardware, the dev workforce to rewrite plugins, and with gamemodes where players (or groups of players) are a couple thousand+ blocks a part
should i choose folia or paper
If you have hundreds of players spread far away then yes, otherwise it's gonna be slower with way less available plugins than paper with no benefit
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.
wth
far away, so how much chunk called far away
All players need to be more than 5000 blocks away from each other to consider them far away
can I edit this
no
....
i will send the src file
i scare smb steal my src
what
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.
check it
i got region error
you’re managing entities on the global region that’s your issue
you should replace it with the entity scheduler
When you seek community support, we expect you to have a basic understanding of Java and to have already invested a certain level of effort in troubleshooting issues before asking for help here. The community volunteers are not here to review your ChatGPT-generated code nor to spoon-feed you solutions.
Please note that ChatGPT is not an ideal tool to answer questions.
what
don’t use ai to fix your code
In short: Read the docs
huhu
the global scheduler is for things like weather etc
Still the same applies
the entity scheduler is well.. for entities
Vibe coding, which refers to using AI to generate code without fully understanding the language, can result in undetected bugs, errors, security vulnerabilities, or even code that doesn't work at all due to hallucinations.
When seeking community support, we expect you to have a basic understanding of the topic and to have already invested a certain level of effort in troubleshooting issues before asking for help here. The community volunteers are not here to review your AI-generated code or to spoon-feed you solutions.
Please note that ChatGPT is not an ideal tool for answering programming-related questions.
and the region for other things related to world state such as blocks
Please learn to code instead of vomiting your AI slop here for us to fix.
To create plugins, learning Java beforehand is like learning how to write before creating a novel - it's an essential part of the process.
There is no shortcut to learning programming, just as there is no single, definitive way to approach it. Everyone learns differently. One of the best ways to learn is by doing and actively applying what you're learning as you go.
Learning Resources:
^^
i mean in the places where u modify entities use the entity scheduler
and also you should prob broadcast chat messages on the async sched not global
try and see
oh
message.txt by @somber blade: https://pastes.dev/UjuSxBcgeB
xD
are you sure you’ve changed those scheds correctly?
maybe.....
send the src
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’re still using the global for entities
huh
i remember i did change
for (World world : Bukkit.getWorlds()) {
globalScheduler.run(this, task -> {
int worldCount = 0;
for (Item item : world.getEntitiesByClass(Item.class)) {
if (item.isValid()) {
item.remove();
worldCount++;
oh shiet
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.
try it first
alr bro
[17:01:11 ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread Region Scheduler Thread #0 failed main thread check: Accessing entity state off owning region's thread
oh shiet
it happen again
can you share the full logs?
and also youre broadcasting the messages on the entity sched
message.txt by @somber blade: https://pastes.dev/DPK6fKBZ3C
private final GlobalRegionScheduler EntityScheduler = Bukkit.getGlobalRegionScheduler();
that… is not the entity scheduler
are you still using ai?
no
im not read carefully
sorry
private final GlobalRegionScheduler EntityScheduler = Bukkit.getGlobalRegionScheduler(); to private final GlobalEntityScheduler EntityScheduler = Bukkit.getGlobalEntityScheduler(); right?
Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.
For more information:
Folia will:
- NOT be backported to older versions <1.19.4
- NOT be merged into Paper
- NOT be ported to Fabric nor Forge
Stay tuned to #announcements for any further info about releases.
oh....
bro 
MTHER FKER
skidder
does folia support multi world plugin
no
it only supports datapacks that can add new worlds
We're currently experiencing an issue on our folia server where arrows lose their ownership when relogging. Is this a problem with folia or maybe even a paper config? We couln't find anything like this online.
Example Video:
https://drive.google.com/file/d/1jViq8Rm6zlqSKa18wqyhRH9T9wY1iyQk/view
(For context: The torch should turn off when looking straight up. This worked before. However, it breaks after relogging.)
-# Please ping on reply
Uh are command blocks disabled for folia?
Yes, support for some in-game commands is (by extension, command blocks), in general, out of scope
Command blocks require commands to give immediate feedback which is not possible
Presumably you could have command blocks still work but have the redstone part of them not work but... why?
Because I don't want to make plugins for some small things, so I use command blocks for that.... You said that the redstone part doesn't work, so basically any farm that works with redstone can't work either, right?
You have farms that use command blocks as a part of their redstone?
Redstone works fine, command blocks don't
No, I thought redstone wouldn't work either because you said the redstone part wouldn't work xd
The command block redstone is that their output signal is based on the result of the command they ran but since commands don't run in a single tick in Folia that can't work
Alright
Redstone in general works just like in Paper
Vanilla compatible about 99% of the time, there are a few differences that no one has ever been able to figure out (my guess is due to BlockPlaceEvent and piston events) since the CraftBukkit days
hi I'm trying to run a folia server but I am getting this error:
https://mclo.gs/jQCP2w8
📦 Installed Plugins:
- DiscordSRV 1.29.0
- floodgate
- Geyser-Spigot
- GemMod
- HuskHomes 4.9.6
- LuckPerms 5.4.159
- MiniMOTD 2.1.6
- PingPlayer 1.1.0
- spark
- ViaBackwards 5.3.2
- ViaVersion 5.3.2
- voicechat 2.5.26
📦 Installed Datapacks:
- blocks_silk_touch_budding_amethyst v4.2
- bukkit
- carpet2wool
- crafting_misc_more_dyed_wool_and_carpet v5.2
- crafting_re_dye_concrete_powder v4.2
- crafting_re_dye_glass v4.2
- crafting_re_dye_terracotta v4.2
- crafting_smithing_armor_netherite_no_template v4.2
- crafting_smithing_tools_netherite_no_template v4.2
- enchant_infinity_and_mending_bows v2.2
- enchant_infinity_on_crossbow v2.2
- Nullscape (1.21) v1.2.11
- Terralith (1.21) v2.5.8
- terratonic-datapack v3.2
- xp bottling v1.1.12 (MC 1.21–1.21.5)
What in the world is wrong???????????? BTW this is a fresh new SMP
Please stop using AI to format your plugin list.
Did you seriously use AI.
I just wanted to make it easier for u to read
This isn't the first time.
I wasn't using AI for any code or anything except making a easy-to-read list for the plugins and datapacks
i'm sorry if I did that
Well stop it. It’s not easier to read
then did you want like a dir of that folder? or a screenshot?
I want you to use binary search and debug why this easy-to-reproduce issue is happening.
I know binary search since I do CS actually. however, I think the reason is that this is a fresh server w/ no new world
You think the reason you know binary search is that it's a fresh server?
You are allowed to type out complete messages and thoughts. Please do so instead of pressing enter repeatedly between announcing you found the issue 😉
(Reminder 4)
when I start a folia server w/ new world, it has async loading errors --> crashes out. by starting w/ a paper server, which safely generates the start chunks and then switching to a folia server, it has no issues
Folia != Paper
https://github.com/PaperMC/Folia?tab=readme-ov-file#the-new-rules
They're two completely different things, why don't you just use paper?
Folia == Paper IFF I am in this world
Could anyone tell me roughly when Folia 1.21.5 might be released?
A speculative estimate would be fine.
Fx, how many months after Paper's 1.21.4 release did Folia release its 1.21.4-compatible version?
For now, Paper has not yet announced that version 1.21.5 is stable. I believe work on 1.21.5 will begin after that announcement. So I don't think it will happen right away.
bump
@gusty parrot this is for you ^
Thanks!!!!
Hi everyone, every time someone uses the bag on the server, it crashes. I’d like to know if there's a way to remove it or a plugin to disable it.
You will need to manually port the exploit fixing patch from Paper to your Folia.
assuming that's the bundle crash.
What I did was use a fork of EssentialsX and block the use of the bundle because, from what I saw in the error logs, it happened when the player interacted and dropped the items.
But thank you, I’ll try to see if that’s the issue to prevent more errors like this.
how can I setup a folia project?
and @rustic scaffold
yeah
you will need to build it yourself
alr thx
check github for folia
Hello
i am trying to compile the ver/1.21.4 of folia
Anytime i run gradlew applyPatches it fails with this message popping up
Calculating task graph as no cached configuration is available for tasks: applyPatches
> Configure project :
paperweight-patcher v2.0.0-beta.14 (running on 'Windows 11')
[Incubating] Problems report is available at: file:///C:/Users/albin/Desktop/mcest/foliaallfiles/Folia/build/reports/problems/problems-report.html
FAILURE: Build failed with an exception.
* What went wrong:
Task 'applyPatches' is ambiguous in root project 'folia' and its subprojects. Candidates are: 'applyAllPatches', 'applyPaperApiFeaturePatches', 'applyPaperApiFilePatches', 'applyPaperApiFilePatchesFuzzy', 'applyPaperApiPatches', 'applyPaperFeaturePatches', 'applyPaperFilePatches', 'applyPaperPatches', 'applyPaperSingleFilePatches', 'applyPaperSingleFilePatchesFuzzy'.
* Try:
> Run gradlew tasks to get a list of available tasks.
> For more on name expansion, please refer to https://docs.gradle.org/8.12/userguide/command_line_interface.html#sec:name_abbreviation in the Gradle documentation.
> 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 875ms
Configuration cache entry stored.
And i have no idéa why it fails
applypatches doesn't exist anymore
try the first candidate you see in said error message
use applyAllPatches instead
tried that got this instead
C:\Users\albin\Desktop\mcest\foliaallfiles\Folia>gradlew applyAllPatches
Calculating task graph as no cached configuration is available for tasks: applyAllPatches
> Configure project :
paperweight-patcher v2.0.0-beta.14 (running on 'Windows 11')
> Task :applyPaperApiFilePatches
Applied 0 patches
> Configure project :Folia
paperweight-patcher v2.0.0-beta.14 (running on 'Windows 11')
> Configure project :Folia:folia-server
paperweight-core v2.0.0-beta.14 (running on 'Windows 11')
> Task :Folia:folia-server:setupMacheResources
Copy initial sources...
Setup git repo...
> Task :Folia:folia-server:applyPaperMinecraftResourcePatches FAILED
> Task :applyAllPatches FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':Folia:folia-server:applyPaperMinecraftResourcePatches'.
> io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false reset --hard upstream/main
* 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 1m 33s
6 actionable tasks: 6 executed
Configuration cache entry stored.
will do
same error after clean went through
the main problems i get is branch out of sync. long path or path with spaces
can you try put everithing on a folder on C and try from there in order to have a shorter path
worked fine with main brach but sure
get this when i run gradlew createMojmapBundlerJar now
applyAllPatches worked
That error doesnt tell me much. You have recloned the folia repository to the folder on c, or did you just move the folder? If you did the second, try the first.
.4
Seems like i cant clone it tho
You would need to work out why git failed
make sure that you do a clean clone and switch directly to the new branch and then applyAllPatches; otherwise, you would need to try to figure out why it failed
I get this error when i try to clonse it:
idk about that GUI, but make sure you are cloning the correct branch
i used this link: https://github.com/PaperMC/Folia/tree/ver/1.21.4
is it wrong in any way?
Havent used that before
its just git clone https://github.com/PaperMC/Folia/
and then checking out the branch (git checkout)
using that (not suprsinglt) i get the master version
trying to run the 1.21.4 still failes however
just tried it, works fine for me. Make sure you got the name correct though, its ver/1.21.4
no
clone the repo
then checkout the branch. not one step
but that really is git basics, which you should know if you are running Folia. Its not intended for beginner users
the fact that you can /tree/xxx is a github thing, not a git thing, you need to clone the repo itself and then switch over branch, or use the --branch argument, but, as said, this is pre-release quality software, you are expected to be familiar with this tooling or be in a position to hire somebody who is
Are there any fixes for entity interactions in unloaded chunks? I ran into an issue with the vanilla TNT bore not working properly in lazy chunks
(Also, I’m using the new-scheduler branch)
im not sure but you should switch to the normal 1.21.4 branch since the new scheduler is outdated by a lot
in terms of eg the bundle exploit
I’m currently out of town right now on vacation so when I get back I’ll test. However this is something that was not happening on 1.21.1 so I’d assume that’s a new feature? It also is spawning in piglins on the nether side even though the nether is unloaded where they keep stacking up
And would nether zombie piglins do the same thing?
I have 16 physical cores and I have 1200% max CPU for the folia server. Can I up it to 1400% without the remaining 200% being not enough for the async tasks? Player Counts right now are around 100 but we expect around 200-300 in the future.
Hello everyone! Will 9 5950X be good with folia core? Will folia take up all its cores? So there won't be enough resources for other tasks? (online 50 players, the whole map is preloaded, the server theme is vanilla survival with a couple of plugins)
It does fit the recommended minimum requirements
Folia has configurable thread amounts for certain tasks, e.g. amount of tick threads, so you'll be able to cap that if you have a lot of regions
Thank you!
Folia broke most vanilla datapack :(((
well yeah it’s talked about in the docs that function ones don’t work
Will there alternative
No
There already is an alternative, called plugins
the commands used by datapacks expect there to not be regions, and so either you stall the whole server out for them into some giant region, thus losing some of the goals of folia, or you admit that relying on global state is stupid and expect that people actually using folia have the resources to do so
bump
We don't know what your server needs
We currently use 300-400% for folia with around 100 players
Your spark report will give you an idea what to change. None of the information you told us allow us to give you any meaningful suggestion
alright thanks
Can you guys help me? I need a good anti-cheat for Folia, not Spartan, GrimAC, or Lightning. I was thinking about Matrix — is it good?
@elfin thicket this channel is for people who need help with Folia server software itself. If you want to look for opinions on plugins, you can either use syscraft in #community-guilds or Google.com
can i use folia with 4 thread?
You can use it with 1
Just how much of an advantage you're going to get in such a tight environment is generally going to be the questionable factor
can i send you s spark report for you to have a look? i kinda ran out of options
I mean, maybe; running pre-release quality software intended for servers with a metric ton of resources is hardly a thing we ultra support
yeah it the last thing in my list too
I mean, tbqh, you are generally pushing on what modern MC will generally handle without going crazy with restrictions and such
any recommendation?
Not really, outside of the generic "do less" type of stuff, i.e. reduce mobs, but, them taking 1/2 a tick is pretty much the norm
thanks
1/2 or 3 per tick, for each function
Hello everyone, I'm running into a problem with region TPS on my Folia server and would really appreciate some insight.
Server specs:
- CPU: AMD EPYC Milan, 12 cores / 24 threads
- RAM: 32 GB
- Folia build: folia-bundler-1.21.4-R0.1-SNAPSHOT-reobf.jar
Server Health Report
- Online Players: 101
- Total regions: 23
- Utilisation: 370.7% / 1,000.0%
- Load rate: 115.00, Gen rate: 0.00
- Lowest Region TPS: 7.92
- Median Region TPS: 19.53
- Highest Region TPS: 19.54
Highest 3 utilisation regions
- Region around block [w:'world',-697,80,215]:
100.0% util at 125.85 MSPT at 7.92 TPS
Chunks: 9,541 Players: 52 Entities: 6,293
Other regions are doing okay, but this one region is dragging down performance. The overall CPU usage is only ~370% out of 1000%, so it seems like not all threads are being fully utilized.
Relevant config:
threaded-regions.threads: 10chunk-system.io-threads: 2chunk-system.worker-threads: 2spigot.yml.netty-threads: 2- JVM:
-XX:ConcGCThreads=2
Server Plugins (16):
Paper Plugins:
- SignedVelocity
Bukkit Plugins:- BlockLocker, ChatManager, Chunky, CommandWhitelist, CoreProtect, DiscordSRV, LuckPerms, packetevents, PlaceholderAPI, ProtocolLib, ViaVersion, WorldEdit, WorldGuard, zEssentials, zMenu
Question:
Are there any specific settings or strategies I should change to better spread the load across more region threads, or to avoid one region bottlenecking TPS like this? I’d love to hear if others have hit this and how you dealt with it.
having 52 players close to each other is only good at spawn, if its in another dimension, for instance, because you can disable certain gamerules, but having 52 players in world at around 0,0 with 6k mobs is a suicide
Ah, that leftmost diagram looks exactly like our setup — makes sense why it's hard to parallelize then.
just to give you an example, we had 15k RTP (so from -15k to +15k in overworld) radius on new season launch and it was not enough for 200+ players
you'd need at least 30k
its just a downside of folia
Yeah, I was hoping to encourage more player interaction, so I didn’t want to force RTP too hard. We actually have a 20k x 20k world border, but I guess everyone still naturally clustered toward the center anyway — so it didn’t really help.
In hindsight, Folia might not be the best fit for this kind of gameplay. Spreading players out kind of goes against what we were trying to do, but I get now that it’s necessary if we want to get good performance with Folia
Thanks for the example!
RTP doesn’t really fit the kind of experience we’re going for on our server, so that’s probably not an option.
But reducing mob counts is something I’ll definitely look into — I’ve already noticed animals getting way too dense in some areas. I’ll try adjusting despawn settings to help with that.
Hello everyone,
I'm running a server that averages around 150 players, but the spawn area is experiencing major lag and seems to be locking up
[17:00:43 INFO]: Server Health Report
- Online Players: 151
- Total regions: 98
- Utilisation: 437.6% / 800.0%
- Load rate: 11.40, Gen rate: 45.20
- Lowest Region TPS: 0.63
- Median Region TPS: 20.00
- Highest Region TPS: 20.01
Highest 3 utilisation regions
- Region around block [w:'world',-873,80,-265]:
92.8% util at 1,215.92 MSPT at 0.63 TPS
Chunks: 534 Players: 32 Entities: 236
- Region around block [w:'world',334951,80,-1036745]:
19.1% util at 9.53 MSPT at 20.00 TPS
Chunks: 338 Players: 2 Entities: 531
- Region around block [w:'world',-96521,80,-101529]:
9.4% util at 4.67 MSPT at 20.00 TPS
Chunks: 470 Players: 4 Entities: 401
I'm not sure if this is caused by a misbehaving plugin or something else. Any help or advice would be greatly appreciated. Thanks!
Can you get us a spark report?
that looks like folia, #folia-help please
oh nvm
I am blind 
but - make sure you are up to date. older versions of Folia had some region locking bugs
In that part of the screenshot, where it says threads: 32, does it really mean threads or cores? Config file.
Core is hardware while thread is software. How that maps depends on the hardware and configuration. Most modern CPUs support two software threads per hardware core as part of SMT. But you can either turn that off or have a CPU that only supports one thread per core.
So it depends.
is there a newer version of spark that support folia ?
i can see that it is many commits behind
im unable to compile the one on github on the branch feat/folia
Hello everyone, I have my Folia server hosted on my own dedicated server with a Ryzen 9 9950X, but I see that my server barely uses all that it offers, and it still feels a bit laggy, about 1 second of delay, even with the TPS at 20. I don’t know how to fix it. Can anyone help me?
Has anyone encountered the crash problem with 1.21.5?
how to make my aternos server online 24/7
You can't. This is the Folia help channel, though
hi, does someone know a working worldedit plugin for folia 1.21.4?
fawe supports folia from what i see
fawe -> fastasyncworldedit
Fawe only supports folia up to 1.20.4
is there spark for folia yet ?
are you on the latest 1.21.4 build?
I recall this being a pretty common issue in earlier Folia versions
maybe.
especially with experimental software like Folia its very important to stay up-to-date
Will older fully stable versions of folia ever exist?
Just like Paper, Folia is also running on rolling release, there will not be a stable version.
what I can do for saving world from 1.21.4 -> 1.21.5?
message.txt by @twin spindle: https://pastes.dev/ew6VTb9Hp6
When people say "spread around" what do they mean, how far?
In https://cubxity.dev/blog/folia-test-july-2023 Why only 500G instead 1000G? Is it due this problem that can occur #paper-help message ?
Also why not just have enough ram not to need to do any garbage collection and just store everything until server restarts[either every 12 or 24 hours] that way you avoid the said potential problem? Would that be viable solution if lets say you could allocate 4TB of ram or 8TB
For example in windows you have pagefile, if your ram gets filled up OS will hit a pagefile[a disk] and then unused data will be moved from ram to SSD, if you are playing a game a stutter/slowdown can occur while windows is moving data from ram to pagefile[paging]. Kinda sounds similar to what the Amaranth has said "The GC stats would show a lot and/or very long pauses as the GC" so that's why i am asking if more ram would bruteforce that problem because in Windows it would definitely, more ram would make it basically rarely or even never use paging as hard as it does when it runs out of ram, windows still utilizes pagefile i know that..
I recall that just really being a Shenandoah test, using 500GB is already an order of magnitude too high for any kind of server
So the person who tested used 500GB basically to decrease how often GC happens and potential hiccups?
When you run a server, you usually don't want to restart, and GC is most of the time not an issue to worry about to that point
From what i've so far learned, allocating too much ram to server can be harmful, but if you allocate big amount enough for GC to "never" need to happen you solve the problem?
So restarting server every 24 hours is not needed? [Except when you are adding plugins and such, this is out of topic right now] Lets say you have a running server and all nedeed plugins. You don't have to restart server?
Or if you do, how often? Every couple days?
With MC's allocation profile, I'm not positive epsilon GC with even a couple terabytes would last too long lol
Well, restarting is sometimes done as a band-aid fix for memory leaks, you don't need to
Shenandoah and ZGC are the kind of GCs where you can just throw as much RAM as you want at them, more or less
They burn CPU time but almost none of it is ever on the main thread so that reasoning I gave doesn't apply
Assuming you have a few CPU cores available to dedicate to GC
I see, so memory leaks do occur and can stack up until you have hangs what you are basically saying. I suppose the way memory leaks "stack" up is when GC occurs for example it leaves little data and that adds up until it can't be refreshed? Or the GC and memory management is "perfect" so this doesn't occur?
For example, in windows if you boot you will have a certain ram usage. Lets say 2GB
You open browser, discord and few apps and then you decide to close them all, upon closing them and basically having nothing open as you booted windows - Your ram usage would be at lets say 2.5 GB or 3GB instead it being at 2GB as it initially booted
Memory leaks in the traditional sense can't happen with a GC-based language, instead you get things like a plugin storing Player or World references or whatever even though those players or worlds aren't around/relevant anymore
My two often heard points:
Some plugins keep references to entities/worlds that can't be collected that way
Something about cache hits with huge ram allocations?
The region system itself (region files, not folia's thing) used to sort of leak memory too as it had a cache but after a long enough time period things would be ejected from the cache so not really a leak
Ah i see, thanks
I think the region thing is still relevant because you can't just unload a world and then immediately delete it and recreate it but I don't know the specifics
Not that you can do that with folia anyway...
Do keep it in mind our first test, the number thrown on it isnt something of deep research, it’s more off “hey we have those much resource, let’s throw majority of them in and see” type of deal @earnest folio so you don’t have to look too deep into it.
iirc the only reason there wasn't more RAM thrown at it was NUMA
gotta make your own updates 👀
Got it
So regarding Folia. Is it less dependent on core speed then or still matters. I suppose if Folia is like paper then yes indeed single core would still matter, but maybe the way its multithreaded a single core performance has less of an impact compare to running paper for example?
Core speed still matters, each individual Folia region will only run on a single core
It matters less the more regions you can get but you still wouldn't want to run it on a Xeon meant for web servers (tons of Atom-class cores) as each individual region would perform badly
loosely, the # of cores dictates how many regions you can have ticking at once; the single core perf dictates how much those regions can do
if you know you're going to only have a player or two inside of your regions, you can lean more towards high count low perf chips, otherwise, the high core count CPUs tend to bust fairly fast
If a particular CPU is only good for running a 10 person Paper server (this of course varies based on what the players are doing, etc) then each Folia region would be able to handle say 8 players at the same level of performance
The overhead is probably not 20% but it isn't zero so I'll overestimate
Thanks for insights
there are no older versions of folia
1.20 is the oldest i think
also with folia you want to always be up to date so using 1.20 is absolutely not recommended
trust 1.20
where do i download 1.20
you dont
there is no direct download
You can check the git branches to get the version you want. However, if there is a problem, you probably won't get support.
You have to know how to use git and how to build Folia from source. No download URLs are provided.
i do know how
then Folia probably isn't for you
its in-development software aimed at large servers (=have/can pay their own dedicated developer).
Its not a drop-in replacement for Paper, at all
ik i dont want to make a server yet its js i want to add mods then maybe move to a server
Paper and folia both do not support mods
i swr they do
like i swr servers like 2b run on folia and they got cirtian mods
thats what i meant mb
You can install plugins on Paper, or Folia. However plugins for Folia need to be specifically adapted for it.
Overall, it sounds like what you really need is just a normal Paper server
nah i did mean plugins not mods i didnt realise there was a difference
but now i realise there are
anyone know how i fix this
Your folder C:\Users...\Folia is not empty
based on what that erorr .... yeah that
ah ty
wait as soon as i run this cmd it says this am i stupid?
use patch.bat
still doesnt work
Go refer here for the compilation: https://github.com/PaperMC/Paper?tab=readme-ov-file#how-to-compiling-jar-from-source
that doesnt help
You should probably just stick with Paper if you have so much trouble getting it compiled.
Otherwise, try again with a clear mind later. When you are able to read.
so even copy and pasting the things i need is saying that im not able to read
makes sense
The reason we make people compile Folia from source is to attempt to weed out people who don't even need to be running it
i know that but i just dont understand cuz from before i compiled it fine then idk what i did with the built jar then when i tried to recompile it it says that now
does anyone know how to help with Error: -classpath requires class path specification error?
Probably busted repo or file path too long, assuming you’re an alt of the person above
That logic got modified last update.
I don't have a latest gradle wrapper handy to compare to tho
https://github.com/PaperMC/Folia/commit/398ec0627d02faac8d6bdd8df831ef0661cd78e8#diff-33fbd7a182c496726227993443a3cfea58670618db831c51c273dcd8962c861a
That error does seem reasonable based on what I'm reading tho
Looks like the wrapper matches official gradle repo, so it's not like it got modified somehow
I guess a weird java install isn't handling this correctly?
idk who @fallen charm is
if that is the person u are on about
Yes, was just fun to see two people with the same error
Either way, no idea how to diagnose that, I'm guessing you're using using windows?
indeed
all I can guess is to check your environment variables to make sure that nothing is awry
or, just use a supported environment like WSL
it also try reducing the path length, since i guess it could be some weird cli parsing stuff with that?
the APP_PATH is calculated dynamically, outside of stuff like running in a folder tained by something like onedrive, hard to say
https://docs.papermc.io/misc/tools/start-script-gen/ is identical to https://flags.sh/ i suppose?
Is --add-modules=jdk.incubator.vector needed? Says that it can improve performance on newer cpus slightly.
Pretty sure that only matters for some paper forks
iirc some of them do things like map rendering using that API
used to, not anymore since pufferfish, which that patch originates from hasn't updated for 5 months
flag's pretty much just there to cover some older versions
it doesn't do anything bad if just left in
Yo will folia work fine on 12 core 24 thread cpu
With like 8gb of ram allocated to it
How many players are you looking to have?
I have like 6ish rn
Was wondering if it will run just wanted to play around with it
Yes, it'll run fine
(The spread rule still applies, though, if you have all players in the same place, you'll end up with slightly slower Paper)
Oh nice
Btw will folia be better for higher render distance and simulation distance compared to paper ?
Spread is the defining factor, not view/sim distance
I mean, it's splitting up the world into stuff, that includes splitting up ticking of worlds
each region is basically akin to its own tickable thing, and so, you're less time contrained with ~50ms per region rather than ~50ms for everything
Hello, im currently hosting a 60 player projekt and my server is lagging how can i distribute more regions?
You make more regions by making players go farther from each other
If the distance between any two given players is around 1000 blocks (or a bit less, iirc), they will be in the same region
could this be solved by making grid-exponent smaller?
It reduces the required spread a tiny bit at a small cost of performance
but, really, you just need the correct play r spread
That's new
if i have a world on disk, can i somehow load it when i start the server?
See the answer I already gave you in #paper-dev
Now I use folia
That's not the only answer I gave
folia has disabled world creation via the api
You would need to create one
💀
Folia isnt for beginner, you are likely better off using Paper.
"Datapack cannot automatically load worlds from other folders"
folia isn't supported this
Well, no, you would need to hard code the worlds to load
that is also 2/3 of the messages I sent
uh can i ask where is beta-schedule
Not a thing
Oh I thought you were asking for when Folia would be in beta
did it got merge to dev/1.21.4
No idea what that thing is/was
💔
isaw this
but not sure if it got merge from new-scheduler to 1.21.4
icl, the new scheduler is way better than the normal one, saves me some CPU.
Folia is experimental software so Leaf is the sole developer so the changes may be drastic and never final. You can always make your own fork and continue to apply the changes you wish to keep. Try using #general for general chatter and #folia-help if you are actually in need of assistance.
no it didn’t
leaf will remake it since it had some core flaws
If you look at the messages below, you'll find why the branch got deleted
ah thanks
Hey guys i'm working on a small airdrop plugin and have problem when trying to spawn a chest and replacing its content with a new list of ItemStacks, nothing happens and the chest stays empty even when i'm delaying the whole thing :\
(I get no error)
private int executeSummon(CommandContext<CommandSourceStack> ctx) {
Player p = (Player) ctx.getSource().getSender();
Location loc = p.getLocation();
loc.getBlock().setType(Material.CHEST);
plugin.getServer().getRegionScheduler().runDelayed(plugin, loc, task -> {
Chest airdrop = (Chest) loc.getBlock().getState();
if (!(airdrop instanceof Chest)) {
plugin.getLogger().warning("Block is not a chest yet?");
return;
}
airdrop.update(true);
ItemStack[] items = plugin.getConfigManager().getAirdropConfig().getContent("test-1");
plugin.getLogger().info(loc.getBlock().getType().toString());
airdrop.getInventory().setContents(items);
airdrop.getInventory().addItem(new ItemStack(Material.STONE));
airdrop.update(true);
plugin.getLogger().info(items[0].getType().toString());
}, 10);
return Command.SINGLE_SUCCESS;
}
(Fix) Dont use update for some reason it just breaks the whole thing, dont know why
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1838) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1668) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:407) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:418) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
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) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "ca.spottedleaf.moonrise.patches.entity_tracker.EntityTrackerEntity.moonrise$getTrackedEntity()" because "entity" is null
at net.minecraft.server.level.ChunkMap.newTrackerTick(ChunkMap.java:958) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at net.minecraft.server.level.ChunkMap.tick(ChunkMap.java:976) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:502) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:775) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1833) ~[folia-1.21.4.jar:1.21.4-DEV-cd49d65]
... 5 more```
any idea
Did you install Gsit?
Well that comment came out of nowhere
😭
parallel world ticking is much less useful but has almost all the same plugin breakage
Dinnerbone and Grum tried to add that to vanilla back in like 1.5, I think it was enabled for a couple snapshots even
decreasing mspt
i know everything can break plugins
sacrifices for performance
ugh.
thats why there is a pwt-plugin-buffer channel on leaf
for fixing plugin breakages
every jar serves a purpose
u should use folia-based thing if u want smp/skyblock
leaf cant help in this purpose
even paper
- u need more thread.
This is my personal opinion. I find separating ticks by world unnecessary for almost all existing servers. Even if it were stable, I don't see how it would be useful for servers, other than mini-games if you create dozens of worlds. This could be solved by several small servers or, alternatively, servers for builders, but even that wouldn't be convincing enough to go for this kind of thing.
As I said, this remains my personal opinion. Perhaps there's a reason I don't know where simply separating ticks by world would be a good idea.
u can use pwt on minigames/pvp servers
it will help.
but in smp like servers is..
no need
Parallel world ticking is a useful way of putting several instances on a single server instead of making multiple servers, it can be more efficient (CPU and memory) that way
+1
But since the plugin breakage it causes is basically identical to what Folia causes and Folia gets you parallel world ticking too I'm not sure why you wouldn't just use Folia
I mean, there is some less breakage since some of the removed API can work if you still only have one thread for the world but the thread safety issues with plugins are identical
Yes
nice
Yes, I see it, it could possibly make a skyblock world, a survival world, etc. on the same server
That would probably be the main benefit of PWT over Folia, I suspect getting world load/unload working there is much simpler since you can just do it at the start/end of tick when all the worlds synchronize
That goes back to the "some less breakage" I mentioned
yeah
That's the main source of breakage in plugins, they aren't thread safe
That is going to be the same between Folia and PWT
so i want to ask u something
doing that system on worlds, meanwhile keep plugins on main thread?
what about that?
That would make PWT a slower and less useful version of Paper
uh oh
Events happen often enough all the worlds would just be blocked on the lock for firing an event
thats true

