#folia-help

1 messages · Page 6 of 1

sudden tusk
#

Did you clone it or just downlload it?

sonic kayak
#

download it

viral stone
#

read the paper compilation instructions, looks lke you forgot a step or something

ivory dust
#

Suggestion: Global Entity Scheduler

inner swift
#

What's the use case for this

viral stone
#

seems entirely redundant

sudden tusk
#

What would it do?

finite hinge
#

It would delete folia.jar and download the latest paper build

night stone
#

Can I safely use Folia for servers without major risks? Or well, how safe is it compared to Paper?

#

Crash-wise and stability etc.

frank prism
#

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

finite hinge
#

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

forest lintel
#

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

glossy locust
#

spark doesn't support folia

#

or at least the master branch doesn't, use the feat/folia branch

forest lintel
#

If what list of plugins that work on folia?

sudden tusk
forest lintel
#

Tnx

#

Hmm, like someone wrote that the plasma voice works

sudden tusk
#

@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.

glossy locust
#

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

inner swift
glossy locust
drifting mantle
#

Damn some matrix stuff

finite hinge
#

@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

daring nimbus
#

MSPT just went up to when a region crashed, so you have like 20k mspt in /tps kek

tawdry gullBOT
#

⚠️ 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.

celest forum
#

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

ivory dust
#

Anyone know a claims plugin that works on folia?

finite hinge
#

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

tawdry gullBOT
#

⚠️ 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.

tawdry gullBOT
#

⚠️ 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.

warped fog
#

How long do you think Folia will be available?

arctic tapir
#

next century

patent sky
#

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.

scenic sky
#

no

patent sky
#

Ram issues?

scenic sky
#

everything

patent sky
#

ah ok lol

scenic sky
#

you need a pretty beefy server to actually see improvements with folia

tawdry gullBOT
#

⚠️ 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.

jagged ether
#

Spigot or even much better Paper

patent sky
jagged ether
#

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

patent sky
#

Clueless ah

jagged ether
patent sky
#

ah right I'll give it a shot

tropic otter
#

Or purpurmc

patent sky
tropic otter
#

Ok

jagged ether
#

Purpur adds features not performance really afaik

inner swift
#

