#folia-help

1 messages Β· Page 38 of 1

tawdry gullBOT
chrome loom
#

Depends on how much load you have different flags may be advantageous.

swift flicker
#

what if you just make a 5000 block line from accounts that will load the chunks?

proper coyote
#

Is Folia worth it for a 10k by 10k map with 500 players?

swift flicker
#

will that be a whole region or a lot of them?

modest kestrel
#

which will effectively make it work like a worse version of paper

tawdry gullBOT
inner swift
#

"Too close to each other" means around 1k blocks or less apart

proper coyote
#

What would you say the minimal map size is to make Folia effective?

livid crag
#

it depend on how your players play

lofty magnet
#

ideally your players are always more than 1000 blocks apart

livid crag
#
  • 2 player never meet each other can be fine on a 2k x 2k map
  • 50 player who always together will not work on any map
proper coyote
#

ahhh, alright

dusk warren
#

You stole my computer

somber fog
#

how do i preview the entity data of an entity?

#

is there an alternative to /data?

daring nimbus
#

a plugin could add a similar functionality

somber fog
#

oh i wanted to avoid making one

#

oh well

#

what does this mean

[01:19:49 ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread failed main thread check: Accessing entity state off owning region's thread, context=[thread=Region Scheduler Thread #4,class=io.papermc.paper.threadedregions.TickRegionScheduler$TickThreadRunner,region={null}], entity={root=[{type=ItemEntity,id=42793,uuid=98fcca7f-a4d1-4cbe-919c-4a104d5503c9,pos=(-33.082,72.988,-9.349),mot=(-0.084,0.032,0.050),aabb=AABB[-33.20654296875, 72.987548828125, -9.474365234375] -> [-32.95654296875, 73.237548828125, -9.224365234375],removed=null,has_vehicle=false,passenger_count=0], vehicle=[{null}], passengers=[]
daring nimbus
#

something attempted to access an entity from the wrong thread

#

make sure you use the EntityScheduler from Entity#getScheduler

somber fog
#

i'm trying to get something to run on the next tick (ItemMergeEvent - i'm trying to modify the merged item after it's merged), so do i just use runDelayed with a delay of 1 tick?

timber igloo
#

besides: the smallest number that runDelayed will work with is 1

somber fog
timber igloo
# timber igloo yes

(well depends with what you mean with "modifying the item after its merged"

#

i.e you cannot cancel the event anymroe

somber fog
# timber igloo (well depends with what you mean with "modifying the item after its merged"
private static void merge(ItemEntity destinationEntity, ItemStack destinationStack, ItemEntity originEntity, ItemStack originStack) {
        // CraftBukkit start
        if (!org.bukkit.craftbukkit.event.CraftEventFactory.callItemMergeEvent(originEntity, destinationEntity)) {
            return;
        }
        // CraftBukkit end
        merge(destinationEntity, destinationStack, originStack); // <-- NEED TO RUN SOMETHING AFTER THIS LINE
        destinationEntity.pickupDelay = Math.max(destinationEntity.pickupDelay, originEntity.pickupDelay);
        destinationEntity.age = Math.min(destinationEntity.age, originEntity.age);
        if (originStack.isEmpty()) {
            originEntity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.MERGE); // CraftBukkit - add Bukkit remove cause
        }
    }
vestal basin
#

Flags kinda depend more on the ram you have allocated rather than the server software, the main use for flags is to optimize gc

#

You can play around with zgc tho (I was looking at the docs on paper about zgc, but apparently got removed lol)

chrome loom
#

ZGC does work well in some use cases but it will eat up more cpu

vestal basin
#

yh, but I'm assuming if they're using folia they already have a good cpu and prob enough ram

tawdry gullBOT
errant wyvern
#

Someone said that having skyblock islands in different worlds would be useless for folia, because there would be too many regions

#

But in this image it clearly shows each island in its own region

#

Which would be like having each island in separate world

#

So now I don't understand the issue for having islands in different worlds

manic quarry
#

they were wrong. a region is a region

#

doesn't matter if it's in a separate world or not

#

the only thing limiting you would be amount of physical threads on your cpu

paper siren
#

Generally "too many regions" doesn’t make sense, you basically want as many regions as possible (while trying to avoid frequent merging and splitting) so these regions can be ticked independently

quaint panther
#

and so you can use fully the server cpu threads troll_shrug

rotund turtle
#

hi

#

uhmmm

#

how can i enable function command in folia?

quaint panther
#

you can't

rotund turtle
#

why 😭

lofty magnet
#

because it's not compatible with how folia works

oblique sinew
#

.

north shale
#

What?

woeful zinc
#

is there a good free or paid anticheat for folia?

dim merlin
#

grim

tawdry gullBOT
elder maple
#

Does the region have a fixed size? If not, what are the minimum/maximum sizes it can have?

finite hinge
#

maximum can be an entire world

finite hinge
#

Nah, it's like 25x25 chunks iirc

#

Probably larger?

#

I know you have to be something like 700 blocks away from someone to have a chance of being in a different region so maybe like 32x32 chunks?

timber igloo
#

looks to me like its 2 to the power of 2 (1) to 2 to the power of 32

finite hinge
#

It is at least somewhat based on view-distance too but I think you'd need a view-distance above like 20 for it to make your minimum region size go up, everything below that was the same

#

I had all the math worked at at one point and wrote it up in here but that was also before the grid exponent config and before the default was changed

#

I also kind of forgot it all anyway πŸ˜›

woeful zinc
#

is there any known bug were villagers don't get jobs?

#

or with villagers despawning

inner swift
#

As for villagers disappearing, probably not anything Paper causes, there's been many vanilla bug reports of this but it's uncertain whether this is an actual issue or just villagers being dum enough to walk off a cliff and die

woeful zinc
#

its happening constantly villagers dont take jobs villagers despawn villagers take jobs and lock them without trading or villagers dont decrease price when cured

viral stone
#

Mojang added logs to determine when villagers are actually dying

#

much other stuff often gets confusing in general due to how villagers work being hard to debug by proxy

woeful zinc
#

no message the villagers just stopped existing i checked

#

ill write a plugin to monitor villager activity ig

gray cedar
#

my server keeps disconnecting all players every hour or so with this msg in console each time it times them out (all at the same time) and eventually crashes shortly after.
[15:36:19 WARN]: Failed to deliver packet, sending fallback clientbound/minecraft:system_chat io.netty.channel.StacklessClosedChannelException: null at io.netty.channel.AbstractChannel.close(ChannelPromise)(Unknown Source) ~[netty-transport-4.1.118.Final.jar:4.1.118.Final]

viral stone
#

it failed to send the packet because the connection was closed

#

that is not the cause of your issues, that is a symtom

gray cedar
#

hmm dang

#

idk what is causing this issue. my players are starting to get really upset :/

#

the only other error i see is this
[15:53:18 ERROR]: Could not pass event AsyncPlayerConnectionConfigureEvent to Essentials v2.22.0-dev+44-9416b84-Folia java.lang.NullPointerException: Cannot invoke "com.earth2me.essentials.User.startTransaction()" because "dUser" is null at EssentialsX-2.22.0-dev+44-9416b84-Folia.jar/com.earth2me.essentials.EssentialsPlayerListener$JoinListener1_21.onPlayerConfigure(EssentialsPlayerListener.java:351) ~[EssentialsX-2.22.0-dev+44-9416b84-Folia.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:71) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.21.8.jar:1.21.8-5-7a1c5c7] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[folia-1.21.8.jar:1.21.8-5-7a1c5c7] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at org.bukkit.event.Event.callEvent(Event.java:46) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.connection.PaperConfigurationTask.lambda$start$0(PaperConfigurationTask.java:37) ~[folia-1.21.8.jar:1.21.8-5-7a1c5c7] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

#

if that's not the cause for the timeouts and its not giving any other error msgs in console. what should i do/try?

viral stone
#

I mean, that's an error with ess

gray cedar
#

yeah i figured it wouldnt be the issue

viral stone
#

the first error you talked about is due to general packet sending when the connection is dead

#

timeouts are timeouts, you would need to work out why the connection timed out

gray cedar
#

so do youthink its a server side thing?

viral stone
#

that is generally networking issues or something failed to keep the connection open, but, keepalives should generally do that part in terms of server <> client

gray cedar
#

okay thank you i will try and contact my server host

viral stone
#

the timeout handlers are quite simply a "we didn't recieve a packet in X amount of time", which would generally be networking issues

gray cedar
#

okay ty!

quaint panther
viral stone
#

Don't know

quaint panther
# viral stone Don't know

that's really weird thenWHY , because mostly weird is it getting fix if the player lower their own view distance to 2SKULL_SKELETON

viral stone
#

I mean, it's a fairly generic side-effect to a whole host of issues

#

chunk packets are one of the bulkier packets for the server; having to lower their VD would sound like an issue with the network

#

You would need to see if the client logs have anything interesting

quaint panther
viral stone
#

I mean, there is nothing I can advise on without any form of logs, etc

#

