#folia-help

1 messages · Page 31 of 1

livid crag
#

it's the inhouse profile Leaf made for himself to diagnosis issues he has himself.

boreal swallow
#

When will fiola be stable and Always Up to Date such as paper itself?

viral stone
#
  1. There are no ETAs
  2. it's a complex piece of software maintained as a passion project, which depends on paper; so, probably never
ornate warren
#

We are putting together a new Folia server for an SMP world which will be fully pregenerated, so we also want to have a 'resource' world players can visit for mining which we can regen at will to keep it up to date with the latest versions. What would be the best setup to have for this resource world in terms of the players being able to gather/mine resources they can bring back to the main SMP world?

Would a multiverse style setup be better or one where the resource world is a completely different server but the user inventory functions in both the main Folia and the Resource world? (using something like Husksync, that sort of thing)

manic quarry
#

unless you have terabytes of storage and like a week to pregenerate, it's probably a bad idea

ornate warren
# manic quarry folia benefits from players being thousands of blocks away from each other

We have terabytes of storage and we have previously spent a week pregenerating a world. We are absolutely an SMP Folia is made for. I'm just wanting to get some advice on how to handle a resource world setup so players can mine/gather on it and take their stuff back to the SMP world.

There are pros and cons to having the resource world be part of the same server, versus having it on a different server (same host though)

manic quarry
#

if you have terabytes of spare storage for this, then better investment would be better cpu witth more threads to generate those chunks on the fly :P

#

as for the resource world, depends what you nant to do with it

#

will you be resetting it dynamically?

#

if no, then just get a datapack that registers a new dimension with overworld generation

ornate warren
manic quarry
#

folia is not a magic spell. unless your players are really spread out, performance is gonna be worse than on regular paper

#

if you have those 50 players in one place, effect will be the same

#

(or worse)

ornate warren
manic quarry
#

then more threads will just benefit you more, more reason to not pregen and just let the chunks generate on the fly

#

it really, really, really doesn't take long to generate chunks with a bunch of threads thrown on it

#

basically wasting storage space if you pregen on a map big enough to accomodate folia

ornate warren
#

It's just that I'd read some of the performance relating to Folia testing where they still recommended pregen

manic quarry
#

testing is not the same as natural gameplay

#

yes, if you keep generating chunks all the time forever, you might be worse off

#

but a real server basically never works like that

#

people make bases and keep most of their business there

#

those are already generated :)

ornate warren
#

Sure, but we want to have a fixed-size world where players can see a full map of it from the outset. So that would require pregen

manic quarry
#

fair

ornate warren
#

So I'm back to wondering how to handle the setup for an accompanying resource world we can regenerate whenever a new Minecraft version comes out with new items/entities

manic quarry
#

that would have its own separate folia regions

#

the only real issue with getting more world on folia is no safe option to do it while server is running

#

otherwise it's fine

polar bloom
#

Hi, in order to remove an entity, do I have to remove it using EntityScheduler or can I use the global one?

fair merlin
#

Then you can reset/regen/whatever as much as you need, and you can lean on the proxy rather than Multiverse. Folia will connect to Velocity the same as Paper would. And gives you flexibility moving forward.

ornate warren
fair merlin
plain shuttle
#

how much memory is recommendet for Folia?

livid crag
#

start with 10g and see. This is something you fine tune later when you actually have players in the server.

livid sun
#

Hello, can anyone help me get folia in version 1.21?

fair merlin
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.

livid sun
livid crag
#

You should probably be better off using Paper. The build instruction on Paper also works for Folia. If you cannot figure this out, you will not be able to run Folia as all plugins will also not work and need to be updated. @livid sun

livid sun
severe hedge
#

Out of sheer curiosity, why do you want to use Folia

#

Cause if you don't have hundreds of users online spread out thousands of blocks away from each other, I dunno if Folia is meant for you

livid sun
#

Sorry if I'm a bit annoying for being so insistent but Folia caught my attention and I have many friends to try a server and if possible create a small community that's why I want to be able to experiment with Folia.

fair merlin
#

Not annoying, just that Folia has very specific use cases and limited plugin support. Read the pins in this channel. The hardware and use requirements are more than most people have.

livid sun
#

Yes, I know and my PC meets the necessary requirements, that's why I'm excited to use this software for Minecraft servers and be able to experience it in version 1.21 with the new additions, but it only leaves me with previous versions and doesn't let me compile it in 1.21.

#

I am looking for any recommendations or help please.

fair merlin
livid sun
#

What a pity, for now I only use a version that I compiled on paper 1.21 a year ago and I can compile other previous versions of Folia. But I get an error every time I want to compile it for 1.21

#

thanks all the same

polar bloom
#

Hi, is there a way to switch execution context from some thread to the main thread? I came up with an idea to just do some actions on the server to invoke events e.g. killing an entity to invoke EntityDeathEvent, but this is not always possible and feels hacky. Then I realised that I could create my own events and call them, but actually I think the handlers for events created in non-main thread are dealt with also in non-main thread

paper siren
#

There is no main thread

polar bloom
#

I need this one

wet arch
#

as they said, there is no main thread

#

there are multiple tick threads, each of which an entity could be removed on

polar bloom
paper siren
polar bloom
viral stone
#

yes you can?

polar bloom
viral stone
#

you'd need to show the full thing, but, the entity scheduler runs within the region of the entity, and so you should just be able to remove the entity there

swift ether
#

Guys...Folia + Kubernetes = ???????

fair merlin
swift ether
#

Can Folia benefit from Kubernetes in any way? Since Folia already scales with more cores

fair merlin
#

Kubernetes would be for standing up Folia servers.

#

It would be the same benefit as Paper.

#

But Folia generally wants a large single beefy server.

#

Whereas a Paper setup might have multiple smaller servers.

#

Folia basically would remove the need for that if it meets the use requirements.

#

You wouldn't want to spin up 3 Folia servers on a single box. You'd use Paper for that.

swift ether
#

Thanks😁

viral coral
#

i say this as someone who uses kubernetes for practically all of my minecraft projects

#

unless you're doing it for high availability (and you actually have the hardware / networking / tech for this), there is no benefit

#

you can achieve the same without kubernetes and 5 minutes of work

swift ether
#

Well the easiest and best solution is to split them into seperate machines entirely, but your point still stands

viral coral
#

unless you really have a good reason for k8s, just don't

chrome loom
#

we only use k8s for log ingestion with loki and grafana (also jenkins for ci/cd ig)

glacial sonnet
#

Why are crystals slow on folia, and what causes the pearl bug

torn shoal
#

Hello, I am having problems downloading Folia. I have searched the internet several times, but unfortunately I have not found a suitable solution. The error message is (: paper:patchCraftBukkit)

obtuse basin
#

there are no official downloads you would need to compile it yourself

#

and the error you provided is useless. We would need more information.

torn shoal
# obtuse basin and the error you provided is useless. We would need more information.

this information helps you more?

Configure project :
paperweight-patcher v1.7.1 (running on 'Windows 10')

> Configure project :paper
paperweight-core v1.7.1 (running on 'Windows 10')

> Task :paper:patchCraftBukkit FAILED
> Task :getPaperUpstreamData FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':paper:patchCraftBukkit'.
> io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false clone --no-hardlinks 'C:\Users\Documents\test\.gradle\caches\paperweight\upstreams\paper\work\CraftBukkit' 'C:\Users\Documents\test\.gradle\caches\paperweight\upstreams\paper\.gradle\caches\paperweight\taskCache\patchCraftBukkit.repo'

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 2m 43s
2 actionable tasks: 2 executed´
lofty magnet
#

try running on linux/inside WSL

#

alternatively maybe this could be an issue with file syncing as it's in Documents? not sure, it doesn't show much in terms of error

torn shoal
lofty magnet
#

I don't know what you mean by "can't execute commands with --", sorry

#

you really just need to checkout the repo and run the gradle task

#

there's even .bat files for Windows that run the gradle command for you I guess

torn shoal
torn shoal
lofty magnet
#

I fail to see how you wouldn't be able to use those parameters

torn shoal
#

me neither I have looked several times via github at PaperMC what I have to install to make it complete

lofty magnet
#

you probably just have to run the gradle command with --stacktrace to get the full error

torn shoal
#

ok

#

this is a very long log

fierce knotBOT
lofty magnet
#

ah I missed that, try running it inside a path without a space in it. that breaks things at times

torn shoal
lofty magnet
#

well a space before the -- but yes

torn shoal
#

so .\gradlew applyPatches --stacktrace

lofty magnet
#

yes

torn shoal
#

exactly the same result

