#folia-help
1 messages · Page 22 of 1
so zach brown and gsand
Just don't harass/ping them about Paper stuff since they aren't involved anymore.
why would i harass them
what
i would be thanking them for making paper
I don't think they want random people pinging them thanking them for making Paper.
yea i wouldn't be pinging them either 💀
None of this is really Folia or Folia help related anymore, though.
yea you right
Should free up this channel for people who might need help.
imma delete messages then
uhh okay
[18:27:41 WARN]: com.destroystokyo.paper.exception.ServerInternalException: Attempted to place a tile entity (net.minecraft.world.level.block.entity.TileEntityMobSpawner@13fffd1c) at -3028,46,-4372 (Block{minecraft:stone}) where there was no entity tile!
[18:27:41 WARN]: Chunk coordinates: -3040,-4384
[18:27:41 WARN]: World: minecraft:overworld
[18:27:41 WARN]: at net.minecraft.world.level.chunk.LevelChunk.setBlockEntity(LevelChunk.java:609)
[18:27:41 WARN]: at net.minecraft.world.level.chunk.storage.ChunkSerializer.lambda$postLoadChunk$10(ChunkSerializer.java:703)
[18:27:41 WARN]: at net.minecraft.world.level.chunk.LevelChunk.runPostLoad(LevelChunk.java:696)
[18:27:41 WARN]: at io.papermc.paper.chunk.system.scheduling.ChunkFullTask.run(ChunkFullTask.java:91)
[18:27:41 WARN]: at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue$ChunkBasedPriorityTask.executeInternal(RegionizedTaskQueue.java:504)
[18:27:41 WARN]: at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue.executeTask(RegionizedTaskQueue.java:434)
[18:27:41 WARN]: at io.papermc.paper.threadedregions.RegionizedTaskQueue$RegionTaskQueueData.drainTasks(RegionizedTaskQueue.java:264)
[18:27:41 WARN]: at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1621)
[18:27:41 WARN]: at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:407)
[18:27:41 WARN]: at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:404)
[18:27:41 WARN]: at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525)
[18:27:41 WARN]: at java.base/java.lang.Thread.run(Thread.java:840)```
Why am I getting this error? How can I fix it?
inconsistent world state
generally either vanilla chunk gen bugs or stuff messing with chunks in an unsupported manner
Isn't there a way to fix it?
It did fix it (by deleting the mob spawner block entity), it just also screamed about it so you know you potentially have world corruption
If you keep seeing those either a plugin keeps breaking things (same chunks) or your world corruption is widespread (different chunks)
Is there no way to turn off this setting or fix what is causing them to constantly break
What's causing it to break are either very rare vanilla worldgen bugs in which case you'll only ever see it a few times and only once or a location or some plugin in which case good luck figuring out which one
I think I downloaded the world map due to the location, but the highest version was 1.17.1, so how can I fix the broken locations?
load them
the server will remove them automatically
otherwise, you'd need to find a tool which will do that sorta thing
I've already loaded it with Chunky
Is there a tool that can do this?
hey
Villagers only get one profession, they don't change, how can I fix this?
They don't lose the job when they break the podium or things around them.
Remove any "exploit fixing" plugins, especially IllegalStack
yeah its fixed
thanks
Folia requires less ram?
No. More RAM.
folia requires more powerful hardware in general
<@&748618676189528155> ^
(65e830cb2d5bd6481a064895) // @mossy atlas (@cubieee / 616391290220969995) has been banned by @rare steppe (105923848263753728)
Reason: Quick-banned for sending a message in #folia-help
hey
The villagers on my server are not mating, what could be the reason for this? illegastackers plugin is not installed.
Well, only two suggestions I have is to make sure that mobGriefing is allowed and that the breeding conditions (check Minecraft Wiki) are met
Mob griefing needs to be active, where can I check it?
It's a gamerule
thanks
Hey again
Even though some players' ping is stable, they still experience ping problems. What could this be caused by? Server institutions, everything is correct and proper. Most players do not have this problem, but for some players, their ping suddenly increases from 500 to 1000, even though their ping is stable.
their ping suddenly increases from 500 to 1000
I mean
Like, neither values are good
and it being that bad by default would generally scream that their network connection to your server is bad in general
In which case, you'd probably want to look towards running something like an mtr, however, that's out of scope for me
But the proxy server has a really strong infrastructure, other players do not have any problems, but the server does not like some players.
"has really strong infrastructure" is literally irrelevant if your players having issues are in some village in the middle of nowhere
The way the latency stuff is measured is hardly amazing, it can also be made worse by stuff like plugins messing with networking, etc
But, it's really hard to say what the cause is of this stuff, and generally if it's only happening to certain players, especially if you can deduce that the affected players are generally the same, I'd spend some time looking at the network connection to those players before busting out profilers, etc
''[19:54:38 ERROR]: [server connection] Locker -> survival: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@bdb9e65
io.netty.channel.unix.Errors$NativeIoException: recvAddress(..) failed: Connection reset by peer''
well, the connection between your server and the proxy was closed
A player encountered this error when trying to connect. Is this related to the player or is there a problem with the proxy?
we are online
I fail to understand how that has anything to do with what I said
I honestly don't know what to do, I'm confused. Some players connect easily, some players cannot connect or their ping is very high when connected.
I mean, the information you're providing is useless
Unless the server is providing useful info as to why the connection was closed, we have nothing to go off
but, at this rate, I'm out; I cannot advise much with the level of info you've provided and getting useful information is generally out of scope for me
How can I provide you with useful information?
See logs
see using tools like MTR
otherwise, you're going to get into the realms of a profiler
ensuring your player don't have a shit connection to your server by checking it with an MTR both ways ^
I don't know where your issue sits, exactly, all I can tell you is that the TCP connection was reset
This is generally starting to get into the territory of "hire somebody who knows what they're doing"
First of all, I install MTR
sudo apt-get install mtr
then '' mtr serverip adress '' ?
thats all or should i do something speacial
some players still getting this error
[20:27:49 INFO]: [server connection] yahya1435try -> lobby1 has connected
[20:27:49 ERROR]: [server connection] yahya1435try -> lobby1: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@5d3b00cd
Some players can enter easily, some players cannot.
that still says precisely nothing
I still don't know what to do can you guide me? There is only this error in the console. I downloaded MTR to the server machine but I'm not sure exactly how to proceed with it
Diagnosing networking issues is pretty annoying, so there's few people who will be willing to guide you through it
Is it a problem to install Velocity on the main server? I do not host Velocity on my lobby machine.
no
so long as you have the resources it literally doens't matter where you host it, well, outside of latency, etc
Unless you're cloudflare or google or something the answer to random network weirdness is generally either just accept it or try moving to a different host/ISP and hope it's better there
Sometimes these problems are temporary due to something going wrong somewhere on the internet, sometimes they're permanent and the only solution is to get a different ISP and hope you get a better route
Are there any servers using folia in production?
Yes, a few.
Did you happen to find a solution to this?
Can't find a single Folia supported crate plugin
No not yet
Damn, I'll let ya know if I figure anything out
I seem to be having issues compiling/building Folia. Am I missing something?
probably, what does it say
No matter what I try, I can't get Folia-API in my directory
./gradlew appP?
> 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 apply --ignore-whitespace --directory=src/main/java C:\Users\austi\OneDrive\Documents\GitHub\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\patchCraftBukkitPatches.zip--495475073\net\minecraft\world\level\storage\loot\predicates\LootItemConditionRandomChanceWithLooting.patch
probably hitting the windows path length limit, you can either disable it or clone folia right into your C:\ drive
are you just trying to download or are you adding custom features
I disabled path length limit, I am not on my regular PC so that wasn't disabled.
I just downloaded from the github project and attempting to build a jar to test some plugins. I think I am just running into issues. I am just getting weird errors.
> Task :paper:patchCraftBukkit FAILED
> Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':paper:patchCraftBukkit'.
> Cannot access output property 'outputDir' of task ':paper:patchCraftBukkit'. Accessing unreadable inputs or outputs is not supported. Declare the task as untracked by using Task.doNotTrackState(). For more information, please refer to https://docs.gradle.org/8.5/userguide/incremental_build.html#disable-state-tracking in the Gradle documentation.
> java.io.IOException: Cannot snapshot C:\Users\austi\OneDrive\Documents\GitHub\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\patchCraftBukkit.repo\applyPatches.sh: not a regular file
Probably an OneDrive issue?
Let me just move this to C drive. OneDrive is so annoying.
That seemed to get me past the issue and worked fine 🤷♂️
I also see that I can just download the jar from the api download lol. Cool. Guess I have both methods now
Thank you @hexed ice (congrats on the position btw) and thank you @dire pebble
Is it good to use folia on a shared hosting server?
If that's all you can afford, just use Paper.
Thank u
Anybody know of a good land claim plugin that’s working? I tried the latest Towny with the latest build of Folia from the master repo and it throws lots of errors.
There is 2 option
First Plugin is Lands and its paid
Second one is Residence its paid too
Residence has a free download option available.
Buy Lands by the way
Residence doesn't get support afaik
Free residence^
Does luckperms works with folia?
Is folia negatively impacted if you assign it too much memory? Or does it not really matter what I set my xmx to as long as it’s not too low
words to live by
it mainly depends on what GC you use
Towny work fine you can open ticket
Hello, I am having problems using this plugin in folia
Feedback to the author, he said that the plug-in is no problem, may be my computer problem
When the player exits the server after connecting to the voice, there is a probability that the main thread will be stuck
Is this a plugin problem or a folia problem? If it is my problem, I am not sure if I have tested it on other devices and asked other developers, and they said that the plugin wrote "thread sleep" caused it
The above translation results are from Youdao Neural Network Translation (YNMT)· General Scene
I mean, sleeping a thread like that is pretty dangerous
and I'd imagine that there are probably many cases that can trigger an issue with that sort of code, i.e. a player logs off
@sick bane
He's sleeping on region scheduler??????
Yeah completely rewrite that
It should never be like that
That's not folia
I will rewrite that when I’m no longer sick
I can’t reproduce the bug he have and other boostedaudio folia users never reported me the bug so it’s weird
make sure that you're updating the atomic properly
and, generally, make sure that you handle retirement of schedulers
otherwise, you're probably gonna desync the counter
but, really, relying on logic like that just looks kinda needlessly fragile
Hello
I have critical problem with folia. First of all, I have a velocity server, it connects you to the paper lobby and from there you connect to the main survival folia server. Everything is normal for players connecting to the lobby and they have never had any problems so far. But when they connect to my folia survival server, if there are 15 players, 5 of them have connection problems. Either their ping is too high or they cannot enter the server at all. What do you recommend I do at this point?
I think Folia is breaking their connection or maybe a plugin on my server is doing this? How can I test this and find out the source of this problem? Because some players play normally, some players can never log in or their ping is too high and they are sent back to the lobby at the first login.
Likely a plugin issue
Is there any way to detect this?
binary search on your plugins ¯_(ツ)_/¯
plugins dont just announce "hey, im causing connection problems for some players!"
There are 40 plugins, in this case I have to remove each one one by one and try again and it is really difficult.
binary search is not one by one
What exactly do you mean by binary search?
Let me check
fast search method
read the article
does the cpu get high when you have the problem?
CPU usage is always stable TPS MSPT these are all stable
k k
Are the lobby server and the folia server on the same physical machine? if not, this could also just be a network issue
No
Are you using an anticheat?
Folia won't cause connection issues like that
What will cause though, is the anticheat clogging your netty thread
I removed anticheat yesterday
And the problem still persists
Velocity and folia server are on the same physical server. Lobby server was installed on another dedicated machine
Should I be suspicious of viaversion viabackward and combatlogx plugin?
I can create a spark if you want, but everything is stable. There has been no crash on my server so far.
send the spark profiler
this way
spark profiler --start --thread *
when the problem starts
Those players don't come to the server anymore because they have problems, so I will do it when they come back.
But I still want to send a spark, maybe there is something I missed.
Offline mode servers are not supported
Your netty thread is not getting chocked so
it's not a plugin issue at least on Folia
I know, but unfortunately it's not my choice. It requires this because of the gaming community in the country I live in.
So what do you suggest me?
your issue is either network or velocity
and this moves outside here because its no longer folia
Both servers were purchased from hetzner
is the velocity on the same machine?
The lobby machine has Ryzen 3600. Folia server has epyc 48 core processor
welp
idk then
network issue or performance issue due to plugins
its gonna be one of those two
velocity installed on folia server
I can move velocity to lobby server
players connect to the lobby without any problems
So I don't know, something is wrong with folia.
I'm stuck so bad
no
it's not
when you ran that spark profiler
was the problem present?
it doesnt seem like it
Yeah, because I don't have any players having problems right now. It's late here and I think they're sleeping. I will create the spark profile again tomorrow.
we solved the problem
GOOD!
What was the problem?
The problem was caused by folia.jar(server.jar) We reinstalled it and now logins and pings seem more stable
Let's wait until tomorrow to be sure. I will inform you here again tomorrow, but for now everything is much more stable.
Not sure I understand. You just replaced the jar? With a newer version, or the same one?
I was already using the latest version 1.20.4 folia. But I think there were some defects in the jar. It may have been damaged during compile. We noticed this and I downloaded the latest version folia jar again. and then I replaced it and the problem seems to be fixed.
The first folia I used was version 1.20.4 and it was the version I compiled 2 months ago.
I see.
that seems very doubtful
Why do you need a good multi threading CPU to run folia? If a paper server can barely run 200 players on one server, folia should do it better on the same CPU?
Not quite. Folia is designed for many cores and a lot of RAM.
So it won't always work better than Paper on the same server.
Can't wrap my head on that concept. It splits world into regions, so each region like its own server. If I open 3 identical survival servers in the same CPU, I can have 500-600 players where normally one can almost get 200. Why folia would struggle?
There's no way you'd get three Paper servers running 200 players each on a single CPU.
Okay, 150
150 on a single CPU, sure, but 3x 150? On which CPU?
Folia breaks things out into multiple threads/cores. It just needs a lot of cores. That's really the short answer.
Something like ryzon 9 7*** with 8c 16t
a ryzen 9 doesn't have 16 threads
Imagine it does, can't remember any CPUs now on top of my head
and you could host folia just fine on a 7950x
And you can't run 3 concurrent Minecraft servers with 150 players each on a single 7950X.
Maybe if you nerfed the server a bunch and didn't run any plugins.
But like an actual 150 person SMP? That's not going to happen.
3 x 150 / 200 players on a single 7950x you'd probably be pushing the cpu resources quite a bit
especially with plugins
Well, I have i7 12700, with 7 servers on one machine, folia would struggle?
definitely
Yes. Folia wants a lot of cores (and not e-cores).
But if my CPU is not fully utilized, wouldn't it still be better than just paper?
No.
Folia wants a lot of cores. Inherently. It specifically uses more cores than Paper.
Think of a CPU as a bus with 32 seats. Paper can get on and sit down and only take up 2 seats. So if the bus is pretty full that's okay.
Folia wants 16 seats at a minimum. That means if the bus is getting full then Folia needs to wait for a new bus.
In this scenario that "new bus" is a different server with a better CPU.
If a bus shows up with only 8 seats, Folia isn't going to cut itself in half to fit on the bus. It's gotta wait for a bigger bus.
Folia eats a lot of snacks, basically.
So on a i7 12700, it's better to have 3 identical paper servers than one folia server?
For the third time, yes.
Paper can run on fewer cores.
Folia cannot.
Paper is going to be a lot more flexible in terms of which CPUs it can run on.
Well, that's just strange for me
Is this going to improve or will it always be a minimum requirement?
Understood, thanks for explaining
Folia with one region is just a slower Paper, it should use the same amount of cores and such though
If you get two regions (and have another core) then it should be more efficient than 2 paper servers because you share the GC threads and such
That's mixed answers
You're definitely just gonna confuse them even more.
Now you're just talking "theory"
The correct answer is "run it and see what happens"
I can imagine scenarios where Folia beats Paper on a 12700
you can
just have to optimize things
won't be able to do to that out of the box with simple solutions though, that's for sure
the bus analogy is cool
that needs to go to the readme XD
How do you think this server system I have would hold up?:
CPU0: Intel(R) Xeon(R) Platinum 6162 CPU @ 1.90GHz (24c/48t)
CPU1: Intel(R) Xeon(R) Platinum 6162 CPU @ 1.90GHz (24c/48t)
MEMORY: 384GB
SSD STORAGE: 2688GB
Would Folia stick to one CPU on a multiple CPU system or use both?
Folia doesn't really support dual CPUs.
For that setup you should use Paper.
But in the future please don't ping someone specific - just ask your question.
Oh a 6162 is a little better than I thought.
You could probably run Folia on one of those CPUs.
Apologizes, I typically turn off mentions.
I am using that system above for a "Beta" test with Folia and intend to have a few hundred people on. I am mostly just testing my plugins and compatiability with the huge a** map I have.
Is that dedicated? I'm worried about the cost effectiveness if this if the answer is yes
It's home hosted.
Funny enough, it's actuall a 2RU size server, 4 nodes. So that system above, there is 3 other identical machines in the same chassis.
It's overkill lol
It will use both CPUs if you have enough regions with enough load, but it's considered unsupported, this is a danger zone as there are NUMA overheads and etc which are hard to predict
Yeah NUMA is definitely a question mark.
I like breaking things. I'll just report my experience with it, won't look for support for it though. Again it is a beta test unit, my actual dedicated would be on something on Hetzner and an i-9
Careful, i9s are not good for this
What do you recommend?
I am stuck in the idea of needing higher single thread performance lol
Well, the starting point that I can recomend is the Ryzen 7950x3D in there, which fits the recommendations
And well, lol, funnily enough the i9's have
terrible single threaded performance in the E cores, which is the issue
Yeah I was gonna ask, is this the effiency cores I heard about.
The last Intel CPU I owned in my PC was the i7-4790k. I won the silicone lottery with that thing. I had a stable overclock at 4.6Ghz (edit wrong i7). It blew up when I accidentally powered on the motherboard while troubleshooting the motherboard
Yep, they get in the way
Does all the i9s have the E cores? What about i7s?
Thanks for telling me because I was ready to purchase an i9 for this.
Well, older i7s and i9s don't have E-cores, but I don't think anything Intel i(x) would fit the 16C/32T recommendation
Well, my beta test is on the 23rd, I have 66 RSVPs for it. Typically my RSVPs represent 30% of people who actually attend. So I should definitely push over 200 hopefully. I am going to spread them out pretty hard and run some Towny/SiegeWar stuff in different regions at one time.
I'll let you know how awesome it goes after.
The map is 25mil chunks lol
there was an issue with player connection that has been fixed in main branch. So if he indeed was on an old version that was the issue.
that was initial report but then he also said players could not connect
ok
I don't think Michael was doubting the connection part. I think Michael was doubting that somehow not compiling it correctly would cause issues.
But either way speculating doesn't make a lot of sense.
what u think about AMD Ryzen 9 5950X (32) @ 3.400GHz?
If anything it's a reminder that Folia is experimental and you should be on the latest build.
it was prolly overall not precise info
Probably not, no.
It's alright, assuming that's a dedi
yea, dedi with 128 Gbps ram + 2x10Gbps LACP
if its rented. just make sure its cooled properly and not being thermal throttled
yea, what u think about epyc cpu with more core for folia?
example 96 core / 192 threads or 128 core/256 threads
Now that gets heavily into "it depends" territory
Because you'll need tons of regions to justify that amount of cores
And less intensive regions as well, to counterbalance the loss of EPYC and such in single threaded performance
96 core will give better ghz per core
Or you could spend the money on a cheaper cpu with better single core performance
Like the Ryzen 9 7000 series
Or the i9 14000 series
Like Kyle said it depends on what you’re doing.
An EPYC with 96 cores will hold more regions and therefore more players
They just might not need it.
Does folia support hyperthreading?
yea
nice
How do i compile sparky?
What?
In theory the JVM and OS handle the NUMA stuff for you with a NUMA aware GC and NUMA aware scheduling but, uh, I'm not sure anyone has actually tried it. iirc locks across NUMA regions suck so I suspect it would work but in some cases be slower than just disabling one CPU or pinning the JVM to one CPU
The folia version of sparky I believe needs to be compiled with gradle but I got no clue on gradle
@primal oyster have you had reports pearling being slower / more laggier with Folia?
before: https://www.tiktok.com/@crypvp/video/7334513473512099105?_r=1&_t=8kX7rEMENSD
after: https://vm.tiktok.com/ZGey4qEJU/
I can hardly tell any difference, but apparently this is a noticeable delay in pvp
teleporting in general is slower on folia
I would imagine that that is the factor here
do you reckon this is something that can be fixed with a plugin or is it just due to how the arch of Folia?
it's an architexture thing
the thing basically will process teleports on the next tick
you could maybe try to race through teleports into the same region
if you mean spark, there is https://ci.lucko.me/job/spark-folia/
spotted is scheduling on the region for 1
it's the same for all packets too
overall pvp on folia will not be like the paper experience @subtle fjord
the pearl you can fix but someone who plays a lot of combat all day will notice it no matter what
there's a github issue for the packet part
but that's something that would require 'a lot' of change on the ticking mech
I think thats fine, we are not a pvp server anyways, and some of the "thrill" for players is doing pvp on a non-pvp server.
there's a suggestion too
link?
I implemented this
👀
the logic is
paper has mid tick task processing
folia doesnt
folia will only process packets when the ticking of a region is actually happening
essentially what i did there was add mid task processing
in a "scuffed" way
Here is the recode
do you think it's good or do you have any advice to make the code better ?
message.java by @sick bane: https://pastes.dev/rHIeQPudTd
Ypu're passing around a collection to various threads which is not thread safe
you're also making assumptions of the time
Map<UUID, User> connectedUser is a copy of the original collection
so I should just remove the timeout ?
Use a ConcurrentHashMap
why do you need to try to sleep for 50ms? @sick bane
are you trying to replicate sort of a tick mechanism?
I'm not sleeping for 50ms
I use CountDownLatch
it wait until the count down is == 0
your peerMap, is not thread safe, you're passing it into various methods in which then mutate it concurrently
yeah, that
what are you using the consumer to?
You can workaround with ThreadLocals etc there without having to fully have that await time too
The time assumption you have there should likely have desync issues all of the time
you'll have a lot more accuracy with the thread locals, you can track players around with more precision as well
also, as said, if a player logs off that will fail to populate properly, the folia entity schedulers have a retirement runnable for a reason
yeah I saw that after I change it
my class VoiceChatProcessor is made to generate update voicechat data
that in function of the plugin setup, will be use directly, or sent to the main proxy serv
for (User user : connectedUser.values()) {
Player player = Bukkit.getPlayer(user.getPlayerId());
if (player == null) {
cd.countDown();
continue;
}
BoostedAudioSpigot.getInstance().getScheduler().runAtEntity(player, task -> {
getPeerPlayer(player, connectedUser, user, peerMap);
cd.countDown();
});
}
you mean the player when executing .runAtEntity(player, task -> {
can disconnect even if I check just before
so I need to do something like that
for (User user : connectedUser.values()) {
Player player = Bukkit.getPlayer(user.getPlayerId());
if (player == null) {
cd.countDown();
continue;
}
BoostedAudioSpigot.getInstance().getScheduler().runAtEntityWithFallback(player, task -> {
getPeerPlayer(player, connectedUser, user, peerMap);
cd.countDown();
}, cd::countDown);
}
Yes, the method can also return false if the player already logged off
is it normal that folia reload confirm command doesn't work?
Yes
Does spottedleaf has a estimated time to fully finish folia
or will it take some more years ya guys think
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.
ok ty
I mean, it's a piece of java software
it's just generally expected that if you're gonna take the hurt of folia, you're generally going to not be running it on some shoddy VPS and actually have the resources for it to make sense
bloom.host
Doesn't make sense to run Folia on a Bloom VPS
Their max offering is 6 logical cores
depending on your usecase that can work
it's just on you to determine if the caveats involved are worth it, and if your host is willing to allow you to use such potentially heavy software
it pretty much changes nothing of what I've said
It's $78 a month for 6 threads, lol, I don't see any usecase where that'd make sense
hardware perf wise and operationally wise are two different concepts
(65ec98f12d5bd6481a06489d) // @wheat veldt (@nove__ / 696245942789079074) has been banned by @livid crag (177150983258767360)
Reason: spambot
what would this be?
i search up jvm debug symbols on alpine couldnt find anything
Tbh I'd just pick a JVM that comes with them
hey so something i noticed is
folia uses a the ram allocated for each region
so i can lower it than what i wouldve done for a 1.12.2 anarchy server
cause this is not good i only got 112 gigs of ram
what
i keep getting crashes for out of memory error makes sense i should just make that 8 gigs for the start flags ?
cause 8 x 24 for each region
this is a 1.20.4 paper server
it just looks like that in htop
its not actually using the amount for each thread
oh well some how folia is using more than 24 gigs of ram and i dont want it to it keeps making my server freeze for oom
java always uses more than whats allocated
ok
Lower it a few gb and it should be good
memory upgrade time i guess
yeah it was 64 gigs before this i made it 24 now
there is HUGE dupe stashes on my server which is why ram is like absurd
thats just heap, there is still non-heap (outside of OS stuff ofc) - so I think these days you go with conversative 60% of the memory you want to allocate to java - or you can try pushing to 80%
whats the latest folia server?
1.20.4
How is folia with mob farms and basic vanilla redstone futures?
I'd say closer to Vanilla than paper since mobsapwn loop is ran per-region.
redstone has the same issues as every craftbukkit-based server, some quirks people usually don't notice but some popular farm designs have run in to
I don't really remember what they are, haven't cared for 10 years
Ok ya I didn’t know if there was some background limitations on mob caps/redstone designs to squeeze performance
Nah, doesn't really matter if a region is packed full of mobs or crazy redstone machines, every other region will be fine 😄
Hey I was wondering which dedi was best on 100-300 players with 7 worlds (3 ressource world, 3 claiming world, 1 spawn world):
i am creating a docker container for folia do you have direct download for the folia jar or something similar to this https://papermc.io/api/v2/projects/paper
it seems to be the standard paper mc jars only no forks
It depends on what you mean by safe
It won't really spontaneously crash or anything, but there's still missing API and high hardware requirements
Okay
We wanted to test it on our small factions server
nothing too big but always ready to learn something
I'll just try it
i am getting Error: Invalid or corrupt jarfile server.jar when trying to execute the folia jar file which i downloaded from the api
PROJECT="folia"
MINECRAFT_VERSION="1.20.4"
LATEST_VERSION=$(curl -s https://api.papermc.io/v2/projects/${PROJECT} | \
jq -r '.versions[-1]')
LATEST_BUILD=$(curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds | \
jq -r '.builds | map(select(.channel == "default") | .build) | .[-1]')
JAR_NAME=${PROJECT}-${LATEST_VERSION}-${LATEST_BUILD}.jar
PAPERMC_URL="https://api.papermc.io/v2/projects/${PROJECT}/versions/${LATEST_VERSION}/builds/${LATEST_BUILD}/downloads/${JAR_NAME}"
curl -o server.jar $PAPERMC_URL
echo "Downloads completed"```
FWIW it’s just called Folia. Definitely not “foliaspigot”
Ok sorry
latest download from the API works fine here
hmm
i will redownload mabye it broke then
java -Xmx4096M -Xms4096M -jar server.jar --nogui, not working with these boot args
have you looked at the jar file you downloaded?
i am getting this when running ```#!/bin/bash
PROJECT="folia"
MINECRAFT_VERSION="1.20.4"
LATEST_BUILD=$(curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds |
jq '.builds | map(select(.channel == "default") | .build) | .[-1]')
echo "Latest build is $LATEST_BUILD"```
going to guess your "jar" file is a 404
it aint in the docs
what?
^^
where does this go?
The folia builds are marked as being in the experimental channel
your script is trying to map stuff for the default channel
ah ok
You should add that to the api downloads page
folia? no
not as a little note why?
Because certain things being inside of different channels is not really something of note to that page
the expectation there is to just provide some examples with the expectation that people aiming to parse the API are either looking for easy stable builds or are aware of what they're doing
ok
You should provide some sort of information somewhere on the different channels and what they contain
we don't exactly have a fixed list of channels
oh, wait, we do
it's on the swagger docs
swagger?
Hello, I'm attempting to compile folia, using the paper compilation guide located here: https://github.com/PaperMC/Paper#how-to-compiling-jar-from-source . I am unable to run the command ./gradlew applyPatches to completion. When I run it, I get the following error: ```$ ./gradlew applyPatches
Configure project :
paperweight-patcher v1.5.11 (running on 'Windows 10')
Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
- What went wrong:
Could not create an instance of type org.gradle.api.internal.initialization.DefaultScriptHandler.
Could not create service of type ChecksumService using BuildSessionScopeServices.createChecksumService().
Cannot lock checksums cache (C:\Users\main\Desktop\Folia Compilation\Folia.gradle\caches\paperweight\upstreams\paper.gradle\8.5\checksums) as it has already been locked by this process.
- 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.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 6s
2 actionable tasks: 2 executed``` I'm unfamiliar with gradle (I use maven for my own plugins) so I'm not sure how to fix this issue. I'm running the command in a git bash terminal if that matters.
delete your .gradle folder in the folia project and start again from the beginning
just do ./gradlew clean
or so
generally better then just nuking the .gradle folder
you're right
though ig both are gonna work 
It seems to have failed with the same error after I ran the clean command```$ ./gradlew applyPatches
Configure project :
paperweight-patcher v1.5.11 (running on 'Windows 10')
Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
- What went wrong:
Could not create an instance of type org.gradle.api.internal.initialization.DefaultScriptHandler.
Could not create service of type ChecksumService using BuildSessionScopeServices.createChecksumService().
Cannot lock checksums cache (C:\Users\main\Desktop\Folia Compilation\Folia.gradle\caches\paperweight\upstreams\paper.gradle\8.5\checksums) as it has already been locked by this process.
- 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.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 7s
2 actionable tasks: 2 executed
I will try deleting the entire gradle folder
Could this have something to do with the space in the file path? When I make the applyPatches on a fresh project, there are no problems.
I'm not sure, I was actuall prevented from deleting the .gradle folder because it was open in another program, but I've closed everything on the computer.
I'm going to restart and see what happens, if deleting the folder doesn't work I'll try removing the space from the path
did you also do /gradlew clean?
and the .gradle folder is also gone after the clean?
I didn't check to see if it was there between running clean and running applyPatches, but it's there now
I'll be back after the restart, should only take a minute
restarted and deleted .gradle, I'm going to try applying patches again now
if it still doesnt work, the space shouldnt matter, but its worth removing just to eliminate the possibility
Failed again after removing space from path, but error is a bit different from before.```$ ./gradlew applyPatches
Starting a Gradle Daemon, 2 stopped Daemons could not be reused, use --status for details
Configure project :
paperweight-patcher v1.5.11 (running on 'Windows 10')
Configure project :paper
paperweight-core v1.5.11 (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 apply --ignore-whitespace --directory=src/main/java C:\Users\main\Desktop\FoliaCompilation\Folia.gradle\caches\paperweight\upstreams\paper.gradle\caches\paperweight\taskCache\patchCraftBukkitPatches.zip--1268264400\net\minecraft\world\level\storage\loot\predicates\LootItemConditionRandomChanceWithLooting.patch
- 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.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 2m 59s
2 actionable tasks: 2 executed```
probably windows path length limit
clone into a folder directly in your C: drive
or use wsl
Hello! Just a question is there any configuration wiki for like EPYC 9454P to run Folia on or similar may be?
There are no configuration wikis for specific CPUs for Folia or Paper.
Any recommended settings though?
Not really, no. Settings are adjusted to taste.
Ok. Many thanks for the reply just wanted to know for sure.
The optimization guide we link for Paper is more or less applicable to Folia also.
Community contributed configuration guide for Paper: https://paper-chan.moe/paper-optimization
Thanks for the suggestion! The path was ~260 characters long. I was able to build it. I appear to have long paths enabled in the registry, do you know if there's something else I have to do to enable them again (or if it is a quirk of git bash)
It's some windows gradle thing I think
Not exactly sure what the issue is but it's something people run into here often.
Pretty sure someone's trying to work on a fix for it but don't think it's merged yet.
There is no fix, there was gonna be a thing to warn when you hit that limit, however
It’s an os limitation, only real “fix” is to disable the limit
Ah yeah, it wasn't a "fix" but rather more accurate warning IIRC.
Only been half paying attention to it because I don't use Windows.
iirc things have to actually use the newer APIs that can handle long paths too, it's not enough to just turn them on in the registry
<@&748618676189528155>
(65f08cef2d5bd6481a0648a9) // @sick thorn (@khqled.syr / 668130451201982464) has been banned by @rare hare (276788573666017280)
Reason: Quick-banned for sending a message in #folia-help
message.txt by @jagged hearth: https://pastes.dev/h3a85UQNVS
Help please
Caused by: java.lang.RuntimeException: Could not load plugin 'DiSky v4.12.0' as it is not marked as supporting Folia!
you need plugins which support folia.
I mean, it pretty much tells you
show the full thing
Please send large files/logs to a pastebin
A sensible, modern pastebin. Share text and source code snippets with no hassle.
Going to guess either you downloaded from github instead of cloning or you're on Windows and are in C:\Users\Name\Documents\Github\Folia instead of C:\Folia so the path is too long
since it failed on patchSpigotApi you probably didn't set a git username and email
Ah, right, always forget that one
How are you kicking them?
1st try usunig essentials kick
2nd using minecraft command
What's your output of /version?
they said they left themselves but server still has them online
This server is running Folia version git-Folia-"e97b1ee" (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: e97b1ee)
Well for Essentials commands not working, you'd want to talk to them.
What command or method exactly are you doing for #2?
minecraft:kick
Could not pass event PlayerJoinEvent to AuthMe v5.6.0-SNAPSHOT-bCUSTOM
java.lang.IllegalStateException: Player is already removed from player chunk loader
well i guess i know the problem (maybe)
Looks like you're using offline mode.
yep
I can't replicate a player not being kicked after using the vanilla kick command also
Yeah sounds like an offline mode issue.
now i have online mode on and it all fixed) without that stupid plugin
thnks
but why tps in 1 region affects tps in other regions?
What hardware are you running?
Intel Xeon E5-1650V3 - 6 cores
24 gb ram
192 gb ssd
Yeah tha'ts pretty far below what we recommend running for Folia. Your system is likely just overloaded.
If you're just testing basic plugin compatibility or whatever it's fine but if you're trying to actually run a server there's a pretty good chance Paper is going to be faster.
whats remoccended
16c CPU's with high single core performance
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.
You should read the documentation. We recommend at least 16 cores / 32 threads. You may be able to get away with less if you're on a faster modern CPU with otherwise fast hardware and you optmize the hell out of everything and don't run any plugins.
But Folia is inherently core hungry.
It's built to use a lot of cores.
On paper it only used about 40% of all cpu availible and now 60
anyway it's better
15TPS doesn't seem better to me.
bt i have only 9 players online, why its overloaded even on 9 online
is it extremely bad
Your server does not meet the minimum recommended hardware requirements for Folia.
TPS in one region will effect the others because you only have one region thread, most likely
so its impossible to fix it on my iron?
The best way would be to get a better CPU or switch to Paper
Otherwise I think you can force it to spawn a certain number of region threads but if you overload your CPU that just makes everything worse
For 6 players it's real hard to imagine Folia ever actually being better for you than Paper. There are technically some cases Folia would win but, uh, probably not enough to notice outside of like 1 scenario
What when players spread into different areas? We've got a hell of loaded chunks but on the other hand want to keep it more natural when it comes with gameplay and farming. Is there a break even point to measure between paper and folia?
Any time you can actually get multiple regions and have the CPU cores to spare to run them independently Folia can be a win, sure
But 6 players will probably fit just fine on a Paper server without having to nerf things, there is some overhead for a Folia region so it won't be able to handle as much as a Paper server, and 6 players are rarely going to get far enough from each other to get multiple regions
Yeah. I'm running a Paper server with simple-ish plugins such as AdvancedTeleport, LuckPerms, LPC, and also CoreProtect from the heavier side. It's running on a virtual machine on Proxmox, 4x Intel Xeon E4-4620v2 CPU's (I have 10 cores dedicated to the mc server VM), 16GB of RAM for the VM and I have 4-10 players on it pretty often. I've had no big issues with it.
I did also dabble a bit with Folia a few months back, mainly just out of curiosity. I copied my production world over to Folia, and it was better at handling fast traveling and chunk loading (it was smoother), also didn't dislike dozens of mobs (villagers/zombies/etc.) in a single area as much as Paper does. Other than those, no other big benefits on my hardware.
And no, this wasn't programmatically or very accurately tested, but the feel was very different between Paper and Folia in terms of smoothness and performance.
so a little bit ago. there was a bug on folia that would cause the mob spawns to ramp up if too many people came online, is there any way to reintroduce that bug as a feature?
I mean, that was the mob counter breaking
just use a plugin which increases the spawn limits?
right but it seemed to be population based and i havent seen a plugin that does that
Basically, no, there is no interest in reintroducing the bug into folia, you could however make a plugin which emulates the side-effects that it induced in a supported manner
if no such plugin exists, you'll basically either need to make one yourself or commission it or whatever
my players miss that bug 😦
there are plugins which have existed to reduce the limits as more people come on, but, idk if anybody ported such a plugin to folia or if it can effectively do the inverse
i mean i had to all but disable squid spawning the mob rushes were awesome
Unless I'm missing something, you just need to increase the player cap based on # of online players?
Which would be like 20 lines of code
i know nothing of java programming
but if you have a resource link to help get started?
See the last pin in #general
This one plugin might be easy in Folia, but I have to say that learning Java to go straight to Folia plugin development in general will be really frustrating
Hey
I need help
region freezed
what is that
its freezed
Has anyone experienced anything like this before?
I mean, if a region deadlocks, weird shit happens
like, yes, it has happened before, it's a noted caveat that if a region locks up, which is possible, it will get stuck
there is no magical fix, best you can do is grab a few jstacks to see what the process is doing and reboot it
how would you do that?
jstack <process id>
How can I process jstack this on pterodactly folia server?
kill -3
what do you mean by kill -3
kill -3 <process id>
idk if ptero will make that bunch of info accessible
If I kill, will the server not restart?
no
should be fine
it's just a signal
if you sent a signal that would actually kill the process, it would die
I can't kill the server without stopping it
no
what
.
kill literally just sends a signal to the process
signal 3 is not a "you die now" signal
the barrier of entry for folia is high for a reason
you're expected to be able to take care of some basic systems administration by yourself
lol
send kill signal -3 to your java process
thread dump will get output to stdout
We fixed this thank you for the help
Why does this happen? What is it that does this?
-9 better
Does that also do a thread dump? I thought it just straight murdered.
Im straight to murder
Okay, but if we're trying to get a thread dump how does that help 🤔
I'm not using paper. I'm using folia.
I'm having an issue were new chunks aren't generating very fast. I originally thought this is was bad hardware, but it generates new chunk in the nether and the end just fine is there any fix to this.
Don't suggest chunky. I want it to generate new chunks fast
Im using pterdoctyl for hosting
Is there a way to make it run faster
What hardware are you running this on?
The new chunk generate as fast as your hardware is afford to process them. This is not rocket science.
The reason Chunky is recommended is that you do the process ahead of the time so when a player is loading them, you do not have to do the same step.
i know that but i was wondering if theres something i could do about it
intel i5 4970S, 8GB ddr3 ram
running ubuntu server
20.04
i know its not fast
That feels like an okay choice to run paper not folia.
how about purpur?
i heard its really fast
Wat.
And I heard if I put fire decals on my car it'll go faster.
How many players do you have actively playing on your server?
10 - 15 max
Then there's no reason for folia. Just use paper.
Forks of Paper are generally not any faster than Paper.
I mean yeah.. there is something you can do about it but it's the thing you said you dont want to do...
Unless you’re using Folia and have the hardware to support it. Which only makes sense with lots of players.
If you start hitting ten times that - 100 to 150 players - let's start talking folia 😆
ya did it for 10k but i was wondering if i could make it faster without using chunky
Not without better hardware
Pre-generating with Chunky is basically free performance.
Just go for Paper, slap chunky in to pre-gen for a day or something, and then things will be far happier.
it's not essentials I think
I've seen this "issue" on donut, im still investigating it
It's something todo with the connection list
It barely happens to anyone in the first place
curious, read a couple of times "offline mode not supported" - but how do people usually run paper/folia with velocity?
It takes hours and sometimes days for it to happen
thats something you'll find talk on #velocity-help
Michael has spoken before why velocity proxies are "an advantage still"
was planning to offload some plugins to velocity, but ended up not really requiring/getting rid of them alltogether so maybe also time to decommission it again.
Switching things to velocity might reduce overload-server-side
but gotta be very careful too
Poor performance of functions on netty threads is the worst nightmare you'll want to have
it'll lead to 100s of weird glitches in the server and there's no actual explanation for it
you'll only notice once you actually debug it
it's more that we don't provide support for users supporting or facilitating piracy
said servers usually introduce weird quirks with questionable plugins
there are more than valid reasons for using offline mode and we have nothing against that
aaaah alr.. I thought this was a Folia limitation..
nah it's just a general policy here
Right. "Offline mode" with proxy enabled for Mojang auth is supported.
Offline mode with no Mojang auth is not.
how would I look up the PID for a ticking region?
you don't
you just need a process ID of any part of the jvm
jstack will output a thread dump of whatever is running
freezed
other chunk
What can I do about this? I'm stuck on my server. This situation is getting very boring.
here is the jstack
Is there a way to fix this region without restarting the server?
no
all I can see is like, 1 region thread doing chunk saving, can't really see anything else going on from a quick glance
there is a reason why I said a few jstacks 
Could the coreprotect plugin cause this?
any plugin could cause it. we arent going to dig through random plugins looking for a needle in a haystack for you
if you dont want to follow ecats advice, you can try a binary search on your plugins
This situation occurs very rarely. How do I detect this by separating the plugins?
I mean, it might not even be a plugin
all I have is a single snapshot in time which suggests that a region thread was doing a save
maybe the thing got stuck saving chunks for some reason, I can't say, because we only have 1 snapshot
I tried to jtag 2 times now, but both times the server restarted.
jstack won't cause the server to restart
No idea then
like, the signal does not seem to kill the process, maybe if you spam it too fast it might hit the quit signal while already in the handler and blow up?
all I can guess is that you're cursed 
Since the server was reset, it was fixed automatically. I will try this again when a region freezes again. Normally this would never happen, but when the number of activities on the server started to increase, I started to think it was happening.
Do not run CoreProtect on production
What do you mean by production
I think he's saying coreprotect is experimentat and hence you shouldn't use it in production with real players.
I see, I think I'll uninstall that plugin tonight.
Not only that
Extremely poor in performance
Wayyy too many resources and worst practices as well
no thread pools, raw thread creation
new Thread every time
sounds terrible 💀
look at the src
I don't really have time but sounds like they need to fix that
Should I use an alternative for this? Because I am worried that the server will not save when the server crashes for any reason or there is a ddos attack. Should I use an alternative for this? Because I am worried that the server will not save when the server crashes for any reason or there is a ddos attack. Do you think the server will save without CoreProtect?
Core protect saves the server?
I think he's talking about fixing something thats broken?
Hello everyone
Im trying to install FAWE from this Website: https://hangar.papermc.io/IntellectualSites/FastAsyncWorldEdit and there is said that it Supports Folia but when i start the server its saying that folia is not set to true and no folder is generated right after starting the server
any solution?
https://ci.athion.net/job/FastAsyncWorldEdit/ FastAsyncWorldEdit-Bukkit-2.9.2-SNAPSHOT-679.jar
get a build of it that supports folia
Like, they can say whatever they want on the site, what matters is the actual jar itself
oh so ur not using like universal schedula or MorePaperLib?
what?
what?
thought the latest will work for both
Those are libraries for plugins to use, they have nothing to do with us
with folia, most plugins are dev builds. You have to actually compile the code yourself or check their github for releases.
it's 100% on plugins to make the changes needed for folia and to declare that they support folia in the jar
those libraries exist to help plugins do that, they don't magically convert existing plugins however, and they're not things that we built into folia
i was wondering cause its from your website saying its for folia and then the link to latest version
I mean, read the description
thats on me then sorry
it's user generated content
okay thanks!
yep, got it! thanks again! ^^
Doesn't it fix things and save them?
just for informations: FAWE is only supported for 1.19.4 of Folia said a Dev to me, if someone needs to know
CoreProtect logs who changed what blocks and lets you undo changes a player made to blocks, it doesn't "fix things and save them" other than in the most abstract way
Thank you
Send a link to the spark report, not a screenshot.
Here is the spark link
We don't support offline mode.
I know but I have to use offline mode. Because players in my country play in offline mode
Sorry, but we don't support offline mode. You'll have to resolve any issues you have yourself.
See rule #7 in #welcome
Okay thank you.
You really need to stop using folia
Ur using shitty public plugins with beta to no support to it without any ability to code
I removed all plugins. This is not related to plugins, the problem still persists lol.
When will Folia release its official version?
We don't have ETAs for this sort of thing.
Probably not for a while.
Still stuff to fix/etc.
Okay, thank you for your reply. I hope to use the 1.21 Folia in 25 years
That must be a very good idea
What?
I noticed that Folia hasn't been updated for a while now. I want to know what difficulties Folia is facing now?
A month isn't that long.
I don't think there's a public list of things to do.
You'd have to look at the repo, see the issues, read the documentation, etc etc
It has some pretty specific uses so it isn't for everyone. Which means less servers running it and reporting bugs/etc.
Sorry, my English is not very good. If there is any ambiguity, it may have affected you. I'm sorry, it was not my intention
Okay, I roughly understand now. Thank you very much for your reply
when folia is get update?
when someone commits something
how to compile folia?
same steps as the paper readme, just clone the folia repo instead of the paper one
same way as any other paper fork
also TIL there are .bat files to help with that? xD
what to run?
read the readme for building Paper
I mean, you run 2 commands in the command prompt
(while in that folder
shift right click -> open command propmt here; used to be a thing, idk if it still is
I can run folia like run-paper for idea?
Yes
how?
I'd imagine the exact same as with paper
you'd use the runPaper plugin, but it has a task for folia
powershell
?
you failed at the first step
this is good
you need to clone the repo with git; and, outside of that, I can't really aid with windows
hm, I look at run-task on jpenilla and see only for watterfall, paper and velocity
Yes, once again, the run-paper plugin has a runFolia task
open with github desktop?
you need to clone the repo
ideally somewhere onto the root of your C drive
exactly how you do that is up to you; I cannot help you here
download ZIP?
you cannot download the zip
it will not work if you download the zip
hence why I keep telling you to clone it
URL?
lol
I cannot help you
with this translator we'll be here in 3 hours figuring out how to git clone something
ok, I just need updated my jpenilla run-paper
I clone
clone folia repo with git clone command
git clone https://github.com/PaperMC/Folia.git
also install git if the command isn't working
https://git-scm.com/downloads
what to do next?
build it like you would Paper
your server run is offline-mode?

no
yeees
what I can use like as 'Runnable' if I has two parameters:
VanishManager.this.effectBatsCleanup(location.getWorld(), batty),
VanishManager.this.bats.removeAll(batty),
just use Runnable?
hmm, but how with another not as Runnable?
why?
You want a Runnable, if you want extra params either just pass them through the lambda or make a class that extends Runnable
the same thing you do with Paper
sorry, I going into another chat lol
Follow the instructions in the Paper repo
help me!
need java 11
really want 17
please use google
lol
Please don't use folia
?
You don't know how to change the Java version, you don't know how to use Google, this fork is not for you, you will probably use public beta version plugins.
so don't use it
Does anyone here know a plugin for animating mob as MythicMobs that is compatible with Folia ?
are there docs for folia development?
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.
folia is a funny thing, i'm quite excited to see how this will look in a year or two
You can already see it working on server like 2b2t and donutSMP @prisma fulcrum
It is not going to be popular but you will see big network using it for especially survival gamemode as it’s made perfectly for that.
I know a server which was using folia
Silly gentlemen didn't configure it properly and made it so a single region controls all of them (or somethin like that)
Safe to say it wasn't long till it crashed
That’s just Paper with more overhead 
Thats paper but with 1/10 of the specs strength
Or how many regions they originally had
im getting the error for patchCraftBukkitPatches when i try to run applyPatches
Post the full log,
Please send large files/logs to a pastebin
A sensible, modern pastebin. Share text and source code snippets with no hassle.
should i run --debug?
Just paste the log here first
paperweight-patcher v1.5.11 (running on 'Windows 10')
> Configure project :paper
paperweight-core v1.5.11 (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 apply --ignore-whitespace --directory=src/main/java 'C:\Users\Jared\Desktop\minecraft server\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\patchCraftBukkitPatches.zip-748887810\net\minecraft\world\level\storage\loot\predicates\LootItemConditionRandomChanceWithLooting.patch'
* 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.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 55s
2 actionable tasks: 2 executed```
Try a shorter path.
Try cloning in like C:\ instead.
Something with Windows and long pathnames is gurmpy with gradle sometimes.
ok
tyvm its working so far
should i just be running the jar file or should i do a specific batch file
are there docs on what needs to be done to properly support folia? For a plug-in I mean
Also if I’m running an smp that previously spread out 3 worlds amoung bungee servers for performance, is it going to perform the same or better if I just use folia and amped up the cores available? (Assuming the plugins support it)
There's no factual answer for your question because Folia isn't made to replace "sharding" from what it seems that you're doing.
There's mostly no documentation on what's necessary
folia-supported: true on plugin.yml is the first step,
then you'd better off testing every function to see what broke.
Player spawner location don't get called, mostly no player teleport events as well.
There is a scattering of documentation around
the general expectation is that if you're dealing with folia at this stage you understand the implications of what it does without having pretty user oriented tutorials, etc
Hmm, I thought that was its main purpose? To get around Minecraft’s bottle neck of one thread to manage world chunks and entities etc?
Oh okay thanks, I guess I’ll have to read abt what it does
I mean, folia splits the world up into tickable regions, players have to be spread out enough for a region to be created around them
Oh interesting. About how far apart / how big are the regions?
900 blocks
900 in a square? Or wide
Like SA or diameter
Uhh hold up, it says 16 cores are recommended. That’s kinda wild. If one were to use 4 cores is that just going to perform poorly?
it will work on less
Yes, but that's why it said it really depends
because if you're having the same people on the same coords, but spread out to 3 different servers, on 3 different servers it's similar as having "3 regions"
but on Folia if they are on the same coords, everyone would be in 1 region, which would be similar to having a single spigot server handling all of those players
Hmm but if they’re the same coords but on separate worlds, doesn’t folia tick them separately?
worlds on different threads yes
iirc that's it's behavior
The thing you have to be careful for is resource-usage though.
One thing is to have the same amounto f players spreado ut, your number of threads increases, ram usage will also be required, your GC might need tuning
So what happens if u have 8 threads total and like a ton of ppl are on and spread out. It must like equally divide the regions on these threads?
Folia will assign you 1 region thread due to the low amount of cpu threads, unless you manually modify it
If you do, these regions will start ticking in separate threads, up to the number you set
"Equally" is a strong word, as different regions have different amounts of load, sizes, etc
I thought the regions’ sizes changed depending on the players
It's more about the spread of the online players, not necessarily how many there are
For example if you have 100 players all in one spot, it would be only one region. But if each players were grouped 50000 blocks apart, the different groups of players would be playing in different regions
You cannot have multiple regions ticking the same chunks
wait so region sizes don’t ever change but rather the amount of regions?
based off player spread
region sizes change, there is a minimum size for a region and if players are close enough their regions would overlap (or even get close to each other) the regions will merge so you'll have one larger region
ah okay then
100 players in a small world, one region that fills the entire world
100 players spread more than 1500 blocks from each other? 100 minimum size regions
The minimum is just something like a 600 block radius
(65fb66be2d5bd6481a0648d2) // @mint socket (@ilaialcaraz / 925112947494256690) has been banned by @fair merlin (188417437295706113)
Reason: Spam
Greetings! Can you tell me if Folia is compatible with geysermc? I would like the server to be able to play from the mobile edition as well
Folia does not care about geyser
it would be on geyser to support folia
afaik at the very least their standalone proxy will work if their plugin doesn't
Thanks
will my paper plugin work on folia?
out of the box, no
what do u mean
It works tho
Don't run geyser server-side
run standalone or run a proxy
It's your best bet, including the fact you'll keep your backend "healthier"
How many players would the foila be able to hold the players at most?
How much maximum
hard to say, depends ony our hardware and how they are spread probably
and what they do
What hardware?
I don't understand what phoenix616 wrote above with this equipment, is it about my processor, etc.?
Yes
the hardware that you use to run a piece of software is going to impact how the software performs and what it can handle
Would the foila hold up to several hundred players or even thousands?
May players on an instance I know of is like 1.5k
Okay
it will work on less than 4 cores? or do you mean it will work on less than 16 cores
Fucking hell
I mean, it will work on 1 core
the recommended specs are quite high because if you go too low, youd actually get better performance on paper. however folia will run on lower end hardware (1 core even), but the only time you should do that is for plugin development. folia on 1 core will run worse than paper
it will work on any amount of cores, it's just all the regions will be ticked by the same core defeating the whole point
the absolute minimum I would give it is like 12
16 is recommended
Has it been tested on cores ranging from 4-16?
I have a machine with 16 cores anyway but just wondering how much performance you can get away with on lower cores
If you can set the world to be split into as many regions as you want, wouldn't it be more beneficial to have a server grade cpu and lots of regions?
There aren't public, rigorous Folia benchmarks for a wide variety of cases to my knowledge
Well ... That has drawbacks
You can only split regions as much as there are players spread out

