#folia-help
1 messages · Page 21 of 1
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.
1.19.4 has several exploits and is missing several optimizations
how do i become sponsor
btw i just wna get it to make a private server
You need to compile it
There's a donation link but I forgot
ik how to compile/build it
but idk how to change the version or like get another version's code
go back a few commits
🧐
o
by that i probably mean like hundreds lol
You’d have to find the commit for it. But Folia is new software with bugs. Theres been a TON of stuff fixed since 1.19. You should definitely only run the most recent version / commit.
hm
It's experimental still in development software. You 100% don't want to be using old versions.
fine

Please keep gifs and memes to #gifs-and-memes / unnecessary random stuff out of help channels.
👍
Can you summarize your issue in a way that doesn't require someone to watch a video?
Assuming it's an issue, that is.
Hard to tell without any context.
Players simply activate the device machine, and then the servers are forced to shut down.
What is the "device machine" supposed to do?
This is the log error thrown
Can you replicate this without any plugins installed?
Yes. No need to install any plugins to reproduce the problem.
The machine seems to just let the player fly really high and does nothing else, but once it's started, the server is forced to shut down.
Makes them fly high? It launches them into the air?
yes
Since the written form doesn't express what I want to say, I recorded a video to rehash the question
Might be good to get a schematic of what the thing is so someone can recreate/test it.
ok
Worldedit schematic would probably be better.
But they don't currently support Folia
Reproduction method.
- Pull down the lever
- When the TNT is about to explode, jump into the center of the water and press the space bar with the explosion.
Then you'll get a server crash forcing it to be shut down "https://pastes.dev/JRdWAkERkV"
Hello, aside from using Aikar flags and folia, is there any other options I can include to lower down performance issues?
Flag doesn’t really “improve performance” unless you are having GC issue
does it still occur with some height limiter? https://github.com/SimplyVanilla/SimplyHeightLimit - eg what height are they reaching?
They don’t officially, but there are forks that support folia out there.
Hi, Thank you for the details. I'm not actually having performance issues right now. I just included the Aikar flags since most of the time, that is always being suggested when performance issue arise. But may I ask if there are other options like maybe installing plugins that supports folia or any optimization options I can do? We're using paper before and planning to start a new server with folia.
There aren't any plugins that improve performance. Best thing you can do is get good hardware and tune your setup a bit, same as Paper.
ok thk
I tested the problem again in detail.
I found out that there is another way to reproduce the problem than just this one.
- all you have to do is pull down the lever
- stand around and watch it, the server will crash and get shut down, then it will throw "https://pastes.dev/JRdWAkERkV"
The test environment is as follows.
Main server (latest folia version)
Backup server (latest folia version, no plugins)
Apparently the machine is launching you so fast you leave the region in a way the server didn't expect?
After many tests, I found that what I said is very high is wrong, when the server crashes because of this, after the server reopens, the players around the previous will be randomly teleported, some times will be y-axis negative 80w, and other times y-axis positive dozens of w (anyway, it's random there's no way to predict it) This problem is very serious!
Could you please paste this schem into the latest folia server and test it and you'll see the answer.
Nope. I don't have the setup for any of that and couldn't fix the bug or even locate it anyway
Mojang told me I'm not allowed 😛
Okay, do I need to report the problem to Github Issues?
How random are the teleports? Like how far from their expected spot? Does this also happen in Paper?
When this problem occurs, there is a 100% chance of random teleportation occurring. I have no way of explaining how far away from their intended location it is, because every time the server is restarted after a crash shutdown due to this issue, the player is teleported to a random location, far, far away anyway.
I've only tested it on Folia, not the Paper.
deleted didnt realise this was folia help
maybe worthy to flag this as a security issue as it could compromise locations? Eg for sure not good for servers but also not as bad as “gains op access”. Would be my suggestion - not sure how folks think here but given you can predictbly crash a server not sure if public issue would be right way to go
I've been having the same issue. An easier way to replicate it is by placing a shitton of TNT minecarts in creative and exploding them near you.
This also happens
I teleported to the fucking world border once
Haha, it's weird.
how many tnt? maybe good to limit that then first as mitigation?
I'm hoping I can get some help?
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.
He means just ask it
So at least now we know, it was not my setup 😉 - shoutout also to pedro for discovering issue with alternate redstone config. Thanks spottedleaf 🙇♂️ ❤️
I tested this issue several more times and found that a minimum of only 12 TNT is needed to make this issue reproduce perfectly.
Personally, I think this problem should be solved as soon as possible, because with a simple "device machine", players can crash all the servers that are using folia and cause them to shut down.
did you open an issue? I don't see one
although maybe this fits better under exploits
The problem I mentioned has just been fixed by Spottedleaf.
It's true that after testing it doesn't cause the server to crash anymore because of the previous issue. Thanks!
Your TNT crash was fixed if you're using the newest commit?
Yes It's fixed now Thanks!
AMD Epyc 7351p - 16c/32t - 2.4 GHz/2.9 GHz
128GB DDR4 ECC 2400MHz
would this work for folia?
i think the clock speed is at the limit of being too weak here, but depends on the amount of players per 1 region, if you'll be able to make sure that the regions won't be loaded too much it could work
but remember that folia isn't magically making everything async, each region is like a mini server, if it can't run on a fast enough core, the tps of that region will drop
I see
would like 4 ghz work?
yeah, that would be great for it
Do you even have a community that requires such thing
before you dump a stupid amount of money into this
Just looking into it for the future for now
that future is even further than you may think, you'll need to have a team of developers ready to make plugins specifically for folia, lots of plugins didn't/won't add support for folia, and lots of the ones that did add, aren't that truly ready for folia, and on folia it's easier to break everything with a bad plugin
folia isn't for a smaller server which still isn't ready to make most of things to be custom
most of the plugins are already custom, and the couple of plugins which aren’t already support folia
aside from 2b2t and donutSMP any other actual big notable network using Folia?
goldworks i think has like 100 players on average
it’s new though
oh, then yeah, you're good from that part, then you may start preparing the plugins right now by using the folia's schedulers, which are already part of simple paper from 1.19.4, so you may make the plugins use the new schedulers, while also continuing to use paper
More info on https://docs.papermc.io/paper/dev/folia-support
thanks for the info
Never knew donut uses folia, cool
started using not long ago
we still shard tho
kinda OP
Sharding is cool yeah
I joined yesterday because I was curious how you shard, but it was barely noticable from just playing normally, which is pretty impressive
when i switched to folia it was kinda nice and I couldnt switch back
after i realized people have farms iwth fricking 30k hoppers
I think a healthy mix of both sharding / folia will be the forseeable future
lik i was asking myself why is my mspt graph so messy on this region
then i saw the farm 💀
30000 fricking hoppers
it's a good thing though so now player has to optimize farm to keep somewhat of a high tps or their yield will end up being just as much as smaller farm but not lagging the region.
yeah localized lag 
yeah god forbid we give people access to freely place an unlimited amount of hoppers
had to deal wth so many hoppers that it wouldn't render on my client
this isn't even a Spanish discord
no idea who to ping to remove that ngl
pls ban
thanks
What
someone spammed
you can ping mods if it happens again
having an issue with a single player sitting at encrypting and not able to join, i see his connection to the server but he never actually logs in
[01:05:06] [Region Scheduler Thread #0/INFO]: Beepboop78 (/53219) lost connection: Disconnected
[01:08:39] [User Authenticator #114/INFO]: UUID of player Beepboop78 is 096b184d-2da6-4943-9c06-5e93fac24854
[01:08:50] [Region Scheduler Thread #3/INFO]: Beepboop78 (/:53703) lost connection: Disconnected
[01:08:58] [User Authenticator #114/INFO]: UUID of player Beepboop78 is 096b184d-2da6-4943-9c06-5e93fac24854
[01:08:59] [Region Scheduler Thread #1/INFO]: VampAngel lost connection: Disconnected
[01:08:59] [Region Scheduler Thread #1/INFO]: [voicechat] Disconnecting client VampAngel
[01:08:59] [Region Scheduler Thread #1/INFO]: VampAngel left the game
[01:09:12] [Region Scheduler Thread #2/INFO]: Beepboop78 (/:53753) lost connection: Disconnected
If it's only happening with a single player that tends to be an issue on their end.
Either their network, or they're using a non-vanilla client or a modified vanilla client with mods installed.
So make sure they're using the official client.
i just had him use the official MC launcher and install a vanilla 1.20.4 waiting for his test
is that only him?
but then everyone could log back in but him
are you on latest?
also, remove your player ip from that log
done 😄
see if he can connect with the client
if he cant still
see if you can copy his data files, and delete them
and get him to join again and see if that helps
maybe ask to use vpn too
if he's the only one ofc
Which Folia build is this, precisely?
restarting the server fixed it
this started when i jokingly banned him, then pardoned him
yes.
you're probably not latest
i would double check
there were issues with that
i just recompiled like 4 days ago
but let me do a pull and rebuild
Fast-forward
gradle.properties | 2 +-
patches/api/0003-Require-plugins-to-be-explicitly-marked-as-Folia-sup.patch | 2 +-
patches/server/0001-Build-changes.patch | 6 +-
patches/server/0003-Threaded-Regions.patch | 421 +++++++++++++++++++++++++++++------------------------------
patches/server/0007-Disable-mid-tick-task-execution.patch | 2 +-
patches/server/0011-Prevent-block-updates-in-non-loaded-or-non-owned-chu.patch | 2 +-
patches/server/0013-Skip-worldstate-access-when-waking-players-up-during.patch | 2 +-
patches/server/0018-Region-profiler.patch | 54 ++++----
patches/server/0019-Fix-entity-tracker-desync-when-new-players-are-added.patch | 85 ++++++++++++
9 files changed, 332 insertions(+), 244 deletions(-)
create mode 100644 patches/server/0019-Fix-entity-tracker-desync-when-new-players-are-added.patch
looks like youre right
that previous version was faulty - multiple people had the issue 🙂
(65d6e1fd2d5bd6481a064856) // @gusty star (@nebulus4dev / 715169273324240958) has been banned by @finite hinge (118838921080602628)
Some day I'll learn how to be a real mod
(I fixed the reason for you)
Morning, this is most likely because I'm blind and new to folia, i have managed to compile the new 1.20.4 version this morning all working great, however, I'm trying to compile a 1.20.1 version also just dont seem to be able to find what's needed to do this? (found the 1.19.4 version, remember I'm new to compiling jars, so sorry in advance)
its not advisable to do this
but you could go back in the git history to compile the commit you want
why do you even want 1.20.1
im pretty sure you could just use via to allow older clients to join
due to plugin we had made recently, i guess we could update and compile it to 1.20.4 with the dev.
unless you are doing some stuff you shouldnt be doing, the releases are backwards compatible
lol nope all legit, just looking into folia as we was pushing 296 players last event, so got a bit nuts with the spread on the server, was not too much lag but TPS dropped off a bit too much for my liking
how many cores did u allocate
maybe threads too
I mean, folia will break all your plugins
there is generally 0 sane reason to adopt outdated versions of folia, anything embracing it generally has stuff that is maintained (in some form of manner)
yeah this is why im testing it. to see how and what works.
and there are many dozens of exploits out there right now in older versions
Seriously, none of them will work
lol
folia plugins have to explictly go out of their way to say that they support folia
tbh the ones we are using are on the "list" apart from 1 (the one we had made)
folia is still very buggy and experimental
^
unless u add the weird thing to config.yml
not even spark works
unless u make a plugin with a /hi command and specify in config.yml that it supports multithreaded rendering
applied the full lot - 16 cores - 32 threads lol
there's support
not by default but there's a branch for it

folia recommends 18 cores
can vary
but uhh
it wont make a diference
thats what folia recommends
unless you have a lot of ppl on
hell yea it does
yeah well if you read the past messages then you can clearly tell that he does
296 players is not really a lot
❓
its enough in where 16 cores gets drained by using paper
wait wrong box stats the one we ran on was 32 core 64 threads - its the AMD EPYC 7502P that we ran on..
I mean, that's a trash CPU for paper
👍
should run folia fine
but for folia
folia looks devious idk
Well, yea
but there is literally 0 surprise that such a CPU would not perform well with paper
i love minecraft hogging 1 thread
That is pretty much how 99.9% of games are designed
it's just most games are generally 100x more simplistic in nature
and 99.9% of games hate performance
concurrency is hard
What is the "grid-exponent" in the folia configuration responsible for?
how the thing splits regions up
What is the best value to set if my spavn radius is 2048 blocks from 0 0?
that doesn't matter I guess, but lower values mean the server can potentially split up the world into more regions, but at the cost of more merging and splitting which has some overhead too
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.
Does the anti-xray engine in paper not work in the nether?
@calm fable Read this and set it up
thanks much but i did the setup, it works in world and i edited my nether world yml, but it looks normal i just tested it. maybe i fatfingered something let me dblcheck
<@&748618676189528155>
(65d7e3cf2d5bd6481a06485a) // @winged spire (@_quadrix / 562266147949379585) has been banned by @rare steppe (105923848263753728)
Reason: Quick-banned for sending a message in #folia-help
Hey
What's this quick ban thing?
just a spam.
Is folia “stable” enough for production use? (Assuming frequent backups of course)
What's complete is pretty stable, but Folia isn't feature complete, so some stuff is missing/broken. There's a list...somewhere of all the unimplemented/broken mechanics
Also I was just looking over the readme, how does multithreading “break” Folia?
“Additionally, multithreading of any kind introduces possible race conditions in plugin held data - so, there are bound to be changes that need to be made.”
Does it mean that objects should be thread safe / have some sort of concurrency lock?
It means plugins will have to take more care with concurrency, yes. Automatically locking / making thread safe everything isn't the solution though, there's more to it than that
The main point of this line is plugins will need to evaluate how their data is handled, mainly any central state, and see if it'll work with Folia's concurrency model correctly. Depending on how it's set up, it may already be fine.
Hm alright
Yeah I just wanted to know how concurrency works in general so I could learn it myself haha
PlayerChangedWorldEvent is working on folia?
usually these implementations of events etc you have to confirm on the source
a lot of world events miss on folia
and technically you can add them yourself depending no what you're gonna use them for
sometimes you don't use these events for interacting with world so there's no issue with crashes and you're just watching that action for whatever metric/system you want
``` I can't get world data
- not folia
- error seems obvious
you're trying to access the world from a chat thread
that wouldnt even work on paper i think lmao
We do not provide support for software that isn't ours
and I've already explained the error
CreateNewShop.java by @grizzled scaffold: https://pastes.dev/U1UkVtgKYf
Please read your stack race
It should say folia there so you can help it, even though there is almost no difference there.
We don't support forks out of principle
Many years ago, we used to be happy to, and then we got expected to support all the forks, including the ones which do really stupid things and cause crashes, and be expected to keep up to date on all the things they do, etc, etc, no thanks
I'm setting up folia and coming
and, I've already explained their issue, it's fairly clear what happened
message.txt by @left gust: https://pastes.dev/VdlpxJmJg6
okey?
glhf
(65d9033b2d5bd6481a06485c) // @left gust (@mrsugar. / 615539194231652381) has been warned by @viral stone (126975485493248000)
Reason: Do not fabricate into inside of logs in order to mislead people
My native language is not English, I couldn't understand the meaning of your abbreviation
:D?
Zenci hahahah I think it was an unnecessary warning.
True
lying about information intentionally in order to coorce support and potentally waste my and my peoples time should of been a ban
Why are you bothering me with the same mistake in vain?
java.lang.NullPointerException: Cannot read field "captureTreeGeneration" because the return value of "net.minecraft.world.level.World.getCurrentWorldData()" is null
at net.minecraft.world.level.Level.getBlockState(Level.java:1206) ~[?:?]
at org.bukkit.craftbukkit.v1_20_R3.block.CraftBlock.getType(CraftBlock.java:238) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at org.info_0.worldshop.events.CreateNewShop.createWShop(CreateNewShop.java:31) ~[WorldShop-1.0-SNAPSHOT.jar:?]
at org.info_0.worldshop.listeners.AsyncChatListener.chatListener(AsyncChatListener.java:57) ~[WorldShop-1.0-SNAPSHOT.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor497.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:git-Folia-"8939611"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.adventure.ChatProcessor.post(ChatProcessor.java:416) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at io.papermc.paper.adventure.ChatProcessor.processModern(ChatProcessor.java:181) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at io.papermc.paper.adventure.ChatProcessor.process(ChatProcessor.java:123) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.chat(ServerGamePacketListenerImpl.java:2377) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.broadcastChatMessage(ServerGamePacketListenerImpl.java:2507) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChat$12(ServerGamePacketListenerImpl.java:2225) ~[?:?]
at net.minecraft.util.FutureChain.lambda$append$1(FutureChain.java:27) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
same error
Yes, of course you're getting the same error
you're still doing the same thing which is causing the error
Once again, you cannot access world state off the main contextually specific thread
I get world data from a block not chat
Dude, if you're not going to help, don't write to this guy
You're inside a chat thread
how can fix this
use the schedulers to get into the correct context
Use the right schedulers to get out of the chat thread
I'd highly suggest reading the folia documentation scattered around, it goes over all of this
the new rules, etc
Okay, Mr. Knowledgable
Do not be snarky or rude to people in help channels.
You including yourself in this discussion has not improved it.
I told them that they’re using unsupported software and told them their issue
It's folia
Dude, unsupported software is just different in name, same software, same path, also you said this, I installed folia, you gave a warning, what is your purpose?
CreateNewShop.java by @grizzled scaffold: https://pastes.dev/nmWHp6kwCA
this class catch this error
You're continuing to argue in help channels when asked several times to stop.
I've muted you for an hour.
You cannot modify world state outside of the region threads
I get same error QuickShop plugin
If I run this class
a region thread
its work ?
I suggest reading on the basics of threading in Java and the Folia docs, it'll save some time
it works
is amd epyc milan better than amd epyc
"is a king edward better than a potato?"
All EPYC CPUs have a codename like Milan etc.
what
So "EPYC" vs "EPYC Milan" is missing info on the first one.
🤔
this is what google clou gives me
Epyc is a brand of multi-core x86-64 microprocessors designed and sold by AMD, based on the company's Zen microarchitecture. Introduced in June 2017, they are specifically targeted for the server and embedded system markets.Epyc processors share the same microarchitecture as their regular desktop-grade counterparts, but have enterprise-grade fea...
Napes, Rome, Milan, etc etc etc
We also don't recommend using Google Cloud.
then what
Google Cloud is probably not somewhere you want to host a Folia server in, if that's your goal
For Folia? A dedicated server.
dont want a folia server
when did i ever mention i want folia 😔
You're in #folia-help

java.lang.NullPointerException: Cannot read field "captureTreeGeneration" because the return value of "net.minecraft.world.level.World.getCurrentWorldData()" is null
at net.minecraft.world.level.Level.getBlockState(Level.java:1206) ~[?:?]
at org.bukkit.craftbukkit.v1_20_R3.block.CraftBlock.getType(CraftBlock.java:238) ~[folia-1.20.4.jar:git-Folia-"8939611"]
at org.info_0.worldshop.events.CreateNewShop.lambda$createWShop$0(CreateNewShop.java:36) ~[WorldShop-1.0-SNAPSHOT.jar:?]
at com.github.Anon8281.universalScheduler.foliaScheduler.FoliaScheduler.lambda$runTaskAsynchronously$12(FoliaScheduler.java:133) ~[WorldShop-1.0-SNAPSHOT.jar:?]
at io.papermc.paper.threadedregions.scheduler.FoliaAsyncScheduler$AsyncScheduledTask.run(FoliaAsyncScheduler.java:217) ~[folia-1.20.4.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
ı get same error
public static ShopUtil createWShop(InteractShop interactShop, double price) throws ExecutionException, InterruptedException {
CompletableFuture<ShopUtil> future = new CompletableFuture<>();
WorldShop.getScheduler().runTask(interactShop.getInteractedBlock().getLocation(),()->{
Block block = interactShop.getInteractedBlock();
ItemStack item = interactShop.getInteractedItemStack();
Bukkit.getLogger().info(block.getType().name());
BlockState blockState = block.getState();
Container container = (Container) blockState;
Inventory inventory = container.getInventory();
int amount = InventoryUtil.getAmount(inventory, interactShop.getInteractedItemStack());
int space = InventoryUtil.invSpace(inventory, interactShop.getInteractedItemStack());
ShopUtil shopUtil = new ShopUtil(StorageUtil.getWShopStorageUUID(block),
interactShop.getInteractorPlayer(),
block.getLocation(),
item,
ShopType.BUY,
amount,
space,
price
);
if (placeSign(shopUtil, block)) {
future.complete(shopUtil);
} else {
interactShop.getInteractorPlayer().sendMessage("Market oluşturmak için sandığın önündeki bloğu kırın.");
future.complete(null);
}
});
return future.get();
}
Block block = interactShop.getInteractedBlock();
WorldShop.getScheduler()
What is this?
this is get error
Universal scheduler
wait
it's same Bukkit.getServer().globalRegionScheduler()
if you want try that
get same error
Yeah, the error is because you can't access world state in the global scheduler
How can ı get WorldState
You need to use the region scheduler
that way you can get into the region threads for the region which holds that block
Also if this is a plugin you're making, you probably should be in #folia-dev
Just double checking, is this button currently supposed to not redirect to anything? https://docs.papermc.io/folia/dev
If there's not, are there currently any Folia code examples in the Paper Docs?
I do not believe there is, no.
Documentation is not Folia's (or Leaf's) strong suit.
No, it's still a WIP so documentation has not been a high priority
especially in terms of descatering all of the reading material
Button is not forwading
Not working
Yes, we surmised that already
there is documentation scattered around on the github repo and some on the docs site in one area
anybody recommend a CommandPanels type plugin with Folia compatibility? If nobody knows of one, I might have to write a pull request for command panels to give it some basic support
DeluxeMenu ?
Doesn't seem to support folia
https://www.spigotmc.org/resources/zmenu-ultra-complete-menu-plugin.110402/
Think this one will work
fork deluxemenu and add folia-supported: true
OK. DeluxeMenu compared to zMenu, which is better?
i dont know
ones deluxe and ones z
Noting that is not enough to make a plugin work, unless of course it was previously written/rewritten specifically for Folia and for whatever reason was then missing that line
zMenu explicitly supports folia, so i'll go with zMenu
yes it is
folia support is only adding a line in plugin.yml
when it comes to chunky for example you have to change a lot of thhings
I mean, depends on what the plugin is doing
for some you can ge away with that, for ohers you can't
what i mean
yea for like a menu thats fine
but for like world rendering things thats not fine
for a menu plugin their state is fairly isolated and so, chances are the plugin is doing very litte the would break, but, it might cause some issues with some parts of it
what do u mean by this
simplify it
I can't
huh
For most cases, the critical parts of a menu plugin are "catching inventory events" and "updating items in the menus". Parts like that can be supported in Folia by just changing the schedulers and adding the line. But still, some parts may still break, depending on the use case of the plugin.
It's certainly not as simple as that
Folia incompatible features are exceedingly common, in many types of plugins
Namely, e.g., the Bukkit scheduler
And a quick search indeed confirms it wouldn't work
https://github.com/search?q=repo%3AHelpChat%2FDeluxeMenus BukkitRunnable&type=code
The short version is that you don’t understand enough about how Folia works and you should not be recommending people change a yml file in a plugin to support it, as that is not enough.
It’s good to try to help people but giving them potentially harmful “help” is not good.
looks like somebody has yet to read Region Logic.md...
In all actuality, he sounded so confident that it would work without issue, that I thought that's just the way things are done around here hahaha
As cat said, it depends a lot on the plugin and what it’s doing. Something very basic which isn’t expecting APIs that are missing would probably work that way if you modified it.
Something complex? Not so much.
from what i understood is that folia is literally only paper but with multithreaded rendering,
i do not understand how multithreaded rendering is supposed to affect UIs?
its not just rendering
not sure what "rendering" is even supposed to be in the context of a server
chunk loading
tl;dr rendering and entities
literally what it says
chunk loading is already async on paper, folia does regionized ticking
which means every plugin that holds some state e.g. for every player breaks if it isn't designed to work with Folia
Indeed, you do not seem to understand it fully. Which is fine, but that means you should not be giving people advice about it.
okay but what does folia have to do with uis? folia has nothing to do with it
its identical to paper
it's not indentical to paper
paper is single threaded
and this is the foli channel
chunk loading is async but all operations are posted back onto the main hread
firing events and such from multiple threads is not a trivial change, especially in order to support that in a safe manner which doesn't blow plugins not designed for concurrency up
A pure UI in a plugin that doesn't do anything should be the same API and not need any changes
Storing the state of who has a UI open, what they can see, what they've clicked on, etc probably needs changes to deal with multiple threads firing inventory events at the same time
Main thing you need to ensure is that you don't share inventory objects across multiple players, cause if those are in separate regions... yeah, good luck with that.
https://mclo.gs/dJ9i6ar having issue with authme, when turn on this config
unsupported software
Hello, can you superscript the region at Folia (manuel)?
good question
Can you rephrase the question? I don’t understand.
yes
What about the number of regions?
how can i incrise it?
These kinds of comments in help channels are unnecessary.
Regions are dynamic.
number of regions is determined by how close players are to one another and the exponent
if you want more regions, you need a lower exponent/more player spread
Do you mean they have to be further apart?
Yes
Folia wants players far apart. 1000+ blocks at least.
Not built for everyone in one place.
i remember there was a setting where you can manualy set the utilisation where was that setting?
How much GHz does Folia need?
gigahertz does not mean anything useful, it is not a useful performance metric to compare processors
That is, 2 GHz is also suitable?
.
provide the exact CPU model / specifications
I don't know yet. That's why I'm asking.
can't really say anything about it without knowing what model you have
but you also shouldn't exactly buy anything if you don't know what you're getting into
what is folia's current state for production servers?
Stable given your gameplay loop is very vanilla and you have a team of developers that can fix issues on your own.
bugs? glitches? exploits? we are indeed vanilla and have developers but I am not sure how a developer can fix something in the server's code itself
If your developer can’t fix the server code, you either need to hire better one or one specialized in fixing server code
it functions
Thought there are already two large SMP servers using Folia in production if that means anything to you. 2b2t and Donutsmp.
Well, forks of Folia anyway
"it functions" is a very german thing to say 🤓
i'm not german
then I suppose other countries say that as well
"Equal it goes lose"
I didn’t know Donut use it, pretty cool
So, after 1000 blocks, does another core start working for another region?
regions aren't bound to one specific thread
Not exactly, for a few reasons: 1. Regions aren't guaranteed to be in different threads 2. Thus, they aren't guaranteed to be in different cores 3. If you start with two players in the sample place and have them both go away from each other until they're 1000 blocks apart (I think your wording may be suggesting this), region unmerging is picky to avoid a successive merge-unmerge situation at the edge of the distance limit
I understood thank you


can anyone help me build folia jar? i want to test out and see if all of my server plugins works on folia...
⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.
If building Folia is beyond your capabilities, that's a sign that it's probably not right for you in it's current state
i don't want to make production server, just want to test how it is and if plugins works there when its ready... But oh well... nvm
Well, only Folia-specific plugins work, so if you have Spigot/Paper plugins, none of these will work unless they have a Folia build
With the region logic being so divergent, is there an alternative to WorldGuard for protecting certain areas from 1.) mob spawns 2.) player interactions, you know, the things a spawn area or a server shop would need?
Not that I've seen.
Thanks for that quick reply. Looks like I might have to write a plugin on my own. Do you have a recommendation for which APIs I should look at to implement that?
https://docs.papermc.io/folia/dev
Is the dev guide actually empty or is my browser cache messed up?
If it's actually empty, then I'll just bite the bullet and read the Folia source to figure that out haha
unless there's something funky going on with the region logic that would make this even more difficult.
woah hahaha, it's not source code, it's all git patches!
It's enough to understand the concept of region threading and looking at the javadocs for the different schedulers. But you might stumble about functionality that doesn't work yet
https://hangar.papermc.io/pop4959/Bolt
Looks like bolt can at least protect blocks, perhaps I can just focus on preventing spawns in certain areas if bolt doesn't have that feature.
but it's for individual blocks, not regions, so maybe not xD
Curious: I know teams/scoreboard is disabled because "requires global state" or something. What does that mean? Because it seems teams generally get loaded and are working. Is it because of editing the .dat file could have race-condition? Or is there something else?
It means that they don't have state isolationable to the regions themselves
it's a map in which stores a bunch of data which would need to support mutation from multiple threads, etc
right, so basically what I said about race-condition, and potentially if an edit happens in one region, it will only be visible across all regions after hard restart?
I mean, it's a glorified set of HashMaps
common failure woul be that it crashes your server
it already does on paper when plugins mess with scoreboard stuff concurrently
interesting did not know.. thanks. we only use it for teams display in TAB and Chat, but then most likely we will just create a plugin to "virtually" do the same.
Some of the objectives can be increased/decreased via game logic, not just commands, and that logic happens in the region threads
TBH it updates infrequently enough it could probably be made to work by just slapping a lock around it but the scoreboard API wouldn't work with that
We only use it for team create/join - but most likely not worth it if its not safe, rather create a plugin that can mimic that behavor using mysql
can I change the times when items despawn
Yes, see the spigot or the paper world config if you want per item overrides
is 6000 rate 1 minute
?
it's in ticks
hmmmm how many minutes is 6000 ticks
idk, I'm not a calculator
6000tick/20=300s=5min
Note that that doesnt always equal to inR minute if the server is having lower TPS moment.
What are current suggestions for startup flags with Folia? I've seen the faq with -XX:ConcGCThreads=n, but I'm wondering if something like Aikar's flag configuration is still viable at all for something totally new like this
Maybe, it depends
It may be worth looking at non G1 GCs depending on your scale/GC times, but you'll have to have the resources to debug anything that might come up
Right. does anyone have any suggestions for a good starting place? What's worked well in the past for people? (Like the 300 player test)
i use g1gc for like 200 players
the folia 500 player tests have used ZGC & shenandoah
how can ı disable this
when I kill a named mob
The server logging that
I want to disable this
StackEntities.java by @grizzled scaffold: https://pastes.dev/OLqeYr685N
If this is a plugin you wrote, you want #folia-dev
Thanks
log-named-deaths in spigot.yml
oh sorry lol discord scroll moment
Question: at this time, what seems more likely to happen first: implementing folia features into paper? Or Folia releasing to public? only curious, I’m not a dev, just a server owner
To my knowledge there aren't any plans to merge Folia into Paper, so probably the latter.
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.
well considering paper already has "folia features" (some scheduler related was added to make it easier to develop for both paper and folia at the same time), the first has already happened
but yeah, the "main feature" of folia (threaded regions) will almost certainly never make its way into paper
It's likely to be the opposite too
As more stable folia becomes the chances of paper just discontinuing is prob more likely
Since folia does beat a lot of performance issues
And can improve any server, even if it's a small player base one
As it allows people to have bigger farms without you server owner limiting the player experience too much
Pretty much this line of thought
Literally, no
That's how we use folia on donut
Its not to be able to mainly handle more players but to have an overall lower mspt
Which allows people to have bigger farms with less impact on the server globally
Folia is a patchset over paper, and for the majority of servers, what folia breaks is far from worth it for the gains for their generally small servers
For your average 10 slot SMP?
it uses a ton of useless resources on low player counts
Long term 10 slot
for zero gain, often some loss
how spread out can a 10 player smp be
Big farms
The majority of servers are small shindigs people setup for them n their friends to play on
Which does not justify the plugin breakage that folia induces
That causes a big mspt usage
Plugin breakage will be solved by plugin devs of course
It'll still cause that mspt usage on the average 2C/2T host
The majority of the plugins already have almost no issues
plugin devs solving issues wont happen
And just need a very simple port
You're breaking 13+ years worth of plugins in one go and drastically increasing the technical barriers to proucing plugins
Yes, majority of the issues that plugins face are trivial to solve, if you know what you're doing
The reality is that most plugin devs are beginners when it comes to aspects like concurrency
The majority of the plugins already won't have a lot of issues with concurrency
It would be nice to dream of a world where something like folia becomes a defacto standard and then we can go even harder on making parts of the server more parallel with the tooling we end up picking up, but the breakages it induces are really not privy to that occuring
4 years experience and i barely know the word 👍👍💪
I'm not saying folia would fully take over paper
That's depressing but yeah
Hopefully it's a joke
What I'm saying is
Folia is just likely to be used more and more
no i havent needed to work on multithreaded stuff
And more and more plugins will add support to it which will eventually make folia worth becoming a main focus instead of paper
The majority of the plugins already don't need a lot of work
A lot of them is jusk basic systems
Play a particle here and there, rtp the player somewhere
Most of this stuff is easy to add
Now if you think about other big systems that touch more like world generation, custom mobs etc then sure the complexity increased
But I don't think that's the reality of most of the plugins
now tell me, why would someone port their plugins to folia when it works on paper
Majority is very vague
I mean...
its a waste of time!
Paper uses less resources than Folia, it's unlikely that hosting companies will adopt the latter even if we ignore all plugin issues, seeing that most people's servers are on some shared host somewhere
oh yeah shared hosts certainly dont want this to happen
Sure if you have 100s of players they don't want
We literally had hosts upset because we added extra threads for chunk loading.

If folia becomes more used than paper sure, devs will invest more time there. It is unlikely to happen though
its a loss of revenue for the host
Imagine 12 folia servers on 1 cpu
I mean a lot fo the 'notable' hosts are not gonna give you a xeon anymore nowadays
Folia does not necessarily need a ton of cores
That'll depend on what your resource usage is
Don't hosts already limit resource usage?
isn't that what bare metal is for
yes, but they still expect most to use 10% of those limits
More resources
more resources costs more money
Regardless, you benefit from more cores more than Paper, and hosts are happy to give you 2 or 4 because Paper will be happy to run on that with low player counts
That'll really depend
The majority collo already
Can't be power related
Sure if they're trying to fit more clients with less overhead I guess
You're forgetting that the majority of servers are small setups often running on cheapo shared hosts in which are still very much using Xeon chips which some can show up being like 10 years old
I mean, EPYC is slowly taking over that market deal as those Xeons start looking more crusty and less available
"premium" hosts are using desktop chips but those suck for density, which is what most hosts care about rather than tryna privision a large number of nodes with smaller margins, I'd imagine
Yeah it makes sense
A doubt, I used Folia in a Hosting and well the node saturated the other servers practically my server 20 tps stable generating more than 30k chunks and well my doubt is Folia serves and is advisable to use it in a personal server and not shared with other servers?
o Folia was not created to be dedicated to node hosting?
It was created with the expectation of dedicated hardware.
So not like shared hosting or a VPS.
If you only have like 10-20 players it's probably not worth it.
Stick to Paper until you reach a point in use case, hardware requirements, and player count when you might need Folia.
thanks
Been trying to get back into some Paper-related stuff. Any big changes with Folia in the last couple months
hey
When it comes to folia, which one would you go with? and why?
Intel® Core™ i9-13900
24 cores / 32 threads @ 2 GHz
or
AMD Ryzen™ 9 7950X3D
16 cores / 32 threads @ 4.2 GHz
AMD has higher core speeds but Intel has more CPUs
Which one would make sense to go with for folia?
depends on build. if you can cool id go with ryzen.
there are only 8 performance cores on the intel one, the rest are efficient with lower rates. still modern cpu so not bad for folia.
Seeing how tragic it is when servers end up in E-cores, I second the 7950
you can cpuset it in systemd if its dedicated but yah on a shared host I would not trust intel.
amd will run hotter though - especially if you use all. or you will get thermal throttled.
note: all dedicated
i wouldnt do 13900 on folia
Yooo, multiverse core plugin it's compatible with folia?
No, world loading and unloading in general is not supported
i know that folia isnt "out" yet, but has there been any work done on snaps? will 1.21 be ready relatively quickly?
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.
We generally don't have ETAs on anything. Folia is a fork of Paper so it'll be tied to Paper's release.
Which is in turn tied to Spigot's release
etc
not to mention that paper does not get the chance to work on snapshots
@calm fable Mojang releases snapshots, but Paper is currently reliant on Spigot for releases. If Spigot did snapshots we could too.
One downside to being a fork.
Fun
im just an armchair quarterback but isnt depending on spigot a bad idea?
i mean all the servers ive ever run/been part of have been paper, purpur or folia
I mean, many years ago we started as a small fork of spigot which was just a few perf patches and nice little things that weren't suitable for spigot
Not depending on Spigot meant that Paper could eventually do something different from the way Spigot does, e.g. breaking some plugins, and it also means that the tooling to work on updates has to go through changes
thats a double edge, not depending on spigot could also free you from some of the limitations that spigot has, possbly even a future merge of the way folia works into the main paper project, even though i know that isnt part of the plan. im just saying it could be, iteratively ,possible
right now for the newer versions of MC folia is basically the only way forward for large servers, not using folia would be insane as you basically have to nerf the game into something wholly different to get it to function
for years 2b2t was running at like 10-15 tps on a good day
nearly all redstone was broken, mob spawns were rare etc
possbly even a future merge of the way folia works into the main paper project
Folia has some overheads in terms of resources which makes little sense for 90% of servers
We already plan to break away from spigot
yes but it's not like 2b2t wasn't able to find a solution either, that's sharding
I kinda get the point, if you're a really big server, figure your way out
For Paper itself? Would be nice considering waiting on upstream isn't the best (from what i see as a player)
Technically your experience as player would likely not change much
the difference between waiting on spigot upstream and paper adding it is quite "low"
idk for sure but i think a good diference would be they wouldnt have to "fix" all of the patches?
Tooling and stuff for that planned break away is already in the work iirc
I mean, we'd get to track stuff earlier rather than waiting for spigot to release it before we can even scratch our ass while looking at the new mc source
As a developer you won’t even feel much difference and that’s the goal for a no pain transition
well yeah but we hate spigot!

(65e034412d5bd6481a064872) // @pearl sable (@jay_d.420 / 651866727352893481) has been banned by @fair merlin (188417437295706113)
Reason: Spam.
How do I make a plugin compatible with both paper and folia. I don't know what I have to do in gradle. Can I test a plugin on my laptop? I have 6 cores
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.
I'd recommend reading the docs. Info is covered there.
If you're just trying to turn it on and test, then yes you can use a "slower" system.
Thanks, would I put both paper and folia in gradle, or do I switch between them?
Folia includes the Paper API, so you shouldn't depend on both
the schedulers are part of Paper too, so your code using those will work on Paper as well, its just that all region and entity schedulers will be on the same thread on Paper servers
just use paper api, it has schedulers, the necessary checks in Bukkit class etc
ok ty
Compiling Folia rn. Curious, if run on a dual/quad core system, should I expect the system to perform worse than Paper? I noticed 16 cores were recommended, but I really like the idea of Folia and I'm proceeding anyways. The scalability is what entices me, it'd be easy to just feed the server more resources if needed.
It will very likely perform worse, yes.
Ah that's a shame, I suppose I'll see how much worse. Gonna try out Skyllia plugin (Skyblock plugin for Folia).
When you say "feed the server more resources" I'm guessing you're running in some sort of VM, which Folia also doesn't like.
It's on a VPS with dedicated hardware, it's normally fine with everything.
It's really designed for high core count/high clock speed dedicated hardware.
The virtualization nature of the VPS tends to slow things down a fair bit at the scale Folia is working.
Feel free to experiment.
But with 4 cores there's almost no way Paper won't be faster.
Are there specific virtualization techniques that Folia has performed worse/better on? It appears Linode uses Xen hypervisor (Linode being the service I'm using).
Thanks yeah I'll play around with it. Unless the performance is really bad I'll likely just keep it on Folia. Now you got me thinking I might want dedicated hardware to compare and contrast against, but the AMD EPYC 7713 will be hard to compete with, without breaking the bank 😅.
Ah it's actually KVM now, the Xen reference was old.
Proxmox is hell in general unless they fixed their kernel
No, it perfoms poorly on VMs and well on dedicated hardware, basically.
High resource Minecraft in general performs poorly on VMs.
adding overheads in general is a fun headache because everything effectively adds a level of overheads
Yeah and IIRC disk I/O is a little slower through KVM also.
I mean, that's moreso because most VMs are VPSes using CPUs for web servers; but, like, if you're using folia you should probably be able to get bare metal
Yeah it depends a lot on the setup.
In general we strongly recommend avoiding VMs.
Especially for Folia.
Do you know of any good providers in eastern North America who offer dedicated systems? I'm not sure Linode does, their dedicated CPU VPSs is generally their best offerings, but I'd like to compare against completely dedicated to see how much better it could be I suppose.
(Well they have a Premium CPU plan, but it'll be virtualized as well)
For Folia most dedicated server hardware is going to be very expensive. You basically want at least a 5950X or a 7950X. Those are the only real CPUs that are remotely cost effective.
But you'd have to look around.
If you don't already have a massive playerbase I'd say start with Paper.
Do dev work on Folia and see how things go. Expand as necessary.
Don't put the cart before the horse, basically.
Linode is likely one of the worst hosting choices for Folia
Renting very expensive dedicated hardware for software you haven't yet used and a server that hasn't launched probably doesn't make sense.
It does for planning, and experimentation. I haven't seen any actual tests run, and I'd really like to see some actual numbers (IE: 16 core KVM VPS vs 16 core dedi). This is the first time I've ever run into this situation, as Linode is usually a top-pick for game servers. I've never run into needing a full dedicated machine for a server, but am open to the idea. Ensuring I can scale if needed is both interesting and important to me.
I'll shop around for dedicated servers I suppose. Back in the day I used to run a couple, but moved everything over to VPSs as they're nothing like they were 10 years ago. It's a shame Linode and DO don't seem to offer any.
Linode is usually a top-pick for game servers.
i don't think it has ever been
virtual servers are practically never the top-pick for game servers
Yeah at least in the Minecraft space people only use Linode for very cheap VMs for basic testing.
unpredictable hardware and usually designed for web hosting or other lightweight applications
I'm not sure why, they have strong resources and I've never had any issues. I run like 10 machines.
I mean, how many players do you have on those machines?
Not usually more than 10.
Because they're generaly moreso Xeons, and while back in 1.8 days, you could fit like 100 players with hardly any sweat, it's now 10 years later
I mean, well, there you go
Also it's AMD EPYC 7713
VPSes are far from amazing for MC servers, but if you're just hosting small servers for you and a few friends type of deal, a cheapo server is probably enough
You're not gonna scale far on those chips
But if you're also doing super small VMs and only 10 players, Folia isn't really what you want to be using.
Just so I can understand context, what range is "cheapo" in terms of costs?
Unless, again, it's just for testing/experimenting. At 10 players you won't be seeing a performance increase over Paper.
I mean in terms of hardware, not costs
I want to plan for and attempt to achieve scale.
a small VPS from somewhere line Linode is gonna be fine for a 10 slot server
it's when you start pushing past 10 slots that you notice fairly fast how limited such hardware is
Worry about scaling when you start getting a lot more players.
you'd be better off planning to scale on just normal paper
Idk why you're so confrontational about this.
especially depending on what your goal is
There's a LOT you can do with Paper
keeping in mind the api limitations with folia and the fact that all plugins are essentially broken
depending on what you end up doing, moving over to folia at a later stage wouldn't be much of an issue
I'm not trying to be confrontational, I'm just trying to offer some perspective. If you're in the low playercount stage then your time is better spent trying to get players and grow your server(s), rather than worrying about "scaling". I think people have a tendency to worry about step 90 when there's a lot you can be doing in between now and then.
Yes, this is one of the interesting aspects of Folia to me. I get to hack on plugins and update them for Folia support.
nothing or no one that stops you from using folia
just not a genius idea at 10 players
Yeah exactly
If you have custom plugins it could be a good idea to build them against Folia
See what the pitfalls are, etc.
But your points about plugins not working, and complex setup seems to indicate being prepared is better than not.
That's literally what I'm trying to do, while asking some simple questions.
honestly there is always a lot of gatekeeping around folia: do whatever you want - its a free world. I suppose the only thing (and most likely goes for paper as well): just dont expect support, and expect even less from folia because less people are involved.
if you wanna play around and make plugins for it: even better.
^
Folia's still in experimental phase. So we tend to make sure people are informed if they're going to jump in.
We may recommend someone don't use Folia but we aren't going to shout at someone if they decide to use it either way,
The only real "gatekeeping" at this point is needing to build it yourself.
I actually like this requirement, it's sensible while it's not ready for general use.
Mostly because we want to make sure people are capable of building it themselves. There's a lot of config stuff you'd have to do, like any Minecraft server.
Yeah exactly. If you can't clone the repo and build it yourself then your'e going to run into a lot more problems down the line.
fully understand, but I also think “playing around” and “developing” even though player numbers are low, are valid reasons to use folia.
not sure why id then ask questions about cpu/vps - but different topic 😛
Literally just curiousity while waiting for it to build :p
I mean, it's not unreasonable to try to gatekeep to an extent as there's money involved, sometimes a lot due to the scaling nature
That's a good point, it's good to steer people away if they can't afford it. I founded a corporation and have backing, I have room to experiment without blowing my leg off.
On the VPS topic, does anyone have any resources to read about VPS vs dedicated? Despite the stigma here, most companies use VPSs for scaling. My low player counts don't mean much to my experience managing servers and writing software. It doesn't matter if it's directly Folia related, but I'd like to see some actual data about the subject, things that caused these opinions to form. Data about Folia experiences on virtualized (KVM) systems would be cool too. I've been studying computer science for 21 years now, so all these things are interesting to me.
I mean, the matter is the hardware
not the tech
Most of the time people talking about VPSes are looking at things like Xeons, while most people looking at dedis for their servers are looking at high end desktop ryzen chips and i9's or whatever
That's what I thought. Okay, thanks a lot. AMD EPYC 7713 is quite powerful, and I was surprised at the stigma, but yeah. Cheap VPS or shared VPS in general are garbo for basically any gaming.
Like, yes, virtualisation tech will add some overheads, but it's generally within a single % mark
It's quite powerful for a web server
it's trash for gaming
Yes, it might power your 10 slot MC server just fine, but it's not gonna be running a 100 slot paper server
Over-provisioning and hypervisor do play a role. But in the end server cpus are built for large scale while keeping cool not for high frequency, which you need for Folia as well. And high frequency is difficult to cool.
Well, if we exclude "cheap/shared" VPS we're talking dedi-like pricing for the most adequate hardware
problem is that most of the chips you want for gaming are not high-occupancy chips
There are plenty of VPS these days on desktop cpu, but even then either overprovisioned or thermal throttled.
still worth a shot though for low budget. i run my test/devservers on el-cheapo vps
What kind of passmark single thread rating should I be shooting for? I thought 2631 (AMD EPYC 7713) was pretty good, and I thought for an "end-game Folia server", a 32 CPU allocation would have good results.
Depends, really
Like, at the end of the day it's a balance between single thread score and core counts
if you can maintain enough of a player spread EPYCs are attractive because of the core counts
issue is that if you don't maintain the spread they bog down relatively fast
That makes sense! Okay thanks, this narrows down my scope way better than "abandon ship, all VPS are trash" into "focus on the CPU and goals". For SkyBlock for example, which is what this server is, I think it sounds alright. However I'll definitely keep an eye out for other companies who can offer me CPUs that aren't just newer EPYCs (I looked at the 'premium CPUs', that's all they are)
Just, avoid any CPUs with ecores unless you know how to disable them
ecores are a plague
Oh for sure, I have them disabled on my laptop I'm typing this on even lol.
they're actually not that bad anymore
running 14900k's in production nowadays and works better with e-cores enabled than off

the first generation had pretty fucked scheduling
like you would noticably see an improvement with e-cores off
don't have to disable them, just to cpuset via systemd. Then you can still use them for other stuff in the background.
When folia come ?
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.
Please don't ping people for random questions.
Ok
hey, folia can be published for version 1.17 ?
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.
Hello ! Does plugin messaging with custom channels works ? I am using velocity and folia but my messages sended from my Minecraft server are not caught on velocity proxy. I have been registered the channels on both plugins velocity and folia but the event is not received on proxy when sent from folia
Ok nevermind, I fond my issue. I was needing to use the player scheduling entity to run the send plugin message. Sorry for that !
does anyone know if the folia roadmap will ever do something like multi system?
do something like DMA support
or maybe just like a local very high speed link
a shame, the multithread code is there, running it on different systems with DMA seems the next logical step
imagine a several thousand player MC server
I mean, that is not the next logical step, that's yet another entire architectual change and consideration on a wider state
multiprocess on the same machine literally makes 0 sense, which then puts you into network based stuff, at that point, when you have 50ms a tick, you don't want to be dealing with trying to copy large pools of global state around the place
you would actually want to architect for that properly, there is a reason why pretty much all of the multiserver solutions have 20 dozen different compromises and caveats over how they work
the only good solution if you wanted to actually go into that properly would be to do it from the top
You can already have several thousand players on folia if you do the propper optimizations for a particular gamemode, and the most high end server cpus is getting alot more cores the next generations by putting more die area in a single package, so by the time you have built a working multi cpu server folia, have already beat you with brute force
hey since rcon now works does that mean command blocks are gonna be coming back?
those are entirely different
the console already worked, rcon is just a remote way to access that
Completely different things. But no, command blocks will almost certainly never be a thing on Folia.
Too complicated to properly handle the region stuff, and anything you'd be doing in command blocks you should be doing in plugins instead.
understood
im not a dev, i used to string command blocks together to make adventure mode minigames
plugins are
- more powerful
- faster and more efficient
- easier to customize for end users
- harder to learn
For sure. But the tradeoffs are severe. And for Folia especially if you don't know Java or have someone on your team who does then you're gonna have a bad time.
@primal oyster keep gifs and memes to #gifs-and-memes please
post that gif again i wanted to save it
there
Is there a working script for folia? any dev version?
Can you be more specific? Script for what?
I mean Skript
Is there a special version of the skript that works for Folia?
Ah. You'd have to check with the people who make skript.
But I would not recommend using something like that. If your goal is improved performance then using something like skript is going to have the opposite impact.
I looked at github but couldn't find any support so I wanted to write it here as a last resort.
I didn't know this. Do skripts seriously affect server performance?
Generally yes.
Got it, thank you for the additional information.
Hello everone , please suggest me a chest-shop plugin for folia
I don't find one
what is a script?
A Skript Plugin
ah ok
Scripts are never recommended
Idk about any in folia atm and probably there won't be until the official release
did not even know it was a thing
Maybe path too long for Windows? (lol)
checked the logs, apparently my paging file is too small, i increased it on 2 drives that have space and i'll restart pc and check if the issue still persists
it being in your downloads folder suggests you mightve just downloaded the repo from github, which will not work. you must clone with git. also its recommended to do it directly in C:/ because of windows path length limitations
i did get the repo from github i just chose to put the repo there, the issue ended up being the paging file size, i appreciate the help though. Will also take in consideration the windows path lenght limitations as you mentioned!

i'll remove the stuff i posted not to clutter up the channel too much
No need to remove anyting in the future
But long path sizes are an issue in Windows sometimes
Just a heads up if you run into further problems
How to get folia jar of 1.20.1
You'd need to compile it
And maybe backport a bunch of crash exploit fixes, 1.20.2 collision fixes, etc
how much time of those threads are being used, basically
31+13+2=46
or, heck, it literally gives it to you as a % in the regions thing
if you want to increase the limit, i.e. the 100%, then you need more threads
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.
Not sure what do you mean by that?
like
what do you want us to look at?
does the server look healthy
I mean, no
it looks like shit yes
woah mama
but we dont know your hardware info or anything like that
or what is going on in the server
theres no plugins
he just started folia a few mins ago
like 6 players
and the pcu is uh
I mean, the concern isn't players
the concern is that a region with 4 players is eating up 30mspt
that's, not normal
But, we can't say what is going on there
Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz.
you'd need spark reports or something
what kinda of cpu you dig out of basement to run this? do you have a model
lemme get a spark report
yeah no need for a report, your cpu can barely run regular Paper
That's the general range of CPUs we used for cheap shared hosting back in the 1.8 days
https://spark.lucko.me/m4NSIn60S8
yes bro 😭
^ before folia
I mean
your performance was bad there
folia doesn't magically improve performance
at the very least, you want to increase the number of region threads
but, even then, your regions are not going to scale; the entire point of folia is that you end up with basically what are effectively smaller server units of work in one process
single thread performance is still important
⚠️ 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.
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.
wait, so no matter if i have 5 or 100 players, the regions are gonna stay in the exact same proportions, right?
What?
That comment was in reference to their hardware
Running folia on 1 tick thread is going to perform worse than paper, even if marginally, it’s not gonna save a 10 year old cpu
so here's my small issue, i can do a build that heavely relies on the regions coords/pos, does folia dynamically changes the scale and proprotions of the regions or it stay the same as it is?
Regions are formed around players chunks
By default, players need to be like 900 blocks away from another player to have their own region
so unless i tweak stuff in the config, each 2x2 - 512 blocks regions will have it's own thread folia regions and will still have the exact same proportions, right?
minecraft region and folia regions are different
a player cannot enter a different region by simply walking over a chunk border
2x2 minecraft regions converts to a folia region
no
They’re two different layers
The maths might come out similarly but, they’re not the same in terms of impl
uhhhhhhhhhh
Think of Folia regions as more like "player zones". They aren't tied to the region file format. It's a bunch of chunks around a player that are loaded/ticked independently.
hello I’m with Archie
Leaf just called them regions because he's bad at naming things.
so do the “region” sizes vary based off player amount
Folia regions are generally a 1000x1000 square around a player.
If two players get too close together those may merge and the size will change.
So they change size a bit dynamically but the region size won't change if some other player somewhere else on the map joins.
They're only impacted by players in/near the region in question.
Don't think so.
no
There's a limit on how small it can be.
in theory, paper is basically just folia but with one region containing every chunk in every world
it isnt literally that, but that helps get the idea across i think
thanks
Yeah it's a weird thing to think about.
But Folia regions are dynamic and based on player location. That's the important part. Folia wants players spread far apart or you aren't really getting any benefit of it.
its somewhere around 1-1.5k blocks i think
what does "Folia" actually mean
yea paper means, well, a sheet of paper
but what does folia mean
i knowi tsj ust a name
but in depth
What does the name Folia mean?
madness, folly
[1780–85; ‹ Sp folía or Pg folia lit., madness, folly ‹‹ OPr, equiv. to fol foolish, mad + -ia -y3; see fool1, folly]
madness, folly
folia = madness
fr!
In the context of the server, it doesn't mean anything.
A variation of latin for leaf (Folium), cause Spottedleaf
It's just a name, as I said a few times.
It's just a name that was suggested and Leaf picked.
Leaf is bad at naming things.
im calling folia madness now
who is leaf
You don't have to ping on every reply.
Leaf is Spottedleaf, the person who made Folia.
And maintains it.
"Folly" and "folia" aren't the same word.
A bunch of people, a while ago.
And many more over the years.
who was the person that was "Shii, we need a better & improved spigot fork! Let's name it Plane!"
Folia is primarily Leaf's project. He came up with the idea and forked Paper and is the primary maintainer. His basic side project.
i said airplane cuz that was paper's first name i think
It wasn't.
airplane was a fork of paper then
Airplane is another fork that was made a while ago but AFAIK was discontinued.
yeah it was
who is this person
im genuinely curious
What person?
that thought of paper and made a thing