#

should I send the full error

manic quarry
#

very likely to be path length

#

use WSL

torn shoal
manic quarry
#

winddos is generally shit for mc server tooling

torn shoal
#

I haven't used it yet, I don't have any experience with WSL

manic quarry
#

time to get some sipjuice

torn shoal
finite hinge
#

You can probably just clone Folia to C:\Folia and build it there

#

You just need a short path that doesn't have funny characters and isn't synced with onedrive

torn shoal
#

ok

finite hinge
#

Building in WSL is way less hassle and way faster but you have to know how to use Linux to set it up 😄

torn shoal
torn shoal
#

it worked now without wsl and I don't know what I did to fix the problem

torn shoal
#

I have a question: what do you have to set so that the TPS only crashes in one TPS area while all others run normally at 20?

fair merlin
torn shoal
#

I don't understand why all TPS go down, only one should go down?

fair merlin
#

I mean it depends on why it's "going down"

#

You're running Folia on Windows which is probably not a good plan to begin with.

#

Also looks like you're using the client and the server on the same machine. So you're probably just overloading the system.

#

Folia has higher system requirements than Paper.

torn shoal
#

ok ty

primal oyster
#

it also depends on teh number of available threads

#

think about it this way, 1 thread.

#

56.64 MSPT
1000ms/56.64ms
~
17.6553672 <

now if there's only one thread, every region groups and ticks basically with each other,
Region A, region B, region C
if they all are in one thread only
region a ticks, region a is the bottleneck for region b, and so fourth
the advantage of folia is you can put
region a, in one thread, region b, in another and so fourth

#

(not by choice but by distance)

#

but yeah windows etc etc all bad calls

manic quarry
#

that's basically textbook definition of subpar hardware OR misconfiguration

#

if you don't have enough threads for folia regions, the threads will be reused for multiple regions

#

that's why at least 16 cores is suggested

torn shoal
manic quarry
bleak vortex
#

hello! can you help me? one of my regions crashed and players couldn't join the server

fair merlin
tawdry gullBOT
bleak vortex
arctic tapir
#

full thing

fair merlin
#

@bleak vortex Sorry, I don't accept friend requests from people I don't know, and I don't do DM support.

dire falcon
#

whats the difference between bundler and paperclip?

arctic tapir
#

one you cannot share, one you can

dire falcon
viral stone
#

Bundler, why bother with the patcher if you don't need it

last depot
#

are there commands to get info about the active regions etc?

#

like folia specific commands

fair merlin
#

What sort of info?

last depot
#

like the active regions, where are they, how many are there etc

viral stone
#

there is the tps command?

last depot
royal vortex
#

Microsoft Windows [Version 10.0.26100.2454]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\System32>git clone https://github.com/PaperMC/Folia.git
Cloning into 'Folia'...
remote: Enumerating objects: 2345, done.
remote: Counting objects: 100% (492/492), done.
remote: Compressing objects: 100% (261/261), done.
remote: Total 2345 (delta 326), reused 360 (delta 226), pack-reused 1853 (from 1)
Receiving objects: 100% (2345/2345), 5.04 MiB | 5.85 MiB/s, done.
Resolving deltas: 100% (1462/1462), done.

C:\Windows\System32>cd Folia

C:\Windows\System32\Folia>git branch -r
origin/HEAD -> origin/master
origin/dev/1.21.1
origin/dev/1.21.3
origin/dev/1.21.4
origin/experiment/sectorfile
origin/master
origin/ver/1.19.4
origin/ver/1.20.4

C:\Windows\System32\Folia>git checkout origin/1.21.4
error: pathspec 'origin/1.21.4' did not match any file(s) known to git

C:\Windows\System32\Folia>git checkout dev/1.21.4
branch 'dev/1.21.4' set up to track 'origin/dev/1.21.4'.
Switched to a new branch 'dev/1.21.4'

C:\Windows\System32\Folia>gradlew.bat build

Welcome to Gradle 8.11.1!

Here are the highlights of this release:

  • Parallel load and store for Configuration Cache
  • Java compilation errors at the end of the build output
  • Consolidated report for warnings and deprecations

For more details see https://docs.gradle.org/8.11.1/release-notes.html

FAILURE: Build failed with an exception.

  • What went wrong:
    A build operation failed.
    Could not read workspace metadata from C:\Users\frede.gradle\caches\8.11.1\transforms\6a6f3176a8bc2cbdd446c72a50e19ef5\metadata.bin

Could not read workspace metadata from C:\Users\frede.gradle\caches\8.11.1\transforms\6a6f3176a8bc2cbdd446c72a50e19ef5\metadata.bin

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.

BUILD FAILED in 1s

C:\Windows\System32\Folia>

GitHub

Fork of Paper which adds regionised multithreading to the dedicated server. - PaperMC/Folia

#

hey this is my log and i cant build flia for what ever reason

last depot
#

please don't actually delete system32

last depot
royal vortex
#

kk

prisma ether
#

Hello everyone, I want to ask if it is possible to include datapacks in folia? Well, datapacks and command /function

lofty magnet
#

very unlikely

#

vanilla datapacks and functions have no concept of multi-threading

prisma ether
lofty magnet
#

switching to Paper would be the best option

prisma ether
#

I just have 30-120 players playing the uhc

lofty magnet
#

as that would basically have the same effect as creating one global thread for all functionality to run on just to have datapacks/functions work

#

just write a plugin that does the same thing

prisma ether
#

unfortunately I don't know Java

lofty magnet
#

well either learn it or find someone who does it for you

prisma ether
lofty magnet
#

or just use Paper, I highly doubt Folia will actually be able to change much in a UHC-style setting

#

