#folia-help
1 messages · Page 6 of 1
download it
read the paper compilation instructions, looks lke you forgot a step or something
okay
Suggestion: Global Entity Scheduler
What's the use case for this
seems entirely redundant
What would it do?
It would delete folia.jar and download the latest paper build
Can I safely use Folia for servers without major risks? Or well, how safe is it compared to Paper?
Crash-wise and stability etc.
its so experimental that right now you are discouraged to share builds of it such that only people who are smart enough to build it themselves can use it
There are a few known limitations and issues and none of your plugins will work
Depending on what kind of server you run those limitations can be showstoppers
How to solve a problem?
[DirectoryProviderSource] Error loading plugin: File 'plugins\spark-1.10.37-bukkit.jar' failed to load!
java.lang.RuntimeException: File 'plugins\spark-1.10.37-bukkit.jar' failed to load!
at io.papermc.paper.plugin.provider.source.FileProviderSource.registerProviders(FileProviderSource.java:59) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.lambda$registerProviders$2(DirectoryProviderSource.java:32) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.registerProviders(DirectoryProviderSource.java:30) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.registerProviders(DirectoryProviderSource.java:14) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(EntrypointUtil.java:14) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.PluginInitializerManager.load(PluginInitializerManager.java:100) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at net.minecraft.server.Main.main(Main.java:126) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at org.bukkit.craftbukkit.Main.main(Main.java:309) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paperclip.Paperclip.lambda$main$0(Paperclip.java:42) ~[app:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.RuntimeException: Could not load plugin 'spark v1.10.37' as it is not marked as supporting Folia!
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProviderFactory.build(SpigotPluginProviderFactory.java:22) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProviderFactory.build(SpigotPluginProviderFactory.java:16) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.provider.type.PluginFileType.register(PluginFileType.java:67) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
at io.papermc.paper.plugin.provider.source.FileProviderSource.registerProviders(FileProviderSource.java:57) ~[folia-1.19.4.jar:git-Folia-"105f6d6"]
... 20 more
spark doesn't support folia
or at least the master branch doesn't, use the feat/folia branch
If what list of plugins that work on folia?
There's no official list, but here are some - https://hangar.papermc.io/?tag=SUPPORTS_FOLIA - and somebody has built an unofficial list they're updating manually.
@blazing rock I wouldn't do anything but these options on their cloud system, purely talking about CPU core count, not even sure what their specs are.
that's a lot of money for hetzner
Considering that a 7950x3d dedi is 109 euros/month
or a 32 core epyc for 120 euros/month
both with smt
On Hetzner?
Find your reliable dream server, optimized for high capacity use, ever-growing storage needs or rapid and parallel processing.
Damn some matrix stuff
@primal quail I have a feeling leaf was judging they crashed based on their tick rate or people in them getting disconnected or something. Or maybe from an error stacktrace in the console? I don't remember seeing anything that specifically marked a region as dead but there is a lot of code in there and I was just skimming so... maybe
MSPT just went up to when a region crashed, so you have like 20k mspt in /tps 
⚠️ 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.
imo that was my favorite part about testing folia
kind of hard to make the entire server crash
just a single region crashes
not really crashes but hangs
Anyone know a claims plugin that works on folia?
PR-Tree is not thread safe so you'd have to do some kind of per-region cache
(for WorldGuard)
Hmm, although that would require WG knowing how large the regions are (and when they change size) so it knows what to store in each
I suppose it changes so infrequently you might be okay just copying it fully into each region and updating the copies whenever something changes
⚠️ 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.
⚠️ 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.
How long do you think Folia will be available?
next century
Hey devs, I’ve got a 8 core (rk3588) single board computer with 4gb of ram (orange pi 5) Currently running on Bukkit without any plugins, and seems like almost always a single core is struggling quite hard. Would running folia be beneficial performance wise? Maximum 10 players space fairly out on survival.
no
Ram issues?
everything
ah ok lol
you need a pretty beefy server to actually see improvements with 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.
I hope you don't mean you're actually running CraftBukkit somehow
Spigot or even much better Paper
It actually runs quite well with dynmap installed. although map is still rendering after 1 day
What I meant is basically where did you get the jar
If you're not running Paper you should, it can help your performance already
ah
fixed the sentence lol; tldr Paper is better
ah right I'll give it a shot
Or purpurmc
imma try this one too
Ok
Purpur adds features not performance really afaik
Purpur does add performance patches (Pufferfish's)
How can this be solved? Or is my usage wrong?
Error: Could not initialize main class org.bukkit.craftbukkit.Main
Cause: java.lang.NoClassDefFoundError: joptsimple/OptionException
.
ok it worked, thank you
Please ask:
Is there any difference between folia-bundler and folia-paperclip?
One of them is illegal to host online
(The bundler)
But from a local users perspective, there should be no difference.
OK, thanks
Hi, is there a way to contact somebody from the folia team directly (about a partnership request)?
if it's about partnering with a host or some other commercial company/product
probably not interested
i'd shoot a message in /modmail
How do I do that exactly? 😅 (sorry, not that familiar with discord)
It's a command you type in here, /modmail <my message>
Oh okay, thanks
And if I check later, I can see any replies in an extra channel?
we will contact you if needed
Perfect, thanks!
anyone help me ? how to download 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.
compile it from the github
if you don't know what that means then folia isn't for you right now.
if you dont know what that means, folia most likely wont be useful for you ever 
oh ok thanks
it's pre-release experimental software
issues range from crashes to setting your cat on fire, to weird state issues
What scheduler should I use for delaying the spawning of particles?
I read GitHub. But I want to know if it does not specifically support it. Does the plugin fail?
😶
the plugins will refuse to load
aha OK
thanks
Is there any information so I can find out what plugins are supported?
unofficial list https://github.com/BlockhostOfficial/folia-plugins
On Hangar there is a filter for it (hopefully more in the future) https://hangar.papermc.io/?page=0&tag=SUPPORTS_FOLIA&sort=-recent_downloads
Pretty sure Modrinth has one as well
Hangar will be primary place that's officially supported for Folia plugins and additionally Modrinth and Github 
hey ! where i can find folia leaf logo ? (only the leaf) 🥲
🫶
still waiting for that cursed folia fork that redirect every scheduler call to global region scheduler and async calls to async scheduler
to be fair, it doesn't make too much sense why the async scheduler isn't supported
ahh lemme do this rq
is there a way to allocate less threads for Netty based IO?
spigot.yml netty-threads
-Dio.netty.eventLoopThreads=x before the -jar
I mean, would need to see how the global region thread "ticks"
thanks! That worked for me
Ello. I read about Folia in the news and wanted to see if this is for real or just a troll by 4chan or something.
😄 Really though, how do I give it a try?
rn it's only available to plugin devs and high-end sys admins that know what they're doing.
If you'd like to give it a try you can go to the github and try compiling your own build of it!
but there are no jars or build public rn
Righto. Shall do. Many thanks Juice.
I actually wanna do this for funsies, how do I convert these .patch to the source? I'm assuming that's what you'd do since there's no source anywhere? I'm not used to Kotlin nor Gradle so I'm totally fish outa water rn lmao
I don't plan on actually providing any jars, I'll prolly delete the .bat files too so people don't actually try to compile
you apply he patches and then modify i was per the contrib guide
(see the paper repo)
will do, thanks!
It seems that villagers that haven't traded with any player before lose their POI (job) without any reason 🤔 trying to reproduce...
is there any prebuilt jars
⚠️ 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.
Someone's gonna pull an uno reverse card and make a jar that doesn't technically include folia but downloads and builds it transparently like spigot did to Mojang
That's nice. We aren't stopping people from doing anything reckless outside our community discord.
On a bright side, there is atleast a dozen or so people now know how to compile from source.

You can just put up the paperclip jar for folia somewhere and tell people about it if you want. Just not in this discord
Yeah, interestingly, Pebblehost now lets you use Folia as an option. just click a button and there you go, you've got folia
We don’t control host and what they do with it. Just wish they were a bit more informed on the project goals as their budget plan is definitely not going to cut it or any where near the required hardware specs
Didn't think you did, just found it interesting
Which is not good if they come here complaining 
oh well, that's fine. my name was never very good to begin with
True. Larry the tyrant paper moderator!
why isn't folia working on my pebblehost budget server with 4 gb? pls reply quick
banned

@ ocelot

🍿
it'd be funny, but I wont stoop to his level
sometimes, @tranquil epoch, we don't ban people to be funny
Anyways, it was more of a heads up than anything, if you get weird requests about Folia, maybe its cause hosts want to start offering it. However, the option to set it up as my server was buried ( I am experimenting with pebblehost) so maybe people wont see it?
ah if it's hidden to normal users, should not be a worry
it's in the "other" section
which I don't think people would click on normally unless you're curious like me
fair enough
isn't folia's minimum that you are running a 12 core cpu from what I recall?
Ideally 16 but you can do with 4. It will just run slower than regular paper 
The reason why 16 is picked is on the readme.
Leaf explained on how to config the cores and if you do the simple math, it turns out to be around 16 or so cores needed for it to run smoothly
can you make a jenkins page ? 

..?
or...use the api if you are smart enough
if they can't figure out how to compile then I doubt they can figure out how to use the API
How do I set the spawn radius?
My bukkit.yml is overwritten every time I start the server
any errors in console?
Nothing
Only about the timings
Can I do this in my plugin?
Okay, I can do this with gamerule
wrong jar
You are very right, it was the wrong jar
IT WORKS
Aaand it triggered my antivirus upon trying to start lmao
Still there?
Finally got some screenshot
So the Dog teleport on top of the water and walk normally while ignoring the gravity and it reset as soon as he touch the sand
Happen only when the dog teleport
So don't know if it something Folia specific while processing the dog teleportation or it's Minecraft itself who's messy
jesus (dog)
wow
And same case when he goes INTO a block (noclip style)
can you hit the dog ?
:/
I can try but it will probably take time
First I need to reproduce the bug and then the dog walk fast, so need to keep it in buggy state long enough
Well, I was trying to force trigger the bug by being surrounded by water but here, the dog don't even teleport to me
(it's at the end of the cobble)
I'll see if it happen to punch it and see if it fall down or stay on the air if the bug trigger again
dog teleportation is very dodgy in general. Have you tried it on Paper?
Nop, only on Folia so far, that's why I was wondering if it's Folia specific or not
(that's also why I didn't open an issue so far)
Just found a redstone ticking bug. Redstone often block without any reason
Same for items in hoppers
Items sometimes go 2 by 2 through hoppers
Hopper bug: https://youtu.be/4VJ5Vh_RiC4
Blocking redstone bug: https://www.youtube.com/watch?v=-1Ato6HKBx4
The 1st one is very easy to reproduce
I mean- make an issue
I did it ofc
can you turn on antixray in folia
yes
is the inventory update rate set to 1? I know that if it's set to 2 it'll cause this
this could be from tps loss, does /tps show exactly 20tps?
Yes - didn't change configuration
Where can i download this server software
⚠️ 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.
need to compile it yourself
Thnks
⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.
I'm so stoked for Folia
However, my plugin may never see the light of day on Folia unless there's some reasonable port system. Just diving into this, is there plans to allow legacy plugins?
0% of them would work
Probably a bit early and may just require a rewrite of Heroes to get on Folia
Putting in a compatibility layer would turn Folia into a slower Paper
Didn't consider that, you're right
Its my dream to host a server that isnt limited by the main thread... and I guess in a way I will need to have a full rewrite of Heroes no matter what
ChatGPT dont fail me now!
what is your plugin good at?
It's an RPG class race and skills plugin, primarily not async and on the main thread
One of the biggest RPG plugins
It is/was a paid closed source plugin that has been around since like 2011
The spigot page does not appear to let you buy it anymore though
k k, thanks m8
hmmm unless there's something broken on spigot, it should be purchasable
I've been thinking about opensourcing it, but its late in the game for all that
Never too late for open source 
On the contrary, if you judge testing the entirety of your plugin on Folia an indomitable task, then making the software open-source will encourage users to contribute: both in code and testing.
Yeah I feel that
Will Patina be better than this core?
patina should be avoided at all costs
nor is it similar to folia, it's just a paper fork
Never heard of patina until now
it's yatopia's successor
And judging by you saying to avoid it, it’s not all that good
yatopia is advised against by practically any notable plugin developer
highly volatile
unstable
I watched the video, she was the best there. AirPlane was also in the top 2.
airplane has been discontinued for like 2 years
OK, I didn't know. And then what is the best core? For version 1.16.5
my recommendation would be to not use 1.16.5
This isn't the place for discussion around random software, especially unsupported versions
Why?
the only recommended/supported software here is paper, unless you have a more niche usecase; but, given you're using an unsupported version, you're generally on your own in any case
are you using windows 98 on your pc?
Because it's unsupported, unmaintained, and has known exploits
No
exactly
I understand that it is not supported.
I just don't understand kernels. I want to choose the best.
linux is a good kernel
if you are asking about minecraft server software, you are in the paper discord currently, the answer is obvious
Simply said
Normal server - Paper
Proxy server - Velocity
Lot of players - Folia
Okay, thanks.
its in #community-guilds
I assume I am going to have to set JVM arguments to determine the cores and threads used, right?
Because currently I have it at
-Xms24G -Xmx48G -XX:ConcGCThreads=16 -XX:ParallelGCThreads=16
Ah, then isi it automatic or..?
yes
Oh cool!
pretty sure it can be configured in paper.yml if you need to override it for whatever reason
Okay, If thats the case then I think there should be a thing in the console that states the amount of threads and cores used before everything loads up, it would clear a lot of confusion on my end
Wait what, there is no paper.yml
Where did paper.yml go?
In 1.19, paper.yml has been split into two files, both in the config directory. In paper-global.yml you will find configuration that changes behavior of the whole server, and in paper-world-defaults you will find configuration that can be overridden on a per world basis. See https://docs.papermc.io/paper/per-world-configuration for more information on overrides. The function of server.properties, bukkit.yml, and spigot.yml remains unchanged for this time.
Oh! It's all there, thanks
airplane isn't log4j patched
if you install it everyone who knows how to type the right thing into chat can have access to your machine
On this build of Folia, anything set with /gamerule does not save after a shutdown/restart. Tested with prod and on another test enviroment.
Used commands were as followed:
/gamerule playersSleepingPercentage```
I'm not sure if this is intentional but I thought I would mention it
I also am unaware if it's been patched already
never had that problem, with any of the builds
I'm compiling a newer version to see if its patched in the newer builds
ho to compile and run this? 0.0
see the paper readme
oh
I'm dumb
C:\Minecraft\1.19.4>java -Xms1G -Xmx4G -jar folia.jar nogui
C:\Minecraft\1.19.4>PAUSE
Press any key to continue . . .
how to start folia? XD
make sure you use the right jar
folia-bundler-1.19.4-R0.1-SNAPSHOT-reobf.jar
that's the right one, right?
okay, console does not work BUT
double click on jar Works

is this normal in folia?
that just looks like chunk gen
Please read the readme on fine tuning config. That can also happen if your machine is not up to spec
i know how looks chunk-gen
yhm, so this engine needs complex config to run smoothly?
If it happens with just you inside, chance is your hardware is bad
i mean yeah, it is
i5-7500 xD
3.40ghz
4 cores
so

but as i see there is only problem with world-gen
rest works perfectly fine
smooth
i want to try to develop plugins on folia
and then upload them to dedicated server
so on dedicated it will be ok
dont worry about the performance of world gen on your development hardware
if its bad on your production hardware, then worry about it
Hey, I'm trying to compile Folia but enevy time (on 2 different pc) i get this error :
An exception occurred applying plugin request [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '0.4.0']
Failed to apply plugin class 'org.gradle.toolchains.foojay.FoojayToolchainsPlugin'.
Could not create plugin of type 'FoojayToolchainsPlugin'.
Could not generate a decorated class for type FoojayToolchainsPlugin.
org/gradle/jvm/toolchain/JavaToolchainResolverRegistry
is that the entire error?
Yes
bash: gradle : commande introuvable
[maledict@archlinux Folia]$ ./gradlew createMojmapPaperclipJar
FAILURE: Build failed with an exception.
-
Where:
Settings file '/home/maledict/VSCode_Workspace/Folia/settings.gradle.kts' line: 10 -
What went wrong:
An exception occurred applying plugin request [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '0.4.0']
Failed to apply plugin class 'org.gradle.toolchains.foojay.FoojayToolchainsPlugin'.
Could not create plugin of type 'FoojayToolchainsPlugin'.
Could not generate a decorated class for type FoojayToolchainsPlugin.
org/gradle/jvm/toolchain/JavaToolchainResolverRegistry
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
- Get more help at https://help.gradle.org
BUILD FAILED in 1s
There's nothing on the web about this error
somethings wrong with your environment
maybe try yeeting the gradle caches, otherwise 🤷♂️
I've try with an arch linux and a fresh ubuntu install and same problem
I will try with a windows pc
I've found that it needs at leat gradle 7.6 and i have 7.5
Thx for your help
Will folia ever support running on multiple computers? The are servers with sharding systems that handle 5k players...
no
Multipaper does that
Folia is different approach
Looking forward to MultiFolia🤩
hey, in folia jumping between nether and overworld is fast af
In creative i just jump into portal and get to nether in miliseconds
where on other engines it takes event in creative some time
Nice
no loading screen
hi, is there any site i can get the server.jar from? or do i have to build it myself?
⚠️ 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.
okay, then how do i build it? is the build task the right way here?
You can already compile the jar yourself.
Follow the instruction on how to build paper but do Folia instead
do i need java 18?
i thought so, but as you can see my version is 17 and it fails
try javac -version?
install the jdk
No idea, somehing is borked with your environment
borked? :D
It’s a nicer way of saying you fucked something up 
where each chunk in a region has it's own core lol
No one has been able to nail down what causes gradle to forget it has a working JDK sometimes
It happens on Windows and Linux
The fix is usually to install another one
Someone was sharing a patch a few days ago that forced gradle to download a new JVM for building, because that's a thing gradle can do these days
how can i build folia
following the same instructions one does for building paper
But honestly if you're not sure how to build it, it's probably way too early for you to run it
where can i find the docs
Right on the paper repo, as implied
can i have link 🤔
If you can't find the paper github repo... that's not a good start to something highly experimental
In 15 minutes you could not figure out how to install git?
alredy install
Great!
is this if build success
size looks correct so maybe 
Did you try running it? 🤔
Very happy for you.
is there any way to bypass 'folia-support'
modify the plugin & add the line to plugin.yml
the plugin most likely wont work though
if i want to use some plugins from spigotmc.org like PlaceholderAPI, what should i do
.
Use plugin version that supports folia
yep
https://github.com/PlaceholderAPI/PlaceholderAPI/tree/feature/folia-support dont know if this branch works
How to fix this error 
broken java install
Broken or ancient
Yeah I just saw that error yesterday from someone running a super old Java 8 that couldn't handle letsencrypt.
LE's legacy cross-signing expired recently, it used to work even on ancient stuff because of that for compatibility
oof
But they can't renew that even if they wanted because the new one would require modern standards which those ancient things wouldn't support anyway
https://github.com/PlaceholderAPI/PlaceholderAPI/commit/95786e32d2d5a877220705648c8139486549c781#diff-a8bed03c5d64453ae6210ee604011610a1ba251bff8f7c7ffe40d14dc120ab6cR60-R94
Why would you create a CompletableFuture that will never be completed and then create another completablefuture whose value is not used?? 



Congratulations you won!
Mistakes like that cost
also still waiting when he'll add back the support for expansions from ecloud so we could use it
Hmm?
like, he just download them, but ignores any expansion from the expansion folder on reload and server restart
only the ones registered trough api works
Been traveling for work and out of town seeing family / friends so I just haven't pushed everything yet. I can do that this week 🙂
didn't event load
[11:31:33 ERROR]: [ModernPluginLoadingStrategy] Could not load plugin 'PlaceholderAPI-2.11.4-DEV-FOLIA.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:127) ~[main/:?]
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:35) ~[main/:?]
at io.papermc.paper.plugin.entrypoint.strategy.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:150) ~[main/:?]
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:35) ~[main/:?]
at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36) ~[main/:?]
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:501) ~[main/:?]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:273) ~[main/:?]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1191) ~[main/:?]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:348) ~[main/:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:467) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[main/:?]
... 9 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at me.clip.placeholderapi.PlaceholderAPIPlugin.<clinit>(PlaceholderAPIPlugin.java:60) ~[PlaceholderAPI-2.11.4-DEV-FOLIA.jar:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:467) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.provider.type.spigot.SpigotPluginProvider.createInstance(SpigotPluginProvider.java:123) ~[main/:?]
... 9 more
Hot
So something in Folia changed since I last worked on it
Nah that's on you chief
Works fine from what I can see here
oh, no, seems like i accidentally ran in with the non relocated version
no, like without v119 in the craftbukkit package
but it works, thanks!
Awesome
was running runDev instead of runReobf in the folia project while making a few changes there, because runDev can run almost instantly if there were no changes in the code
and runDev isn't obfuscated and it's without craftbukkit package relocation
Gotcha
@bold osprey your name sound familiar. Trying to remember where I seem you at
(except here
i think pufferfish discord
anyone use folia in docker?
what about it
sorry I did not understand?
ask your question
docker doesn't do anything with folia & vice-versa
someone will probably run it
OK sorry. I manage to start a folia server in a docker image but not the plugins.
everything works on waterfall and paper but I would really like to test folia which looks very promising to me!
Plugins won't work on Folia unless support for it is enabled in the plugin and they're coded with Folia in mind
yes of course but even viaversion. I can not start it I have an error.
Post logs?
2023-04-24-3.log by @left fog: https://pastes.dev/GPpZVXLc4J
https://ci.viaversion.com/job/ViaVersion/ Try running the latest from here
thanks dude
latest.log by @left fog: https://pastes.dev/2WtWEqkYIa
ViaVersion and ViaBackwards ok thanks
because plugins need to be built for folia
that version of viaversion is probably not compatible with folia
nice :)
experimentally it seems i need to be 5 mc regions away for folia to actually split the regions
(this is with setting a bunch of blocks at the world origin and then just flying away)
is there a way to make that smaller?
folia isnt very viable if you make it smaller
splitting up harder makes the system overall have to do more work
afaik, it's also not tweakable as it's somewhat ingrained into the math/logic a bit
Leaf described it as view-distance 10 means chunks in a radius of 11 around a player will be brought to full loaded which is ticket level 33. The system will create chunk holders up to ticket level 45 (apparently in a flood fill manner) so it touches an extra 13 radius out from there for a total of a 24 chunk radius. Current region section size is 16x16 chunks so that fits in 2 sections. Then the regionizer creates an empty section around non-empty for buffer so you get 3 sections, 48 chunks, or 768 blocks
So players have to be more than 1,536 blocks (768*2) away from each other to be in different regions but the server won't immediately split a region either
The only way to get less than 768 would be to have a view-distance of 2
Yeah I didn't expect it to actually work below a view-distance of 3 😛
I don't even think Paper does
If sections were 8x8 instead of 16x16 view-distance 10 would end up with 512 blocks (or 1024 between players)
Dunno how feasible that is
The next big change would be to get the chunk system to stop getting tickets out to level 45
view distance 1 seems to work fine
but the regions aren't quite splitting at 1536 distance even after sitting here a while
It doesn't aggressively split them
I think you have to get another 3 or 5 sections separated before it'll split?
1536 is just when it'll merge them because they ran in to each other
ah yeah that makes sense
If it instantly split them you'd have flapping
teleporting between 1536.5 and 1792 seems to have it merging and splitting them fairly consistently
1664 is in the area where it won't merge nor split
i realise all this experimenting is probably useless if you actually understand how the regionizer works
Who has the assembled version of the Folia? Can send?
⚠️ 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.
how best to allocate cores/threads?
I assume Folia has no issues with handling large amount of worlds? In general working with worlds is pain but it seems good way to separate player islands, especially on folia where we don't really need to unload & save those worlds as server is likely to hold big amount of players.
dont think folia actually supports more worlds than the 3 default ones currently
oh, didn't know that
i think support will be added some day, no idea when
yeah understandable, looking forward to it
working on such support, and already have a production skyblock server which gives players own overworld, nether and end
about the lags, only the region amount can cause kind of additional load, but if you disable keep spawn loaded, the world by default won't have any region, so it won't have anything to tick in terms of region
other part is time tick, which is on global thread, i don't it will ever be something to worry about, but it can if you'll have too many worlds, it won't impact gameplay, since it won't impact any region thread, but players could have to wait longer to join the server and time (day/night cycle) can go slower
Good news, thanks for updating me on status of this feature
and when talking about too many worlds i would say more than a few hundreds of thousands, but may be even a few tens of thousands enough for lags
Yeah will never hit that amount anyway, I'd run out of storage before having this many islands
another part is that world load/unload will have to be done on global tick thread, so loading/unloading too many worlds can also cause issues, if you wait enough after player left the server the regions should be destroyed and it shouldn't be a problem, otherwise it may cause issues on too many loads/unloads
but also, the worst case scenario, players will wait longer to join, if they just play they won't feel something
Yeah that's not big of a deal don't expect big traffic. So loading takes place in main tick loop but gameplay not hence only joining and other operations handled in main loop would be affected?
there isn't such thing as "main loop"
each region are independent and can run in parallel
Oh so folia got completely rid of that "parent" loop?
yes
What about connections, they're handled on netty threads until player gets spawned in world?
starts on netty, then global tick thread, then region in which they are
ah so there's a global tick thread - that's where loading worlds is handled too right?
worldborder tick advancing the weather cycle sleep status thing updating sky brightness time ticking (game time + daylight), plus PrimayLevelDat#getScheduledEvents ticking
that's global tick thread's main purpose
oh okay well I think it makes sense for me now, perhaps it iterates through all worlds while e.g. advancing weather cycle and thats why it's likely to cause delays with huge amounts of worlds?
but also
ticking some connections
handle console commands
refresh player sample from server list
update tab
yes, but that's not something hard, so as i said, you may need extremely lots of worlds for it to cause issues
understandable, I just wanted to get things right because folia is pretty non-standard approach to server software design (at least not something we were used to)
thanks for your time spent on explaining me this 😄
no problem 👍
Howdy! I'm very excited to see if Folia will improve my lag that seems to be a consequence of my absurd stack of custom function scripts that constantly attempt to track entity states. What do you think?
folia isnt a fix for heavy plugins, but it might help
Folia doesn't support datapack functions and likely never will
Doesn't support?
I built this datapack myself. It's a custom design.
functions are terrible for performance and i doubt folia will care about them any time soon
datapacks aren't really something people care about when running minecraft at scale
I guess I was hoping that function scripts would get threaded. What a pain.
I built an entire interactive RPG system on function scripts, trying to avoid all types of mods and doing it just in vanilla. It works, but it runs like ass. :c
that's datapacks for you
you'd be more likely to find a fabric mod that optimizes functions / datapacks
The end goal was always to have something that requires no client mods. Hmm...
definitely not datapacks
highly modified version of paper
no datapacks involved
combined with like 50 paper servers running at once
oh jeez
Isn’t it called tolietPaper or was it a joke @viral coral
it is toiletpaper yes

I've been oggling the overlays for a while. Gotta ask... Are those /title with clever font buggery?
yes
I knew it!
actually
no idea which overlays you're talking about
the thing at the top are boss bars
the thing at the bottom at action bars
boss bars with font buggery!
same concept since it's just font stuff
There's
Tablist Header and footer
Bossbar
Title
Subtitle
And Chat bar text
And chat
That's the ways you can get text onto the main client screen
Now which are you referring to
Oh, the clock and whatnot.
the clock is a boss bar since it's aligned to the top
Yeah, I worked that out after you mentioned.
Marvelous work.
I've spent the past 10 years of my life fiddling with Minecraft from a vanilla-adjacent view. I dove deep into function scripts after nearly blowing up my server with command blocks before early datapack concepts started coming out. I've been using a custom datapack to tweak and automate tons of interactions with entities to make all sorts of mod-like behavior without the mods.
Our server was basically murdered by the Bukkit DMCA apocalpyse back in the day, so we swore off server mods until they looked like they were keeping up with vanilla releases.
I've noticed that projects like paper and fabric are keeping up pretty well since deobfuscation happened. I am still afraid of server mods because reliance on these systems has burnt us several times over. It's a weird position to be in, talking to you nice folks and your impressive project.
there are server businesses relying on paper that earn literal millions per year / per month
if they can rely on using paper or some other project
you can
it is absolutely still a gray area of how it all comes together but mojang is more than aware of the modding scene and how it works and there's a seemingly positive relationship so 
and when the worst happens, fork Paper and keep a fork going
Meanwhile on my Spigot server, just standing still as the only player on the map...
s behind
[XX:59:32] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 5685ms or 113 tick
s behind
that's to be expected when running spigot
lol
but, if you want to do an RPG type of server you should really look at plugin or mod development. Doing that with datapacks and function is needlessly hard, and will also perform badly. And there isn't really that much optimisation potential there, java code will always run much faster
And even if you spend a few months learning Java and need to take a break from the project because of that, its probably worth it in the end
I kinda finished it already and developed custom web tools to generate the function scripts on the fly and...
:\
advancements can be used to display custom messages, with the trigger minecraft:impossible
so yeah, really many ways
Advancement editing is fun. I use mainly :impossible and trigger quest progression via entity interaction that triggers function scripts with commands that complete the advancement (whenever predicates aren't good enough)
Anyway, this is getting pretty off topic. Thanks for letting me know that Folia doesn't have any investment in function scripts or datapack stuff as a whole.
well, it was known that functions are laggy for a long time, never used a datapack that contains functions (we have datapacks, but no functions), and since folia is for servers with big player amount (for small servers it may be even worse than paper in terms of performance), so it's a bit logic that something built with only performance in mind won't add support for something that will 100% be laggy
It's more about the state those commands expect
They are 90% target selectors and execute commands, so I guess that's it.
I've worked hard to localize execution to a radius around a player and whatnot, to be as efficient as possible. It worked well until I started scaling up, of course.
Again, i'm pushing too much off-topic. I'm just grateful that anyone is talking to me about this.
Hi everyone👀
I was wondering what would happen if Folia had opened up function instructions, because I had tried to get a packet that required a lot of function instructions to run on Folia, and it ran, but soon my server crashed - because all his function instructions failed haha
Must have been my plugin, no?
Function rely on there being a global main thread and state, and that doesn't exist with Folia
Even if they could run they wouldn't work right due to commands not having their vanilla return values
Although that's not as untenable as command blocks I guess since the global scheduler probably can block all the regions to process commands
Now you'd have to have two versions of every command though: one that makes the server slow and one that breaks vanilla compat
That's a lot of work to get vanilla compatibility with something plugins can do better, especially since you'd get better performance running such a setup on Paper anyway
Would be nice to have some sort of list of plugins that are known to be compatible with Folia. Perhaps a list of important/well renowned plugins that aren't.
https://hangar.papermc.io/?tag=SUPPORTS_FOLIA
https://modrinth.com/
Both has tag filter for Folia.
Hi, I know there is no clear date, but I just want to try my luck, in how many months does the folia come out on average, will there be an official release until June?
nobody stops you from running a server right now on folia
like we have 2 of them already
I wonder which servers have ip addresses?
like all of them, one way or another, in extremis all have 127.0.0.1 🙂
currently on average 0 times
You can already compile it yourself. Project are released when it’s ready. There is no set release date as this is a volunteer project.
thank you for your reply ^^
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.
Same sort of answer for folia 😄
Hi there! I testing Folia on my own home server (two xeons e5-2696v4, 64 gb ram, OS windows server datacenter edition), i'd like to know answers the some questions:
- minimal region size, which Folia may support (500x500 or 1000x1000, or something else?)
- recommended jvm flags for Folia?
If you scroll up here a bit, there will be some explanations about the distances between players that are required for two regions to exist. 1000 blocks won't be enough.
And the usual flags used for Paper are probably fine, but there hasn't been much testing done. Keep in mind GC needs threads too when setting up the rest tho
yea, the cost of components about ~1000$, it's not very expensive
previously, i also used hosting services, but due to some events, the whole team decided to make our own physical server for the our project

How can i get folia working with a download on github i want to run it as a fork on my mc server?
My main rack has some beefy cpu’s and i want to test the fork 😅
⚠️ 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.
You can build it yourself though
Okay hmm
⚠️ 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.
can you provide more details?
Outrageous, I think this may be caused by the packet, I've filed an issue
datapacket, but not use function, because it does not have any errors about the function
So you are sure the issue was caused by folia?
And not throgh the datapack as is or the items in your hotbar
Nope, I think this may be caused by folia, because I also tested it on the original paper server without any errors or problems ...
Of course, this is just a packet with modified vanilla terrain
i dont know how supported this stuff is on folia currently
But what makes me wonder is why only this ocean has a chance to trigger this bug and not elsewhere, you can check out my issue
too strange
But understandably, after all, Folia is still in a very immature development period, and I would like to use the early Folia to report problems to Papermc and Folia's plugin developers
I'm assuming packet means datapack
Packet normally means the things the client and server send to each other
I wonder if it's something with a really big structures breaking folia's region invariants
Does your structure datapack make anything really large?
I would think that would just make Folia throw exceptions and die though, not scribble garbage over the world
No, he didn't change the server terrain on a massive scale like some packets and used functions on a large scale to cause the server, I think my package is very lightweight, he just optimized some of Mojang's original terrain generation and tree growth, he just changed these, and everything else was done according to the original
only these datapacket
It worked just fine on my previous Paper server
You can try it on your server or minecraft
The main thing that puzzles me the most is why I've made Paper load normal blocks, and I copy the normal block file to the Folia server and he still loads incorrectly, which is not just a packet problem, at least that's what I think
What is the goal of folia ? What is the difference between paper and folia
Have you read the folia readme / docs?
Im reading it on paper website
allow having more players by using more cores
this is achieved by splitting loaded chunks in regions and each region having own tps and being ticked independently from other loaded chunks, that are far from chunks in that region
a bit of tl;dr for readme
if you open the region file on folia without any plugin / datapacks the region file does not load correctly ?
if you load a region file on Folia (without any plugin/datapacks) and it is not the same as Paper you should report it
@cosmic pawn Replying to you here because it's more of a general question than a dev question, but Folia is a different project with different goals and approaches than the other servers you mentioned.
Leaf started work on it a few years ago (2019/2020?) and probably had the idea longer than that.
But Leaf is always looking for ways to optimize Minecraft and Paper especially, with Starlight, the new chunk system, etc etc. So to him this seemed like something doable.
What sort of servers did he have in mind. Like massive survival servers with 1000 players online all in one world?
Folia provides benefits for players that are not always in the same place. So a large survival server with a very large world border is a good candidate.
Things like MultiPaper were/are trying to increase performance for a bunch of players all in one area
Like Machine said, it's for multi-hundred people servers spread out, which currently doesn't do great in Minecraft/paper.
AFAIK no one has done a test with 1000 players yet, so TBD.
I mean, see 2b2t
And how accessible will this new server implementation be to more amateur server owners.
it's not
us paper devs theorised on a lot of this earlier, just we wanted to try to avoid the API breakages, and it was not as much of a priority given how much work i is
When i say amateur I mean guys who rent a hetzner machine and have like 100 player servers but not giant servers with employed devs and stuff
You need expensive hardware to take advantage of it.
leafs work breaks a large chunk of how the API works, which from our analysis fixes a lot of concerns at the cost of making the entry point much higher
So it's probably not realistic for small servers.
that's already beyond amateur
Given that it breaks the API behavior, it requires on plugins to be modified for it
Ryzen 9 5950x?
While some plugins, Essentials, etc; may update, the reality is that 99% of plugins are not going to give a single care about Folia
You'll want to read some of the pins in this channel.
Ok well I am at that level and still look at myself as amateur.
It's really built for servers with a lot of cores.
the work required to split up the world into chunks is not exactly cheap
Running parallel loads also generally requires you to have plenty of CPU cores to actually justify that work
So Ryzen 5950x will do.
(Since you mentioned Hetzner, have a look on their 7950x3D ones)
I'll be upgrading to that soon enough
More than 32 cores, generally.
so with folia it's less about single-threaded and just more about multi-threaded/core
So the type of CPU you want is different
both are relevant
at the end of the day you still essentially have mini servers ticking in the name of regions
how much the balance between single core performance and CPU core count is going to vary depending on what's going on
It's about having the most over the top number of cores while every single core is very powerful 😆
right. Which CPU that's on the market do you guys think will be best for Foila?
or like what type of CPU
There is no "best", it depends on the load factor
if you actually have a bunch of dozen players spread out, then an EPYC is generally going to do a good job
if you have players who are going crazy with redstone, etc, that's probably going to become an issue fast
right ok that's what i was trying to get at
(Intel's E-cores won't do it, btw)
I imagine having limits on redstone and block entities will still be necessary in Folia servers
No best yet, as cat said. Our test was with EPYC 7713. (2x, but one was disabled).
We ran ~320 people concurrently. So if you want close to that you want a 7713 or better.
As I said above it's really more for higher end hardware. You want a lot of threads and a lot of RAM.
What do you mean by "2x"
dual socket
We had 2 7713s, yeah. Server we rented wasn't available with just one.
And NUMA is questionable for this so we disabled one
It capped out at 320 or was that just as much as you wanted to put on it
We could have had more. That was just all the people we had join.
Again, all of this info is in pins in this channel .
There's even an FAQ I wrote up :)
how do i get pings for folia
I don’t think there is a channel or role for that
I forgot how much 2b2t pushed with it. Was it almost 600?
Yeah I clocked them at 610 players online at once at the peak.
650 ish
noticeably without pre-genning. But outside of exploring new chunks it was very playable
another use for Folia, besides its ability to receive a large number of players, is that lag is regionalized, meaning that admins can allow players to build large lag-machines without worrying about other player performance
it might be a good option even for small 100% vanilla servers of 20-50 players.
This still needs to be tested further, but there's a very good chance that although the lag will be regionalized the overall performance will be slower than just using Paper.
Because of the way Folia is written, it just needs more threads to run.
So you would probably still need much more / expensive hardware to run 20-50 players on it than you would Paper.
hi guys, is there any stable protocollib version that supports Folia ?
Good question. Probably best to check with ProtocolLib
I've seen a pull request but support is not fully done, I think i'll just use nms
The protocol supports things vanilla doesn't use so some of the packet classes in there are annoying or impossible to use for some things
I would like to create a stacker plugin that supports Folia
mob/item stacker
You're assuming I know what's involved in doing that and know all the bits that are missing from the packet constructors and getters/setters 😛
I'm just saying, don't be surprised if you end up in reflection hell or just writing your own raw bytes to the socket at some point
I think of just adding the stacker feature into my fork of Folia
will be probably easier
and better
btw I have a question, why not using fibers (virtual threads) for Folia ?
because they don't exist in the LTS yet, and generally aren't beneficial outside of certain cases
Ok thanks
Virtual threads are for when you're IO bound, like they'd be a replacement for using netty for networking (or something netty develops an API around). When you're CPU bound you want real threads
If you have N cores and spawn N*2 threads the OS will keep them balanced. If you spawn N*2 virtual threads you'd better be doing a lot of IO in them otherwise half of them will never get to run, the OS doesn't know they exist and the JVM uses cooperative multitasking for them, switching between them when one is blocked or finished
yeah, i think they would be great for things like mysql connections and for netty to use them
maybe for some servers would be beneficial for async scheduler to use virtual threads, since i saw that lots of plugins just does blocking operations on async scheduler, and since async scheduler is based on executor service, it likes to spawn new threads, so we have lots of sleeping threads being blocked while executing a plugin task
The problem is some people really are doing CPU heavy work in them so instead you need another scheduler
maybe better a config for that, because if they would support additional scheduler, then they probably would support the threads directly
iirc go has some logic to put in a sleep call after so many function calls to ensure a long running goroutine shares with others but even that doesn't help if you're just spinning in a loop doing a lot of expensive work
I don't know that the JVM even has that
The thread has to be blocked or sleep (which is sort of just blocked, I guess)
A config wouldn't make sense, if a plugin does a lot of IO and has some CPU heavy work to do you're just forcing them to spawn their own real threads
So now plugins are back to setting up their own thread pools and such and stomping on each other
Or if all your plugins are only doing IO you turn on the config for a minor perf win then later you add a plugin that does CPU heavy work and it kills all your other plugins
still not guaranteed that a server has those cpu intensive tasks, i remember that all those were in separate threads made by plugins, i don't remember seeing cpu intensive tasks on async scheduler
but instead having 300 sleeping threads
Sure, then you install dynmap 😛
Having it be a config is just a footgun
Better to have a separate scheduler or just have plugins do virtual threads on their own
yeah, because most probably some will start to recommend this config as "super performance performance improvement from paper, enable right now"
Absolutely, and it'll be a minor perf/memory win (not even worth mentioning) 99% of the time, 0.5% of the time it'll make a noticeable improvement, and 0.5% of the time it'll wreck things
Your OS doesn't have any problems managing thousands of threads, it's just memory
Tens of thousands is doable but maybe you should consider alternatives, more than that and you're going to have a bad day
Well, assuming your OS is Linux but you're running a server so of course it is
wait, but does it uses async scheduler? i think it has own threads for everything
on paper it already almost don't uses the scheduler, since even chunk loading is async, not like before
yeal, i think folia cannot load Paper's normal region well
so I think this is a Folia's bug
Hi Datapack is not supported?
Yael, At least I've confirmed that if a packet relies heavily on a function, it won't work properly and even cause the server to crash
ok, thank you
i hope that datapacks will work in further folia updates, as well as command blocks
Command blocks not likely.
why? I doubt that someone who really needs folia, and not paper, needs datapacks and command blocks
Datapacks probably not likely.
even though command blocks maybe, but with reduced functionality (to just run commands without storing result), datapack functions don't think that ever will be supported
because they depend too much one 1 thread as i know, they can't be compatible with multithreaded core
and functions are really laggy, if you use them, then probably won't need folia
Hi, I'm a little confused about the functionality between /paper entity list vs /tps, I have 1 region, and it's reporting that there are 1569 entities within that region.
However, when I run /paper entity list, I only see a total ticking of 124 and 11 non ticking. I was wondering why these two values don't match up?
I have a server with two cpus (the OS reads the logical cores of each CPU together into one aggregate CPU) will I be able to use Folia across both CPUs
try to run /execute as @e run say hello, and see how many there are
maybe they are unloaded but in those chunks, idk, try this to see
Multi-CPU isn't tested very much. You'd have to test and see. But you'd still want more than 32 cores to really make it worthwhile
You're also probably gonna run into a lot of plugin issues when you have more than one CPU accessing memory.
I mean for the operating system it is "one cpu"
does velocity/bungee plugins will work as normal ?
I wouldn't take it for granted that any plugin works as normal. You'd have to test everything.
but how can a different fork impact a plugin running on the proxy ?
If the plugin is only running on the proxy and not talking to the server at all it's probably fine.
ok
What CPU was the test server on again? 🤔
7713
2x AMD EPYC 7713
Awesome, thank you
Only a couple thousand dollars in CPU power lol
Is there a lovely github mark down file with a shit ton of benchmarks?
Thank you
awesome
We need really good bot-automation testing software tbfh
The only problem with that, is the fact it will 100% be used unethically ://
this stuff already exists
forgot it's name, but it can simulate players fully
also there is stuff like Minecraft Console Client
Folia gives me so much hope in the future of Minecraft Servers tbf, I am so hype for it to be widely adopted
Make a script for it, it will do anything a normal client can (except performing realistic movement)
Or access to hundreds of loyal people haha
YTeah its the movement you want to emulate
yeah or a community like this one lmfao
Apparently 2b2t using Folia with 600+ players at 19tps
not something you would need, Grim already has a movement simulation thing
not much more you could probably do
For proper testing yes
I read about this
I'm working with my univeristy, and they want to use Minecraft as a teaching tool, but to actually make it work while, its going to have to handle at least 300, which may be able to be done on regular paper due to the fact we won't need entity spawns and shit like that
However, I also feel Folia would scale much better
& gives me an excuse to use some nicer hardware hehe
if you just need random movement use mcc
I struggle with 30+ players at 10tps lol
just don't use it to test anticheats
A google of "mcc" isn't bringing anything up, can you give me the full name please? :)
300 with regular paper? nah
aight, folia it is
Or multi paper
Write a script to make the bots execute a command on join and then choose random coords in a radius and maybe setup some docker instances to boot up bots faster
Just need the ability to have the bots run 
load a shit ton of chunks & otherwise just smack a server,
But again, if I start asking about that, no one gonna answer me cause it is basically a ddos tool, even if used ethically
Movements does take up more bandwidth
Unless you're doing it within your own environment, I can't see how bad it can be
Its more the tool will be re-purposed but yeah
Anyways, yeah I'll do everything on the local node
or at the very least, the same cloud subnet
should give plenty of bandwidth
If I need more I'll find a way 
Whos Gavin btw
Oh Gavin is my crappy NLP Chat Bot :)
I started working on him just when GPT-2 came about
Implementiung transformers from scratch
Now OpenAI has made him look even worse than he was 
Maybe I found a bug: villagers in Folia always have a chance of losing their jobs: even if they're right near their workbench
Can you reproduce with no plugins? If so, open a Github issue please.
Isnt this a paper bug ? https://github.com/PaperMC/Paper/issues/9154#issue-1674647721
I can reproduce it without plugins
I think it probably is, and the bug migrated from Paper to Folia:(
I've tested it without any additions, I think this is a bug in Folia, and I've opened an issue on GitHub
See my comment on the Paper issue, this might be Vanilla Minecraft behaviour depending on the rest of the setup/world around it.
I can't reproduce it on paper. But it happens on folia for sure
Have you ever encountered this problem, this error is sometimes not fatal, but sometimes it is enough to crash the server
Usually I encounter this problem when teleporting players'
Hello)
What could be the problem?
https://pastebin.com/QpiW05h0
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
ViaVersion calling scheduler methods that don't work. iirc Via has different branch or sth that works on Folia, tl;dr ask them
Ok, thx
how to get folia.jar?
you build it yourself
idk how to do it
from api
Clone Folia repo, open in IDE and run
./gradlew applyPatches
./gradlew createReobfBundlerJar
And you have your folia jar in build/libs
Are you touching players in a region scheduler task? They may not be in your region anymore by the time your task runs
This is why Folia is going to have so few users, this feels like it's going to be a nightmare to debug
[21:36:34 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1 centered at chunk [0, 0] in world 'world' failed to tick. How can i fix this?
You removed all of the important info, we need the whole log
lemme send you it wait
somehow rn it works
But half of the cpu Core doesnt get used. Is there a configuration that you have to do?
That scales with the amount of regions
okay
thx
thanks
Are we still on version R0.1 ?
And 64 cores good, if i just want to do some testing 😄
Any args, that's a must to run the server with ?
You probably want to configure the GC threads using -XX:ConcGCThreads=, but other than that not really. But that's also not needed, just something to consider when running an actual server
hi new here, when i run gradlew applyPatches it always get this:
searchable problem, use java 11 or higher
ah ok
Request support
> ./gradlew applyPatches
> Task :paper:applyServerPatches FAILED
> Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':paper:applyServerPatches'.
> java.util.zip.ZipException: zip END header not found
* 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
did you git clone the project or download it though a zip file ?
I uesd git clone
can you run with stacktrace ?
Here is the log output
https://paste.willfp.com/wosamunere.properties
what is your jdk version ?
jbr-17.0.5
when you do java -version on your terminal it says that ?
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)
```🤔
what happens if you clean gradle cache ?
> Task :paper:downloadServerJar
SHA1 hash of downloaded file 'C:\**\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\downloadServerJar.jar' does not match what was expected! (expected: '8f3112a1049751cc472ec13e397eade5336ca7ae', got: 'b4158aa3e7ff318d2abf25974b5115a5bf74acb4')
Re-attempting download once before giving up.
> Task :paper:applyServerPatches FAILED
> Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
try to delete the \.gradle\ folder
del the \.gradle\ first run
> Task :getPaperUpstreamData FAILED
second run
> Task :paper:downloadServerJar
SHA1 hash of downloaded file 'C:\**\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\downloadServerJar.jar' does not match what was expected! (expected: '8f3112a1049751cc472ec13e397eade5336ca7ae', got: 'b4158aa3e7ff318d2abf25974b5115a5bf74acb4')
Re-attempting download once before giving up.
> Task :paper:applyServerPatches FAILED
> Task :getPaperUpstreamData FAILED
This is getting on my nerves, i have compiled like 10 times now. And it's not compiling the correct thing, even tho i download a fresh batch from the folia github
Anyone, that's able to send me a working jar file in a DM
Folia in its current stage is for experienced developer only if you are unable to compile even a jar file, the chance of you needing to use such project is very small. wait for official release and continue to use Paper instead. **We strongly discourage sharing jar files. **
I know, but it's just so weird. i have been compiling the correct files 11 times now. And done everything correct. It just failed at 50% now
just use the runDev / runReobf gradle task, that should definitely start Folia
Those a new words to me
could it be a permission problem?
Mh, odd
your telling me, that was it.... i have been troubleshooting this shet, reinstalling windows and so on. Just to have it fail, due to wrong pathing
Windows has a limit on the length of paths, and, well, the folder structure is pretty deeep
Only reason we even really support building on windows is cos we have like 1 dev who is a PITA, tbqh
Ah, weird. Because i also tried this on a ubunto machine
Maybe this is a bit helpful?:https://github.com/PaperMC/paperweight/issues/50#issuecomment-1264276072
if it's a path length issue that would help, otherwise, depends on the actual issue, if anything useful was logged it will be above
Ok. luckily everything works now
currently testing on a 16 core machine, to see and compare to a 32 core machine in a little bit
it managed to pre-load at 300-600 cps with a steady bot join of 10 bots a minute
are you the one who messaged me on reddit? do you still need help with this?
Noa, but I really need help right now
that error message almost seems like a firewall is blocking minecraft downloads
I wonder if you view the contents of that C:\**\Folia\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\downloadServerJar.jar, if it will be an error message rather than a jar
Thank you, now the error log is this: https://paste.willfp.com/ahubohaqed.properties
windows best os, on top of everything very lightweight 
but otherwise you can use wsl on windows
investigating, I'll get back to you if I have any insight, solving this problem will probably solve two people's issues
@loud schooner so if you run the build again, do you get that SHA1 hash mismatch again?
can you open that downloadServerJar.jar file using https://hexed.it/ and screenshot it
cause for whatever reason, that file is something other than a jar file
that file is supposed to be downloaded from https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar so if that url in your web browser returns something else, something has gone wrong
I can upload it if you want
that looks correct, so somehow it's gotten past that step and failing elsewhere
what are the contents of that log file at
/data/Folia/Folia/.gradle/caches/paperweight/upstreams/paper/.gradle/caches/paperweight/taskCache/spigotDecompileJar.log
(not in hex editor this time, just a text editor)
hmm can you build with --stacktrace again and post that log
I wonder if this is spuriously failing and maybe giving a different error each time, cause your log said "failed with exit code 137" but that does not look like the output of a failed decompilation
oh wait
are you building as root?
yes?
make sure you're not building as root, because I see your gradle cache in /root/
root = all sorts of problems
😂 OK
building as root may have damaged the permission bits on your build files, so run something like sudo chown -R lordpipe:lordpipe ./Folia but with your username to restore it to normal (or clone the repo again and start from scratch)
again https://paste.willfp.com/dulecimuka.sql
what's your $HOME directory? run echo $HOME
I think other parts of your home directory (/data?) may have gotten infected by root permissions
$ echo $HOME /home/shintokosei
you should probably just take ownership of /data:
sudo chown -R shintokosei:shintokosei /data
``` (there are more nuanced ways to have a folder managed by multiple unix accounts if needed, but this will do for now)
for a full reset of everything:
# only running this as root because it might have been infected by root permissions
# normally, don't use root for anything build-related
sudo rm -rfv ~/.gradle ~/.m2
sudo rm -rfv /data/Folia
sudo chown -R shintokosei:shintokosei /data
cd /data
sudo rm -rfv Folia
git clone https://github.com/PaperMC/Folia/
cd Folia
./gradlew applyPatches && ./gradlew createReobfBundlerJar
I think you're getting close. Try killing any stray broken gradle daemon by running sudo pkill java (warning: kills every java process on your PC). Make sure you have enough memory, then try again
You mean I'm out of memory?
Not sure, it didn't really specify
an existing gradle daemon crashed for whatever reason
oh I guess it probably crashed due to deleting .gradle haha
👌
ahhh
why
well... now that we know for sure that it's a clean build, what's the contents of
/data/Folia/.gradle/caches/paperweight/upstreams/paper/.gradle/caches/paperweight/taskCache/spigotDecompileJar.log
this time around?
https://paste.willfp.com/unisufemiv.apache
Looks like there is no useful information
hmm, a sanity check:
echo $JAVA_HOME
that is normal, it would have been bad if it were pointed to a different JVM entirely
although you could try setting it
kinda curious what happens if you just manually run the exact command mentioned in that log:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java -Xmx4G -classpath /home/shintokosei/.gradle/caches/modules-2/files-2.1/io.papermc/patched-spigot-fernflower/0.1+build.6/9b5f78629421668afe04815042180c0b67c30723/patched-spigot-fernflower-0.1+build.6.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=1 -hdc=0 -asc=1 -udv=0 -rsy=1 -aoa=1 /data/Folia/.gradle/caches/paperweight/upstreams/paper/.gradle/caches/paperweight/taskCache/filterSpigotExcludes.zip /data/Folia/.gradle/caches/paperweight/upstreams/paper/.gradle/caches/paperweight/taskCache/decomp-339094546
grasping at straws here
error: destination '/data/Folia/.gradle/caches/paperweight/upstreams/paper/.gradle/caches/paperweight/taskCache/decomp-339094546' is not a directory
oh uh, change that part of the command to a specific folder you know exists
mkdir /data/test
@loud schooner OH. there is a subtle change in the error message this time compared to last time
137 is out of memory
it was out of memory error the whole time, somehow I misread 137 as 127 every time I looked at it, which made it seem a lot more mysterious than it actually is ._.
you'll need some swap space to be able to complete this build
to create swap space without having to reboot:
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
sudo mkswap /swapfile
sudo chmod 0600 /swapfile
sudo swapon /swapfile
this will act as overflow RAM for the build to be able to finish
Everything went well, thank you again, it was ordeal
np, glad it's working now
sorry for the crazy roundabout path to get there haha
that is irrelevant!!😇
good to have the root permissions problem fixed though, that probably would have caused some error anyways if it weren't resolved
Is there currently a way to alter folia or plug ins so they are conpatable with each other?
Things like multiworld or other plug ins thay di similar things?
Or is there already one thay works well with folia
Plugins need to explicitly be developed with folia in mind to work. You can't just tweak a single thing and expect them to work.
how do you compile folia?
Read the paper contributing guide
hello it someone having this same issue when trying to run gradlew applyPatches it allways gets stuck on : > Task : paper:applyServerPatches FAILED
Task :getPaperUpstreamData FAILED
the error is generally above that
ok and how about the patches?
the patches themselves apply fine, the error is above that ^
well this will be harder for me to understand 😄 im sorry
I need to download folia to test it, is there any method or something to do to obtain it? Or is it already implemented in Paper?
Folia is not being implemented in paper due to the fact virtually every plugin would need changes to not break
if you want to test it you'll need to compile it yourself or download it from the API
:c
Ah, I don't know how to do that
then its probably best to wait until its stable and properly released



