#folia-help
1 messages · Page 31 of 1
When will fiola be stable and Always Up to Date such as paper itself?
- There are no ETAs
- it's a complex piece of software maintained as a passion project, which depends on paper; so, probably never
We are putting together a new Folia server for an SMP world which will be fully pregenerated, so we also want to have a 'resource' world players can visit for mining which we can regen at will to keep it up to date with the latest versions. What would be the best setup to have for this resource world in terms of the players being able to gather/mine resources they can bring back to the main SMP world?
Would a multiverse style setup be better or one where the resource world is a completely different server but the user inventory functions in both the main Folia and the Resource world? (using something like Husksync, that sort of thing)
folia benefits from players being thousands of blocks away from each other
unless you have terabytes of storage and like a week to pregenerate, it's probably a bad idea
We have terabytes of storage and we have previously spent a week pregenerating a world. We are absolutely an SMP Folia is made for. I'm just wanting to get some advice on how to handle a resource world setup so players can mine/gather on it and take their stuff back to the SMP world.
There are pros and cons to having the resource world be part of the same server, versus having it on a different server (same host though)
if you have terabytes of spare storage for this, then better investment would be better cpu witth more threads to generate those chunks on the fly :P
as for the resource world, depends what you nant to do with it
will you be resetting it dynamically?
if no, then just get a datapack that registers a new dimension with overworld generation
More threads? That's not going to resolve the issues we have with players lagging the main thread, we already have plenty of processing power and as soon as we hit 50+ players performance becomes a real problem for us
folia is not a magic spell. unless your players are really spread out, performance is gonna be worse than on regular paper
if you have those 50 players in one place, effect will be the same
(or worse)
It's an SMP server, they are spread out all over the place
then more threads will just benefit you more, more reason to not pregen and just let the chunks generate on the fly
it really, really, really doesn't take long to generate chunks with a bunch of threads thrown on it
basically wasting storage space if you pregen on a map big enough to accomodate folia
It's just that I'd read some of the performance relating to Folia testing where they still recommended pregen
testing is not the same as natural gameplay
yes, if you keep generating chunks all the time forever, you might be worse off
but a real server basically never works like that
people make bases and keep most of their business there
those are already generated :)
Sure, but we want to have a fixed-size world where players can see a full map of it from the outset. So that would require pregen
fair
So I'm back to wondering how to handle the setup for an accompanying resource world we can regenerate whenever a new Minecraft version comes out with new items/entities
as long as you don't want to reset that resource world while the server is running
that would have its own separate folia regions
the only real issue with getting more world on folia is no safe option to do it while server is running
otherwise it's fine
Hi, in order to remove an entity, do I have to remove it using EntityScheduler or can I use the global one?
Depending on how many people would be in the world at a given time / how many resources you’d have left, I’d probably do Velocity and a separate small Paper server for the resource world.
Then you can reset/regen/whatever as much as you need, and you can lean on the proxy rather than Multiverse. Folia will connect to Velocity the same as Paper would. And gives you flexibility moving forward.
Nice, yes we currently use velocity. So a folia smp world can have players mining a paper server resource world? That would be an ideal setup for us then. I wasn't sure if we'd need both servers to be running Folia
You’d need to carry inventory over, but yeah a Folia and Paper are compatible.
how much memory is recommendet for Folia?
start with 10g and see. This is something you fine tune later when you actually have players in the server.
Hello, can anyone help me get folia in version 1.21?
You have to build it yourself. Look for info in this channel on how.
⚠️ 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.
I understand, but I only get older versions and I don't know how to get folia 1.21. I can't find any tutorial or help
You should probably be better off using Paper. The build instruction on Paper also works for Folia. If you cannot figure this out, you will not be able to run Folia as all plugins will also not work and need to be updated. @livid sun
After many attempts to get folia 1.21 I ended up compiling
PAPER of the same version accidentally haha, I currently use PAPER but I want to use folia for 1.21, any recommendations?
Out of sheer curiosity, why do you want to use Folia
Cause if you don't have hundreds of users online spread out thousands of blocks away from each other, I dunno if Folia is meant for you
Sorry if I'm a bit annoying for being so insistent but Folia caught my attention and I have many friends to try a server and if possible create a small community that's why I want to be able to experiment with Folia.
Not annoying, just that Folia has very specific use cases and limited plugin support. Read the pins in this channel. The hardware and use requirements are more than most people have.
Yes, I know and my PC meets the necessary requirements, that's why I'm excited to use this software for Minecraft servers and be able to experience it in version 1.21 with the new additions, but it only leaves me with previous versions and doesn't let me compile it in 1.21.
I am looking for any recommendations or help please.
You don't want to run Folia (or even Paper) on Windows, certainly not while you're also running the Minecraft client.
But in short: if you can't sort out how to build it, then Folia is not for you right now..
What a pity, for now I only use a version that I compiled on paper 1.21 a year ago and I can compile other previous versions of Folia. But I get an error every time I want to compile it for 1.21
thanks all the same
Hi, is there a way to switch execution context from some thread to the main thread? I came up with an idea to just do some actions on the server to invoke events e.g. killing an entity to invoke EntityDeathEvent, but this is not always possible and feels hacky. Then I realised that I could create my own events and call them, but actually I think the handlers for events created in non-main thread are dealt with also in non-main thread
There is no main thread
I mean there is only one thread from which I can remove the entites right?
I need this one
as they said, there is no main thread
there are multiple tick threads, each of which an entity could be removed on
Okay, so is there a way to switch context to one of them?
If you want to interact with the entity, the entity scheduler is probably what you‘re looking for
You can't remove an entity from the EntityScheduler
yes you can?
I am getting this error: Cannot remove entity off-main
you'd need to show the full thing, but, the entity scheduler runs within the region of the entity, and so you should just be able to remove the entity there
Guys...Folia + Kubernetes = ???????
I don't understand the question.
Can Folia benefit from Kubernetes in any way? Since Folia already scales with more cores
Kubernetes would be for standing up Folia servers.
It would be the same benefit as Paper.
But Folia generally wants a large single beefy server.
Whereas a Paper setup might have multiple smaller servers.
Folia basically would remove the need for that if it meets the use requirements.
You wouldn't want to spin up 3 Folia servers on a single box. You'd use Paper for that.
Thanks😁
no lol
i say this as someone who uses kubernetes for practically all of my minecraft projects
unless you're doing it for high availability (and you actually have the hardware / networking / tech for this), there is no benefit
you can achieve the same without kubernetes and 5 minutes of work
Well the easiest and best solution is to split them into seperate machines entirely, but your point still stands
you would still want that with kubernetes
unless you really have a good reason for k8s, just don't
we only use k8s for log ingestion with loki and grafana (also jenkins for ci/cd ig)
Why are crystals slow on folia, and what causes the pearl bug
Hello, I am having problems downloading Folia. I have searched the internet several times, but unfortunately I have not found a suitable solution. The error message is (: paper:patchCraftBukkit)
there are no official downloads you would need to compile it yourself
and the error you provided is useless. We would need more information.
this information helps you more?
Configure project :
paperweight-patcher v1.7.1 (running on 'Windows 10')
> Configure project :paper
paperweight-core v1.7.1 (running on 'Windows 10')
> Task :paper:patchCraftBukkit FAILED
> Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':paper:patchCraftBukkit'.
> io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false clone --no-hardlinks 'C:\Users\Documents\test\.gradle\caches\paperweight\upstreams\paper\work\CraftBukkit' 'C:\Users\Documents\test\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\patchCraftBukkit.repo'
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 2m 43s
2 actionable tasks: 2 executed´
try running on linux/inside WSL
alternatively maybe this could be an issue with file syncing as it's in Documents? not sure, it doesn't show much in terms of error
Could it be because I can't execute commands with --
I have no experience with github and git
I don't know what you mean by "can't execute commands with --", sorry
you really just need to checkout the repo and run the gradle task
there's even .bat files for Windows that run the gradle command for you I guess
I meant these commands
- from #folia-help message
- --stacktrace
- --info or --debug
- --scan
- --warning-mode all
Yes, the .bat files are located in the folder but they still give the same error message. I haven't found a solution online yet. However, I could set up a virtual machine with Linux/inside WSL.
I fail to see how you wouldn't be able to use those parameters
me neither I have looked several times via github at PaperMC what I have to install to make it complete
you probably just have to run the gradle command with --stacktrace to get the full error
here is the full error
message.txt by @torn shoal: https://pastes.dev/OzoH4bmIRU
ah I missed that, try running it inside a path without a space in it. that breaks things at times
so (.\gradlew applyPatches--stacktrace) ?
or what do you mean?
well a space before the -- but yes
so .\gradlew applyPatches --stacktrace
yes
just started 2 minutes ago to install : P
winddos is generally shit for mc server tooling
I haven't used it yet, I don't have any experience with WSL
time to get some 
I have installed it now
how do I start with this?
You can probably just clone Folia to C:\Folia and build it there
You just need a short path that doesn't have funny characters and isn't synced with onedrive
ok
Building in WSL is way less hassle and way faster but you have to know how to use Linux to set it up 😄
ehm ooooof
-# I had always done it only on Windows never on Linux
it worked now without wsl and I don't know what I did to fix the problem
I have a question: what do you have to set so that the TPS only crashes in one TPS area while all others run normally at 20?
Not really sure what you're asking. Can you elaborate?
I don't understand why all TPS go down, only one should go down?
I mean it depends on why it's "going down"
You're running Folia on Windows which is probably not a good plan to begin with.
Also looks like you're using the client and the server on the same machine. So you're probably just overloading the system.
Folia has higher system requirements than Paper.
ok ty
it also depends on teh number of available threads
think about it this way, 1 thread.
56.64 MSPT
1000ms/56.64ms
~
17.6553672 <
now if there's only one thread, every region groups and ticks basically with each other,
Region A, region B, region C
if they all are in one thread only
region a ticks, region a is the bottleneck for region b, and so fourth
the advantage of folia is you can put
region a, in one thread, region b, in another and so fourth
(not by choice but by distance)
but yeah windows etc etc all bad calls
that's basically textbook definition of subpar hardware OR misconfiguration
if you don't have enough threads for folia regions, the threads will be reused for multiple regions
that's why at least 16 cores is suggested
a question which Linux should I install best
ubuntu is never a bad choice for a beginner
ok ty
hello! can you help me? one of my regions crashed and players couldn't join the server
Please post an actual log, not a screenshot
Please send large files/logs to a pastebin
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.
full thing
@bleak vortex Sorry, I don't accept friend requests from people I don't know, and I don't do DM support.
whats the difference between bundler and paperclip?
one you cannot share, one you can
Which is better for self hosting?
Bundler, why bother with the patcher if you don't need it
are there commands to get info about the active regions etc?
like folia specific commands
What sort of info?
like the active regions, where are they, how many are there etc
there is the tps command?
yeah that shows region's info ty ❤️
Microsoft Windows [Version 10.0.26100.2454]
(c) Microsoft Corporation. All rights reserved.
C:\Windows\System32>git clone https://github.com/PaperMC/Folia.git
Cloning into 'Folia'...
remote: Enumerating objects: 2345, done.
remote: Counting objects: 100% (492/492), done.
remote: Compressing objects: 100% (261/261), done.
remote: Total 2345 (delta 326), reused 360 (delta 226), pack-reused 1853 (from 1)
Receiving objects: 100% (2345/2345), 5.04 MiB | 5.85 MiB/s, done.
Resolving deltas: 100% (1462/1462), done.
C:\Windows\System32>cd Folia
C:\Windows\System32\Folia>git branch -r
origin/HEAD -> origin/master
origin/dev/1.21.1
origin/dev/1.21.3
origin/dev/1.21.4
origin/experiment/sectorfile
origin/master
origin/ver/1.19.4
origin/ver/1.20.4
C:\Windows\System32\Folia>git checkout origin/1.21.4
error: pathspec 'origin/1.21.4' did not match any file(s) known to git
C:\Windows\System32\Folia>git checkout dev/1.21.4
branch 'dev/1.21.4' set up to track 'origin/dev/1.21.4'.
Switched to a new branch 'dev/1.21.4'
C:\Windows\System32\Folia>gradlew.bat build
Welcome to Gradle 8.11.1!
Here are the highlights of this release:
- Parallel load and store for Configuration Cache
- Java compilation errors at the end of the build output
- Consolidated report for warnings and deprecations
For more details see https://docs.gradle.org/8.11.1/release-notes.html
FAILURE: Build failed with an exception.
- What went wrong:
A build operation failed.
Could not read workspace metadata from C:\Users\frede.gradle\caches\8.11.1\transforms\6a6f3176a8bc2cbdd446c72a50e19ef5\metadata.bin
Could not read workspace metadata from C:\Users\frede.gradle\caches\8.11.1\transforms\6a6f3176a8bc2cbdd446c72a50e19ef5\metadata.bin
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.
BUILD FAILED in 1s
C:\Windows\System32\Folia>
hey this is my log and i cant build flia for what ever reason
please don't actually delete system32
also you don't need to run gradlew.bat build as paper and its forks use patches, in order to build folia you need to do the exact same thing you would do with paper so
kk
Hello everyone, I want to ask if it is possible to include datapacks in folia? Well, datapacks and command /function
Is there no way to turn it on?
switching to Paper would be the best option
I just have 30-120 players playing the uhc
as that would basically have the same effect as creating one global thread for all functionality to run on just to have datapacks/functions work
just write a plugin that does the same thing
unfortunately I don't know Java
well either learn it or find someone who does it for you
got it thanks
or just use Paper, I highly doubt Folia will actually be able to change much in a UHC-style setting
(unless your players are really thousands of blocks apart? but aren't they supposed to meet up and fight?)
(also you could probably find out if you are "near" another players with folia somehow)
Yeah, my players learned what happens if you connect the region with all of the auto farms to their region
no need anymore thank you very much
How to get all force loaded chunks currently? It was fine just call CreaftWorld#getForceLoadedChunks() (in main thread) to get them (1.21.1 or below). But in 1.21.4 this method throwing ensureTickThread Exception, according to region thread logic, I thought this method may need a modification to functional or it wont get chunks properly forever.
What's the exception?
[21:44:53 ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread Region Scheduler Thread #2 failed main thread check: Async chunk retrieval
java.lang.Throwable: null
at ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread(TickThread.java:51) ~[deerfolia-1.21.4.jar:1.21.4-DEV-2bd64a2]
at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:373) ~[deerfolia-1.21.4.jar:1.21.4-DEV-2bd64a2]
at org.bukkit.craftbukkit.CraftWorld.getForceLoadedChunks(CraftWorld.java:690) ~[deerfolia-1.21.4.jar:1.21.4-DEV-2bd64a2]
at EssentialsD-2.3.2.jar/cn.lunadeer.essentialsd.managers.ConfigManager.lambda$ApplyForceLoadChunks$0(ConfigManager.java:234) ~[EssentialsD-2.3.2.jar:?]
getForceLoadedChunks called getChunkAt(x, z)
@Override
public Chunk getChunkAt(int x, int z) {
ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread(this.getHandle(), x, z, "Async chunk retrieval"); // Folia - region threading
warnUnsafeChunk("getting a faraway chunk", x, z); // Paper
net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
return new CraftChunk(chunk);
}
that should probably just return a dud chunk object rather than loading chunks
well, not dud, but, unloaded
I guess that's a bit of a pain because common bukkit convention was that getting a chunk would load it
Although the answer might stay as you can't and the patches would be to just make that API throw an UnsupportedOperationException
Got it. Thanks for replying!
@Override
public Chunk getChunkAt(int x, int z) {
net.minecraft.world.level.chunk.LevelChunk chunk;
try {
Objects.requireNonNull(((ServerLevel) world).regioniser.getRegionAtUnsynchronised(x >> 4, z >> 4)).regioniser.acquireReadLock(); // Folia - region threading
warnUnsafeChunk("getting a faraway chunk", x, z); // Paper
chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
Objects.requireNonNull(((ServerLevel) world).regioniser.getRegionAtUnsynchronised(x >> 4, z >> 4)).regioniser.releaseReadLock(); // Folia - region threading
}
return new CraftChunk(chunk);
}
I really doubt such a change would be accepted, the goal is to not have random threads trying to load chunks
Just make the method to get forced chunks return lazy craftchunk instances
Agreed you, but I thought since getChunkAt is a read-only method, why cant just sync to get info we want instead of ensureTick?
the goal is to not have random threads trying to load chunks oh i understand.
Who can help me, I don't know how to download Folia :C
⚠️ 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.
?
Read it
Isn't there a way to use it?
There is, you need to compile it (same instructions a Paper's repo)
don't do stuff in the one drive folder
also by default windows has a limit to how long file paths can be, you're probably running into that limit
either disable the limit or move your folia folder to C:\
Help me idk :C
Just so we're clear, you're probably going to have to write your own plugins for a Folia server
So you really need to know how to compile things
Move the Folia files somewhere else, OneDrive/ isn't the best place for trying to compile since it syncs with the internet
Hello guys, is there any world manager for folia 1.21.4?
Except for mofoworld because the last version does not support 1.21.4
well did you try it?
or did you just assume based on what its page says?
also you can always use datapacks
yes i did
can you give me a link or name of a datapack that provides it
you just make a datapack that contains more worlds
will folia engine recieive a release version?
Maybe, maybe not
https://github.com/Folia-Inquisitors/MoreFoWorld
just compile it, the sources are already at 1.21.4
thx
Hi Folia friends, I have the recommended amount of cores available (16) and an expected playercount of ~100 in an SMP setting. I'm a hired dev for this SMP, and the owner wants a world border size of 10,000 (meaning you reach a corner at x 5000, z 5000). I'm concerned that this is too small for enough regions to form for Folia to be worth it. Testing Purpur with only 50 players sent our server to its doom; I want to know your guys' opinion on whether the regionizer will be able to do its job in this case. Ask any clarifying questions you need if I didn't provide enough information :)
you need player spread
otherwise everybody will be inside of an region
5k radius is far too small for that
i'm also a bit surprised that only 50 players lagged your server
It would be worth providing the actual spec of the server... 16 core... what kinda core? Have you attempt to provide as spark report and ask purpur for perforamnce help?
but yeah Folia is not going to be for you. the world is too small.
we use 16 cores of a few ryzen 9 3900x @ 3.8GHz
16gb of ddr4 ecc
what kind of world size do you think we could pull this off at, if any? "hardware is too bad for the playercount" is always a valid response too
it was on a https://bloom.host plan with two ryzen 5950x cores,
8gb ram on purpur with pretty much every aggressive optimization on
along with strict mobcaps & low simulation distance
cant tell. It's still beneficial to generate a spark report during peak hours and read through it. That's probably the best way to find out issues.
at 50 players those two cores will be hurting you. Bloom is nice, but for larger servers that is a pretty big limitation
how the heck do I stop a folia server
how do you stop a normal server?
hey, when we can expect folia? should I count in months or years?
I personally exploit folia since 6 months in production now ! It's pretty cool, I make all my plugins myself so that's a cool thing and some public plugins are already ready with Folia
Folia is available if you’re capable enough
Which thread is used to run event handlers?
Global?
Depending on the event, e.g. in the region where the event triggered?
What about world.spawnEntity()
Call it on the relevant region
yeah added support to my plugin too, it was less hard than i expected thanks to some libraries
for all kind of open source community driven projects the next release is always:
When it is ready™
Is it better to run folia on ARM with 16 (or more) cores or intel i9 (12900 in my case) ?
I mean, what kind of ARM?
Ampere Ultra
i9 will be 100% better in that case.
Okay thanks ! 😄
That i9 has only 8 performance cores/16 threads
Unless you're in a pretty specific configuration you can assure will run fine in this small amount of P cores, you most likely want to be running Paper instead
Just want to discuss, don’t know what channel should I use.
Is there any public server that has successfully use folia and maybe have more than 500 players?
I don't know if there are any servers where it even makes sense to have 500 players other than survival ones (anarchy or not) and I don't think any of those are that big anymore
Yeah, so basically I’m considering using folia to accommodate more than 500 players on the network, the gamemode is survival. I also still don’t know whether folia is stable enough to be used in production.
Just started reading about folia today so my knowledge is very limited atm
If you're looking for the ability to add/remove worlds (like per-player survival worlds or something) that isn't a thing with Folia
If you have a fixed number of worlds you can fit 500 players on then it depends on your setup
Expect to do a lot of plugin development though, plugins need to be ported to Folia, not many public ones are, and depending on the plugin it could be easier to rewrite than port
Oh no, just a fixed one or three world.
Yeah, planning to create a simple survival setup and then gradually put a big updates, just to get the idea of folia capabilities
Would it be fine to make a world with 50k borders for example in folia?
That might be large enough for 500 players, sure
That's also going to be like 500GB
Yeah that’s true.
Ideally what should be the ram allocation per server instance?
Also what would be the recommended maximum players?
Neither of those have simple answers, unfortunately. It depends on what the players are doing and what plugins you have etc etc
There’s no easy math for that.
2b2t but it’s anarchy
Went to like 500 players last night. Didn’t see any big issues
But to create one you need good hardware
DonutSMP is also running modified Folia.
Ah, good to hear.
with enough devs everything becomes stable lol
I am looking to give Folia a first try and got a couple questions:
- looking at docs of "server shutdown process", if I want to change blocks in onDisable(), am I right that it's always safe in onEnable/onDisable since region ticking is disabled?
- "ALL scoreboard API is considered broken (this is global state that I've not figured out how to properly implement yet)" - is it not usable even when scheduling scoreboard API access to player's scheduler or Bukkit thread while also giving each player a unique scoreboard?
- any details on what's exactly broken in respawn process or login events?
- No, because it's global state, not player state; The entire API is disabled because theres no real way to enforce that it won't crash the server out due to how it's accessed
- Not sure what you mean, but, a lot of teleporting and such early on is asking for issues, folia makes crashes there more likely due to the fact that it can't allow bad state to occur as easily to prevent you from breaking stuff harder
"Most API that interacts with portals / respawning players / some player login API is broken."
not sure about player login API
the rest is because you can't fire an event with 2 contexts
so what would you recommend for a plugin. implementing a packets-based scoreboard for now?
yes
I understand thread of PlayerLoginEvent could be something random, and the proper one will be at PlayerJoinEvent right? but if I don't do anything suss in PlayerLoginEvent like accessing inventory or location, could something really break?
I mean, I have no idea what is broken about that API
"Proper asynchronous events. This would allow the result of an event to be completed later, on a different thread context. This is required to implement some things like spawn position select, as asynchronous chunk loads are required when accessing chunk data out-of-region."
is database stored spawn location fully impossible right now?
yes
ouch
wait, I mean, no
nothing stops you from doing that, you just need to use the API properly
or, well, there is no respawn event
so PlayerInitialSpawnEvent.spawnLocation would work normally but I can't control where player respawns
🤔
yes
hmm, maybe if I pre-set it with setBedSpawnLocation?
during PlayerDeathEvent even 
help please
message.txt by @strong nimbus: https://pastes.dev/OSibA4TAp7
what even is this, get a spark report
also more context would be helpful
folia profiler
What do you need help with?
does anyone have any worldedit version that works on folia 1.21.4?
How can I please compile the latest version of folia 1.21.4
clone repo, checkout branch, apply patches, and build
basically, refer to the paper readme for the last 2 steps
i think his server lags for some reason, that profiles is so ugly and messy i don't even know where to look for lol sorry for folia dev who made that 😭
I have a problem with the build
problems-report.html by @hexed dome: https://pastes.dev/t124Kg6CPC
Please do not ping people for help, you will be helped when people want to.
Step 1 would be posting the actual error not the source code for the error as displayed in some JS-heavy webpage
cmdout.txt by @hexed dome: https://pastes.dev/EtouewXM9Q
Is folia better than paper performance wise if all players are located within a small region?
No, it's slightly worse
Alright thanks
can anyone help me
i was applying patches and got these error
Task patchSpigotApi FAILED Task :getPaperUpstreamData FAILED
Hello!
I got a folia server set up on 1.21.4, on a ryzen 9 9950x dedicated server, and i have a quick question i ran "tps" and i got
- Load rate: 101.80, Gen rate: 7.73```
" - Utilisation: 244.8% / 300.0%"
i assume once it hits max it might start too lagg? is there any way that i can make this higher?
Server is running on a pterodactyl container, and the startup flags are
```java -Xms1G -XX:MaxRAMPercentage=95.0 -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true --add-modules=jdk.incubator.vector -XX:ConcGCThreads=10 -XX:ParallelGCThreads=20 -jar server.jar --nogui```
30 threads allocated to this server.
(also amazing job with folia, it's actually impressive how better it performs than a paper server)
Feel free to @ me on reply
the max utilisation number is the number of threads you've told it to use for regions * 100
if you want to have more threads available for ticking regions, yes
👌 thank you, will make it 6
Would someone please build me Folia 1.21.4
I still can't build it thanks
🙏 🥺
if you can't build it, probably don't want to run it
it's pre-release quality software of which support is limited for
You need to be a plugin developer to run Folia, basically
you're likely going to have to compile other things and maybe even consider writing your own plugins
Or have a plugin developer on staff
lol, that error; update your JDK
tiny heart attack
lol
🦀
⚠️ 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.
if u get error while building it then u can use the api v2
it updated new versions recently
I've sorted it out and I've got the build
ight then
that's funny i built it and the day after they released it
im running paper, my server has troubles with tps due to entity ai (too many entities). However its not using all resources (cpu and ram) will folia help me?
spark is a profiler bundled in Paper for troubleshooting performance-related issues. Please run /spark profiler start --timeout 300 while the performance issue persists.
After 5 minutes, paste the URL given here so it can be reviewed.
Please provide a report first @fresh thicket
And whether folia can help you or not really depend on your server setup. Are your player always more than 1000 block away from each other? Do they never want to group up etc
Do you have the hardware required? More than 16 cores recommended.
looks like no so(

It asks for help, but does not want to provide any information
ye
They're running an offline mode server so can't give any details 😛
well was yesterday didnt read that is why i sent that
also yeah i bet that is the reason too
iirc folia has problems with entity AI too to begin with but not sure
On my Skyblock, no one seems to have noticed anything (+300 players)
the only problem is when the region is frozen
What's the big difference between folia and paper?
Read the pins in this channel for info.
Generally Folia is for large servers with lots of RAM and high core count CPUs that have players spread far apart.
I'm not sure if I fully understand how Folia works, but is there a way to configure it to split regions more aggressively? Specifically, I'm looking for a way to divide the world into two regions with minimal distance between players.
No
English/Ingles
Hello When copying my world from 1.20.4 to 1.21.4, everything is in place, but the trial chambers and the pale forest do not appear.
They only appear in new chunks, not in chunks that were already created.
Do you have any idea what I can do to make the trialchambers and pale forests appear without losing everything that is already built?
Español/Spanish
Hola Al copiar mi mundo de 1.20.4 a 1.21.4, todo esta en su lugar, pero no aparecen las trial chambers ni el bosque palido.
Solo aparecen en nuevos chunks , en los chunks que ya estaban creados, no.
Tienen alguna idea de que puedo hacer para que aparezcan las trialchambers y los bosques palidos sin perder todo lo que ya esta construido ??
depending on the seed, it will only apear on some places, that may be already taken by previous biomes
donno how to check what places should have it, but you can use a map editor (after backup your world) and delete the several sections, to for it to regenerate
**or **in current map, use find biome command to see if it shows you any
To see what there is and where it is, I use the seedmaps page, I find it very useful.
With the pale forest biome I can understand it, it is on land, but the trialchambers, even if the places are unmined and solid, are not created if the chunk was already created previously
@idle furnace hablas español ?
Yes, that is vanilla Minecraft. It generates only new stuff in new chunks.
It has nothing to do with Paper or Folia.
*See tontito for a work-around
What bad luck 😦
un poco, si, pero muy limitado
ok i'm google translator 😔
🙂
Do you have any ideas about being able to copy the constructions to the new version?
Building the spawn took a lot of time and effort, it would be very sad to lose it
te refieres al nuevo bioma, o copia de constructiones para otro mapa?
construcciones
solo las construcciones
only constructions
I enter 1.20.4, copy and save everything built, then I enter 1.21.4 and paste or whatever
puedes utilizar worldedit, pero te requiere con servidor paper, que el plugin no lo soportan todavia en folia, despues es solo cambiar el servidor a folia (siempre en misma version minecraft) se me explico
I apologize for not speaking English
Yes, long work but chance of success.
don't forget to make a backup before experimenting that
I do this on a secondary machine, laboratory computer, first testing, only when successful do I apply it to production.
I am not a programmer but I have been a computer technician for many decades.
The good thing is that the few plugins that I use, in 1.21.4 work well jajajajaja
🤷
first try /locate biome ... command on your 1.21.4
If I already use it and what is already created it does not appear, it is only when I go to where new chunks are created that the biome and the trial chambers appear
Apparently there is no other option but to work like a mule using world edit and going from version to version.
the world can always get bigger, so it sould look for a new place where it can generate that biome
Thank you for responding so quickly and providing an idea.
I'm going to sleep because my eyes are closing from exhaustion.
From Patagonia Argentina I send you a big greeting
I am currently at the point where I have to make a decision. I know that folia is unstable and has less compatible plugins but when running a normal papermc server, the tps usually starts dropping below 20tps when there are more than 10 players spread around the world, running farms and having a lot of entities at their location. The question is, if it is worth to switch to folia when my server scales more and more with players since I have like 50 ish plugins and need almost all of them. My CPU isnt bad but I dont want to go extremely overkill with a cpu that only has like a bit more single core performance, when my cpu is most of the time at 10% usage.
If you're dropping below 20tps with only 10 players you should be trying to figure out why that is and correct that.
If your current CPU can't handle 10 players on Paper it very likely won't handle 10 players on Folia. Even if they were spread out far enough.
And of course if your plugins aren't all Folia compatible the question is kind of irrelevant. Sounds like you'd need better hardware and then custom plugins or to drop a bunch of stuff.
need almost all of them
I mean, you're screwed on that front...
if you have a bunch of cores, Folia will be able to take advantage of them if configured properly
I've seen servers with less good hardware run better but they had much less farms, entities etc. I also dont believe that its a problem that the server runs in a docker container. Chunk generation is a big part but the tps drops also happen when already loaded chunks happen to be loaded. I thought that this is due to some bugs so I completely made a new papermc server with the same plugins and left the settings like its default (except the threaded setting for chunk gen). And it happened again. I am not sure if this is due to a fact of the amount of plugins or the amount of farms and entities or the amount of player spread.
chunk loading is async and has been async for years, unless you've got something inducing sync loads, the impact on performance is generally limited unless you just do not have the resources available
then I wonder what the setting is for in the paper.yml
what setting?
Poor performance with 10 players is bad hardware or bad configuration, generally.
Figure out what your actual issues are and then try to find out how to resolve them. Swapping to some other software isn't going to magically fix anything.
I am not sure if it is the cpu which isnt used to its full performance or some weird other sh*t. But I thought since Folia uses more CPU cores, it could fix the issue
Probably best to go to #paper-help and start with a spark report when you're experiencing issues. Isolate the actual problem(s) first.
chunk-system:
gen-parallelism: default
io-threads: 8
worker-threads: 8
well, yea
chunk gen and loading has been async for years
those let you configure how many threads to toss at that work
I will do that
does 1.21 folia have all patches?
Not sure what you mean. You want to be on the most recent branch/commits to get all the updates. Don't run older versions/builds of Folia.
Does anyone have the lastest folia build?
build it yourself
I try, and got the 1.20.1 one
I have one of 1.21
But need the 1.21.1 one
You have to build it yourself. If you can’t build it you probably shouldn’t be using it.
You also should be running the most recent version, given that it’s still in development and has a lot of fixes with every version.
Folia sync latest Paper ?
It regularly pull patch from paper yes
Latest 2week again
still outdated now
Would folia run better than normal folia on a raspberry pi
no
a raspberry is absolutely awful hardware for a Minecraft server
Absolutely not.
Ik that
Folia wants better hardware, not worse hardware.
So no, it will not run faster than Paper on a pi.
you want strong single core performance, the raspberry is not that. Folia has some additional overheads and generally runs slightly worse than Paper if you only have a limited amount of cores
Ok
But I can’t leave my pc on 24/7 so that my only option
So I should just run normal paper ig
You could use a proper host
Well there are free hosts too
Not 24/7
surely
My friend owned a hosting company
That’s why I did not need my raspberry pi for this until now
But he got a lawsuit
if you have a credit card, oracle cloud is free and much better than a raspberry. there are other options too.
The Raspberry will work with really low settings for maybe less than 5 players, but thats about it
Ik it can run for 5 players
I’m just planing on having a lot more than that
Then you need proper hardware
So I’ll just do a ton of optimisations
There aren't enough optimizations to allow a "lot" of players on a raspberry pi.
Limit mob spawning
Etc
AFK simulator
Ok
Even paper will prob struggle on rpi
Yes, we've covered that.
Nah it runs fine for small amount of players
Just not a lot
Which is what I need lol
Ok msg just loaded welp discord is fucked again fo rme kekw
my face when overclocking a raspi
It’s ok it’s a lesson to learn
lol
I have spare water cooling
I’ll make a custom loop
I have seen people do it before
Well you can only make a bicycle go so fast before it just falls apart
watercooling a raspberry instead of spending a few dollars a month on a host is certainly a choice
But thats out of the scope of this channel, Folia won't be faster in any case
lol
Also not many Oce hosting providers
That’s the other reason why I need a dedicated server more of
Cheap ones
Cheap and dedicated don’t usually go in one sentence …
At this point we should end the convo or move it out of the Folia help channel.
Folia isn't suited for the application and anything else is just a conversation about hardware/hosts.
Just woundering if I pre-rendered the entire thing would that improve it a lot more
Last question
Then imma dip
You need to run Paper.
Ik
But pre-genning is always better.
Ok
It will make it less horrible but still horrible.
In the future Paper help questions should go in #paper-help
Ok
I’ll use a spare ssd
or something
Just ask it, don't ping.
Ok here or there
I asked there in #general
Oh
how do i compile folia for linux?
it's not platform specific
clone folia repo, follow build instructions here in the folia folder; https://github.com/PaperMC/Paper-archive
but the thing is i cant compile for 1.18.2 how do i do that? if that version to old what about other versions?
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.
For Folia you want to run the most recent version. Use Via or something for older versions. It’s in active development so there are a ton of changes from version to version. It’s not like regular Minecraft where there are just game / feature changes.
But there isn’t even a 1.18.2 branch for it anyway
That predates Folia
what does snapshot mean?
it's a non-release build
but, the entire bukkit based ecosystem hasn't done release builds since bukkit died
everything is just 'rolling release'
i thought it said plugins basically have no support? does viaversion have that
The majority of plugins do not have folia builds and will never have folia builds
if you want to use folia, there is an expectation that you're willing to deal with your own plugins
the barrier of entry is high for folia in several places
Although the most popular plugins seem to be slowly adding support for folia. For the plugins that don't support folia there is a non-zero chance to find an alternative that does support it. It's much lower of a barrier today than a year ago.
why new BukkitRunnable() {}.runTaskLater(this.plugin, 2400); doesnt work in folia
#folia-dev is probably a better place for plugin questions.
But that's not going to work in Folia.
That scheduler doesn't exist.
Make sure you read the documention that's available here/etc. It's not plentiful but there's some.
Hi everyone ! I'm really interested in developing a Minecraft server with the ability to host many more people than what is currently possible, so naturally, as I already knew Paper, I easily found my way to Folia.
I've already developed some Minecraft servers with my own plugins (using Paper), and I was wondering if Folia was somewhat "Production" ready yet. With that, I don't mean it to be entirely perfect, or as great as Paper, but in its current state, would you recommend someone to work on a plugin compatible with it other than for testing purposes ?
Similarly, is there any broken features that I'd probably need as a standard base plugin ? (I already read the "Current Broken API" Section on the Folia GitHub Page)
Also, I noticed there doesn't seem to exist a complete Folia documentation, especially for the dev part, therefore my question is, is Folia really that different from traditional Paper in terms of plugin development to the point that I would need to "relearn" everything ?
And finally, is there some extensive documentation of Folia tests in the wild ? (That'd be great to have insightful reports to make sure Folia is going to fit my needs)
Thank you for reading !
plugin development is basically the same, just that you need to keep the multithreaded nature in mind
If I've got a database that every region can access, it should be great then ?
Ok great. Yep, like I said, I do not intend to use existing plugins, but to create my own plugins.
having a database says nothing about whether or not it will work properly with multithreading
Nice !
I meant that, theoretically, as I understand things, each region will handle things on "its own"', and if I need an event or something else to have consequences outside that region, I'll have to use a proper database that every region will be able to use. Is that right ?
no, you just need to make sure your data structure is multi-threading compatible
Okay, but having a database is highly recommended no ?
and how you access it too. Use cases where even a database needs to only be accessible from a single thread at once are easy to imagine e.g. economy transactions
a database is a data structure so it can work, but for a simple case it's overkill. Especially if data doesn't need to be stored beyond the current runtime and not shared with another server in some way
Yep totally.
all normal software development praxises apply, just because it's a game server it doesn't change that
Would you also recommend it for a production-ready environment ?
There are many servers running it just fine
you just have to be weary of the caveats and the much smaller community support for it vs paper, etc
Ok great to know ! Like I said in my questions above, is there any report of servers using Folia ?
this channel probably holds most info about that xD
I mean, insights and details that might be interesting.
I mean that too
We don't have a list of servers which have used it and posted blogs about it, etc
Alright, so I'll have to scroll through this channel then 😆
There was like, some blog post from leaf testing it and getting a bunch of people on, but, other that that, don't really know of much other than 2b2t uses it
Would you have a link to that blog post or a way for me to find it back ?
nope
Ok, well thanks for everything. I'll give Folia a try !
Thanks, I had already found it, I was wondering if there was any other public test later on (preferably in 2024).
not that I'm aware of
Thanks anyway !
Yeah, but do they have advanced plugins in place too ? If so, then It's really great.
I would assume they have near zero plugins installed
Yeah of course !
2b2t and donutsmp
Not on a single server though, that'd be insane.
Though Multi-Paper seems kinda abandoned compared to Folia ?
We don’t really follow or want to comment on other project not related to us so we have no idea but yeah donut has their own custom made solution / load balancing that built on top of multiple instance of modified Folia. Very neat.
Alright, interesting.
Is there any plan to add many players in a single spot too for Folia, or it's not considered at the moment because of how regions work ?
What were your thoughts ? 😂
not how folia works
probably breaks more
Supporting 1000 players in a single spot would need a completely different design from Folia so probably not. Most likely you'd need to rewrite the server from scratch with pervasive multithreading in mind the whole way, not something you can patch in to an existing system
Dunno if that would even be enough
That's what I figured.
Not even modern mmo achieves that
Rather actually most modern mmo instance/dungeon-ize their worlds too
Yep, it's a pretty daunting task... And freaking hard.
There are mc server implementations that exist out there which are not based on the vanilla jar. One of those might have what you are looking for
They will certainly not have feature parity with vanilla
But if it's for a minigame or hub type of server, then it's probably fine
I'm not looking for having massive amounts of players on a single point (that'd be overkill 😂 ), I'm just curious how far all of this could go.
Hey
i am running the latest dev version of folia 1.21.4 and i noticed that the stone cutter is buggy. you get other materials out when you click on stone walls for example you get slabs. is that already a known issue?
any plugins? that really sounds like a plugin issue
That branch is still a work in progress and a little behind the Paper one. I'd say reproduce without plugin but if it's a real bug don't open an issue until there's another actual push of 1.21.4, because it could just be missing until the next update. Which could be a bit.
The hardfork and holiday kinda messed with Folia timing.
Gotta love folia, i hope it becomes a standard (for plugins)
It's not likely to be a standard. Has pretty specific usecases.
Definitely not for everyone.
Can be, for sure. If you have the hardware and playstyle requirements.
Does anyoneone else have issues compiling Folia for 1.21.4? The latest version i can compile is 1.20.4 with Java 21
I think it's on a different branch?
I'm trying to compile the master branch however i'm getting errors when using the gradle createmojmap command
1.21.4 is not on master afaik
Hi ! Is there a tutorial to install folia on a server ?
the fundamental setup is the same as paper, but to actually get the server jar, you will need to compile folia yourself
Okay, tks !
problems-report.html by @subtle acorn: https://pastes.dev/E7aFMep0js
I still have compiling errors when trying to compile the 1.21.4 branch of Folia 😦 https://pastes.dev/TUVM1G3SfJ
Did you send the correct link? This is an HTML file...?
i opened it in a text editor and just copied everything and pasted into pastes.dev
try a clean clone, applyPatches etc
i have tried that many times unfortunately
i get the same errors each time
i copied this directly from the terminal
What's the output of java -version?
java version "23.0.1" 2024-10-15
Java(TM) SE Runtime Environment (build 23.0.1+11-39)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.1+11-39, mixed mode, sharing)
TryJava 21.
i uninstalled Java 23, how do i change the version to use
i tried reinstalling java 21, when doing java -version nothing appears
We can't really help you get Java working on your machine in this channel. There are a ton of guides online.
If you're having issues like this building Folia you're likely going to have issues running a Folia server also.
It's still in active development, requires a lot of custom work for plugins, etc etc.
Just got it for pterodactyl and works great
i have a plugin that spawn in the end many mobs and i hit the mob limit because there will not spawn more mobs
does Folia has a different mob cap? i checkt the cinfig in paper-world-defaults.ymp is at spawn-limits all -1 but there is somewhere a mob cap are there other settings?
The limits are in bukkit.yml, setting these to -1 means "use the setting there"
ahh thanks found it
Attempting to disable mob caps will just break your server, though
Too many mobs, too many spawn attempts, etc
ahh okey
could you send me an example what i need to paste in the file can i only paste the entity limit stuff in there?
or copy the paper-world-defaults.yml file?
You copy the ONLY thing you want to change
you have to make sure all the parent cetegory are on it as well
also I dont think you understand what you say " double the mobcap "
yes makes sense
it will do nothing if there are no space to spawn them.
it will also not make mob spawn faster.
yes i know
Could someone explain to me how folia handles a pearl in a different region than the thrower is in being pulled?
It will simply run an asyncTeleport which means that the teleport will happen the same way any other teleport would
The teleport is unlikely to happen in any predictable timeframe given that the region the player is currently in might already be ticking, might have just finished, might just be about to start.
could someone send me the latest version of folia because I cannot compile it myself
I keep getting issues on command prompt when compiling
you need to be able to write code to use folia
(that includes knowing how to build java programs)
i can code java plugins
if you cannot compile folia, you probably shouldnt be using it
Does anybody have a good idea how to deactivate the player collision?
Simply sending a scoreboard packet with the collision rule wont work (maybe im doing it wrong, could be possible)
Also methods like player.setCollidable(false) did not work.
what's wrong?
i only need it for pre generating chunks
If you're only using folia to pregenerate chunks then switching back to paper, that completely bypasses any potential benefits Folia provides
hello
i have problem on folia 1.21.1
i want a world manager on this
but can't find anything
i try MoreFoWorld
but plugin not loaded
Space bar not the enter key please.
If you're having problems with a plugin, talk to them
also
PacketEvents 2.0 failed to inject
when i use 1.21.3 and 1.21.4 folia
this error printed on console when i waned to join
but i don't use packetevent 2.0
one of your plugins uses it as a library
can be from viaversion?
btw my server is run on 16 core (32 thread) but on xeon cpu
its k?
yes
also
.
its good?
for 100 max player?
Is the network-compression-threshold set to -1?
yes
try setting it to 1 or a higher value
yeah but this setting resolves the ViaBackwards error.
'/viaversion dump' Output https://dump.viaversion.com/b97219b4aed7cd8b3d0ea3d23cb0be5df4c0eb2ee72a9e7afdb9c822032b5a9a Console Error https://mclo.gs/SyuLCcT Bug Description When connecting ...
do you know its k i run my server on this cpu ? for 60 70 (player)
and sry for bad eng
"16 core xeon" could mean anything. It's like saying you've got a Ford vehicle - could mean a big beefy F-350 pickup, could mean a tiny little Fiesta. If you share the model number, we can provide some insight
Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz.
Is that entire CPU dedicated to you, or is it shared amongst others? i.e. is this a dedicated machine, or is it a VPS or shared hosting plan (i.e. a MC-specific plan with a MC panel)
its my own vds
without sharing
Does anybody know how to activate Sand-Dupers on a Folia Server because I tried many different Sand-Dupers and all of them worked in my singleplayer world but not on the server. The server is on the version 1.21.4.
Looking to re-enable patched Vanilla exploits such as TNT/sand duping or bedrock breaking? Click here for more information.
Hey I tried this but, it still does not work. I enabled the settings what are on the website and I restarted my server but it didnt work.
So i guess nobody has an idea how to do this? 😄
It could be the 4k Entities in that one region 😄
and how can make region smaller?
I would suggest reducing the entities, the regions are fixed size if im not wrong there?
Please read the folia readme for how Folia can be best used.
You only have 26 players, Paper will run much better and faster
on this cpu Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz.?
if your player aint anti-social and be a few thousands block away from each other regularly, running Paper will be much better.
I didnt ask for this idk why you are telling me this
i test the server with leaf
and dosen't get good performance
thats why i swtich to folia
Please switch back to Paper
You should use the Spark profiler to identifie the problem of the high load.
Just using Folia is not the correct decision
and if you have performance issue, send your spark report to #paper-help
can i send my folia spark?
You are already told the issue is likely player being too close and too many entites in one region.
a spark report will just tell us the same story
i want get more than 27 player
nearly 80
are they going to be few thousands block away from each other?
if not, Paper will still run better.
emm just 400 500 block
so Paper will run better.
Are all players inside this radius?
no my worldboarder set to 10k
can you check my configuration?
i change few part of paper
oh you are running cracked server, we do not support that
bro
I have never seen that many JVM Flags are they all needet o.o (wouldnt call me an expert on those)
nah half of those are useless
the person probably just copy and pasted what other people told him to use without knowing what it does -.-
typical

i just want to get best performance
i spend 5d to compile folia and fix plugin compability with it
https://paper-chan.moe/paper-optimization/#Configurations
With this guide you can conquer lots of your problems, because its just as i thought ... lots of Entities, probably lots of farms etc. and combined with the fact that they are all in the same region. so tell them to spread more. Otherwise you should really get back to paper.
that is correct but in this case, the person is using cracked server. we dont allow them to be helped here.
Oh didnt knew that
Discord disallow any discussion around piracy on partnered server.
hello i need some recommendation or suggestion regarding server performance.
I am running a redstone SMP with folia which allow players to build giant redstone farms and machine such as piglin farm/guardian/carpet farm. These redstone machine rely on vanilla mechanics, they need to run with vanilla config without any optimization such as reduced view distance, nerfed AI, reduced entity-tracking-range or entity-activation-range,etc.
(you can check this fb post video to see some of the redstone machine in my server)
The current problem I am facing is that my folia is server is getting laggy. My server run on 9950x cpu with sn850 2TB and 128GB ddr5 ram on ubuntu desktop. Normally I have around 100-120 players online at the same time with 10-20 redstone machine that produce 200K-1M entity/hr. The server can still run fine in this situation with tps median of 18-19. However I am getting more players during holiday, now I have around 170 players online at the same time playing giant redstone machine, Folia tps median drop to 10.
Since the game play style require less modication/optimization to server setting such as spigot.yml paper-global.yml paper-world-defaults.yml, is there any method / work around method to improve my server performance? (like buy a computer with cores more than 9950x, threadrippers? but is expensive)
The only real way is split players into different servers.
yes but if thats the case then I can directly switch to use paper instead. My server community does not want to split into different server, that's why we are using folia. 😢
There are ways to make it seems like everyone is play on one map
You can look up how donutSMP does it. They run modified Folia with multiple instance of Folia to make up the big world.
I think they have like what? 8000 players?
I believe I've seen a screenshot with 10k online there
but who knows if that player count is real ¯_(ツ)_/¯
at some point you just can't confirm nor deny it
Looking at the growth of their discord server and the level of spam there I think it’s organic
now make an event that makes players huddle together in one region >:)

I’ve seem some basic demo talking to the person handling their infra, it’s quite impressive indeed.
I'm just curious what kind of hardware it takes to host 8k+ players
and how fast world grows
Is there Folia stats on bStats like how it is for paper?
ah thanks 😄
5 days? 💀
Does somebody have advanced networking knowledge? I have a really challenging problem.
I don't know if its client sided, server sided or ISP sided. So i need somebody who could help me trouble shooting.
My problem is, that others don't have this issue, only me ...
The current Network i have is a Velocity proxy with a purpur server as lobby (still on 1.21.1) and a folia server (1.21.4) as main server.
If i connect to my server velocity forwards me to the folia server and I basically time out directly. The issue is, that this problem doesn't occure permanently its just sometimes there and sometimes not.
I discussed this issue on the Paper-help thread, there we thought this must be an MTU issue (this could still be the problem) so i changed my local max MTU size so that packet loss because of the DF flag shouldn't be a thing. It worked at first. Now the Issue shows up again, even worse the last time.
I monitored the packets with Wire shark and noticed, that basically all the receiving packets from the server are at the max MTU (thats why i think, that this could still be the problem)
If i'm going on the lobby server everything works perfectly fine!!! If i try to connect to the folia server the problem occurs.
I'm really out of Ideas how to identify the cause and need your guys help. Its so extremely frustrating.
Do you use ZnpcsPlus?
No, only protocolLib, HeadDB and self coded plugins. Those shouldn't be related to the issue.
Currently 4
for how many players?
The server is still in development, so its not yet publicly available. Most of the time just me or my builders.
Where is the server hosted? At your house or with a host / datacenter?
Its in a datacenter, and i have full access.
I also dont think its on the providers network side (because while i had the issue, two others could do anything without problems)
So the issue probably is somewhere between my client, the ISP and the entry point of my host server.
The initial guess would be that ICMP packets are blocked somewhere on the way whats causing problems with the MTU.
But even switching to a VPN wouldn't improve something.
core i5 3570
Are the proxy and Folia on different boxes?
If so, try some mtrs to the proxy and to Folia to see if you’re dropping packets anywhere.
You mean with different boxes different hardware? No they are on the same device.
If it were me I would take the exact setup and rent a VM or something somewhere and toss it on that and try to connect to see if you have the same issue.
As long as the routing is different you can eliminate something on that side as a culprit.
I’m guessing this still happens when you have zero plugins and just a single velocity instance and Folia instance?
I have already thought about that too, but it wouldnt really tell me anything. Because the problem doesnt occure permanently 😂 thats why its so tricky. Today it was very annoying, while i didnt had the issue yesterday, sometimes it switches inbetween. Thats why im about to give my ISP a call. I have the feeling that this is an issue on theyre side.
Yes this also happens with 0 plugins. Tried that multiple times, also restarting machines (local, and remote) wont do any change 😅
One thing i havent confirmed yet (will do this tomorrow) if other programms disturbe the server.
Im running several docker container on the device for testing aswell a kubernetes master node. (But the problem was present befor kubernetes so this shouldnt be the problem)
(No velocity, the purpur & folia instances are not running in containers)
Since I have no way to know how donut SMP infrastructure works. I guess the only way I can work around is to increase server performance by using better cpu. Is there any recommended cpu or cpu series that I should have? (e.g. threaddripper) Should i read the passmark cpu list to find a cpu with higher cpu mark than a 9950x?
Depends on the source of the lag
A better CPU will not help if the issue is that there's a lot going on in one region
So thats really cool, i didnt knew that bbr existed. I already played with the Idea to experiment with different congestion settings like Tahoe or cubic, but bbr worked directly!
If i have the Problem one more time i guess i will get back to you haha 😄
not a flawless fix though
i have had congestion algorithms introduce different kinds of lag
e.g. bbr specifically introducing lag to our noteblock music (and potentially other things but music is pretty noticable)
to be honest, i can now play on my own server, even without noteblook music i guess its the trade of worth. 😄
But jokes aside, yeah this is long term probably not the best solution, but until i can identifie the true source of the Problem (i still think its on my ISPs side) this works best for me.
But i still dont really know how i can track down the issue .-.
r
Hi
Should a Xeon 8173M *2 server be sufficient for an SMP with around 300 players?
or Gold 6140 *2 is enough?
All plugin codes in the server do not have blocking API usage (like jdbc).
are those 300 players almost always few thousand block away from each other? @sinful wyvern
it seems that groups of 10 people will be separated from each other
the server is like a Towny server
@livid crag
Be aware that NUMA isn’t supported. A single one of those CPUs might work, as long as it’s a dedicated box and not some VM. How many people it’ll run smoothly depends on the setup, plugins, and players.
Thank you for answering, It seems I didn’t understand well. Does this mean that a virtual machine does not support dual sockets?
Even if NUMA is not supported, isnt it still possible?
NUMA might work but it might cause enough slowdown that you'd be better off using less cores and RAM to keep it all on the same NUMA node
No one has done any benchmarks afaik
okay, thanks!
Two different things. First is NUMA isn’t supported so single CPU is better.
Second is that CPU in a dedicated environment might work. But that CPU in a virtualized environment might be slow.
Folia is going to prefer bare metal, generally.
Thanks for reply, How about Kubernetes environment? I prefer Kubernetes to manage the network, It might be slow much?
The only thing I’m talking about is a VM vs a dedicated machine.
Anything else you’d have to experiment with.
If you’re using kubernetes you’d be better off with containers than VMs though.
Folia will update papermc?
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.
i know NOT ETA but latest is 1month ago Will there be any significant differences?
It will be done when people are free to work on it, with Folia, it's essentially 1 person doing it for free on their free time. There is no estimate time.
Hello!
Multiverse won’t work for folia bcu they haven’t added proper world loading/unloading support
We're aware of this. Do you have a question?
When can you get this sorted?
There isn't really a timeline.
Someday, probably.
When? No idea.
Folia is still experimental work-in-progress software.
With pretty specific requirements and use cases.
Not really intended or built for everyone.
I know I had to write a lot of new plugins to get everything working
But multiverse is basic you know
basic plugins
There's a few "basic" things in Folia that don't exist or need to be redone. That's just the nature of the software
If you had to write plugins I'd think you'd understand that pretty easily. Things are a bit different than Paper.
use morefoworld
Please send large files/logs to a pastebin
A sensible, modern pastebin. Share text and source code snippets with no hassle.
ok ty
can you send me?
google is your friend
Ahh i found xd
Not sure what you're saying here. That plugin allows you to load worlds, which sounded like what you asked for.
Either way, if it's missing things you want then you need to either use Paper or adjust your usage.
You'd have to talk to the people who make it if it isn't running for you.
We can't really help with software that isn't ours.
Yeah I know
Hello. On first start folia im getting this and server going shutdown
https://mclo.gs/QTQALl4
Running latest folia commit, Temurin Java 21
Server running in Pterodactyl, resolved issue by decreasing cpu limit
Can this happen due to other servers running on same host machine?
Probably? There’s a reason we have minimum system requirements to allocate to Folia.
Hey, are there any recomended args?
worth to note that you need -XX:+ZGenerational when running something pre java 23
yeah but you can probably just cut the max heap size in half and still have better throughput :p
I‘m not saying allocating less will bring you performance
(678415416ed5010734cf1ace) // @wraith nexus (@ulrichbr / 320396491397136395) has been banned by @hexed ice (331822092477792256)
Reason: compromised account
command blocks are bugged
I'd recommend you read the documentation we have available. There isn't a lot of it but it does specifically call out command blocks.
so no way to run long commands?
a plugin could I guess
Pre generational zgc, a whole bunch of people had issues due to it not being too happy dealing with keeping up with the gen rates in mc; throwing a metric bunch of ram at it is one way around it if you have the resources, but, generational makes it a whole lot easier to recommend to people not throwing a metric ton of cash at their server hardware
any idea what's causing this pulsing behavior with breaking blocks (resets to 0% broken randomly)? Folia 1.21.4
[System] [CHAT] [PlugMan] Plugins (29): AxInventoryRestore, BlueSlimeCore, CarbonChat, ChangeSlots, Chunky, ChunkyBorder, CMCLinkManager, CombatLogX, CoreProtect, DatapackLoader, Essentials, FancyHolograms, FreedomChat, GrimAC, GSit, helper, helper-sql, LiteBans, LuckPerms, NBTAPI, packetevents, PlaceholderAPI, PlasmoVoice, PlugManX, spark, SurvivalArcade, TAB, Vault, ViaVersion
picking up the block maybe? weird tbf
Do the binary search thing
does seem to line up but it doesn't quite perfectly sync
ill try that in a sec
only plugin I think would probably do it would be TAB but idk what blueslimecore is doing for combatlogx
Well include it in your first set for the binary search
Way faster to do that than try to speculate.
ik
still occurs even with no plugins on localhost
I'm trying a fully clean dev/1.21.4 build in a second here but I don't believe there's anything in my patches that touches anything that should be running during that test
is it the hitbox of the item entity? o.O
are you using a vanilla client?
heres what im using for curiosities sake, will try vanilla now
same thing on vanilla client
any recommendations for packet capture on 1.21.4? all my usual mods are out of date
dev/1.21.4 clean build + vanilla client with my settings, still stuttering blocks
so i reset all my configs on the server and now it just works fine (?)
not paper-global.yml
check to see which options changed
im adding back the old configs one by one rn
i suspect spigot.yml may be it
doesnt seem to be, hm, there goes my netty threads theory
its something in paper-world-defaults
doing a diff
looks like anti-xray enabled perhaps is triggering it
diffnow-view.html by @vital path: https://pastes.dev/A2iUhhhvsr
Is there a roadmap for folia supported minecraft versions?
no
that would have one entry, "latest"
not anti-xray :/
okay figured it out
setting tick-rates.container-update to 20 is causing that behavior
bit of a blind configuration on my part but I figured that wouldn't interfere with players at all
going to swap that back to 1
Do you actually have issue with container updating rate that’s hurting your server performance?
I don't as far as I'm aware. I did however assume it had to do with hoppers/something expensive as the option is a bit ambiguous
If you can get entity and especially villager under control, most server don’t require any change to the other config so to speak
Same thing goes to spawner tick-rate, unless you are running a server that allow people to relocate spawners (bad idea), changing its tick rate to be 4000 times slower do not really do anything. As the chance of a player finding double or triple Spencers within one player’s afk range is small to begin with.
someone smart once said: don't fix what ain't broken
unless you have a spark report or other clear indication that specific thing is impacting performance, no touchy
yes yes
this is a server we were expecting 500 people on with folia, and hit those numbers
so optimizations were done kind of urgently as perf dropped with stock settings
the stock settings were very much an issue, combined with some memory constraints we were hitting, had to make a bunch of adjustments
we dropped to around 400 something by the time we got it under control, running on a AMD EPYC 4584PX, 128gb @ 3600mhz
the stock settings had us at like 110k entities across the server which is way too much for 440 people, reducing some limits and such got our tps around 15-18tps per region with around 70 regions
couldve improved a bit from there even and we have since
we had 32gb alloc at first which was not enough, gc was killing regions (like 10s ticks)
with optimization we were running around 40 gbish
currently with 85 on we're using ~13.3gb after gc does its cleanup, 22k chunks loaded, ~10k entities
so in effect we're at around 40% of stock entities, largely a heavy nerf/disabling to ambient entity spawns atm
considering contributing some clarification to container-update in the paper docs
the desync potential isn't really noted though it does point out that it affects players
some clarification would be good for folks in the future
Seems decent, depending on what kind of other plugins you were running, player spread, and what the players were doing, etc
was pretty stock plugins wise, just async points tracking and some basics. players were spread randomly throughout a 20k x 20k world border playing survival
The lack of proper player respawn API has been a pain I've had to work around with some hack-and-slash patching, but it's "working" well enough for the event
My server suddenly have problem like villager will disappear in nether under player's loading, is that the problem of Folia?
Folia dev/hard-fork can't compile?
Still a work in progress.
oh it why i can't applyPatches?
It’s still being worked on.
Ok 😅
It builds, runs, and tests, for me at 7dbde1d and 5198c2f
Make sure you use the correct tasks. iirc applyAllPatches (or aAP)
Used applyAllPatch not applyPatches?
ok i will try
tasks task is your friend
i already used createMojmpBundlerJar and createMojmapPapercilpJar but not have server jar on build/libs
it would be in *-server/build/…
Ahhhhh ok
guys is there any command to download 1.21 version 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.
Compiling Jar command to download old version
git checkout
cant find bro
google how to git checkout
thanks
Knowing how to grab old versions is definitely a basic git skill you should learn if you’re going to work with Folia.
i say thx
Sorry, was scrolled up, didn’t see the reply
i'm asking here bc cant find it
there is folia help thats why ask but anyways
answers was enough
Yes, but it’s not like Paper help because Folia is for more advanced users.
i just needed one *** comand
Folia is definitely for more advanced folks. Strong knowledge of git and Java is highly recommended. The fact that you still need to build it yourself is proof of this.
😄
folia hard forking?
already happend/happening, or well, adopting the new fork setup (not really a hardfork)
It's not really "hardforking", it's still a fork of Paper, so it has to update to support the Paper hardfork.
yeah just wanted to make sure
Does anyone know why, randomly, regions of my Folia server will stop sending players entity data? I'm on dev/1.21.4 and certain chunks will just render players invisible. This happens often when players are travelling with boats, and there's no stacktraces in the console when this occurrs
The regions are also not "frozen", they still function fine, its just entities fail to be tracked properly.
When I have players log out long enough for the chunks to unload, then log back in, it often fixes it
Does it happen with no plugins and no client mods (vanilla client)?
While building a server that will use folia does core count become more important compared to the cpu clock speed?
I cannot reproduce this in a test environment, however none of my plugins interfere with these systems. It's very inconsistent where these issues occur.
The chunks that don't render entities seem to be within the same region
the issue occurs as well on a fully vanilla client
is it possibly vertical entity tracking?
we have tracking-range-y enabled for perf which is all that i can think of thats "abnormal" for us
Folia not include Spark ? i alredy enable saprk in paper config
It does not. You need to use the Folia specific build of Spark.
How many CPUs should we allocate, what % of total CPUs, for future farms and large farms?
all of them (im not joking)
Folia works best on bare metal, with as much power as you can throw at it,
Guys how do I make my plugin compatible with Folia?
I heard about using the global scheduler thing instead of bukkit scheduler
But I dont know how to effectively synchronize code from async code as "run" method still marks code inside as async (potion add effect cant run)
There is no 'sync' in folia
how to make folia automatically save the game with customized interval? the save-all command is gone
[16:34:49 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Cannot add effects to entities asynchronously
java.lang.Throwable: null
What is this?
General gist is that, there is no main thread, regions are their own main threads, you need to ensure that you're in the correct 'main thread' for whatever you're affecting
if modifying entities, easiest option is to use the entity scheduler
We don't support offline mode servers here, sorry.
saving the world is not offline
Your server is in offline mode. We don't support servers running in offline mode. See rule #7 in #welcome
okay
its not*
for now
Sorry, we don't support offline mode servers.
Not going to repeat myself a fourth time.
its not offline?
Why you saying he is offline if he doesnt seem to ever have said that
Best to not insert yourself into these sorts of things
He doesn't seem to have done anything wrong and he is requiring help, it seems like you are being unfair to him
You're basing this entire interaction off of one tiny window. You clearly do not have all of the information. Like I said, it's best to not insert yourself into this sort of thing.
offline mode minecraft is software piracy, which Paper doesn’t support
This whole conversation is not relevant to #folia-help