But, if it is networking related, there is nothing we can advise on either, you'd need to speak to your host and pray they can diagnose network stuff

jaunty dragon
#

Hi, I have a question for people familiar with this topic.

Is it feasible on the Folia engine to maintain 1,000 players on a single instance, with a world size of 18408 x 9190, on a R 9 9950X or R 9 7950X?

Is a result of around a thousand players on a single instance achievable with well-optimized plugins and slightly limited values, with ~1.000 players giving 18–20 TPS and meybe 40–50 mspt?

tawdry gullBOT
viral stone
#

one would need to do the maths, but, I'd imagine not

jaunty dragon
#

Is it that the map is too small? 🧐

viral stone
#

as I said, one would need to do the maths

#

but, I would fear that you wouldn't have the needed player spread in order to actually have useful regions form

jaunty dragon
#

Well, this option is probably not for me

tawdry gullBOT
swift flicker
#

Can you savestate chunk on folia? Is that real?

daring nimbus
#

not sure what you mean by that

swift flicker
cosmic pawn
#

Never thought this day would come. Paper actually officially released Folia builds on the website

fair merlin
cosmic pawn
deep basin
#

hey guyz anybody knows if folia 1.21.9 will comoe soon?

hexed ice
#

no

swift flicker
#
Minecraft Discontinued Features Wiki

Chunk Resetting.PNG
This article is about reverting a chunk to its last save. For regenerating a chunk to how it generates from the seed, see Chunk Regeneration.
Chunk savestating, commonly known as the "Chunk Dupe", is an extremely powerful method to reset a chunk to its last saved state. This exploit...

timber igloo
dim dome
#

Hey is there any information about a roadmap for 1.21.9?

tawdry gullBOT
wraith pelican
#

i just got a quick question, is geyser / bedrock supported on folia servers? (Or does geyser support folia in other words)

dim dome
jade dagger
#

Wierd question but Folia is a fork of what?

rare hare
#

Folia is a fork of Paper.

fair merlin
dapper veldt
#

Someone knows when folia 1.21.9 releases?

tawdry gullBOT
dapper veldt
#

Alright thanks

rotund turtle
#

i need a spear on folia

#

very very very need

viral stone
#

Spears literally aren't in vanilla yet...

night iris
#

How are we supposed to dispatch commands onDisable, when the shutdown thread doesn't accept them and the scheduler is halted already? Shibathinking

finite hinge
#

You aren't

night iris
#

Cool

viral stone
#

The thing is tearing down

#

allowing you to do that sorta thing would rely on the server still ticking, which you obviously don't want during shutdown

night iris
#

Then, can I dispatch them right before that happens?

viral stone
#

there isn't any real hooks for that afaik

night iris
#

I spent hours looking for one, yeah

viral stone
#

the API doesn't really have a proper async event system which would be needed to pull this off

night iris
#

I let users specify custom effects that can have a command that applies them and a command that removes them. When the server shuts down, I need to make sure all effects are removed, so I realistically need to dispatch all set undo-commands

finite hinge
#

You just have to save the need for a remove and do it when they come back

night iris
#

Yeah that could work, though it seems far from ideal

night iris
finite hinge
#

Your design only worked on Paper by accident, more or less, doing anything to the players/world at shutdown/disable was always kind of a bad idea

daring nimbus
#

just use transient modifiers

#

those aren't persisted with playerdata, so they will be gone after a restart

night iris
night iris
tardy zinc
viral stone
#

No

#

Those events are disabled because of the context issue still, until the event system has some feature additions that is not going to happen

tardy zinc
#