(unless your players are really thousands of blocks apart? but aren't they supposed to meet up and fight?)

#

(also you could probably find out if you are "near" another players with folia somehow)

chrome loom
prisma ether
#

no need anymore thank you very much

grizzled karma
#

How to get all force loaded chunks currently? It was fine just call CreaftWorld#getForceLoadedChunks() (in main thread) to get them (1.21.1 or below). But in 1.21.4 this method throwing ensureTickThread Exception, according to region thread logic, I thought this method may need a modification to functional or it wont get chunks properly forever.

viral stone
#

What's the exception?

grizzled karma
#
[21:44:53 ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread Region Scheduler Thread #2 failed main thread check: Async chunk retrieval
java.lang.Throwable: null
        at ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread(TickThread.java:51) ~[deerfolia-1.21.4.jar:1.21.4-DEV-2bd64a2]
        at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:373) ~[deerfolia-1.21.4.jar:1.21.4-DEV-2bd64a2]
        at org.bukkit.craftbukkit.CraftWorld.getForceLoadedChunks(CraftWorld.java:690) ~[deerfolia-1.21.4.jar:1.21.4-DEV-2bd64a2]
        at EssentialsD-2.3.2.jar/cn.lunadeer.essentialsd.managers.ConfigManager.lambda$ApplyForceLoadChunks$0(ConfigManager.java:234) ~[EssentialsD-2.3.2.jar:?]
#

getForceLoadedChunks called getChunkAt(x, z)

    @Override
    public Chunk getChunkAt(int x, int z) {
        ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread(this.getHandle(), x, z, "Async chunk retrieval"); // Folia - region threading
        warnUnsafeChunk("getting a faraway chunk", x, z); // Paper
        net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
        return new CraftChunk(chunk);
    }
viral stone
#

that should probably just return a dud chunk object rather than loading chunks

#

well, not dud, but, unloaded

finite hinge
#

The answer to your question is you can't

#

Patches welcome?

viral stone
#

I guess that's a bit of a pain because common bukkit convention was that getting a chunk would load it

finite hinge
#

Although the answer might stay as you can't and the patches would be to just make that API throw an UnsupportedOperationException

grizzled karma
#

Got it. Thanks for replying!

grizzled karma
#
    @Override
    public Chunk getChunkAt(int x, int z) {
        net.minecraft.world.level.chunk.LevelChunk chunk;
        try {
            Objects.requireNonNull(((ServerLevel) world).regioniser.getRegionAtUnsynchronised(x >> 4, z >> 4)).regioniser.acquireReadLock(); // Folia - region threading
            warnUnsafeChunk("getting a faraway chunk", x, z); // Paper
            chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            Objects.requireNonNull(((ServerLevel) world).regioniser.getRegionAtUnsynchronised(x >> 4, z >> 4)).regioniser.releaseReadLock(); // Folia - region threading
        }
        return new CraftChunk(chunk);
    }
viral stone
#

I really doubt such a change would be accepted, the goal is to not have random threads trying to load chunks

#

Just make the method to get forced chunks return lazy craftchunk instances

grizzled karma
#

the goal is to not have random threads trying to load chunks oh i understand.

coarse moth
#

Who can help me, I don't know how to download Folia :C

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.

coarse moth
#

?

livid crag
#

Read it

coarse moth
#

Isn't there a way to use it?

inner swift
#

There is, you need to compile it (same instructions a Paper's repo)

coarse moth
#

I do that but it always gives me an error

#

Help :C

wet arch
#

don't do stuff in the one drive folder
also by default windows has a limit to how long file paths can be, you're probably running into that limit

#

either disable the limit or move your folia folder to C:\

coarse moth
#

Help me idk :C

finite hinge
#

Just so we're clear, you're probably going to have to write your own plugins for a Folia server

#

So you really need to know how to compile things

sacred island
# coarse moth

Move the Folia files somewhere else, OneDrive/ isn't the best place for trying to compile since it syncs with the internet

onyx oracle
#

Hello guys, is there any world manager for folia 1.21.4?
Except for mofoworld because the last version does not support 1.21.4

timid grotto
#

well did you try it?

#

or did you just assume based on what its page says?

#

also you can always use datapacks

onyx oracle
onyx oracle
timid grotto
modest wadi
#

will folia engine recieive a release version?

inner swift
#

Maybe, maybe not

lofty fossil
#

Hi Folia friends, I have the recommended amount of cores available (16) and an expected playercount of ~100 in an SMP setting. I'm a hired dev for this SMP, and the owner wants a world border size of 10,000 (meaning you reach a corner at x 5000, z 5000). I'm concerned that this is too small for enough regions to form for Folia to be worth it. Testing Purpur with only 50 players sent our server to its doom; I want to know your guys' opinion on whether the regionizer will be able to do its job in this case. Ask any clarifying questions you need if I didn't provide enough information :)

viral stone
#

you need player spread

#

otherwise everybody will be inside of an region

#

5k radius is far too small for that

wet arch
#

i'm also a bit surprised that only 50 players lagged your server

livid crag
#

It would be worth providing the actual spec of the server... 16 core... what kinda core? Have you attempt to provide as spark report and ask purpur for perforamnce help?

#

but yeah Folia is not going to be for you. the world is too small.

lofty fossil
lofty fossil
#

along with strict mobcaps & low simulation distance

livid crag
#

cant tell. It's still beneficial to generate a spark report during peak hours and read through it. That's probably the best way to find out issues.

daring nimbus
#

at 50 players those two cores will be hurting you. Bloom is nice, but for larger servers that is a pretty big limitation

deep wave
#

how the heck do I stop a folia server

chrome loom
#

how do you stop a normal server?

warped fog
#

hey, when we can expect folia? should I count in months or years?

twin garden
#

I personally exploit folia since 6 months in production now ! It's pretty cool, I make all my plugins myself so that's a cool thing and some public plugins are already ready with Folia

chrome loom
polar bloom
#

Which thread is used to run event handlers?
Global?
Depending on the event, e.g. in the region where the event triggered?

finite hinge
#

Depends on the event

#

Most of them on the relevant region

polar bloom
finite hinge
#

Call it on the relevant region

last depot
last depot
twin garden
#

Is it better to run folia on ARM with 16 (or more) cores or intel i9 (12900 in my case) ?

lofty magnet
#

I mean, what kind of ARM?

twin garden
#

Ampere Ultra

livid crag
#

i9 will be 100% better in that case.

twin garden
#

Okay thanks ! 😄

inner swift
#

That i9 has only 8 performance cores/16 threads

#

Unless you're in a pretty specific configuration you can assure will run fine in this small amount of P cores, you most likely want to be running Paper instead

tawdry tide
#

Just want to discuss, don’t know what channel should I use.

Is there any public server that has successfully use folia and maybe have more than 500 players?

finite hinge
#

I don't know if there are any servers where it even makes sense to have 500 players other than survival ones (anarchy or not) and I don't think any of those are that big anymore

tawdry tide
#

Yeah, so basically I’m considering using folia to accommodate more than 500 players on the network, the gamemode is survival. I also still don’t know whether folia is stable enough to be used in production.

#

Just started reading about folia today so my knowledge is very limited atm

finite hinge
#

If you're looking for the ability to add/remove worlds (like per-player survival worlds or something) that isn't a thing with Folia

#

If you have a fixed number of worlds you can fit 500 players on then it depends on your setup

#

Expect to do a lot of plugin development though, plugins need to be ported to Folia, not many public ones are, and depending on the plugin it could be easier to rewrite than port

tawdry tide
tawdry tide
#

Would it be fine to make a world with 50k borders for example in folia?

finite hinge
#

That might be large enough for 500 players, sure

#

That's also going to be like 500GB

tawdry tide
#

Yeah that’s true.

#

Ideally what should be the ram allocation per server instance?

#

Also what would be the recommended maximum players?

fair merlin
pallid radish
#

Went to like 500 players last night. Didn’t see any big issues

#

But to create one you need good hardware

livid crag
#

DonutSMP is also running modified Folia.

tawdry tide
#

Ah, good to hear.

last depot
ornate frigate
#

I am looking to give Folia a first try and got a couple questions:

  • looking at docs of "server shutdown process", if I want to change blocks in onDisable(), am I right that it's always safe in onEnable/onDisable since region ticking is disabled?
  • "ALL scoreboard API is considered broken (this is global state that I've not figured out how to properly implement yet)" - is it not usable even when scheduling scoreboard API access to player's scheduler or Bukkit thread while also giving each player a unique scoreboard?
  • any details on what's exactly broken in respawn process or login events?
viral stone
#
  1. No, because it's global state, not player state; The entire API is disabled because theres no real way to enforce that it won't crash the server out due to how it's accessed
  2. Not sure what you mean, but, a lot of teleporting and such early on is asking for issues, folia makes crashes there more likely due to the fact that it can't allow bad state to occur as easily to prevent you from breaking stuff harder
ornate frigate
#

"Most API that interacts with portals / respawning players / some player login API is broken."

viral stone
#

not sure about player login API

#

the rest is because you can't fire an event with 2 contexts

ornate frigate
viral stone
#

yes

ornate frigate
#

I understand thread of PlayerLoginEvent could be something random, and the proper one will be at PlayerJoinEvent right? but if I don't do anything suss in PlayerLoginEvent like accessing inventory or location, could something really break?

viral stone
#

I mean, I have no idea what is broken about that API

ornate frigate
#

"Proper asynchronous events. This would allow the result of an event to be completed later, on a different thread context. This is required to implement some things like spawn position select, as asynchronous chunk loads are required when accessing chunk data out-of-region."

is database stored spawn location fully impossible right now?

viral stone
#

yes

ornate frigate
#

ouch

viral stone
#

wait, I mean, no

#

nothing stops you from doing that, you just need to use the API properly

#

or, well, there is no respawn event

ornate frigate
#

so PlayerInitialSpawnEvent.spawnLocation would work normally but I can't control where player respawns

#

🤔

viral stone
#

yes

ornate frigate
#

hmm, maybe if I pre-set it with setBedSpawnLocation?

#

during PlayerDeathEvent even troll

strong nimbus
fierce knotBOT
last depot
#

also more context would be helpful

strong nimbus
livid crag
#

What do you need help with?

onyx oracle
#

does anyone have any worldedit version that works on folia 1.21.4?

hexed dome
#

How can I please compile the latest version of folia 1.21.4

viral stone
#

clone repo, checkout branch, apply patches, and build

#

basically, refer to the paper readme for the last 2 steps

last depot
hexed dome
fierce knotBOT
livid crag
finite hinge
#

Step 1 would be posting the actual error not the source code for the error as displayed in some JS-heavy webpage

hexed dome
fierce knotBOT
viral coral
storm tangle
#

Is folia better than paper performance wise if all players are located within a small region?

inner swift
#

No, it's slightly worse

storm tangle
#

Alright thanks

prime juniper
#

can anyone help me
i was applying patches and got these error
Task ![paper](https://cdn.discordapp.com/emojis/1083367211965628448.webp?size=128 "paper")patchSpigotApi FAILED Task :getPaperUpstreamData FAILED

hazy lark
#

Hello!

I got a folia server set up on 1.21.4, on a ryzen 9 9950x dedicated server, and i have a quick question i ran "tps" and i got

 - Load rate: 101.80, Gen rate: 7.73```

" - Utilisation: 244.8% / 300.0%" 
i assume once it hits max it might start too lagg? is there any way that i can make this higher? 

Server is running on a pterodactyl container, and the startup flags are 

```java -Xms1G -XX:MaxRAMPercentage=95.0 -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true --add-modules=jdk.incubator.vector -XX:ConcGCThreads=10 -XX:ParallelGCThreads=20 -jar server.jar --nogui```

30 threads allocated to this server.

(also amazing job with folia, it's actually impressive how better it performs than a paper server)
#

Feel free to @ me on reply

viral stone
hazy lark
#

mhm i see

#

Should i make it higher?

viral stone
#

if you want to have more threads available for ticking regions, yes

hazy lark
#

👌 thank you, will make it 6

hexed dome
#

Would someone please build me Folia 1.21.4
I still can't build it thanks
🙏 🥺

viral coral
#

if you can't build it, probably don't want to run it

hexed dome
#

I want to

#

run it

viral stone
#

it's pre-release quality software of which support is limited for

finite hinge
#

You need to be a plugin developer to run Folia, basically

viral stone
#

you're likely going to have to compile other things and maybe even consider writing your own plugins

finite hinge
#

Or have a plugin developer on staff

viral stone
#

lol, that error; update your JDK

manic quarry
#

tiny heart attack

obtuse basin
#

lol

tall marsh
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.

limber plank
#

it updated new versions recently

hexed dome
#

I've sorted it out and I've got the build

limber plank
hazy lark
fresh thicket
#

im running paper, my server has troubles with tps due to entity ai (too many entities). However its not using all resources (cpu and ram) will folia help me?

tawdry gullBOT
#
Please provide a spark report

spark is a profiler bundled in Paper for troubleshooting performance-related issues. Please run /spark profiler start --timeout 300 while the performance issue persists.

After 5 minutes, paste the URL given here so it can be reviewed.

livid crag
#

Please provide a report first @fresh thicket

#

And whether folia can help you or not really depend on your server setup. Are your player always more than 1000 block away from each other? Do they never want to group up etc

#

Do you have the hardware required? More than 16 cores recommended.

fresh thicket
livid crag
little sable
#

It asks for help, but does not want to provide any information5543suschicken

finite hinge
#

They're running an offline mode server so can't give any details 😛

last depot
#

well was yesterday didnt read that is why i sent that

#

also yeah i bet that is the reason too

#

iirc folia has problems with entity AI too to begin with but not sure

little sable
#

the only problem is when the region is frozen

bright belfry
#

What's the big difference between folia and paper?

fair merlin
#

Generally Folia is for large servers with lots of RAM and high core count CPUs that have players spread far apart.

rich elm
#

I'm not sure if I fully understand how Folia works, but is there a way to configure it to split regions more aggressively? Specifically, I'm looking for a way to divide the world into two regions with minimal distance between players.

finite hinge
#

No

gentle shadow
#

English/Ingles
Hello When copying my world from 1.20.4 to 1.21.4, everything is in place, but the trial chambers and the pale forest do not appear.
They only appear in new chunks, not in chunks that were already created.
Do you have any idea what I can do to make the trialchambers and pale forests appear without losing everything that is already built?

#

Español/Spanish
Hola Al copiar mi mundo de 1.20.4 a 1.21.4, todo esta en su lugar, pero no aparecen las trial chambers ni el bosque palido.
Solo aparecen en nuevos chunks , en los chunks que ya estaban creados, no.
Tienen alguna idea de que puedo hacer para que aparezcan las trialchambers y los bosques palidos sin perder todo lo que ya esta construido ??

idle furnace
#

depending on the seed, it will only apear on some places, that may be already taken by previous biomes

#

donno how to check what places should have it, but you can use a map editor (after backup your world) and delete the several sections, to for it to regenerate

#

**or **in current map, use find biome command to see if it shows you any

gentle shadow
#

@idle furnace hablas español ?

dire pebble
idle furnace
gentle shadow
#

ok i'm google translator 😔

idle furnace
#

🙂

gentle shadow
#

Do you have any ideas about being able to copy the constructions to the new version?

#

Building the spawn took a lot of time and effort, it would be very sad to lose it

idle furnace
#

te refieres al nuevo bioma, o copia de constructiones para otro mapa?

gentle shadow
#

construcciones

#

solo las construcciones

#

only constructions

#

I enter 1.20.4, copy and save everything built, then I enter 1.21.4 and paste or whatever

idle furnace
#

puedes utilizar worldedit, pero te requiere con servidor paper, que el plugin no lo soportan todavia en folia, despues es solo cambiar el servidor a folia (siempre en misma version minecraft) se me explico

gentle shadow
#

I apologize for not speaking English

idle furnace
#

np

#

but you are doing well

gentle shadow
idle furnace
#

don't forget to make a backup before experimenting that

gentle shadow
#

The good thing is that the few plugins that I use, in 1.21.4 work well jajajajaja

#

🤷

idle furnace
#

first try /locate biome ... command on your 1.21.4

gentle shadow
#

Apparently there is no other option but to work like a mule using world edit and going from version to version.

idle furnace
#

the world can always get bigger, so it sould look for a new place where it can generate that biome

gentle shadow
vapid lynx
#

I am currently at the point where I have to make a decision. I know that folia is unstable and has less compatible plugins but when running a normal papermc server, the tps usually starts dropping below 20tps when there are more than 10 players spread around the world, running farms and having a lot of entities at their location. The question is, if it is worth to switch to folia when my server scales more and more with players since I have like 50 ish plugins and need almost all of them. My CPU isnt bad but I dont want to go extremely overkill with a cpu that only has like a bit more single core performance, when my cpu is most of the time at 10% usage.

fair merlin
#

If you're dropping below 20tps with only 10 players you should be trying to figure out why that is and correct that.

#

If your current CPU can't handle 10 players on Paper it very likely won't handle 10 players on Folia. Even if they were spread out far enough.

#

And of course if your plugins aren't all Folia compatible the question is kind of irrelevant. Sounds like you'd need better hardware and then custom plugins or to drop a bunch of stuff.

viral stone
#

need almost all of them
I mean, you're screwed on that front...

#

if you have a bunch of cores, Folia will be able to take advantage of them if configured properly

vapid lynx
#

I've seen servers with less good hardware run better but they had much less farms, entities etc. I also dont believe that its a problem that the server runs in a docker container. Chunk generation is a big part but the tps drops also happen when already loaded chunks happen to be loaded. I thought that this is due to some bugs so I completely made a new papermc server with the same plugins and left the settings like its default (except the threaded setting for chunk gen). And it happened again. I am not sure if this is due to a fact of the amount of plugins or the amount of farms and entities or the amount of player spread.

viral stone
#

chunk loading is async and has been async for years, unless you've got something inducing sync loads, the impact on performance is generally limited unless you just do not have the resources available

vapid lynx
#

then I wonder what the setting is for in the paper.yml

viral stone
#

what setting?

fair merlin
#

Poor performance with 10 players is bad hardware or bad configuration, generally.

Figure out what your actual issues are and then try to find out how to resolve them. Swapping to some other software isn't going to magically fix anything.

vapid lynx
#

I am not sure if it is the cpu which isnt used to its full performance or some weird other sh*t. But I thought since Folia uses more CPU cores, it could fix the issue

fair merlin
#

Probably best to go to #paper-help and start with a spark report when you're experiencing issues. Isolate the actual problem(s) first.

vapid lynx
viral stone
#

well, yea

#

chunk gen and loading has been async for years

#

those let you configure how many threads to toss at that work

untold shard
#

does 1.21 folia have all patches?

fair merlin
gloomy vault
#

Does anyone have the lastest folia build?

arctic tapir
#

build it yourself

gloomy vault
#

I have one of 1.21

#

But need the 1.21.1 one

fair merlin
#

You also should be running the most recent version, given that it’s still in development and has a lot of fixes with every version.

peak adder
#

Folia sync latest Paper ?

livid crag
#

It regularly pull patch from paper yes

peak adder
#

still outdated now

livid crag
#

Be patient

#

Or else

finite hinge
#

Folia has to be rewritten thanks to hardfork

#

Not a complete rewrite but yeah

analog sonnet
#

Would folia run better than normal folia on a raspberry pi

daring nimbus
#

no

analog sonnet
#

I mean

#

Normal paper

daring nimbus
#

a raspberry is absolutely awful hardware for a Minecraft server

fair merlin
#

Absolutely not.

analog sonnet
#

Ik that

fair merlin
#

Folia wants better hardware, not worse hardware.

#

So no, it will not run faster than Paper on a pi.

daring nimbus
#

you want strong single core performance, the raspberry is not that. Folia has some additional overheads and generally runs slightly worse than Paper if you only have a limited amount of cores

analog sonnet
#

But I can’t leave my pc on 24/7 so that my only option

#

So I should just run normal paper ig

daring nimbus
#

You could use a proper host

analog sonnet
#

And I have a raspberry pi

daring nimbus
#

Well there are free hosts too

analog sonnet
daring nimbus
#

surely

analog sonnet
#

My friend owned a hosting company

#

That’s why I did not need my raspberry pi for this until now

#

But he got a lawsuit

daring nimbus
#

if you have a credit card, oracle cloud is free and much better than a raspberry. there are other options too.
The Raspberry will work with really low settings for maybe less than 5 players, but thats about it

analog sonnet
#

I’m just planing on having a lot more than that

fair merlin
#

Then you need proper hardware

analog sonnet
#

So I’ll just do a ton of optimisations

analog sonnet
#

But I’m stilll broke

fair merlin
#

There aren't enough optimizations to allow a "lot" of players on a raspberry pi.

fair merlin
#

Well good luck.

#

Either way Folia won't work for you.

unkempt harbor
#

AFK simulator

analog sonnet
unkempt harbor
#

Even paper will prob struggle on rpi

fair merlin
#

Yes, we've covered that.

analog sonnet
#

Just not a lot

#

Which is what I need lol

unkempt harbor
#

Ok msg just loaded welp discord is fucked again fo rme kekw

analog sonnet
#

It’s a pi 4 too

#

Bye

marsh heron
livid crag
#

It’s ok it’s a lesson to learn

analog sonnet
#

I have spare water cooling

#

I’ll make a custom loop

#

I have seen people do it before

livid crag
#

Well you can only make a bicycle go so fast before it just falls apart

daring nimbus
#

watercooling a raspberry instead of spending a few dollars a month on a host is certainly a choice
But thats out of the scope of this channel, Folia won't be faster in any case

analog sonnet
#

That’s the other reason why I need a dedicated server more of

#

Cheap ones

livid crag
#

Cheap and dedicated don’t usually go in one sentence …

fair merlin
#

At this point we should end the convo or move it out of the Folia help channel.

Folia isn't suited for the application and anything else is just a conversation about hardware/hosts.

analog sonnet
#

Just woundering if I pre-rendered the entire thing would that improve it a lot more

#

Last question

#

Then imma dip

fair merlin
#

You need to run Paper.

analog sonnet
#

Ik

fair merlin
#

But pre-genning is always better.

analog sonnet
#

Ok

livid crag
#

It will make it less horrible but still horrible.

fair merlin
#

In the future Paper help questions should go in #paper-help

analog sonnet
#

Ok

fair merlin
#

Also you're going to get SD card failure on the pi.

#

So take backups.

analog sonnet
#

or something

fair merlin
#

But anyway, move convo to #general if you have further questions.

analog sonnet
#

K

#

Can I ping u there to ask one more thing

fair merlin
#

Just ask it, don't ping.

analog sonnet
#

Ok here or there

analog sonnet
noble brook
#

how do i compile folia for linux?

viral stone
#

it's not platform specific

noble brook
#

but the thing is i cant compile for 1.18.2 how do i do that? if that version to old what about other versions?

tawdry gullBOT
#
Folia

Folia is a fork of Paper that adds multi-threaded region support. Many plugins will require updating to support Folia. There is no ETA for publicly available builds.

For more information:

Folia will:

  • NOT be backported to older versions <1.19.4
  • NOT be merged into Paper
  • NOT be ported to Fabric nor Forge

Stay tuned to #announcements for any further info about releases.

fair merlin
#

But there isn’t even a 1.18.2 branch for it anyway

#

That predates Folia

noble brook
#

what does snapshot mean?

viral stone
#

it's a non-release build

#

but, the entire bukkit based ecosystem hasn't done release builds since bukkit died

#

everything is just 'rolling release'

noble brook
#

i thought it said plugins basically have no support? does viaversion have that

viral stone
#

The majority of plugins do not have folia builds and will never have folia builds

#

if you want to use folia, there is an expectation that you're willing to deal with your own plugins

timid grotto
#

the barrier of entry is high for folia in several places

crimson folio
#

Although the most popular plugins seem to be slowly adding support for folia. For the plugins that don't support folia there is a non-zero chance to find an alternative that does support it. It's much lower of a barrier today than a year ago.

tulip swift
#

why new BukkitRunnable() {}.runTaskLater(this.plugin, 2400); doesnt work in folia

fair merlin
#

But that's not going to work in Folia.

#

That scheduler doesn't exist.

#

Make sure you read the documention that's available here/etc. It's not plentiful but there's some.

zenith badger
#

Hi everyone ! I'm really interested in developing a Minecraft server with the ability to host many more people than what is currently possible, so naturally, as I already knew Paper, I easily found my way to Folia.
I've already developed some Minecraft servers with my own plugins (using Paper), and I was wondering if Folia was somewhat "Production" ready yet. With that, I don't mean it to be entirely perfect, or as great as Paper, but in its current state, would you recommend someone to work on a plugin compatible with it other than for testing purposes ?
Similarly, is there any broken features that I'd probably need as a standard base plugin ? (I already read the "Current Broken API" Section on the Folia GitHub Page)
Also, I noticed there doesn't seem to exist a complete Folia documentation, especially for the dev part, therefore my question is, is Folia really that different from traditional Paper in terms of plugin development to the point that I would need to "relearn" everything ?
And finally, is there some extensive documentation of Folia tests in the wild ? (That'd be great to have insightful reports to make sure Folia is going to fit my needs)

Thank you for reading !

lofty magnet
#

plugin development is basically the same, just that you need to keep the multithreaded nature in mind

zenith badger
#

Ok great. Yep, like I said, I do not intend to use existing plugins, but to create my own plugins.

lofty magnet
#

having a database says nothing about whether or not it will work properly with multithreading

zenith badger
#

Nice !

zenith badger
lofty magnet
#

no, you just need to make sure your data structure is multi-threading compatible

zenith badger
lofty magnet
#

and how you access it too. Use cases where even a database needs to only be accessible from a single thread at once are easy to imagine e.g. economy transactions

#

a database is a data structure so it can work, but for a simple case it's overkill. Especially if data doesn't need to be stored beyond the current runtime and not shared with another server in some way

lofty magnet
#

all normal software development praxises apply, just because it's a game server it doesn't change that

zenith badger
#

Would you also recommend it for a production-ready environment ?

viral stone
#

There are many servers running it just fine

#

you just have to be weary of the caveats and the much smaller community support for it vs paper, etc

zenith badger
#

Ok great to know ! Like I said in my questions above, is there any report of servers using Folia ?

lofty magnet
#

this channel probably holds most info about that xD

zenith badger
#

I mean, insights and details that might be interesting.

lofty magnet
#

I mean that too

viral stone
#

We don't have a list of servers which have used it and posted blogs about it, etc

zenith badger
viral stone
#

There was like, some blog post from leaf testing it and getting a bunch of people on, but, other that that, don't really know of much other than 2b2t uses it

zenith badger
viral stone
#

nope

zenith badger
#

Ok, well thanks for everything. I'll give Folia a try !

wicked mantle
zenith badger
wicked mantle
#

not that I'm aware of

zenith badger
#

Yeah, but do they have advanced plugins in place too ? If so, then It's really great.

lofty magnet
#

I would assume they have near zero plugins installed

zenith badger
#

Yeah of course !

zenith badger
#

Not on a single server though, that'd be insane.

#

Though Multi-Paper seems kinda abandoned compared to Folia ?

livid crag
#

We don’t really follow or want to comment on other project not related to us so we have no idea but yeah donut has their own custom made solution / load balancing that built on top of multiple instance of modified Folia. Very neat.

zenith badger
#

Alright, interesting.
Is there any plan to add many players in a single spot too for Folia, or it's not considered at the moment because of how regions work ?

#

What were your thoughts ? 😂

viral coral
#

probably breaks more

finite hinge
#

Dunno if that would even be enough

zenith badger
#

That's what I figured.

livid crag
#

Not even modern mmo achieves that

#

Rather actually most modern mmo instance/dungeon-ize their worlds too

zenith badger
crimson folio
#

There are mc server implementations that exist out there which are not based on the vanilla jar. One of those might have what you are looking for

#

They will certainly not have feature parity with vanilla

#

But if it's for a minigame or hub type of server, then it's probably fine

zenith badger
#

I'm not looking for having massive amounts of players on a single point (that'd be overkill 😂 ), I'm just curious how far all of this could go.

plain shuttle
#

Hey
i am running the latest dev version of folia 1.21.4 and i noticed that the stone cutter is buggy. you get other materials out when you click on stone walls for example you get slabs. is that already a known issue?

daring nimbus
#

any plugins? that really sounds like a plugin issue

fair merlin
#

The hardfork and holiday kinda messed with Folia timing.

hazy lark
#

Gotta love folia, i hope it becomes a standard (for plugins)

fair merlin
#

Definitely not for everyone.

hazy lark
#

yea ofc just gotta love the performance gain

fair merlin
#

Can be, for sure. If you have the hardware and playstyle requirements.

subtle acorn
#

Does anyoneone else have issues compiling Folia for 1.21.4? The latest version i can compile is 1.20.4 with Java 21

viral stone
#

I think it's on a different branch?

subtle acorn
#

I'm trying to compile the master branch however i'm getting errors when using the gradle createmojmap command

viral stone
#

1.21.4 is not on master afaik

ancient sigil
#

Hi ! Is there a tutorial to install folia on a server ?

timid grotto
#

the fundamental setup is the same as paper, but to actually get the server jar, you will need to compile folia yourself

fierce knotBOT
subtle acorn
tacit tartan
#

Did you send the correct link? This is an HTML file...?

arctic tapir
#

That's the new gradle problems report stuff

#

generates a html file

subtle acorn
#

i opened it in a text editor and just copied everything and pasted into pastes.dev

arctic tapir
#

try a clean clone, applyPatches etc

subtle acorn
#

i have tried that many times unfortunately

#

i get the same errors each time

#

i copied this directly from the terminal

inner swift
#

What's the output of java -version?

subtle acorn
#

java version "23.0.1" 2024-10-15
Java(TM) SE Runtime Environment (build 23.0.1+11-39)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.1+11-39, mixed mode, sharing)

subtle acorn
#

i uninstalled Java 23, how do i change the version to use

tawdry gullBOT
subtle acorn
#

i tried reinstalling java 21, when doing java -version nothing appears

fair merlin
lunar niche
plain shuttle
#

i have a plugin that spawn in the end many mobs and i hit the mob limit because there will not spawn more mobs
does Folia has a different mob cap? i checkt the cinfig in paper-world-defaults.ymp is at spawn-limits all -1 but there is somewhere a mob cap are there other settings?

inner swift
#

The limits are in bukkit.yml, setting these to -1 means "use the setting there"

inner swift
#

Attempting to disable mob caps will just break your server, though

#

Too many mobs, too many spawn attempts, etc

plain shuttle
#

ok ok

#

my plan is to double the limits it is only for the end event

inner swift
#

Oh, ok

#

You can do that in the paper-world.yml file within the end folder

plain shuttle
#

could you send me an example what i need to paste in the file can i only paste the entity limit stuff in there?

#

or copy the paper-world-defaults.yml file?

livid crag
#

You copy the ONLY thing you want to change

#

you have to make sure all the parent cetegory are on it as well

#

also I dont think you understand what you say " double the mobcap "

plain shuttle
livid crag
#

it will do nothing if there are no space to spawn them.

#

it will also not make mob spawn faster.

plain shuttle
crystal lily
#

Could someone explain to me how folia handles a pearl in a different region than the thrower is in being pulled?

crimson folio
#

The teleport is unlikely to happen in any predictable timeframe given that the region the player is currently in might already be ticking, might have just finished, might just be about to start.

idle stratus
#

could someone send me the latest version of folia because I cannot compile it myself

#

I keep getting issues on command prompt when compiling

crimson folio
#

you need to be able to write code to use folia

#

(that includes knowing how to build java programs)

idle stratus
timid grotto
#

if you cannot compile folia, you probably shouldnt be using it

raven mesa
#

Does anybody have a good idea how to deactivate the player collision?
Simply sending a scoreboard packet with the collision rule wont work (maybe im doing it wrong, could be possible)
Also methods like player.setCollidable(false) did not work.

idle stratus
#

i only need it for pre generating chunks

tacit tartan
#

If you're only using folia to pregenerate chunks then switching back to paper, that completely bypasses any potential benefits Folia provides

nova zephyr
#

hello

#

i have problem on folia 1.21.1

#

i want a world manager on this

#

but can't find anything

#

i try MoreFoWorld

#

but plugin not loaded

tacit tartan
#

Space bar not the enter key please.
If you're having problems with a plugin, talk to them

nova zephyr
#

also

nova zephyr
#

when i use 1.21.3 and 1.21.4 folia

#

this error printed on console when i waned to join

#

but i don't use packetevent 2.0

hexed ice
#

one of your plugins uses it as a library

nova zephyr
#

can be from viaversion?

nova zephyr
#

its k?

ashen meteor
nova zephyr
nova zephyr
#

its good?

#

for 100 max player?

ashen meteor
nova zephyr
#

yes

ashen meteor
nova zephyr
#

i use proxified

#

with velocity

nova zephyr
#

nice

#

ty

nova zephyr
#

and sry for bad eng

tacit tartan
#

"16 core xeon" could mean anything. It's like saying you've got a Ford vehicle - could mean a big beefy F-350 pickup, could mean a tiny little Fiesta. If you share the model number, we can provide some insight

nova zephyr
#

k

#

wait

nova zephyr
tacit tartan
#

Is that entire CPU dedicated to you, or is it shared amongst others? i.e. is this a dedicated machine, or is it a VPS or shared hosting plan (i.e. a MC-specific plan with a MC panel)

nova zephyr
#

without sharing

tropic yew
#

Does anybody know how to activate Sand-Dupers on a Folia Server because I tried many different Sand-Dupers and all of them worked in my singleplayer world but not on the server. The server is on the version 1.21.4.

tawdry gullBOT
tropic yew
#

Hey I tried this but, it still does not work. I enabled the settings what are on the website and I restarted my server but it didnt work.

raven mesa
nova zephyr
#

why my performance is like this?

raven mesa
nova zephyr
raven mesa
#

I would suggest reducing the entities, the regions are fixed size if im not wrong there?

livid crag
#

Please read the folia readme for how Folia can be best used.

#

You only have 26 players, Paper will run much better and faster

nova zephyr
livid crag
#

if your player aint anti-social and be a few thousands block away from each other regularly, running Paper will be much better.

livid crag
nova zephyr
#

i test the server with leaf

#

and dosen't get good performance

#

thats why i swtich to folia

livid crag
#

Please switch back to Paper

raven mesa
#

You should use the Spark profiler to identifie the problem of the high load.
Just using Folia is not the correct decision

livid crag
#

and if you have performance issue, send your spark report to #paper-help

nova zephyr
#

can i send my folia spark?

livid crag
#

You are already told the issue is likely player being too close and too many entites in one region.

#

a spark report will just tell us the same story

nova zephyr
#

nearly 80

livid crag
#

are they going to be few thousands block away from each other?

#

if not, Paper will still run better.

nova zephyr
livid crag
#

so Paper will run better.

raven mesa
#

Are all players inside this radius?

nova zephyr
#

no my worldboarder set to 10k

#

can you check my configuration?

#

i change few part of paper

livid crag
#

oh you are running cracked server, we do not support that

nova zephyr
#

bro

raven mesa
#

I have never seen that many JVM Flags are they all needet o.o (wouldnt call me an expert on those)

livid crag
#

nah half of those are useless

#

the person probably just copy and pasted what other people told him to use without knowing what it does -.-

#

typical

nova zephyr
#

i just want to get best performance

#

i spend 5d to compile folia and fix plugin compability with it

raven mesa
#

https://paper-chan.moe/paper-optimization/#Configurations
With this guide you can conquer lots of your problems, because its just as i thought ... lots of Entities, probably lots of farms etc. and combined with the fact that they are all in the same region. so tell them to spread more. Otherwise you should really get back to paper.

Paper Chan hideout

The most complete Minecraft server optimization guide with everything you need to know about running a Paper Minecraft server plus Paper Chan!

livid crag
raven mesa
#

Oh didnt knew that

livid crag
#

Discord disallow any discussion around piracy on partnered server.

narrow tangle
#

hello i need some recommendation or suggestion regarding server performance.

I am running a redstone SMP with folia which allow players to build giant redstone farms and machine such as piglin farm/guardian/carpet farm. These redstone machine rely on vanilla mechanics, they need to run with vanilla config without any optimization such as reduced view distance, nerfed AI, reduced entity-tracking-range or entity-activation-range,etc.
(you can check this fb post video to see some of the redstone machine in my server)

The current problem I am facing is that my folia is server is getting laggy. My server run on 9950x cpu with sn850 2TB and 128GB ddr5 ram on ubuntu desktop. Normally I have around 100-120 players online at the same time with 10-20 redstone machine that produce 200K-1M entity/hr. The server can still run fine in this situation with tps median of 18-19. However I am getting more players during holiday, now I have around 170 players online at the same time playing giant redstone machine, Folia tps median drop to 10.

Since the game play style require less modication/optimization to server setting such as spigot.yml paper-global.yml paper-world-defaults.yml, is there any method / work around method to improve my server performance? (like buy a computer with cores more than 9950x, threadrippers? but is expensive)

livid crag
#

The only real way is split players into different servers.

narrow tangle
#

yes but if thats the case then I can directly switch to use paper instead. My server community does not want to split into different server, that's why we are using folia. 😢

livid crag
#

There are ways to make it seems like everyone is play on one map

#

You can look up how donutSMP does it. They run modified Folia with multiple instance of Folia to make up the big world.

#

I think they have like what? 8000 players?

manic quarry
#

but who knows if that player count is real ¯_(ツ)_/¯

#

at some point you just can't confirm nor deny it

livid crag
#

Looking at the growth of their discord server and the level of spam there I think it’s organic

manic quarry
#

now make an event that makes players huddle together in one region >:)

livid crag
#

I’ve seem some basic demo talking to the person handling their infra, it’s quite impressive indeed.

manic quarry
#

I'm just curious what kind of hardware it takes to host 8k+ players

#

and how fast world grows

spare swallow
#

Is there Folia stats on bStats like how it is for paper?

livid crag
spare swallow
#

ah thanks 😄

raven mesa
#

Does somebody have advanced networking knowledge? I have a really challenging problem.
I don't know if its client sided, server sided or ISP sided. So i need somebody who could help me trouble shooting.
My problem is, that others don't have this issue, only me ...
The current Network i have is a Velocity proxy with a purpur server as lobby (still on 1.21.1) and a folia server (1.21.4) as main server.
If i connect to my server velocity forwards me to the folia server and I basically time out directly. The issue is, that this problem doesn't occure permanently its just sometimes there and sometimes not.
I discussed this issue on the Paper-help thread, there we thought this must be an MTU issue (this could still be the problem) so i changed my local max MTU size so that packet loss because of the DF flag shouldn't be a thing. It worked at first. Now the Issue shows up again, even worse the last time.
I monitored the packets with Wire shark and noticed, that basically all the receiving packets from the server are at the max MTU (thats why i think, that this could still be the problem)
If i'm going on the lobby server everything works perfectly fine!!! If i try to connect to the folia server the problem occurs.

I'm really out of Ideas how to identify the cause and need your guys help. Its so extremely frustrating.

raven mesa
#

No, only protocolLib, HeadDB and self coded plugins. Those shouldn't be related to the issue.

little sable
#

ok, how much did you set your io-netty thread to?

#

it's in spigot.yml

raven mesa
#

Currently 4

little sable
#

for how many players?

raven mesa
#

The server is still in development, so its not yet publicly available. Most of the time just me or my builders.

fair merlin
raven mesa
#

Its in a datacenter, and i have full access.

#

I also dont think its on the providers network side (because while i had the issue, two others could do anything without problems)
So the issue probably is somewhere between my client, the ISP and the entry point of my host server.
The initial guess would be that ICMP packets are blocked somewhere on the way whats causing problems with the MTU.
But even switching to a VPN wouldn't improve something.

nova zephyr
fair merlin
raven mesa
#

You mean with different boxes different hardware? No they are on the same device.

fair merlin
#

If it were me I would take the exact setup and rent a VM or something somewhere and toss it on that and try to connect to see if you have the same issue.

As long as the routing is different you can eliminate something on that side as a culprit.

#

I’m guessing this still happens when you have zero plugins and just a single velocity instance and Folia instance?

raven mesa
#

I have already thought about that too, but it wouldnt really tell me anything. Because the problem doesnt occure permanently 😂 thats why its so tricky. Today it was very annoying, while i didnt had the issue yesterday, sometimes it switches inbetween. Thats why im about to give my ISP a call. I have the feeling that this is an issue on theyre side.

#

Yes this also happens with 0 plugins. Tried that multiple times, also restarting machines (local, and remote) wont do any change 😅

#

One thing i havent confirmed yet (will do this tomorrow) if other programms disturbe the server.
Im running several docker container on the device for testing aswell a kubernetes master node. (But the problem was present befor kubernetes so this shouldnt be the problem)

#

(No velocity, the purpur & folia instances are not running in containers)

narrow tangle
# narrow tangle yes but if thats the case then I can directly switch to use paper instead. My se...

Since I have no way to know how donut SMP infrastructure works. I guess the only way I can work around is to increase server performance by using better cpu. Is there any recommended cpu or cpu series that I should have? (e.g. threaddripper) Should i read the passmark cpu list to find a cpu with higher cpu mark than a 9950x?

inner swift
#

Depends on the source of the lag

#

A better CPU will not help if the issue is that there's a lot going on in one region

raven mesa
#

So thats really cool, i didnt knew that bbr existed. I already played with the Idea to experiment with different congestion settings like Tahoe or cubic, but bbr worked directly!
If i have the Problem one more time i guess i will get back to you haha 😄

viral coral
#

i have had congestion algorithms introduce different kinds of lag

#

e.g. bbr specifically introducing lag to our noteblock music (and potentially other things but music is pretty noticable)

raven mesa
#

to be honest, i can now play on my own server, even without noteblook music i guess its the trade of worth. 😄
But jokes aside, yeah this is long term probably not the best solution, but until i can identifie the true source of the Problem (i still think its on my ISPs side) this works best for me.

#

But i still dont really know how i can track down the issue .-.

sullen cipher
#

r

sinful wyvern
#

Hi

#

Should a Xeon 8173M *2 server be sufficient for an SMP with around 300 players?

#

or Gold 6140 *2 is enough?

#

All plugin codes in the server do not have blocking API usage (like jdbc).

livid crag
#

are those 300 players almost always few thousand block away from each other? @sinful wyvern

sinful wyvern
#

it seems that groups of 10 people will be separated from each other

#

the server is like a Towny server

#

@livid crag

fair merlin
sinful wyvern
#

Even if NUMA is not supported, isnt it still possible?

finite hinge
#

NUMA might work but it might cause enough slowdown that you'd be better off using less cores and RAM to keep it all on the same NUMA node

#

No one has done any benchmarks afaik

sinful wyvern
#

okay, thanks!

fair merlin
sinful wyvern
fair merlin
#

The only thing I’m talking about is a VM vs a dedicated machine.

#

Anything else you’d have to experiment with.

#

If you’re using kubernetes you’d be better off with containers than VMs though.

peak adder
#

Folia will update papermc?

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.

peak adder
#

i know NOT ETA but latest is 1month ago Will there be any significant differences?

livid crag
wraith sphinx
#

Hello!

#

Multiverse won’t work for folia bcu they haven’t added proper world loading/unloading support

fair merlin
wraith sphinx
#

When can you get this sorted?

fair merlin
#

There isn't really a timeline.

#

Someday, probably.

#

When? No idea.

#

Folia is still experimental work-in-progress software.

#

With pretty specific requirements and use cases.

#

Not really intended or built for everyone.

wraith sphinx
#

I know I had to write a lot of new plugins to get everything working

wraith sphinx
#

basic plugins

fair merlin
#

If you had to write plugins I'd think you'd understand that pretty easily. Things are a bit different than Paper.

outer mural
tall marsh
#

Also

tawdry gullBOT
#

Please send large files/logs to a pastebin

nova zephyr
#

ok ty

wraith sphinx
outer mural
#

google is your friend

wraith sphinx
#

Ahh i found xd

wraith sphinx
fair merlin
# wraith sphinx

Not sure what you're saying here. That plugin allows you to load worlds, which sounded like what you asked for.

#

Either way, if it's missing things you want then you need to either use Paper or adjust your usage.

wraith sphinx
fair merlin
#

You'd have to talk to the people who make it if it isn't running for you.

#

We can't really help with software that isn't ours.

ruby bloom
#

Running latest folia commit, Temurin Java 21

ruby bloom
#

Server running in Pterodactyl, resolved issue by decreasing cpu limit

#

Can this happen due to other servers running on same host machine?

fair merlin
thick breach
#

Hey, are there any recomended args?

paper siren
#

worth to note that you need -XX:+ZGenerational when running something pre java 23

#

yeah but you can probably just cut the max heap size in half and still have better throughput :p

#

I‘m not saying allocating less will bring you performance

marsh mapleBOT
#

(678415416ed5010734cf1ace) // @wraith nexus (@ulrichbr / 320396491397136395) has been banned by @hexed ice (331822092477792256)
Reason: compromised account

tulip swift
#

command blocks are bugged

fair merlin
#

Command blocks are on the "things that aren't supported" list.

#

So yes.

fair merlin
tulip swift
#

so no way to run long commands?

daring nimbus
#

a plugin could I guess

viral stone
#

Pre generational zgc, a whole bunch of people had issues due to it not being too happy dealing with keeping up with the gen rates in mc; throwing a metric bunch of ram at it is one way around it if you have the resources, but, generational makes it a whole lot easier to recommend to people not throwing a metric ton of cash at their server hardware

vital path
#

any idea what's causing this pulsing behavior with breaking blocks (resets to 0% broken randomly)? Folia 1.21.4
[System] [CHAT] [PlugMan] Plugins (29): AxInventoryRestore, BlueSlimeCore, CarbonChat, ChangeSlots, Chunky, ChunkyBorder, CMCLinkManager, CombatLogX, CoreProtect, DatapackLoader, Essentials, FancyHolograms, FreedomChat, GrimAC, GSit, helper, helper-sql, LiteBans, LuckPerms, NBTAPI, packetevents, PlaceholderAPI, PlasmoVoice, PlugManX, spark, SurvivalArcade, TAB, Vault, ViaVersion

low flint
#

picking up the block maybe? weird tbf

tawdry gullBOT
vital path
vital path
#

only plugin I think would probably do it would be TAB but idk what blueslimecore is doing for combatlogx

fair merlin
#

Well include it in your first set for the binary search

#

Way faster to do that than try to speculate.

vital path
#

ik

vital path
#

I'm trying a fully clean dev/1.21.4 build in a second here but I don't believe there's anything in my patches that touches anything that should be running during that test

viral stone
#

is it the hitbox of the item entity? o.O

vital path
#

hm, maybe

#

i know we didnt encounter this on 1.21.3 folia

viral stone
#

are you using a vanilla client?

vital path
#

heres what im using for curiosities sake, will try vanilla now

#

any recommendations for packet capture on 1.21.4? all my usual mods are out of date

#

not paper-global.yml

wet arch
#

check to see which options changed

vital path
#

im adding back the old configs one by one rn

#

i suspect spigot.yml may be it

#

doesnt seem to be, hm, there goes my netty threads theory

#

its something in paper-world-defaults

#

doing a diff

fierce knotBOT
small canopy
#

Is there a roadmap for folia supported minecraft versions?

arctic tapir
#

no

daring nimbus
#

that would have one entry, "latest"

vital path
#

okay figured it out

#

setting tick-rates.container-update to 20 is causing that behavior

#

bit of a blind configuration on my part but I figured that wouldn't interfere with players at all

#

going to swap that back to 1

livid crag
#

Do you actually have issue with container updating rate that’s hurting your server performance?

vital path
#

I don't as far as I'm aware. I did however assume it had to do with hoppers/something expensive as the option is a bit ambiguous

livid crag
#

If you can get entity and especially villager under control, most server don’t require any change to the other config so to speak

#

Same thing goes to spawner tick-rate, unless you are running a server that allow people to relocate spawners (bad idea), changing its tick rate to be 4000 times slower do not really do anything. As the chance of a player finding double or triple Spencers within one player’s afk range is small to begin with.

manic quarry
#

someone smart once said: don't fix what ain't broken

#

unless you have a spark report or other clear indication that specific thing is impacting performance, no touchy

vital path
#

yes yes

#

this is a server we were expecting 500 people on with folia, and hit those numbers

#

so optimizations were done kind of urgently as perf dropped with stock settings

#

the stock settings were very much an issue, combined with some memory constraints we were hitting, had to make a bunch of adjustments

#

we dropped to around 400 something by the time we got it under control, running on a AMD EPYC 4584PX, 128gb @ 3600mhz

#

the stock settings had us at like 110k entities across the server which is way too much for 440 people, reducing some limits and such got our tps around 15-18tps per region with around 70 regions

#

couldve improved a bit from there even and we have since

#

we had 32gb alloc at first which was not enough, gc was killing regions (like 10s ticks)

#

with optimization we were running around 40 gbish

#

currently with 85 on we're using ~13.3gb after gc does its cleanup, 22k chunks loaded, ~10k entities

#

so in effect we're at around 40% of stock entities, largely a heavy nerf/disabling to ambient entity spawns atm

#

considering contributing some clarification to container-update in the paper docs

#

the desync potential isn't really noted though it does point out that it affects players

#

some clarification would be good for folks in the future

fair merlin
vital path
#

was pretty stock plugins wise, just async points tracking and some basics. players were spread randomly throughout a 20k x 20k world border playing survival

#

The lack of proper player respawn API has been a pain I've had to work around with some hack-and-slash patching, but it's "working" well enough for the event

opaque rose
#

My server suddenly have problem like villager will disappear in nether under player's loading, is that the problem of Folia?

peak adder
#

Folia dev/hard-fork can't compile?

fair merlin
peak adder
fair merlin
peak adder
#

Ok 😅

chrome loom
#

It builds, runs, and tests, for me at 7dbde1d and 5198c2f

chrome loom
peak adder
#

ok i will try

chrome loom
#

tasks task is your friend

peak adder
chrome loom
#

it would be in *-server/build/…

peak adder
#

Ahhhhh ok

shrewd steppe
#

guys is there any command to download 1.21 version 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.

shrewd steppe
#

Compiling Jar command to download old version

arctic tapir
#

git checkout

shrewd steppe
#

cant find bro

arctic tapir
#

google how to git checkout

shrewd steppe
#

wow thx

#

you are really handsome guy

arctic tapir
#

thanks

fair merlin
# shrewd steppe wow thx

Knowing how to grab old versions is definitely a basic git skill you should learn if you’re going to work with Folia.

shrewd steppe
#

i say thx

fair merlin
#

Sorry, was scrolled up, didn’t see the reply

shrewd steppe
#

i'm asking here bc cant find it

#

there is folia help thats why ask but anyways

#

answers was enough

fair merlin
shrewd steppe
#

i just needed one *** comand

fair merlin
shrewd steppe
#

😄

storm sun
#

folia hard forking?

arctic tapir
#

already happend/happening, or well, adopting the new fork setup (not really a hardfork)

fair merlin
vital path
#

Does anyone know why, randomly, regions of my Folia server will stop sending players entity data? I'm on dev/1.21.4 and certain chunks will just render players invisible. This happens often when players are travelling with boats, and there's no stacktraces in the console when this occurrs

#

The regions are also not "frozen", they still function fine, its just entities fail to be tracked properly.

#

When I have players log out long enough for the chunks to unload, then log back in, it often fixes it

fair merlin
#

Does it happen with no plugins and no client mods (vanilla client)?

late flax
#

While building a server that will use folia does core count become more important compared to the cpu clock speed?

vital path
#

The chunks that don't render entities seem to be within the same region

#

the issue occurs as well on a fully vanilla client

#

is it possibly vertical entity tracking?

#

we have tracking-range-y enabled for perf which is all that i can think of thats "abnormal" for us

peak adder
#

Folia not include Spark ? i alredy enable saprk in paper config

fair merlin
#

It does not. You need to use the Folia specific build of Spark.

peak adder
#

How many CPUs should we allocate, what % of total CPUs, for future farms and large farms?

chrome loom
#

Folia works best on bare metal, with as much power as you can throw at it,

dire iron
#

Guys how do I make my plugin compatible with Folia?

I heard about using the global scheduler thing instead of bukkit scheduler

But I dont know how to effectively synchronize code from async code as "run" method still marks code inside as async (potion add effect cant run)

viral stone
#

There is no 'sync' in folia

tulip swift
#

how to make folia automatically save the game with customized interval? the save-all command is gone

dire iron
#

[16:34:49 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Cannot add effects to entities asynchronously
java.lang.Throwable: null

What is this?

viral stone
#

General gist is that, there is no main thread, regions are their own main threads, you need to ensure that you're in the correct 'main thread' for whatever you're affecting

#

if modifying entities, easiest option is to use the entity scheduler

fair merlin
tulip swift
fair merlin
dire iron
#

okay

fair merlin
#

Sorry, we don't support offline mode servers.

#

Not going to repeat myself a fourth time.

tulip swift
#

its not offline?

dire iron
fair merlin
dire iron
#

He doesn't seem to have done anything wrong and he is requiring help, it seems like you are being unfair to him

fair merlin
sacred island
fair merlin