Purpur does add performance patches (Pufferfish's)

prime juniper
#

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

next bloom
#

You are running the wrong jar

#

Look in the root build/libs, not the server

prime juniper
prime juniper
# next bloom .

Please ask:
Is there any difference between folia-bundler and folia-paperclip?

next bloom
#

One of them is illegal to host online

#

(The bundler)

#

But from a local users perspective, there should be no difference.

dim lantern
#

Hi, is there a way to contact somebody from the folia team directly (about a partnership request)?

viral coral
#

probably not interested

#

i'd shoot a message in /modmail

dim lantern
finite hinge
#

It's a command you type in here, /modmail <my message>

dim lantern
dim lantern
unique crystal
#

we will contact you if needed

dim lantern
silk remnant
#

anyone help me ? how to download folia?

tawdry gullBOT
#

⚠️ 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.

ivory dust
#

if you don't know what that means then folia isn't for you right now.

scenic sky
#

if you dont know what that means, folia most likely wont be useful for you ever Hmm

foggy scarab
#

What possible problems will the installation of foila contain?

#

hi

viral stone
#

it's pre-release experimental software

#

issues range from crashes to setting your cat on fire, to weird state issues

foggy scarab
#

OK, I know, but don't the plugins have any special problems to work?

#

😶

viral stone
#

plugins need to specifically support folia

#

Please see the readme, etc

ivory dust
#

What scheduler should I use for delaying the spawning of particles?

foggy scarab
#

I read GitHub. But I want to know if it does not specifically support it. Does the plugin fail?

#

😶

viral stone
#

the plugins will refuse to load

foggy scarab
#

aha OK

#

thanks

#

Is there any information so I can find out what plugins are supported?

vague kite
subtle adder
teal umbra
#

Pretty sure Modrinth has one as well

livid crag
#

Hangar will be primary place that's officially supported for Folia plugins and additionally Modrinth and Github Yess

keen fable
#

hey ! where i can find folia leaf logo ? (only the leaf) 🥲

keen fable
#

🫶

livid crag
keen fable
#

still waiting for that cursed folia fork that redirect every scheduler call to global region scheduler and async calls to async scheduler

glossy locust
#

to be fair, it doesn't make too much sense why the async scheduler isn't supported

patent sky
#

is there a way to allocate less threads for Netty based IO?

glossy locust
#

spigot.yml netty-threads

hexed ice
#

-Dio.netty.eventLoopThreads=x before the -jar

viral stone
#

I mean, would need to see how the global region thread "ticks"

patent sky
foggy blaze
keen fable
foggy blaze
#

ohh shoot I didnj't update the description

#

okay it's fixed now

glass jackal
#

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?

foggy blaze
#

but there are no jars or build public rn

glass jackal
#

Righto. Shall do. Many thanks Juice.

foggy blaze
# keen fable

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

viral stone
#

you apply he patches and then modify i was per the contrib guide

#

(see the paper repo)

foggy blaze
#

will do, thanks!

keen fable
#

It seems that villagers that haven't traded with any player before lose their POI (job) without any reason 🤔 trying to reproduce...

trim schooner
#

is there any prebuilt jars

tawdry gullBOT
#

⚠️ 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.

trim schooner
#

fine ill build it myself

#

meanies

gusty shell
sudden tusk
#

That's nice. We aren't stopping people from doing anything reckless outside our community discord.

livid crag
#

On a bright side, there is atleast a dozen or so people now know how to compile from source.

finite hinge
spring comet
livid crag
oak gull
#

literally a case of their loss

#

people are without a doubt going to overuse resources

spring comet
oak gull
#

or folia will just suck for them :(

#

and then it gives us a bad name!

livid crag
#

Which is not good if they come here complaining riesad

oak gull
#

oh well, that's fine. my name was never very good to begin with

livid crag
#

True. Larry the tyrant paper moderator!

spring comet
oak gull
livid crag
oak gull
#

just kidding, I'm not leaf

#

I won't ban you

livid crag
#

@ ocelot

oak gull
#

it's funnier cause you can't ping him

#

CAUSE HES NOT HERE

#

@tranquil epoch

livid crag
spring comet
#

🍿

oak gull
#

it'd be funny, but I wont stoop to his level

#

sometimes, @tranquil epoch, we don't ban people to be funny

tranquil epoch
#

actually

#

we do

#

you don't

oak gull
#

hahahaha

#

so true

spring comet
#

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?

oak gull
#

ah if it's hidden to normal users, should not be a worry

spring comet
#

it's in the "other" section

#

which I don't think people would click on normally unless you're curious like me

oak gull
#

fair enough

spring comet
livid crag
#

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

foggy scarab
#

can you make a jenkins page ? __

arctic tapir
#

no

#

compile it yourself

foggy scarab
arctic tapir
#

..?

prime glen
arctic tapir
#

if they can't figure out how to compile then I doubt they can figure out how to use the API

slim bolt
#

How do I set the spawn radius?

#

My bukkit.yml is overwritten every time I start the server

arctic tapir
#

any errors in console?

slim bolt
#

Nothing

#

Only about the timings

#

Can I do this in my plugin?

#

Okay, I can do this with gamerule

pulsar sentinel
#

So I got it to compile but uh

arctic tapir
#

wrong jar

pulsar sentinel
#

You are very right, it was the wrong jar

#

IT WORKS

#

Aaand it triggered my antivirus upon trying to start lmao

tawdry merlin
#

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

scenic sky
#

jesus (dog)

keen fable
#

wow

tawdry merlin
keen fable
#

can you hit the dog ?

tawdry merlin
#

:/

#

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

tawdry merlin
#

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

daring nimbus
#

dog teleportation is very dodgy in general. Have you tried it on Paper?

tawdry merlin
#

(that's also why I didn't open an issue so far)

keen fable
#

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

keen fable
#

The 1st one is very easy to reproduce

keen fable
trim schooner
#

can you turn on antixray in folia

glossy locust
#

yes

tranquil epoch
tranquil epoch
keen fable
timid urchin
#

Where can i download this server software

tawdry gullBOT
#

⚠️ 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.

arctic tapir
#

need to compile it yourself

timid urchin
#

Thnks

tawdry gullBOT
#

⚠️ 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.

bold igloo
#

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?

scenic sky
#

0% of them would work

bold igloo
#

Probably a bit early and may just require a rewrite of Heroes to get on Folia

finite hinge
#

Putting in a compatibility layer would turn Folia into a slower Paper

bold igloo
#

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!

idle furnace
bold igloo
#

One of the biggest RPG plugins

idle furnace
#

ok, ok, looks impressive. Is it on github?

#

I mean it, let me have a look

finite hinge
#

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

idle furnace
#

k k, thanks m8

bold igloo
#

I've been thinking about opensourcing it, but its late in the game for all that

daring nimbus
#

Never too late for open source paperUwU

vast dust
bold igloo
#

Yeah I feel that

mystic shard
#

Will Patina be better than this core?

viral coral
#

patina should be avoided at all costs

#

nor is it similar to folia, it's just a paper fork

vivid tinsel
#

Never heard of patina until now

viral coral
#

it's yatopia's successor

vivid tinsel
#

And judging by you saying to avoid it, it’s not all that good

viral coral
#

yatopia is advised against by practically any notable plugin developer

#

highly volatile

#

unstable

mystic shard
#

I watched the video, she was the best there. AirPlane was also in the top 2.

scenic sky
#

airplane has been discontinued for like 2 years

mystic shard
#

OK, I didn't know. And then what is the best core? For version 1.16.5

scenic sky
#

my recommendation would be to not use 1.16.5

viral stone
#

This isn't the place for discussion around random software, especially unsupported versions

mystic shard
viral stone
#

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

scenic sky
viral stone
#

Because it's unsupported, unmaintained, and has known exploits

mystic shard
scenic sky
#

exactly

mystic shard
#

I just don't understand kernels. I want to choose the best.

scenic sky
#

linux is a good kernel

#

if you are asking about minecraft server software, you are in the paper discord currently, the answer is obvious

patent idol
mystic shard
#

Okay, thanks.

patent idol
#

Nvm then

scenic sky
pulsar sentinel
#

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

viral coral
#

that doesn't set cores/threads for folia

#

that's just garbage collection

pulsar sentinel
#

Ah, then isi it automatic or..?

viral coral
#

yes

pulsar sentinel
#

Oh cool!

viral coral
#

pretty sure it can be configured in paper.yml if you need to override it for whatever reason

pulsar sentinel
#

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

tawdry gullBOT
#

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.

pulsar sentinel
#

Oh! It's all there, thanks

glossy locust
#

if you install it everyone who knows how to type the right thing into chat can have access to your machine

pulsar sentinel
#

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

idle furnace
#

never had that problem, with any of the builds

pulsar sentinel
#

I'm compiling a newer version to see if its patched in the newer builds

prime juniper
#

ho to compile and run this? 0.0

hexed ice
#

see the paper readme

prime juniper
prime juniper
#

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

hexed ice
#

make sure you use the right jar

prime juniper
#

folia-bundler-1.19.4-R0.1-SNAPSHOT-reobf.jar

prime juniper
#

okay, console does not work BUT
double click on jar Works

prime juniper
#

is this normal in folia?

hexed ice
#

that just looks like chunk gen

livid crag
#

Please read the readme on fine tuning config. That can also happen if your machine is not up to spec

prime juniper
prime juniper
livid crag
#

If it happens with just you inside, chance is your hardware is bad

prime juniper
#

3.40ghz

#

4 cores

#

so

livid crag
#

Not much you can do then.

#

I would suggest using regular Paper

prime juniper
#

but as i see there is only problem with world-gen
rest works perfectly fine

#

smooth

prime juniper
#

so on dedicated it will be ok

timid grotto
#

dont worry about the performance of world gen on your development hardware

#

if its bad on your production hardware, then worry about it

quick spoke
#

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

timid grotto
#

is that the entire error?

quick spoke
#

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.

BUILD FAILED in 1s

#

There's nothing on the web about this error

viral stone
#

somethings wrong with your environment

#

maybe try yeeting the gradle caches, otherwise 🤷‍♂️

quick spoke
#

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

prime juniper
#

Will folia ever support running on multiple computers? The are servers with sharding systems that handle 5k players...

viral stone
#

no

blissful basin
#

Folia is different approach

placid birch
prime juniper
#

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

inner lance
#

hi, is there any site i can get the server.jar from? or do i have to build it myself?

tawdry gullBOT
#

⚠️ 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.

inner lance
livid crag
#

You can already compile the jar yourself.

#

Follow the instruction on how to build paper but do Folia instead

inner lance
#

do i need java 18?

viral stone
#

You need java 17

#

(or newer)

inner lance
#

i thought so, but as you can see my version is 17 and it fails

viral stone
#

try javac -version?

inner lance
#

i don't have this command

#

maybe this is something i should change

viral stone
#

install the jdk

inner lance
viral stone
#

No idea, somehing is borked with your environment

prime juniper
foggy blaze
#

It’s a nicer way of saying you fucked something up kekwhyper

prime juniper
finite hinge
#

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

clear jasper
#

how can i build folia

sudden tusk
#

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

clear jasper
sudden tusk
#

Right on the paper repo, as implied

clear jasper
sudden tusk
#

If you can't find the paper github repo... that's not a good start to something highly experimental

clear jasper
#

it say ned to use git

#

but i cant find..

#

how 🤔

sudden tusk
#

In 15 minutes you could not figure out how to install git?

clear jasper
#

alredy install

sudden tusk
#

Great!

clear jasper
#

is this if build success

livid crag
#

size looks correct so maybe AYAYARie

sudden tusk
#

Did you try running it? 🤔

sudden tusk
#

Very happy for you.

ocean knot
#

is there any way to bypass 'folia-support'

scenic sky
#

modify the plugin & add the line to plugin.yml

#

the plugin most likely wont work though

ocean knot
#

if i want to use some plugins from spigotmc.org like PlaceholderAPI, what should i do

hybrid shore
#

Use plugin version that supports folia

scenic sky
#

yep

austere zealot
#

How to fix this error thonk

viral stone
#

broken java install

finite hinge
#

Broken or ancient

sudden tusk
#

Yeah I just saw that error yesterday from someone running a super old Java 8 that couldn't handle letsencrypt.

finite hinge
#

LE's legacy cross-signing expired recently, it used to work even on ancient stuff because of that for compatibility

viral stone
#

oof

finite hinge
#

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

sudden tusk
#

Congratulations you won!

vast dust
#

Mistakes like that cost

bold osprey
near crater
#

Hmm?

bold osprey
#

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

near crater
#

That fix it?

near crater
bold osprey
# near crater

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
near crater
#

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

bold osprey
#

oh, no, seems like i accidentally ran in with the non relocated version

near crater
#

How'd you manage that? O.o

#

Oh you mean mojimap?

bold osprey
#

but it works, thanks!

near crater
#

Awesome

bold osprey
# near crater How'd you manage that? O.o

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

near crater
#

Gotcha

livid crag
#

@bold osprey your name sound familiar. Trying to remember where I seem you at rieBigBrainThinking (except here

livid crag
#

you are right

left fog
#

anyone use folia in docker?

viral coral
#

what about it

left fog
viral coral
#

ask your question

#

docker doesn't do anything with folia & vice-versa

#

someone will probably run it

left fog
#

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!

wicked mantle
#

Plugins won't work on Folia unless support for it is enabled in the plugin and they're coded with Folia in mind

left fog
wicked mantle
#

Post logs?

left fog
fierce knotBOT
wicked mantle
left fog
fierce knotBOT
left fog
#

ViaVersion and ViaBackwards ok thanks

viral coral
# left fog

because plugins need to be built for folia

#

that version of viaversion is probably not compatible with folia

wicked mantle
#

It is but the check is faulty

#

So the latest CI builds have the fix

rapid acorn
#

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?

scenic sky
#

folia isnt very viable if you make it smaller

viral stone
#

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

finite hinge
# rapid acorn is there a way to make that smaller?

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

rapid acorn
#

okay, i'll try with view-distance 1

#

oh whoops

finite hinge
#

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

rapid acorn
#

but the regions aren't quite splitting at 1536 distance even after sitting here a while

finite hinge
#

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

rapid acorn
#

ah yeah that makes sense

finite hinge
#

If it instantly split them you'd have flapping

rapid acorn
#

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

still gulch
#

Who has the assembled version of the Folia? Can send?

tawdry gullBOT
#

⚠️ 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.

trail kernel
#

how best to allocate cores/threads?

livid crag
#

Read the readme part of folia

#

It has detailed instruction

gilded blaze
#

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.

scenic sky
#

dont think folia actually supports more worlds than the 3 default ones currently

gilded blaze
#

oh, didn't know that

scenic sky
#

i think support will be added some day, no idea when

gilded blaze
#

yeah understandable, looking forward to it

bold osprey
# gilded blaze I assume Folia has no issues with handling large amount of worlds? In general wo...

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

gilded blaze
#

Good news, thanks for updating me on status of this feature

bold osprey
#

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

gilded blaze
#

Yeah will never hit that amount anyway, I'd run out of storage before having this many islands

bold osprey
#

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

gilded blaze
#

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?

bold osprey
#

there isn't such thing as "main loop"

#

each region are independent and can run in parallel

gilded blaze
#

Oh so folia got completely rid of that "parent" loop?

bold osprey
#

yes

gilded blaze
#

What about connections, they're handled on netty threads until player gets spawned in world?

bold osprey
#

starts on netty, then global tick thread, then region in which they are

gilded blaze
#

ah so there's a global tick thread - that's where loading worlds is handled too right?

bold osprey
#
     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

gilded blaze
#

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?

bold osprey
#

but also

ticking some connections
handle console commands
refresh player sample from server list
update tab

bold osprey
gilded blaze
#

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 😄

bold osprey
#

no problem 👍

twilit bison
#

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?

scenic sky
#

folia isnt a fix for heavy plugins, but it might help

daring nimbus
#

Folia doesn't support datapack functions and likely never will

twilit bison
viral coral
#

if you want to fix your performance issues

#

remove datapacks

twilit bison
#

I built this datapack myself. It's a custom design.

viral coral
#

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

twilit bison
#

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

viral coral
#

that's datapacks for you

#

you'd be more likely to find a fabric mod that optimizes functions / datapacks

twilit bison
#

The end goal was always to have something that requires no client mods. Hmm...

viral coral
#

fabric does not mean you need client mods

#

fabric runs serverside aswell

twilit bison
#

Yeah

#

How the hell does Origin Realms do it? I'll never figure it out...

daring nimbus
#

definitely not datapacks

viral coral
#

no datapacks involved

livid crag
#

Funny enough Michael is part of originrealm

#

So you definitely asked in right place

viral coral
#

combined with like 50 paper servers running at once

twilit bison
#

oh jeez

livid crag
#

Isn’t it called tolietPaper or was it a joke @viral coral

viral coral
#

it is toiletpaper yes

livid crag
twilit bison
#

I've been oggling the overlays for a while. Gotta ask... Are those /title with clever font buggery?

viral coral
#

yes

twilit bison
#

I knew it!

viral coral
#

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

twilit bison
#

boss bars with font buggery!

viral coral
#

same concept since it's just font stuff

weak tundra
#

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

viral coral
#

people don't use the chat for that

#

nor tablist

twilit bison
#

Oh, the clock and whatnot.

viral coral
#

the clock is a boss bar since it's aligned to the top

twilit bison
#

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.

viral coral
#

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 shrug_animated

daring nimbus
#

and when the worst happens, fork Paper and keep a fork going

twilit bison
#

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
viral coral
#

that's to be expected when running spigot

twilit bison
#

lol

daring nimbus
#

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

twilit bison
#

I kinda finished it already and developed custom web tools to generate the function scripts on the fly and...

viral coral
#

kek

#

build a function to java compiler

twilit bison
#

:\

bold osprey
#

so yeah, really many ways

twilit bison
#

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.

bold osprey
#

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

inner swift
#

It's more about the state those commands expect

twilit bison
#

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.

knotty hemlock
#

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

idle furnace
daring nimbus
finite hinge
#

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

wide ginkgo
#

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.

daring nimbus
fallow crescent
#

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?

bold osprey
#

nobody stops you from running a server right now on folia

#

like we have 2 of them already

fallow crescent
idle furnace
#

like all of them, one way or another, in extremis all have 127.0.0.1 🙂

livid crag
fallow crescent
tawdry gullBOT
#
__There Is No ETA__

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.

sudden tusk
#

Same sort of answer for folia 😄

severe dew
#

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:

  1. minimal region size, which Folia may support (500x500 or 1000x1000, or something else?)
  2. recommended jvm flags for Folia?
daring nimbus
#

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

severe dew
#

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

quaint ingot
bold goblet
#

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 😅

tawdry gullBOT
#

⚠️ 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.

daring nimbus
#

You can build it yourself though

bold goblet
#

Okay hmm

tawdry gullBOT
#

⚠️ 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.

subtle adder
#

can you provide more details?

knotty hemlock
#

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

subtle adder
#

So you are sure the issue was caused by folia?

#

And not throgh the datapack as is or the items in your hotbar

knotty hemlock
#

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

subtle adder
#

i dont know how supported this stuff is on folia currently

knotty hemlock
#

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

finite hinge
#

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

knotty hemlock
#

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

inner jolt
#

What is the goal of folia ? What is the difference between paper and folia

hexed ice
#

Have you read the folia readme / docs?

inner jolt
#

Im reading it on paper website

bold osprey
#

a bit of tl;dr for readme

keen fable
#

if you load a region file on Folia (without any plugin/datapacks) and it is not the same as Paper you should report it

fair merlin
#

@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.

cosmic pawn
next bloom
#

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

fair merlin
#

AFAIK no one has done a test with 1000 players yet, so TBD.

viral stone
#

I mean, see 2b2t

cosmic pawn
#

And how accessible will this new server implementation be to more amateur server owners.

viral stone
#

it's not

viral coral
#

not

#

your amateur server owner probably won't have the hardware for it

viral stone
#

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

cosmic pawn
#

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

fair merlin
#

You need expensive hardware to take advantage of it.

viral stone
#

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

fair merlin
#

So it's probably not realistic for small servers.

viral stone
#

Given that it breaks the API behavior, it requires on plugins to be modified for it

cosmic pawn
viral stone
#

While some plugins, Essentials, etc; may update, the reality is that 99% of plugins are not going to give a single care about Folia

fair merlin
cosmic pawn
fair merlin
#

It's really built for servers with a lot of cores.

viral stone
#

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

cosmic pawn
inner swift
#

(Since you mentioned Hetzner, have a look on their 7950x3D ones)

cosmic pawn
fair merlin
cosmic pawn
#

So the type of CPU you want is different

viral stone
#

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

sudden tusk
#

It's about having the most over the top number of cores while every single core is very powerful 😆

cosmic pawn
#

right. Which CPU that's on the market do you guys think will be best for Foila?

#

or like what type of CPU

viral stone
#

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

cosmic pawn
#

right ok that's what i was trying to get at

inner swift
#

(Intel's E-cores won't do it, btw)

cosmic pawn
#

I imagine having limits on redstone and block entities will still be necessary in Folia servers

fair merlin
#

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.

viral stone
#

dual socket

cosmic pawn
#

oh damn

#

this is some industrial grade stuff now

fair merlin
#

We had 2 7713s, yeah. Server we rented wasn't available with just one.

#

And NUMA is questionable for this so we disabled one

cosmic pawn
fair merlin
#

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 :)

cosmic pawn
#

how do i get pings for folia

next bloom
#

I don’t think there is a channel or role for that

near crater
#

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.

jovial helm
#

650 ish

daring nimbus
#

noticeably without pre-genning. But outside of exploring new chunks it was very playable

keen fable
#

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.

fair merlin
#

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.

bleak oar
#

hi guys, is there any stable protocollib version that supports Folia ?

fair merlin
#

Good question. Probably best to check with ProtocolLib

bleak oar
finite hinge
#

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

bleak oar
#

mob/item stacker

finite hinge
#

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

bleak oar
#

will be probably easier

#

and better

#

btw I have a question, why not using fibers (virtual threads) for Folia ?

viral stone
#

because they don't exist in the LTS yet, and generally aren't beneficial outside of certain cases

bleak oar
#

Ok thanks

finite hinge
#

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

bold osprey
#

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

finite hinge
#

The problem is some people really are doing CPU heavy work in them so instead you need another scheduler

bold osprey
#

maybe better a config for that, because if they would support additional scheduler, then they probably would support the threads directly

finite hinge
#

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

bold osprey
#

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

finite hinge
#

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

bold osprey
#

yeah, because most probably some will start to recommend this config as "super performance performance improvement from paper, enable right now"

finite hinge
#

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

bold osprey
#

on paper it already almost don't uses the scheduler, since even chunk loading is async, not like before

finite hinge
#

It was an example

#

It's a CPU heavy plugin that keeps off the main thread

knotty hemlock
#

so I think this is a Folia's bug

fair merlin
#

I think Leaf hates virtual threads.

#

But he hates a lot of things.

maiden jay
#

Hi Datapack is not supported?

knotty hemlock
maiden jay
#

ok, thank you

severe dew
fair merlin
#

Command blocks not likely.

bold osprey
fair merlin
#

Datapacks probably not likely.

bold osprey
#

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

primal sluice
#

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?

echo widget
#

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

bold osprey
fair merlin
#

You're also probably gonna run into a lot of plugin issues when you have more than one CPU accessing memory.

echo widget
#

I mean for the operating system it is "one cpu"

bleak oar
#

does velocity/bungee plugins will work as normal ?

fair merlin
bleak oar
#

but how can a different fork impact a plugin running on the proxy ?

fair merlin
#

If the plugin is only running on the proxy and not talking to the server at all it's probably fine.

bleak oar
#

ok

glacial cave
#

What CPU was the test server on again? 🤔

viral coral
#

7713

reef niche
glacial cave
#

Awesome, thank you

reef niche
#

Only a couple thousand dollars in CPU power lol

glacial cave
#

Is there a lovely github mark down file with a shit ton of benchmarks?

reef niche
#

Yep

#

1 sec

glacial cave
#

Thank you

reef niche
glacial cave
#

awesome

#

We need really good bot-automation testing software tbfh

#

The only problem with that, is the fact it will 100% be used unethically ://

prime glen
#

this stuff already exists

#

forgot it's name, but it can simulate players fully

#

also there is stuff like Minecraft Console Client

reef niche
#

Folia gives me so much hope in the future of Minecraft Servers tbf, I am so hype for it to be widely adopted

prime glen
#

Make a script for it, it will do anything a normal client can (except performing realistic movement)

reef niche
glacial cave
glacial cave
reef niche
#

Apparently 2b2t using Folia with 600+ players at 19tps

prime glen
#

not much more you could probably do

glacial cave
#

For proper testing yes

glacial cave
reef niche
#

Its crazy

#

Gave me chills lol

glacial cave
#

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

prime glen
#

if you just need random movement use mcc

reef niche
#

I struggle with 30+ players at 10tps lol

prime glen
#

just don't use it to test anticheats

glacial cave
#

A google of "mcc" isn't bringing anything up, can you give me the full name please? :)

reef niche
#

300 with regular paper? nah

glacial cave
#

aight, folia it is

glacial cave
#

Or multi paper

prime glen
#

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

glacial cave
#

Just need the ability to have the bots run kekw
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

prime glen
#

Movements does take up more bandwidth

reef niche
#

Unless you're doing it within your own environment, I can't see how bad it can be

glacial cave
#

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 kekw

reef niche
#

Whos Gavin btw

glacial cave
#

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 kekw

reef niche
#

Haha

#

Nice

knotty hemlock
#

Maybe I found a bug: villagers in Folia always have a chance of losing their jobs: even if they're right near their workbench

fair merlin
keen fable
knotty hemlock
knotty hemlock
mild bridge
keen fable
#

I can't reproduce it on paper. But it happens on folia for sure

knotty hemlock
#

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'

willow dock
jagged ether
green fox
#

how to get folia.jar?

hexed ice
#

you build it yourself

green fox
#

idk how to do it

daring nimbus
#

then you probably don't need it

#

its more or less a dev preview right now

devout zephyr
reef niche
# green fox how to get folia.jar?

Clone Folia repo, open in IDE and run

./gradlew applyPatches
./gradlew createReobfBundlerJar

And you have your folia jar in build/libs

finite hinge
#

This is why Folia is going to have so few users, this feels like it's going to be a nightmare to debug

winter shore
#

[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?

inner swift
#

You removed all of the important info, we need the whole log

winter shore
winter shore
winter shore
inner swift
#

That scales with the amount of regions

winter shore
#

okay

green fox
magic stirrup
#

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 ?

daring nimbus
#

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

wicked brook
#

hi new here, when i run gradlew applyPatches it always get this:

half vault
#

searchable problem, use java 11 or higher

wicked brook
#

ah ok

loud schooner
#

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

bleak oar
loud schooner
bleak oar
loud schooner
bleak oar
loud schooner
bleak oar
#

when you do java -version on your terminal it says that ?

loud schooner
bleak oar
loud schooner
# bleak oar 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.
bold osprey
magic stirrup
#

Ohm... any new commands for folia ?

#

after compiling

#

i doubt i have folia

loud schooner
# bold osprey 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
magic stirrup
#

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

livid crag
#

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. **

magic stirrup
#

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

daring nimbus
#

just use the runDev / runReobf gradle task, that should definitely start Folia

magic stirrup
#

Those a new words to me

magic stirrup
#

could it be a permission problem?

viral stone
#

probably not

#

use a shorter path would be my guess

magic stirrup
#

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

viral stone
#

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

magic stirrup
#

Ah, weird. Because i also tried this on a ubunto machine

loud schooner
#

Maybe this is a bit helpful?:https://github.com/PaperMC/paperweight/issues/50#issuecomment-1264276072

viral stone
#

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

magic stirrup
#

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

sonic scaffold
loud schooner
sonic scaffold
#

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

bleak oar
#

but otherwise you can use wsl on windows

sonic scaffold
#

@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

loud schooner
#

I can upload it if you want

sonic scaffold
#

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)

sonic scaffold
#

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?

loud schooner
#

yes?

sonic scaffold
#

make sure you're not building as root, because I see your gradle cache in /root/

#

root = all sorts of problems

loud schooner
#

😂 OK

sonic scaffold
#

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)

loud schooner
sonic scaffold
#

I think other parts of your home directory (/data?) may have gotten infected by root permissions

loud schooner
sonic scaffold
#

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
sonic scaffold
sonic scaffold
#

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

loud schooner
#

👌

sonic scaffold
#

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?

sonic scaffold
#

hmm, a sanity check:

echo $JAVA_HOME

loud schooner
#

!

#

there is nothing

sonic scaffold
#

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

loud schooner
#

error: destination '/data/Folia/.gradle/caches/paperweight/upstreams/paper/.gradle/caches/paperweight/taskCache/decomp-339094546' is not a directory

sonic scaffold
#

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

loud schooner
sonic scaffold
#

sorry for the crazy roundabout path to get there haha

loud schooner
#

that is irrelevant!!😇

sonic scaffold
#

good to have the root permissions problem fixed though, that probably would have caused some error anyways if it weren't resolved

lethal notch
#

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

wicked mantle
#

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.

tired reef
#

how do you compile folia?

wicked mantle
#

Read the paper contributing guide

quartz lily
#

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

viral stone
#

the error is generally above that

quartz lily
#

ok and how about the patches?

daring nimbus
#

the patches themselves apply fine, the error is above that ^

quartz lily
#

well this will be harder for me to understand 😄 im sorry

craggy fog
#

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?

hexed ice
#

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

craggy fog
daring nimbus
#

then its probably best to wait until its stable and properly released