((

#

And when approximately will this be implemented?

tawdry gullBOT
deep basin
#

hey guyz anybody experienced a situation about RAM/CPU limits in Folia? I can't exceed over 40% cpu and 32G ram, even though java has issued 128g ram and no limit on CPU, its like this.

eager carbon
#

I've experienced an issue where Folia will generate multiple nether portals in the overworld when I create one in the nether, I had an idea that it might be generating a portal per thread

#

but if i make a portal in the overworld, it only generates 1 in the nether

river tide
#

Any luckperm alternative for folia

dim merlin
lofty magnet
eager carbon
#

however, I would like to note that

#

nothing is actually modified in terms of the world

#

settings

#

its just a vanilla server with ImageFrame installed

lofty magnet
#

ah wait, nvm, apparently I'm blind lmao

#

thought that said 1.21.6

fleet rock
#

Hi, I'm using the latest version of Paper Folia. I reached 200 users and implemented a command that kicked everyone out. Since then, many things haven't worked or are running too slowly, such as the RTP and the SMARTSPAWNERS spawners, among other plugins like SMP portals and more. Does anyone know the solution?

boreal pewter
fierce knotBOT
boreal pewter
#

This server is running Folia version 1.21.4-6-ver/1.21.4@b785bcc (2025-06-13T21:52:33Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT)

tawdry gullBOT
timber igloo
deep basin
frigid vine
#

AMD EPYC 7763 - 12 Core - 64GB or Ryzen 9 9950X 4 CORE 16GB ? what's better for folia

little sable
#

Neither, Folia requires a minimum of 16 cores

frigid vine
#

for 100 player?

viral stone
#

Doesn't require it, it's just recommended as in, if you're not able to justify spending that much you probably shouldn't be looking at folia

#

What hardware you actually need is going to depend on many factors, web CPUs can work (such as that epyc) but you're generally going to be limited in how fast a single region can perform

#

can't really provide figures for every single piece of hardware and server need

tiny olive
#

If the CPU has less than 16 cores, is it recommended not to use folia?

daring nimbus
#

if you are in the intended folia target audience, you should be able to afford a proper CPU

tawdry gullBOT
old linden
#

I have a question, can anyone answer it?
Is it okay if I use Purpur as normal and use the folia for my game worlds?
So can I use these two under one roof?

scarlet ginkgo
old linden
#

πŸ˜”

scarlet ginkgo
#

you can use both under velocity tho

#

but on different servers

old linden
#

tysm

#

^^

radiant juniper
#

Hello, anyone here has experimented with modifying Regionizer implementation variables ? I'm interested in reducing considerably the region size, and if needed, disable minecraft vanilla features for it. Interested in any take on this, thank you.

dim merlin
radiant juniper
dim merlin
#

well... i have a lot of wishes too
but that doesnt mean they are logical
you wont profit from folia
i bet you will even have a worse experience in terms of performance and compatibility

viral stone
#

Folias intent is to maintain vanilla functionality

#

I don't think that leaf wants to expose the ability to break that, we can't make a list of what would need to be disabled at specific levels

#

that would probably be "maintain it yourself" territory

radiant juniper
dim merlin
boreal pewter
#

[20:35:38] [Region Scheduler Thread #6/ERROR]: [ca.spottedleaf.moonrise.common.util.TickThread] Thread failed main thread check: Cannot move entity off-main, context=[thread=Region Scheduler Thread #6,class=io.papermc.paper.threadedregions.TickRegionScheduler$TickThreadRunner,region={center=[27, -7],world=world}], world=world, chunk_pos=[-105, -67]

#

how to fix its

timber igloo
#

this could be a plugin related iissue, or, more rarely, an actual bug in folias code

tawdry gullBOT
acoustic garden
#

Hi

fierce knotBOT
acoustic garden
#

Could it be that the cause of the crash is the PvPManager?

vernal thorn
# viral stone Doesn't *require* it, it's just recommended as in, if you're not able to justify...

I run a 10 player MC Server for my friendgroup on my $10 6-Core EPYC RS, and Folio performed better than Paper. We have 3 main bases roughly 2000-3000 blocks apart. Every base was its own region and even when 2 regions where merged, it still maintained 20tps in situations where paper previously didn't.
So even if Folia is not intended to perform on cheap high core epyc rs or vps, it can performs quite well.

I still switched back to paper as players missed the player locator bar.

livid crag
#

Chance is your experience will be the same on Paper server as well.

north shale
#

Folia is completely unnecessary for 10 players. A normal Paper server on any decent hardware should be able to handle that without any lag issues.

dim merlin
#

even on slow hardware 10 players should be fine πŸ˜„

inner swift
#

This is not necessarily true if you're running a farm based server, assuming there's enough spread like the case above

#

Splitting tick threads in hardware that is limited by single threaded performance but not multi threaded makes a lot of difference

rare hare
#

If there are multiple intensive farms running in different regions then Folia might be better. The 16 cores guideline is really just that if you have that many cores and your server type fits Folia, Folia will generally perform better than Paper. Depending on the intricacies of your hardware and setup you might still be able to get better performance with a lower amount of cores, but this is much less common and so in general we don't recommend it. Especially when people are trying to make purchasing decisions, it's better to err on the side of caution. But of course, you're free to give Folia a shot on your server and if it turns out it does perform better, more power to you.

north shale
#

10 different farms on paper will still run fine if you have semi decent hardware

#

Just optimize where you need to

livid crag
#

I think Kyle is referring to the need of efficieny, given the players are far enough to create their own region, the logic to run mobspawning will be ran on each region and restores behavior closer to Vanilla server when only ONE player is online.

#

Still a very niche use.

viral stone
#

There are advantages even on fairly modest hardware, nobody who knows what they're talking about would say otherwise

#

the caveats are literally in their statement on why they returned to paper, they wanted something that folia doesn't support; that's the sorta reasoning why I say that the requirements for folia are more of a budgetary marker than anything, hiring a dev to reimplement that sorta thing is part of the "folia experience"

strong nimbus
#
Execution failed for task ':folia-server:cloneSpigotBuildData'.
> io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false fetch --depth 1 origin 436eac9815c211be1a2a6ca0702615f995e81c44```

how to fix it?
strong nimbus
balmy solstice
daring nimbus
#

That error is kinda useless sadly.

Generally with pretty experimental software like Folia it's a good idea to stay on the latest build. 1.21.4 is quite outdated at this point

balmy solstice
#

is there anything I can do without changing the version?

scarlet ginkgo
#

folia doesn't backport fixes to older versions

#

it's a release rolling software

balmy solstice
#

okay, thank you

balmy solstice
#

so.. i switched to folia 1.21.8 (github version) and when i try to log in this happens:

viral stone
#

so, something messed up a chunk packet

#

you'll need to work out what

balmy solstice
#

😩

balmy solstice
#

I removed all the plugins and put them back and now everything works, haha

acoustic holly
#

Hello, I have a question. It says that placeholderapi is not compatible with folia. I don't know about this?

north shale
#

What’s the question?

#

If it says it’s not compatible, it’s probably not compatible.

timber igloo
#

they have folia builds im pretty sure

daring bane
#

Is there exist like fawe fork for folia ?

daring bane
acoustic holly
cunning cradle
#

Any updates on Folia 1.21.9, or should we just wait until it's ready as usual?

tawdry gullBOT
scarlet ginkgo
abstract coral
#

how can i limit the amount of cores and threads on folia

gusty pebble
paper siren
#

there is no reason to

delicate ice
#

Hello, i need some help. i am working on a plugin in intellij for folia/paper as an authentication system for terms of use but it doesn't recognize it and posts the following error even though i have folia set to true: [09:18:00 ERROR]: [DirectoryProviderSource] Error loading plugin: Could not load plugin 'PengunivAuth v1.0.0' as it is not marked as supporting Folia!
could anyone help me out? i have checked everywhere to see if i have the correct use cases for folia with player kicking etc. and even edited my build.gradle.kts thrice while doing this and i am at a total loss, could anyone help me out?

#

yes its enabled in plugin.yml

#

jvm 21

scarlet ginkgo
#

atleast not properly

delicate ice
#

huh

scarlet ginkgo
#

can you send the plugin.yml here?

delicate ice
#

yeah hold on

#

i used intellij to create the paper preset and thought it would work

#

name: PengunivAuth
main: com.stormtools.penguniv_auth.Penguinunivauth
version: 1.0.0
api-version: "1.21"
author: stormtools
folia: true

commands:
agree:
description: Accept Penguin Universe TOU and be added to the accepted list
usage: /agree
permission: penguniv.auth.use

disagree:
description: Deny Penguin Universe TOU (will kick you)
usage: /disagree
permission: penguniv.auth.use

penguniv:
description: Admin commands for PengunivAuth
usage: /penguniv auth <list|deauth|reload>
permission: penguniv.auth.admin

permissions:
penguniv.auth.use:
default: true

penguniv.auth.admin:
description: Admin permission for PengunivAuth
default: op

scarlet ginkgo
#

it should be folia-supported: true

delicate ice
#

ah

#

alright seems like in the console it doesn't get that error anymore

#

yep it works now, thanks so much for the help!

delicate ice
#

anyone know what i am doing wrong here?

fierce knotBOT
dire pebble
wheat wigeon
#

I started my first Folia server and what is this?

timber igloo
wheat wigeon
#

but I have Intel core i5 12th and 24GB RAM

scarlet ginkgo
#

thats btw too little cores compared to the folia recommendations

wheat wigeon
#

and when will EssentialsX, LuckPerms, PlaceholderAPI, Vault, and other plugins be compatible with Folia? Because it's almost impossible to run a Folia SMP server like this

languid plover
#

Is Folia out for 1.21.9?

wheat wigeon
#

no right?

#

the newest Folia version is 1.21.8

timber igloo
timber igloo
river tide
#

Is there folia 1.21.9 or 1.21.10 test build

tawdry gullBOT
uncut cradle
#

Does anyone know why with folia hopper amount not work

It still tranfer 1 item per 20 tick should be 64

    ticks-per:
      hopper-transfer: 20
      hopper-check: 20
    hopper-amount: 64
marsh zealot
#

Hey there, short question, is there a way to force split regions into two or more regions. I am currently running a server with around 200 players and we have a bugged region which does not split up and loads up to 30k chunks and 10th of thousand of entities. If there is such a way, it would be awesome to learn it. If there isn't but if there is a way to fix it over the configs, that would be awesome as well.

Cheers

livid crag
#

If two players or some game mechanic has to interact, the region will merge. You will need to provide more information on your world size and how close players are together before calling it a bug.

marsh zealot
#

well the world as it is is about 300k to 300k and same in the negative. The region I am talking about is from around 3000 to 3000 and the same in the negative with around 40 to 50 players in that region.

livid crag
#

Are they too close?

#

Each one of them has to be like 1500 block away from any other players

marsh zealot
#

They are running around in groups up to 10 or 15 people I think, don't know in detail. But is there a way to fix or make it better with a higher powered CPU? We are currently running the server on 2x AMD EPYC 7282 with 16 Cores each.

#

That was the server we were provided by our partner

livid crag
#

There is no real way to fix it. It is intended if they are too close, region will merge.

marsh zealot
#

Then is there a better server setup? Like with velocity or so?

livid crag
#

What do you mean

#

Velocity is a proxy. It’s not a Minecraft server software

marsh zealot
#

Instead of Folia using Velocity and Purpur for example

livid crag
#

I am not sure if I understand you

marsh zealot
#

I was thinking of a way to setup multiple purpur instances and linking them together with Velocity. And the question is if that would be better performant than the current way we use Folia for

livid crag
#

I don’t think you understand what you really want.

#

The issue is your player being too close so I don’t see how having mutiple instance will help unless each instance has a world size smaller than a thousands block

#

With added complexity of linking worlds, share inventories, and ensure all your plugins support such setup.

marsh zealot
#

hm ok, thanks tho

modest kestrel
#

happened to us as well

#

we had around 25k rtp radius (with border 100k+)

#

and yet it still made one big region with 20k+ chunks

#

so yeah, even if it was 25k radius, the players were so close to each other, that it started merging and merging

fossil hare
#

Hello, I want to send a game event which scheduler should I use, it spams me warn that it can't be asynchronous

viral stone
#

I mean, if the event isn't async then you need to dispatch it sync

#

where that is is going to depend on the context of the event

fossil hare
viral stone
#

I mean, you're sending it to a player

#

so, one would assume that you're in the context of that player

#

(or, that the player is in range of that block entity)

fossil hare
#

so regionScehduler or EntityScheduler?

viral stone
#

Yes

scarlet ginkgo
#

but the region one works too with a few edge cases which will crash the server afaik

scarlet ginkgo
#

and throw

timber igloo
#

isnt that just going to tell you that that region scheduler is retired

#

or if you have already schedule the task, just calling the retired callback

strong vector
#

i'm observing big lag spikes caused by something on a folia server but seems like spark doesnt have only-ticks-over for folia. Is there an alternative tool to profile lag spikes?

#

big as in 40 second freeze

somber fog
#

what's up with this? anyone know what might be causing this error?

dim merlin
somber fog
#

MoreFoWorlds, yes

dim merlin
#

in that case you should ask their support

somber fog
viral stone
#

The thread stalled out writing to the disk

finite hinge
#

That's likely not from a plugin, seems like your disk is having trouble

wild yarrow
#

I have a problem with cats. I spawn a cat and put a leash on it. After a few minutes, I am back in the same spot as before, having flown up so high it disappeared. I go downstairs again and the cat has gone. This only happens with cats and not horses. The default paper configuration has no changes.

opaque gust
#

can someone help me decide if i should use folia or paper for my survival server?
i could get servers with a relatively high core count (16-24) for a fair price and alle my plugins are selfmade so its not a compatibility problem. players will probably be spreaded all over the map.

livid crag
opaque gust
vocal shuttle
# livid crag Are your players all going to be anti social and play by themselves far away fro...

is this 1500 blocks a non-configurable limit
for example I run an SMP with 30-40 players on a decent machine (24 cores) those players are really redstone/farm intensive players so I always had to limit the sim distance and put some soft limits on entity counts (cpu usage is always in the 10% range)
players bases could be anything from 500 blocks to thousands of blocks apart

so essentially I have 2 questions

  • if all the players are far enough to have separate regions anyways, is that a use case of Folia and I can pretty much remove all restrictions now?
  • is it configurable to have regions start to be split at lower distances?
livid crag
#
  1. Given you have powerful enough of hardware to support it and the player ain’t just outright crashing the region, yes.
  2. Only by a small degree anything too low is non-negotiable
viral stone
#

I think that the configs let you bring it down to like 900 blocks or something, the issue is that it needs to be able to keep regions large enough to contain vanilla behavior (and not have a huge bunch of complexity for dealing with other things)

#

ultimatly, worse case folia performs a bit worse than paper, the big thing is trying to ensure that you even stand a chance to gain anything from it AND have the resources/dedication to do so, folia is much less supported on all sides with some level of expectation that part of that burden falls onto you

vocal shuttle
#

Thank you guys!

#

I will probably try and play around with it a bit then consider switching to it later

livid temple
#

i got a question: when do we get folia 1.21.10 support ?

tawdry gullBOT
scarlet ginkgo
charred bridge
#

good morning guys. does folia support vaults? it sems that you cant open them when trying to

acoustic cedar
dim merlin
acoustic cedar
#

my bad lmao

dim merlin
charred bridge
#

this was before i posted on the other server ^^

wild yarrow
#

Help me with cats on a leash tied to a fence disappear after 5 minutes if you move away from them

maiden geode
#

Is there any way to setup multiple worlds with folia and per world inventory?

dim merlin
#

multiple worlds yes but per world inventories are pretty much impossible on folia and quite pointless if you really need folia because at that point you also should have the resources to host multiple servers

maiden geode
livid crag
#

With Velocity proxy

tender escarp
#

Are the people who work on folia the same people who work on paper or is it a completely separate group?

inner swift
#

Mostly one guy works on Folia, Spottedleaf. He's on the Paper team

tawdry gullBOT
finite hinge
#

I don't know how that flag gets set or who has control over it

#

In general I'd say no, not even Paper 1.21.6 is still supported and with Folia it's probably even more important that you be on the latest version

#

Not that there is much support anyway, Folia is the kind of thing where you should know how to do stuff yourself

strong nimbus
#

When loading chunks on my server, the ping increases significantly. How can I resolve this?

twin meteor
#

Can I use folia with 8-10 ryzen 9 7950x3d cores? For a smp or is it not enough?

livid crag
#

Are your player always play alone and always gonna be 1500 blocks away from each other? @twin meteor

lofty magnet
#

that depends on how many regions you intend to have

twin meteor
livid crag
#

Are they going to be 1500 block away?

#

From each other?

twin meteor
#

Some are 500 blcoks away some are maybe 1500 away

livid crag
#

You are better off just using Paper

twin meteor
#

I am using paper but we have tps problems.. I dont know how to fix that

livid crag
#

Folia won’t solve your problem if your player still group up together. In fact, it is likely going to make your issue worse

tawdry gullBOT
livid crag
#

Make a spark report during peak player count and post it in #paper-help so we can take a look

livid crag
#

Yeah I saw it. Several issues on that report and looking at the chunk loaded I can get a rough idea of how close your players are, Folia will not work for you and you should reach out to Purpur for help. You have crazy memory issue there.

wary shale
#

Hi I have a question about folia. I'm making a plugin with need for temporary worlds (like dungeon instancing). I'm curious if folia would help in that regard. Docs are focused on regions. Does dimensions also become multithreaded, or maybe they already are?

dim merlin
wary shale
#

Are you sure? I would definetly benefit from different tick loops since I'm planning on running a lot of worlds at the same time with different player sets

dim merlin
#

you probably wont have a big enough player spread to gain anything

wary shale
#

yeah each dimension would be small, totally not enough for regionsizing to do it's magic

#

well I guess I'll go with paper then ty

timber igloo
#

if we disregard the world-api problems, ticking each world can be a performance gain very quickly

inner swift
#

That said, multiple servers connected with Velocity is an option for you, despite the overhead of running multiple JVMs you get a more supported ecosystem to work with

drifting mango
#

Hi, is there a fork of Folia or Paper that would allow me to launch my server with mods and plugins under Forge 1.20.1, please?

inner swift
#

Probably, but we do not recommend or support any of them. They are very likely to break in various ways

finite hinge
#

I would guess no, actually, but there is probably someone that crazy

#

Paper+Fabric/NeoForge is known to break a bunch of mods and a bunch of plugins, I think Folia+Fabric/NeoForge would break every single mod

warm crown
#

Aprox ETA for 1.21.10?

tawdry gullBOT
opal needle
#

how to setup flag optimize folia for ryzen 9 ram 64

oblique dragon
solar haven
#

Hello, I'm having an issue on a folia server where my items in my chunkloaded storage system despawn. Previously on Purpur this storage worked but now the items don't seem to make it to the end/are disappearing. Does anyone know how to fix this?

solar haven
#

Mainly having issues with items in water streams being chunkloaded correctly

livid crag
#

Weird that that’s causing an issue. Can you verify that you have not change any config while switching over?

#

Additionally, do you have a player in the end dimension?

solar haven
#

Has this been an issue for anyone else? Mainly chunkloading areas with item entities moving around in water streams

exotic canopy
#

Whats the min amount of blocks for players to be apart from each other to be in different regions?

livid crag
#

1500 block ish

exotic canopy
#

ty

finite hinge
#

900?

exotic canopy
#

what now

finite hinge
#

Pretty sure it's like 700-900

exotic canopy
#

I have in my paper profiler also "regions" would that be the equivilant?

knotty egret
fierce knotBOT
inner swift
finite hinge
#

Folia regions are like isolated islands of chunks. If two of them come in contact they merge. Each region is basically its own Paper server.

#

If they were MC regions they'd all just merge together since they're touching and you'd just get a slower version of Paper πŸ˜„

exotic canopy
#

https://spark.lucko.me/GdMqeBfMwk
Okay i get it i think, I currently tend to switching to folia if 1.21.10 is released but idk if it would help much, maybe you can take a look

spark is a performance profiler for Minecraft clients, servers, and proxies.

inner swift
#

It'll depend on how spread out your players are

exotic canopy
#

Its basically an SMP where you have an spawn elytra with a boost and everyone spreads out, yes some cluster but this isnt really a problem ig

inner swift
#

Fair

exotic canopy
#

How do i messure how far they are spread out

finite hinge
#

Small clusters are fine so long as they're spread out enough from others

#

You run Folia and see how many regions you end up with πŸ˜›

livid crag
#

Your issue is you have old and slow hardware

#

Folia won’t help you

finite hinge
#

There is no way to calculate this stuff ahead of time

inner swift
#

If two players are less than ~1000 blocks away from each other, they will be in the same region

finite hinge
#

4 cores is probably not enough, I dunno if that's even enough for a Paper server under heavy load

livid crag
#

Judging by your chunk loaded, your players ain’t far enough either

inner swift
#

And if players come close and then spread a bit, the regions will resist to split, so distance isn't really the other criteria, there's other factors like redstone loading the chunks

finite hinge
#

The recommendation for Folia is basically a Ryzen 7950X or 9950X

#

Or some of the high performance Xeons and EPYCs

exotic canopy
#

Okay

knotty egret
exotic canopy
finite hinge
exotic canopy
#

But folia wont decrease perfomance, right?

livid crag
#

Getting a hardware upgrade is the most direct way to improve your server rn yes.

inner swift
finite hinge
#

Folia without regions or the threads to run them is a slower Paper

livid crag
knotty egret
finite hinge
#

Β―_(ツ)_/Β―

#

Try without plugins

inner swift
#

You have 4C/8T, it's really easy to starve your hardware with tick threads if you misconfigure it, and if your players are too close you will also be slightly slower than Paper

#

Where are you renting your hardware?

exotic canopy
#

Hetzner

knotty egret
inner swift
# exotic canopy Hetzner

Not sure how much you're paying right now, but something like an EX44 (39 eur/mo) will be a dramatic upgrade

exotic canopy
#

We pay 35€ currently

livid crag
#

You can defo do better with that budget pepela

exotic canopy
#

What would you recommend

knotty egret
inner swift
#

If you need to stay strictly under 35, I couldn't find anything in Hetzner

#

I'd just go with the EX44

exotic canopy
#

No not really but whats in that price range

inner swift
#

The EX44

exotic canopy
#

Okay thanks

#

With help of chatgpt i calculated the regions of our players, with 900 blocks spread we would be at 18 regions, would that be okay for 41 players?

modest kestrel
#

that will give you one big region

exotic canopy
#

No like if one region is 900 blocks big it would be 18 regions

modest kestrel
#

whats the map size for your 41 players

#

from 0,0

exotic canopy
#

nothing

#

But the players decide on how much they spread out

modest kestrel
#

if 2 players are ~1500 blocks close to each other, the regions will merge

#

the regions have a tendency to merge more frequently than split

#

so if you have
Player <900 blocks> Player <900 blocks> Player <900 blocks> Player

#

it will merge all the regions into a big one region

exotic canopy
#

At which point wont that happen?

#

1500?

modest kestrel
#

1500 seems to be the tipping point, but i cant say accurately

#

we had 20k rtp distance from 0,0

#

and it made one big fat region

#

from -15k to 15k...

inner swift
#

You should have a large buffer

modest kestrel
#

just make sure there is enough distance

inner swift
#

If you try to stay near the minimum, players will simply move a bit, get within the radius of another players, and done, in 5 minutes you're back to one region

exotic canopy
modest kestrel
#

you dont understand

#

there is no such thing as "region size"

#

region can be infinitely big

#

regions depend on player distances

exotic canopy
#

Yes

#

But with players are more than 1500 blocks apart they wont be in the same region right?

modest kestrel
#

thats the thing

inner swift
#

This code is incorrect

exotic canopy
#

I love gpt

fair merlin
#

Generally they won't be, but if they get too close those regions could merge.

inner swift
#

In general, don't try to ask Minecraft or server hosting questions to GPT (trust me, it has very little knowledge in that domain)

exotic canopy
#

I will just try out

#

And see if folia will help

finite hinge
#

Regions merge eagerly and split lazily

#

So if two player have their regions brush against each other unless they get significant extra distance from each other afterward they're just going to be in a single region

#

And so on, cascading across the whole server

#

That's why unless you have some strict separation of players (like skyblock) it's impossible to say how many regions you'll end up with

exotic canopy
#

Okay one last question at which count of regions would folia be more performant?

finite hinge
#

It can be more performant even with just two regions

#

Depends on your situation

#

Each region has some overhead vs a Paper server but they also share some resources that make things sometimes more efficient and sometimes slower

exotic canopy
#

Ig if one player is in one region and 40 players in the other one it wont help

finite hinge
#

Well that one player will be having a great time πŸ˜„

exotic canopy
#

So for them it would be 20tps?

finite hinge
#

Yeah

#

That's kind of what I mean, some people want Folia just to isolate expensive farms into a region and let it run like crap while the rest of the server is fine

#

Only need two regions for that

#

Pretty much always the more regions you get the better you are though

inner swift
#

Do note that if you have weak hardware (an i7-7700 is pretty weak), a few regions can tank the entire server's TPS

#

Depending on the tick thread count, especially

finite hinge
#

Right, on an i7-7700 Folia would normally only have one region tick thread so more regions doesn't do anything

exotic canopy
#

Is the vanilla likeness like on paper? Will every farm work the same way as on paper?

finite hinge
#

If you override that to spawn more region tick threads you risk overloading the entire CPU and making everything terrible

#

No, Folia is even less vanilla-compatible

exotic canopy
#

Yeah after that we would upgrade min to the 39€ cpu

finite hinge
#

I don't think you'd notice the differences though unless you were doing some wacky things

#

Like making a computer in MC or something

exotic canopy
#

So tnt dupers and raid farms would work?

finite hinge
#

Well, and it doesn't support datapack functions or command blocks but that's not player stuff

inner swift
#

The i5 13500 isn't that great for Folia either, it has E cores that will make the regions it ends up in pretty slow

finite hinge
#

Those should work the same as they do on Paper

inner swift
#

The i5 13500 is reasonably good for Paper for the price, though, because the P cores are good

exotic canopy
inner swift
#

Note that you'll need to replace plugins with their Folia-compatible counterparts (if they exist)

#

The EX44 has the i5 13500

finite hinge
#

Oh yeah, none of your plugins will work πŸ˜›

#

They need to be made specifically for Folia

exotic canopy
finite hinge
#

Folia plugins work on Paper so some already support both but most do not

exotic canopy
exotic canopy
inner swift
#

The 5950x

exotic canopy
#

Thats pretty expensive, would that be one of the best?

#

Or isnt there really any limit?

inner swift
#

That's the recommended minimum

exotic canopy
#

Okay

#

Thanks for your time

#

I appreciate the help

#

I think we will stick to paper for the time, maybe increase in hardware will allready make the difference

knotty egret
quaint panther
tawdry gullBOT
tepid pollen
#

Whats like a good mid tier cpu for folia?

austere pier
#

Hi im a paper user wondering about Folia, my server has multiverse and im wondering with Folia run it better then paper since its multicore supportive

#

also will Folia support multi cpu?

#

i own my servers so im thinking of switching thats why i ask sorry its its alot at once

viral stone
#

Folia doesn't support multiverse or dynamic world un/loading in general

#

Folia doesn't cater towards NUMA, etc, so multiple CPU based setups will have a small perf hit due to the cross CPU stuff

tepid pollen
viral stone
#

Sure?

tepid pollen
#

So you can't use multiverse so you just load your worls on startup in your plugin?

tepid pollen
#

but i could just load it in my plugin right?
or is this not possible because folia needs other world setup?

modest kestrel
#

folia generally does not support world loading/unloading

#

on startup its fine

#

but unloading can be tricky

tepid pollen
#

why can unloading be tricky just stop the server xD

modest kestrel
#

unloading as in disabling a certain world dynamically

#

imagine you create a temporary world using /world create (abc)

#

then if you want to delete the world, it can become very tricky

#

there are plugins, like the one i mentioned, which use certain workarounds

#

but again, generally its not "safe"

tepid pollen
#

oh okay i just have like word,nether,end,spawn,afk thats all i dont unload normally or delete any of these worlds

modest kestrel
tepid pollen
#

Thanks mutch! ^^

tight kindle
hexed rapids
#

grid-exponent

modest kestrel
tight kindle
fair merlin
#

We strongly advise against using forks that have things bolted on to get stuff working, FWIW.

#

And you obviously won't get any support here for forks.

real tendon
#

or ig the full sentence

finite hinge
#

I dunno about that one but a lot of Folia forks are "works for me" things that either only work most of the time or only work when you use it a certain way

#

There are things Folia blocks/disables that would be safe but only if you use it in a limited way or at a specific time, people make forks to enable those again for their use which fits

real tendon
#

oh yea fs

finite hinge
#

Again, no idea about that one in particular, it at least claims to solve things more generally, I haven't looked

#

And wouldn't be qualified to say anyway, I only know how Folia works at an abstract level

real tendon
#

i(developer of Canvas) know how folia works and try and abide by all such rules to try and make sure its up to SpottedLeafs standards

#

i do plan on a "PR party" to Folia once 1.21.10 comes around

finite hinge
#

Did you make PRs? Oh

real tendon
#

unload/load API was also made to abide by his guidlines in a PR to Folia

#

that one PR for load/unload that was rejected

real tendon
#

i do believe some features, at least Folia crash fixes, should be ported from Canvas -> Folia

tight kindle
quick violet
#

Hi! I have a conceptual question:
If the goal is to increase the number of players that can play at once, given that the server has limited borders (about 20k x 20k), and almost no natural mob spawning except certain areas, is it worth switching to Folia? Theoretically would there actually be any improvement in performance or would the "extra cost" of Folia outweigh it?

tawdry gullBOT
fair merlin
real tendon
finite hinge
#

Excited to see those PRs, it'd be nice to get Folia more functional

mortal burrow
#

folia 1.21.10 when?

tawdry gullBOT
scarlet ginkgo
storm basalt
#

hi how can i create a world in folia because when i trying to use worldcreator i have an error

java.lang.UnsupportedOperationException: null
at org.bukkit.craftbukkit.CraftServer.createWorld(CraftServer.java:1265) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at org.bukkit.Bukkit.createWorld(Bukkit.java:841) ~[folia-api-1.21.8-R0.1-SNAPSHOT.jar:?]
at avaris.jar/pl.mythica.avariscore.mechanics.sectors.SectorsManager.lambda$generateSectors$1(SectorsManager.java:62) ~[avaris.jar:?]
at avaris.jar/pl.mythica.avariscore.AvarisCore.lib.folialib.impl.FoliaImplementation.lambda$runNextTick$0(FoliaImplementation.java:96) ~[avaris.jar:?]
at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler$GlobalScheduledTask.run(FoliaGlobalRegionScheduler.java:179) ~[folia-1.21.8.jar:?]
at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler.tick(FoliaGlobalRegionScheduler.java:37) ~[folia-1.21.8.jar:?]
at io.papermc.paper.threadedregions.RegionizedServer.globalTick(RegionizedServer.java:307) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at io.papermc.paper.threadedregions.RegionizedServer$GlobalTickTickHandle.tickRegion(RegionizedServer.java:161) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:418) ~[folia-1.21.8.jar:1.21.8-6-612d9bd]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:546) ~[concurrentutil-0.0.3.jar:?]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]```
wet arch
#

the world loading/unloading API isn't implemented on folia

magic orchid
#

hello, I would like to use the biome temperature at a given block to determine if i cancel a BlockGrowEvent or not.
Is that save to do in Folia out of the box or do I need to do some special scheduling?
All I want the event handler to do is basicaly this (pseudocode):
if (event.getBlock().getWorld().getTemperature(blockX, blockY, blockZ) > 1.5) event.setCanceled(true);

finite hinge
#

In the grow event you're in the right region for the block so you can just read it like you would normally

#

The folia stuff only matters if you want to access something outside of the data/location provided in the event

magic orchid
#

is there a difference between Block.getTermperature() or the world.getTermperature() ?

finite hinge
#

Block is basically just a Location, it doesn't store any of that data

#

So there shouldn't be

magic orchid
#

ok then chatgpt spit out some garbage to me lol

#

it said the block type affects the temperature (as in ice is colder than magma)

finite hinge
#

I mean, there is a chance someone massaged the data in the Block method so it has a different range/type but it'd be ready from the world to begin with

#

And I don't think that happens much if at all

magic orchid
#

so you think just using Block.getTermperature() for my use case is fine?

finite hinge
#

Huh, I was going to say the temperature is just a biome and height thing but now I wonder if they do have anything special for ice and lava πŸ˜›

#

Yeah, that should be fine

magic orchid
#

ok, ill try that thanks

terse zephyr
#

when folia support 1.21.10?

tawdry gullBOT
copper mantle
#

How much activity would it take on an anarchy server to fill a 300GB storage limitation

fair merlin
#

Same as Paper

#

There’s a few world size calculators out there.

inner swift
#

I'd recommend estimating this with https://onlinemo.de/world and some math (i.e. use the total chunk count instead of the radius)

unborn escarp
#
  auto-config-send-distance: true
  player-max-concurrent-chunk-generates: 64
  player-max-concurrent-chunk-loads: 64
chunk-loading-basic:
  player-max-chunk-generate-rate: -1.0
  player-max-chunk-load-rate: -1.0
  player-max-chunk-send-rate: -1.0
chunk-system:
  gen-parallelism: 'true'
  io-threads: 8
  worker-threads: 8```
#

are these good values im having a tough time figuring this out

#

im trying to have 100 to 300 players on a 32 core server ive allocated 24 cores to the threaded regions and the rest i have for netty and the chunk system but im having chunk loading issues at high player counts and i keep messing with these settings trying to figure out whats best without knowing what they even do lol

#

previously i had it like this:

#
  auto-config-send-distance: true
  player-max-concurrent-chunk-generates: 64
  player-max-concurrent-chunk-loads: 64
chunk-loading-basic:
  player-max-chunk-generate-rate: -1.0
  player-max-chunk-load-rate: 2000
  player-max-chunk-send-rate: 2000
chunk-system:
  gen-parallelism: 'true'
  io-threads: 8
  worker-threads: 16```
finite hinge
#

There is no best guess for chunk system workers if not pre-generated, as on the test server we ran we gave 16 threads but chunk generation was still slow at ~300 players.

#

From the README

#

300 players generating chunks is just a lot of chunks and chunk generation is slow

#

You could lower your view-distance

unborn escarp
#

ok so chunk loading is always gonna be slow like i put 300 bots on with spawn radius at 500,000 to test and i couldnt load any chunks even old ones on my account millions of blocks out

#

right now its 8

inner swift
#

How did you spread them? Were they all flying?

unborn escarp
#

they were just sitting in the same spot and i changed the random spawn radius to 500,000 blocks

#

their render distance was 6

inner swift
#

they were just sitting in the same spot and i changed the random spawn radius to 500,000 blocks
And then killed them all so they'd respawn all at once?

unborn escarp
#

nah just let them afk die and auto respawn

inner swift
#

Ah, I see. I was trying to rule out whether you were doing /spreadplayers or spawning them all at once, which would overwhelm the chunk system

unborn escarp
#

i was joining them in mass thats prolly it

inner swift
#

Okay, yeah, that could have done it

jade dagger
#

Looool

#

Bro should have not said that

viral stone
#

wat

jade dagger
# viral stone wat

I'm not sure if you were referring to donutsmp, but it's the second biggest server now πŸ˜‚

#

If not, mb.

viral stone
#

No

#

their server is 100% irrelevant to that discussion

jade dagger
#

Alright mb

stone tundra
#

hi, any know guide for create plugin with Folia ?

inner swift
#

Not specifically, but

tawdry gullBOT
inner swift
#

These will help

stone tundra
#

Does that mean I can use the Paper Spigot API and it already includes information about Folia?

#

I was literally trying to use Folia’s API, but I couldn’t find any relevant informationβ€”there aren’t any API repositories or anything like that. I want to create a game mode using Folia as the base.

inner swift
#

The underlying API is mostly the same, minus some that Folia doesn't support (e.g. Bukkit scheduler, world creation...)

#

Paper includes all the API you need for a Folia plugin

stone tundra
viral stone
#

Paper implements all the methods you'd need to write a folia plugin, such as the region schedulers, etc

viral stone
#

There is no real documentation over the dev aspects of the project, there generally comes a level of expected knowledge here

stone tundra
#

What is the latest version of the Folia server and the Paper Spigot API that includes Folia?

viral stone
#

folia supports .8

#

paper has .10 beta builds (but, are generally stable)

stone tundra
#

okey thank you

main stump
#

are there any alternatives to worldguard and worldedit for folia

dim merlin
#

there are forks of both plugins supporting folia

sweet thunder
#

So I am fairly new to Folia and I was just wondering how the teleport event works. If the player uses for example an enderpearl and teleports from one region into another. From which Region is the teleport event called? Is it called at all? Is it possible in folia to detect teleports and the from/to location?

viral stone
#

it doesn't fire, because that question you first asked is a fun one

sweet thunder
#

Yeah I understand that ^^ So there is no way at all to check from and to location when the player moves / teleports?

timber igloo
#

I think someone suggested a pre/post teleport event in here once, i think that'd work

#

or forbidden fork πŸ™‚

spark night
#

How does folia work, is everything multi threaded or like chunks or areas how does it work

tawdry gullBOT
viral coral
#

check the first 3 links

spark night
viral coral
#

there is no specific region size

#

the regionising logic is well documented and would again suggest reading through that before asking questions about how it works

viral stone
#

assuming linux, you would want to check your hardware logs

#

folia doesn't really work at the level to make a disk fail

finite hinge
#

Yeah that's going to be a kernel or hardware issue

#

The kernel flips it in to read only mode whenever it runs into a filesystem or hardware problem

viral stone
#

I mean, a FS tripping into RO will basically always show in dmesg

#

I've never heard of it not doing so

#

Unless you have some other weird issue where it's not flipping RO but is just having a more generic IO error

finite hinge
#

If nothing else it'll log flipping it to RO, it should have what caused it above that

viral stone
#

(You are looking at dmesg?)

finite hinge
#

Reboot would clear dmesg so yeah

#

I would just buy a new drive

#

Unless you have some unusual setup it's 99% going to be the motherboard or (more likely) the drive

#

If you had some RAID setup or a niche filesystem or something it might be a kernel bug but otherwise...

#

If it's a HDD I suppose it could also be the power supply but that's probably the least likely

#

Standard Debian install with ext4 on an nvme drive it's almost certainly the drive

spark night
#

Invest in expensive drives

fair merlin
#

@winged palm This isn’t really the server for that. Try something like HelpChat.

winged palm
fair merlin
winged palm
dim dome
#

hey, does folia tick skip?

hexed ice
#

no

dim dome
#

okay, is there any other changes to how redstone works?

winged palm
#

How can i get vanilla like experience with redstone?

#

3 engines?

#

i haven't gotten my hands dirty with paper/folia yet

#

i do plan on using folia

#

but i can use folia with fabric? is that what im understanding?

#

looks like engine-mode is just for anti cheat?

#

my only concern is having a almost vanilla like experience with redstone in folia

#

thats all

inner swift
#

I would consider Paper/Vanilla redstone near vanilla (to the point we have issues getting people to file reproducible reports of issues)

winged palm
#

i heard you can disable the anti duping or whatever and then u get the true vanilla experience

#

so i just make all of these true

#

and bam vanilla

wet arch
winged palm
dim dome
#

hey, i want to switch from folia to vanilla, but switching the jar doesnt work for some reason.

tawdry gullBOT
dim dome
#

there is no docs on folia

inner swift
#

You can use the steps for Paper -> Vanilla

dim dome
#

they dont work

#

i shut server down. switched jar and booted it back up

#

idk why it still boots with folia

inner swift
#

What, exactly, isn't working? Logs?

dim dome
#

it just starts back with folia

#

basicall this is what i did

#

minecraft_server.jar was folia, server.jar is vanilla. i deleted folia, then renamed vanilla .jar

inner swift
#

Make sure your start.sh was changed to point to the vanilla jar rather than the Folia one

dim dome
#

they both have the same name and the folia one is deleted completely

#

the name didnt change

inner swift
#

Well, a Folia jar is being ran somehow, if it's being run at all that means you still have a Folia jar downloaded. What runs is determined by the file name in the startup script

#

I'd just triple check this, delete every server jar and download the vanilla one

dim dome
#

oh my god im so dumb sorry for wasting your time

inner swift
#

No worries lol

dim dome
#

it used the jar from the other folder

winged palm
#

is there something like skript but for folia? I really need to be able to load/unload plugins or whatever on the fly

dim merlin
#

you really dont need that
but regardless i doubt there is a folia version of skript

winged palm
#

I dont want to really use skript itself, but i do want to use a scripting language

#

lol

dim merlin
#

i dont think it is a good idea to base your code on AI

Codex CLI… mostly correct code.

winged palm
#

dont mind about the Affero GPL, as for the maintaining, I don't mind making some prs

dim merlin
#

skript is basically just plain english?
also they dont come across as "so much a beginner"

winged palm
#

My objective isnt to use skript, my objective is to use something along the lines of skript that lets me load,unload and/or reload scripts/plugins while the server is up.

#

I'm not a fan of skript, I'm also not a huge fan of java. I rather use a actual scripting language since it makes sense for my usecase

#

I want to run a beta, and I dont want to have to always restart the server specially when there are players on

dim merlin
#

folia restarts in less then a second for me even with a bunch of worlds
i dont get the point of reloading anything during runtime

paper siren
#

Youβ€˜ll always run into the problem that your scripting language needs to expose scheduling in some form

dim merlin
winged palm
dim merlin
#

okay

winged palm
#

:p

#

nah but on a real note, there are some balancing stuff or maybe bugs that would be introduced and I'd like to correct them on the fly

dim merlin
#

idk skill issue i guess πŸ˜„

winged palm
dim merlin
winged palm
#

Hmm

#

Good idea, I'm gonna do more research

dim merlin
#

it is
but it is a better solution than hot reloading

winged palm
#

i dont know why hot reloading is an issue

paper siren
winged palm
#

i think this guy did a good job

#

Hot reloading seems to be annoying/hard in java
I dont like java

#

A scripting language just makes sense

little sable
#

A "script" is often an extra layer, so at some point, it executes in Java. So no, it's even illogical

winged palm
#

So why use JS in a browser if it will just turn into c++, might as well just write c++

paper siren
winged palm
little sable
paper siren
#

Groovy might be the best choice lol

winged palm
#

I've worked on hyperion, we're pretty close

#

we havent dont much last few months but we have hot reloading through bevy

winged palm
tawdry gullBOT
winged palm
#

I spoke to my lawyer, the plugins don't have to be public. Any modifications to the engine itself has to be publicly available.

polar scarab
#

Hi, could folia run on an ARM64 CPU?

inner swift
#

Well, it's going to start up as long as Java is supported by the platform, ARM is

#

Though performance may be an issue

polar scarab
#

k

paper siren
#

It fully depends on the ARM chip, but if it has many cores, it should be fine for folia

tawdry gullBOT
opaque gust
#

hi, i am considering using Folia for my next server project. i plan to use a vps with 16threads (qmd epyc zen 3 server with 4.3ghz boost) and 96gb ram. does someone know how many players this setup would be able to handle in a situation where thenplayers are spreaded over the map.

winged palm
#

and it recommends 16 cores not threads

fair merlin
winged palm
#

oh i must've missread let me check

#

yeah I missread woops

fair merlin
#

Folia is really for leveraging higher end hardware, it's not really a great solution for cramming more players onto slower setups. So the hardware tends to cost a lot.

winged palm
#

so how many players can i have in lets say, skyblock with a 9950x3d

fair merlin
#

Again, there's no math for "this is my CPU, how many players can I have?"

Same with Paper. It depends on a ton of factors. What the players are doing, what plugins you have, etc etc etc

winged palm
#

yeah makes sense, but lets say a standard skyblock, farming, spawners large islands (5k size) per team

#

just a ballpark number

fair merlin
#

There really isn't a ballpark number.

winged palm
#

Alright

fair merlin
#

And not every 9950X3D system is created equal.

#

It could be 10 players or it could be a few hundred. It's really really hard to speculate.

#

If you have one plugin that's poorly made it can completely limit the entire server.

winged palm
#

So how is a server like 2b2t able to handle a thousand players?

fair merlin
#

Grabbing a bunch of off the shelf stuff and bolting it together puts you in a place where you can have a lot of bottlenecks.

#

Big servers like that are using a lot of custom stuff, they're spending a lot of time finding the best way to speed things up, and they usually have custom forks of Paper/Folia where they're pulling stuff out that they don't need.

#

You can't just walk in off the street, rent a server, slap a stock install of Folia on it, download a bunch of "these are Skyblock" plugins, and expect to be able to handle 500 players.

winged palm
#

Wasn't what i was expecting. Doing everything custom

fair merlin
#

The reality is that if you have no playerbase right now, it's going to take a long time to build up to that many players anyway. In that process you're going to learn what works for your setup and how many folks you can handle.

#

Most server start small and grow organically from there.

winged palm
#

I'm in the opposite state and in a weird/awkward position

opaque gust
# fair merlin The reality is that if you have no playerbase right now, it's going to take a lo...

no not really. if i find out that my server software choice is limiting me, it will be a hard time adapting my plugins to another one. Also i expect there to be a player peak around launch and would like to be able to handle upwards of 200 players on one single map.
That is also the reason why i explicitly mentioned that i would like to know ho much players Folia would be able to handle without any plugins installed that could be a potential bottleneck because if that happens i can simply improve the performance of the plugins.

fair merlin
# opaque gust no not really. if i find out that my server software choice is limiting me, it w...

Folia can handle more players on a given server instance than any other Minecraft software out there.

Anything else would be a fork of Folia that has a lot of stuff yanked out of it and may or may not be unsafe. In this case your limiting factors are going to be hardware and configuration. You can look around for other larger servers to get an idea of how many players they're able to support but they're using dedicated resources, not a VPS.

So there are a lot of factors.

opaque gust
winged palm
#

i find that the upgrade from ddr4 to ddr5 is a big upgrade as well

opaque gust
# opaque gust i am considering getting a Dedicated i5 13500 (14C/20T) or R9 3900X (12C/24T) wi...

what i want to say is that I dont know any reliable source of information if i should use Paper or Folia for my Survival Server (assuming there are no potential plugin bottlenecks) to get the most players on one map while beeing spreaded out. Everything that i know at this point is that Chatgpt recommended me to use FOlia and estimated that the server could comfortably accomodate 100 Players.

livid crag
#

First of all, don’t listen to ChatGPT

fair merlin
#

Whether to use Folia vs Paper is dependent on hardware requirements and player distance from each other.

tawdry gullBOT
fair merlin
#

If you do not currently have 100 players already, start with a smaller Paper server and grow it until you start to exceed your hardware / server setup.

If you're already running with 100 players, what are the limitations of your current setup?

#

You can run 100 players on Folia under the right circumstances but you aren't going to do that with a $40 server setup.

#

Folia will run more players but it's hardware hungry, so you're looking at a dedicated server that's going to cost you most likely more than $100.

#

The folks running big numbers on Folia are spending hundreds (thousands?) per month on their hardware.

#

Also, yeah, don't listen to ChatGPT.

winged palm
livid crag
#

99% of people don’t

fair merlin
#

It gets a lot of Minecraft/Paper/Folia stuff wrong.

livid crag
#

Especially Minecraft as LLM operate on probability and Minecraft has 10+ year of β€œinformation” and only the latest 1 year would still be consider current.

#

Things like asking it about ram usage, it will almost always get it wrong

finite hinge
#

You might end up only running well with 50-100, depends on what you let players do

fair merlin
#

And that server was a dedicated box, not a VPS

meager sleet
winged palm
#

Im struggling to understand how a server is brought down to it's knees trying to run with a couple hundred players or atleast you guys are making it out to sound like that.

little sable
# winged palm Im struggling to understand how a server is brought down to it's knees trying to...

To keep it simple, let’s use a company as an example.

Imagine you’re a manager supervising 100 employees. You have to check what each employee is doing, and every 50 milliseconds you must deliver a report to your boss. If your employees have little to doβ€”like casually exploring a worldβ€”you can review things quickly. But as your company grows, your employees’ tasks increase, your workload grows too, and you may fall behind on your reports. In other words, you start to β€œlag.”

Now, with Folia’s regionalization system, you’re no longer the only manager. Instead, you have multiple managers, each responsible for their own division (1 region = 1 division). Reports get done faster because each manager handles fewer employeesβ€”assuming, of course, everyone isn’t crowded into the same division.

I tried to simplify it by using an example from everyday life.

winged palm
#

brother im a systems engineer πŸ’€ I understand whats happening. But I dont understand how the performance is such a bottleneck across multiple frameworks

little sable
#

I just explained it, you have 50 milliseconds to complete all the tasks, otherwise your TPS (ticks per second) will start to drop.
So, the more load there is during those 50 milliseconds (plugins, entities, players, etc.), the slower the server will be until it exceeds the 50 milliseconds.

winged palm
#

50ms is a lot of time to do a lot of things, spreading that across multiple cores/threads is even better, syncing all them into one state is a bit annoying. my point is It doesnt make sense that such high end equipment cant handle 500 players at stable TPS

#

Is there a way you guys are testing/benchmarking the framework itself?

little sable
#

Yes, in reality, we've been using Folia in production for literally a year. We've had peak player counts of 600 players, but since we have a lot of cores, and therefore a lot of regional threads, I haven't had any performance problems (except if the players build very, very large farms, which naturally causes their TPS and MSPT to be really bad).

winged palm
#

my goal is to let players build very very large farms 😒

little sable
#

You need a high CPU frequency and many cores for this. But there will always be a physical limit

quaint panther
#

they have, it's probably in readme

little sable
#

If you want more details, you can go and see here:

Paper Chan hideout

Folia is a Minecraft server software with true multithreading and regionalize ticking, with a goal to achieve better scalability and performance.

Cubxity's Blog

Check out the impressive results of the large-scale Folia test that took place on June 18th, 2023. Learn more about our findings and technical challenges in this post.

winged palm
little sable
#

Yes, and it's enough to give you a very good idea

winged palm
finite hinge
#

Load testing Minecraft servers is basically impossible

#

You just have to get spark reports from real servers with real players and see where the hotspots are

little sable
#

You can use Spark to see what is consuming the most resources

winged palm
finite hinge
#

Technically you could make bots that walk around, mine, build, fight mobs, whatever but at that point you're putting a ton of effort in to making bots that still probably won't match up to actual player behavior

#

It's harder to make an accurate bot than it is to make Folia πŸ˜„

#

And of course each server will to some extent have their own different hotspots

winged palm
#

yeah i get you, but something basic shouldnt be trivial, and would/should give you a good insight

finite hinge
#

Maybe on your server everyone idles at farms but on my server there are no farms and people just mine all day but on someone else's people are just nonstop walking around

winged palm
#

or all 3 πŸ™‚

finite hinge
#

Sure you might get a mix

#

So now you need 3 bots πŸ˜„

winged palm
#

3 non trivial activities

finite hinge
#

Last time I tried to do simulated loads to optimize CraftBukkit I ended up making it slower for most actual servers because my bots were not doing a key thing real players did

winged palm
#

for example?

finite hinge
#

I don't remember what it was, probably walking normally, I think I just had them teleporting short hops

#

I was optimizing chunk lookups so that makes sense

winged palm
#

so how did it end up being slower for actual servers

finite hinge
#

Basically don't try to microoptimize off simulated loads

#

I was tuning a HashMap (writing a custom one with a custom hasher, etc) and my worst case performance for that was something my bots didn't hit often but real players did

#

This was 2013 or 2014, the details are going to be vague

winged palm
#

hm, i think there needs to be some sort of replay-ability, record packets from 5-10 players from join and simulate those

finite hinge
#

Hmm, this might be completely wrong but it suddenly popped in to my head that my bots were hitting the key not found case (need to load the chunk) while players were more likely to hit the key found case (walking in to loaded chunks) and my map was way better for the first one but worse than the existing map for the second one

#

Or vice versa

#

But that's going to be server dependent too so you might find a real server where my map would help but that's still not valid to go in to a project like folia or paper, it needs to be generally good

winged palm
#

I want to investigate, but I don't know what values to go off of

finite hinge
#

You really just need to run your own popular server or get someone who does to hook you up with spark reports

winged palm
#

hm

paper siren
#

There also isn’t much low hanging fruit in Paper and Folia anymore

umbral vault
#

i guess zgc dont liked 18gb ram

#

very funny test.

#

falling back again to g1.

paper siren
#

You didn’t test anything

#

Also not Folia and outdated Java version

umbral vault
#

its graalvm 24?

#

canvas is fork of folia.

#

i just test the gc latencies at 18gb ram allocation, while using zgc

little sable
paper siren
umbral vault
#

i was looking all of them their frequencies and ms

paper siren
#

For a process running for 36s

#

Whatever you did is flawed on basically every level

rich python
#

I’ve noticed that some players randomly get disconnected and see the message:

β€œYour connection to Folia encountered a problem.”

Just to clarify β€” the server is running Folia 1.21.4, and its name is simply β€œFolia.” So the word β€œFolia” in that message is just the server name; it could be anything else depending on the server’s name.

It doesn’t look like the server is actually kicking them β€” and the players aren’t doing anything to leave either. It’s as if they suddenly disconnect on their own, and then the server just shows that message.

This happens randomly and without any clear reason. Do you have any idea what might cause this kind of disconnect or if it could be related to Folia itself?

fair merlin
#

That sounds less like a Folia thing and more like a proxy thing.

#

But 1.21.4 is pretty old - I'd probably recommend starting to update.

#

We definitely don't support 1.21.4 anymore

rich python
#

i will update to 1.21.8 soon

#

maby it will fix it

cobalt sapphire
#

hey, when folia for 1.21.10 will be released?

balmy solstice
#

Hi, could there be problems if I set "grid-exponent" to 1? What would be the best value?

fair merlin
cobalt sapphire
umbral vault
junior raven
#

for folia - any spigot/paper mechanic will run the same on folia or are there "side effects"~?

As a example how does folia handles eventhandler priority~? since plugins run not longer in the same thread/loop~

#

Or plugin using~ "Depends on, Loads after"~?

tawdry gullBOT
fair merlin
#

You’ll want to read up on the docs there (and in this channel). Folia isn’t for every server / use case, so make sure it’ll work for you. Plugin support is more limited also.

junior raven
#

mean you might be able to tell me if it would or wouldnt work for my server~
survival faction - but i make all plugins myself the only 2 plugins that aren't written by me currently is worldedit / coreprotect~

#

plugin support would be my least concern

#

aahh i see will benefit smp so for me it would

vestal basin
#

You get benefits if players are properly spread across the world

junior raven
#

ahh oki yeah that would benefit my server
the only thing i wonder is how it handles duo CPU~ (idk if this is all handled by the OS)

vestal basin
#

That’s pretty much handled by the os i’m sure

tawdry gullBOT
vestal basin
#

You want to prevent players from getting too close from each other or their regions will merge
Each region is handled by a single thread, you don’t want to end up using folia with a single huge region based

junior raven
#

mhm~ can't not setup a max region size~? so even if close by that its not 1 massive region?

#

since the server should still benefit from the multithreaded performance compared to paper? (world, nether, end) are already 3 worlds~

vestal basin
#

Btw, this is an oversimplification, you’ll want to read the docs on the regionising section

junior raven
#

or will the server end up been less performance if player cluster~

vestal basin
#

Folia handles everything automatically

junior raven
#

i will read into the docs~ i mostly want to use the hardware i have to increase performance across the server. Its a small server (player count) but got the hardware for a big server

vestal basin
#

Depends on what your players do

junior raven
#

at this point of time not much x3 but i want to build a server that will last for a life time without to much managing
just want to prevent lagg and optimize the server to its max~

vestal basin
# tawdry gull

If it’s small you could go with paper with just a couple of cores and save some money
If you still want to run folia, you’ll still get benefits even in a small server as long as you manage to get this spread

junior raven
#

the server specs i got is 36 cores (72 threads) 192gb ram~

vestal basin
#

That’s for a huge server yh

junior raven
#

not allocated to the server fully only 24 cores - 16gb ram but will increase when necessary

#

for now i will read into the docs and then got to figure out when to find time to rewrite plugins to folia

#

thanks for all information so far!

#

okay 1 more question does Folia work with Velocity?

vestal basin
#

Yup

#

Velocity kinda works with everything, anything paper-based (like folia), fabric, forge and even vanilla

fair merlin
tepid pollen
#

Can i run folia on a Dedicated Server like AMD Ryzenβ„’ 9 7950X3D? (smp server)

dim merlin
#

In theory paper should also be able to handle that
Given the other specs of the server are decent too

#

But if you have the resources and meet the requirements to use folia you will definitely profit from it

balmy solstice
umbral vault
#

if u spreading them too near

#

make it 1

#

But if ur spreading them too far based on each player

#

make it 2-3-4-5...

balmy solstice
#

Is there any chance that the ad 1 grid will cause problems? like desync or player kicks?

balmy solstice
#

no, 60k x 60k sorry

umbral vault
#

do it 1.

balmy solstice
#

mhm

#

i'll try, thank you ^^

balmy solstice
# umbral vault no

Oh, another question (sorry). If I have 32 threads and the entire machine is dedicated to that mode only, how should I set up the various threads?

livid crag
balmy solstice
#

how much would you recommend?

livid crag
#

Players need to be thousands blocks away from each other

umbral vault
#

^

umbral vault
#

For more information

balmy solstice
#

okay, thank you so much

timber igloo
tawdry gullBOT
north shale
#

If your players are close, they will all be lumped into one big region. Better to use a standard paper server at that point.

#

Though I guess separate dimensions would still tick separately

azure cloud
#

I am useing canvas and i have tryed to get this to wwork but it dosent quit work

fierce knotBOT
fierce knotBOT
fierce knotBOT
azure cloud
#

So when i am just only using papper with the configs it works but not whn i get canvas as well bc then it breaks

#

Any help with this?

daring nimbus
#

idk what Canvas is, but if it breaks with that, you should ask them for help

azure cloud
#

it is a version of folia

daring nimbus
#

we only support Folia here, not forks of Folia

azure cloud
#

ok