#folia-help

1 messages · Page 32 of 1

fair merlin
#

Would rather not talk about it at all, but if so go to #general

tulip swift
#

first you don’t have evidence of i use offline server second if you think i do so you can choose to not answer, but please don’t flood the chat and argue so other people can help

marsh mapleBOT
#

(678aa4316ed5010734cf1ae7) // @tulip swift (@aguleb6451 / 688203075533537281) has been timed out by @fair merlin (188417437295706113)
Reason: We do not support offline mode servers.

tulip swift
#

i declare that my server is not offline, alright?

arctic tapir
#

Doesn’t work like that

tulip swift
#

there’s no evidence tho

daring nimbus
#

This whole conversation is not relevant to ⁠folia-help
Please stop. You already were warned once.

tulip swift
#

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

arctic tapir
#

Again, we do not support offline mode

tulip swift
viral stone
#

You've already admitted to running offline mode servers in the past, we do not supprt such setups

#

There is no supported means of making the server save the game, that is already handled incrementally; jumping to folia to then kill the server by forcing a full world save seems entire counterproductive

tulip swift
tulip swift
marsh mapleBOT
#

(678ad8d56ed5010734cf1ae8) // @tulip swift (@aguleb6451 / 688203075533537281) has been timed out by @fair merlin (188417437295706113)
Reason: We still do not support offline mode servers.

fair merlin
small fossil
#

Hey, are there any instructions on how to set up the folia server correctly with the core assignment? I have the problem that we have a server with 80+ players and one core is at 100% with a Ryzen9 5900X

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
#

Are all of the players in one region?

inner swift
#

This is happening because you're below the recommend minimum requirements

#

So you'd have to manually override the maximum region thread count config

small fossil
#

64GB RAM 12 Cores at the moment

inner swift
#

Yeah, recommended minimum is 16 cores/32 threads

fierce surge
wet arch
#

you also need the players adequately spread out so that they can be in separate regions

inner swift
#

64GB is likely enough

small fossil
#

More cores or more single core Ghz??

#

Epyc or Ryzen?

small fossil
#

No, i have access to the node. Its KVM but there are only two servers on the node

#

We are transfering the Server now to 7950x3D

#

18 Cores

inner swift
#

For future reference, the amount of region threads is determined this way:

  • If there are <= 15 available CPU threads, you get 1 region thread
  • Otherwise, you get (available threads) / 8, rounded down
small fossil
inner swift
#

Automatic but overridable

small fossil
#

Current flags:
java -Xms12G -Xmx12G -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:G1HeapWastePercent=5 -XX:G1MaxNewSizePercent=40 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1NewSizePercent=30 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -XX:MaxGCPauseMillis=200 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=32 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui

is this ok? Or are there other performance related flags?

viral stone
#

GC is GC, it's not a performance thing

#

generational ZGC looks interesting and some have had some good results with it

primal oyster
#

@small fossil What's the size of your map.

#

There's clearly a mistake somewhere at least in your design, why are there 64 players in one region.

#

that's not what folia is made for

#

it doesn't matter what hardware you have.

#

You need to figure out a way to spread your players way more. 1-2 thousand blocks minimum away from each other. otherwise just expect to have (paper - 5%) performance.

small fossil
#

Pregenerated

primal oyster
#

no..

#

thats not size

#

we're asking about your world size

#

in blocks

#

that's what matters

small fossil
#

Dont know. How can i know xD

primal oyster
#

you might be able to tell by /worldborder get

small fossil
#

59999968 blocks

primal oyster
#

that's not your map size no

small fossil
#

I know...

primal oyster
#

what was the map size on chunky pregeneration

small fossil
#

I dont know, didnt do this

#

But never mind. Since the move to the more powerful CPU, things have been running better. More RAM has also been allocated

calm fable
#

so theres a new branch in the git, hard-fork. is that the seperation from the bukkit api fork?

viral stone
#

bukkit has been dead for a decade

#

if you mean the split from spigot, that's the hard-fork branch

calm fable
#

yes sorry spigot

fair merlin
#

Yep

#

Paper hard forked, so Folia has to update also.

calm fable
#

nice

#

i love folia and appreciate thee work all you devs do

#

i run a decently large server and we couldnt possibly run as well without folia

#

i assume 1.21.4 will be the last spigot compatible version?

fair merlin
#

Hard to say

#

I mean Folia plugins already aren't spigot compatible.

#

So.

#

Kinda doesn't matter as much for Folia because a plugin has to be built for Folia already.

calm fable
#

right

spice helm
#

should i change from paper to folia i own 200+ player server and dedicated team

#

any helps?

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
spice helm
#

so. I think

plucky compass
spice helm
fair merlin
#

If you have 100 people in a small area then Paper is likely going to be faster.

spice helm
#

200k

#

i got performance issues but ram cpu is good

#

32gb ram ddr4 and 12core ryzen 7

#

so is it from specs or?

#

its vds

#

I bought with panel

#

like i setted up the panel

#

its 60gb and 32cores

#

The vds. I got but. I run some website and stuff

#

Bot hosting and some more things

#

and small terraria server

#

i use neofetch

#

it shows ryzen 7

#

yes i use multiverse core for pvp and parkour theyre nostly not crowded

#

like survival is most

#

me and my dev team made all plugins

#

i think i will try folia and see if it will boost my performance

#

like we all are owners of server dev team of 7

#

imma try folia

short summit
viral stone
#

work out why your connection to mojangs services failed

#

that would generally be a network/dns type issue

short summit
#

I'm running on my local machines

#

it works when i use paper but not folia

viral stone
#

There is 0 difference between folia and paper on that front

#

it's literally just a standard connection to mojangs API

short summit
#

Hmm

#

I probably need to restard my pc

slow hearth
#

pearls don't disappear when the player leaves (like they do in vanilla and paper)?

viral burrow
#

is there a folia plugin that supports sand duping? for 1.21.4?

unborn oriole
#

How large is each region ? How spread apart do they need to be? I have a server where people are spread within a 20K border, but i don't plan on expanding that

#

Also does folia make use of duel processors?

fair merlin
#

Make sure you read the pins in here / documentation

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
#

Most of the common questions are answered in there

mild fog
#

Why is 1.21.1 not on the api?

finite hinge
#

You mean folia-api wasn't published?

#

Because you should be building your own folia server jars

dire pebble
#

Also the relevant API (scheduler) is already part of Paper

viral stone
#

They mean the downloads API

#

.1 wasn't building in a publishing form on the CI given the changes, etc

#

welcome to prerelease software

mild fog
#

perfect...

fair merlin
dire iron
#

Can I port a 1.8 world into Folia like I can do in normal Paper?
Which are the most common plugins people try to install and aren't available on Folia?

fair merlin
#

Folia uses the same converter, so yes.

orchid bough
#

Is there a way I can split that region so it does not have 15k chunks

fair merlin
#

Regions combine automatically if players are too close together.

#

So keep players further apart, mostly.

fair merlin
orchid bough
fair merlin
#

So if your players are much closer than that you're gonna have a bad time.

orchid bough
#

Okay thank you

young trail
fair merlin
#

That's the built in tps command.

drifting sedge
#

how many regular vanilla minecraft player sends packets per second to folia

primal oyster
#

What

#

what do you even mean by that

drifting sedge
#

Well, how many packets does a player send to a server per second, 200 or 300 or 500? I need to know that.

viral stone
#

They're asking what PPS to expect from a vanilla client

#

and the answer is that it's generally quite low ban can be spikey depending on your gameplay

drifting sedge
#

how much on folia, more than 1000

viral stone
#

folia doesn't really change that

#

otherwise, I'm not sure what the quoted value is these days, people generally don't care to record such metrics outside of monitoring their entire network

drifting sedge
#

I just have players sending more than 1000 pps per second, and I do not know why, and this bug is only on folia, there is no such thing on a regular server.

viral stone
#

Yea, I don't think 1k pps is normal at all

#

Most people afaik are using the default packet limiter settings

drifting sedge
#

well, I have it by default too, and that's why everyone is kicking because they send too many packets and there is no such bug only on the folio server on the regular paper

viral stone
#

Well, now that we've gotten to your actual issue, I'd suggest looking into what packets are being sent by the client

drifting sedge
#

How?

viral stone
#

I mean, I have a plugin on github which would log incoming packets, but, not compatible with folia and not a tool I care to support

#

otherwise, you'd need to find something to do that

drifting sedge
#

give me github

#

please

viral stone
dry arrow
#

Hey there! This may be a dumb mistake on my end. I tried compiling Folia, buuut when I try launching a server with it, I get the following:

Error: Unable to initialize main class org.bukkit.craftbukkit.Main
Caused by: java.lang.NoClassDefFoundError: joptsimple/OptionException

I made sure to follow Paper's compilation steps from the README, and I got the jar files, buut both folia-server-1.21.4-R0.1-SNAPSHOT-dev.jar and folia-server-1.21.4-R0.1-SNAPSHOT-mojang-mapped.jar are giving me that error when trying to launch the server.
Any ideas on what I may be missing?

viral stone
#

you don't run the server jar

#

you need the bundler jar

dry arrow
#

Where can I find the bundler jar in that case? I checked the gradlew tasks, and the task I used specifically is createMojmapBundlerJar. That one generated those two jars.

viral stone
#

it's in the root build folder iirc

dry arrow
#

X_X

#

You are right, I was checking in folia-server. I found it now. Thanks lol

dry arrow
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.

pliant fable
#

Heya! Just checking if there's any possibilities that /datapack and /trigger or /function commands will be returning to Folia, yes or no?

#

Currently running quite some datapacks, and would love to keep those in

fair merlin
#

Datapacks are probably dependent on world stuff which is still a big question mark. So not anytime soon if ever.

Datapacks with functions in them are notoriously slow, though, so that would defeat some of the purpose of running Folia

pliant fable
#

Mhhh fair

pliant fable
#

I’ve been running a Minecraft server with the following setup:

Hardware: Dual Intel Xeon E5-2690 v3 CPUs @ 2.60 GHz (12 cores, 24 threads per CPU, 24 cores, 48 threads total)
RAM: 64GB DDR4 2133MHz
Minecraft World: Moderate-sized world (~2500x2500 blocks)
Players: Around 20 active players on average at the same time
Server Version: Paper (using Folia as an experimental alternative)

I am running in on one issue which I am not sure why it is happening. When using the following JVM flags>

-Xmx32G -Xms32G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=50 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=60 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=30 -XX:MaxMetaspaceSize=512M -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -Dusing.aikars.flags=mcflags.emc

The Minimum ram usage gets totally ignored & only 900mb/s get used, which when I was using paper was not the case and was much more stable.

Anyone a solution on why the jvm flags in the batch files get totally ignored and with my hardware, is it even worth experimenting?

manic quarry
#

Moderate-sized world (~2500x2500 blocks)
that's basically a "no" for using folia already

#

players need to be ~2k blocks away from each other for folia to even create separate regions for them

pliant fable
#

apart from that tho, why's the ram usage acting up? Reason for us upgrading right now is cause we'll be expanding our borders real soon. We preparing for that right now.

inner swift
#

The AlwaysPreTouch flag makes sure all the mapping is done

ashen meteor
#

Hi, is there a way to make Folia split this high online count regions?

livid crag
#

No

ashen meteor
#

Also, that players are not too close to each other

livid crag
#

There is also no issue on that screenshot

#

anything below 50 MSPT means you will maintain 20 tps

primal oyster
livid crag
primal oyster
#

just grow your map

#

tell them its an update

#

or get a better rttp system

#

its clear theyre too close

livid crag
#

You have to find way to encourage players to go out and not cluster up

#

idk give them some key in the chest on far away chunk or something... anything

primal oyster
#

just do it automatically XD

livid crag
#

or just rtp them far, yeaeh lmao

ashen meteor
primal oyster
#

yes

#

so 20k blocks?

#

@ashen meteor

#

where do you spawn your players at.

ashen meteor
#

maps width and height is 73728x36864 (-36864 -18432 36863 18431)

primal oyster
#

Lol

#

Ur def not doing it properly then

#

250 people in close range with each other

#

With 500 players you want way more

ashen meteor
primal oyster
#

They're def close to each other

#

You're gonna need a bigger map

#

Or RTP them more far away

inner swift
#

The concept of "close" in Folia is: if you take any two players and they are less than 1000-1500 blocks away from each other, these two are too close to be in separate regions

livid crag
#

He's gonna need to wipe the map now. He needs a bigger scale version of earth map

primal oyster
#

because he has 50% of his player count in a single region when he doesnt need to

ashen meteor
primal oyster
#

develop a dynamic plugin that will create rewards across points that have almost no players

lunar niche
#

Hey, any good permission plugin for folia? 😄 Luckperms only has a repo and no download for it 😭

viral stone
#

pretty sure it was on a CI server or something?

#

otherwise, just build it

lunar niche
#

yeah true, thanks!

livid crag
#

@oak venture Folia can be compiled yourself. If you cannot do it, Paper is the software of choice for you.

oak venture
#

In terms of

uncut garnet
#

I'm trying to make a fireworks show but I'm not sure how or if it's even possible to configure so that I can see fireworks far away (120 blocks away)

livid crag
uncut garnet
#

Thanks

lofty magnet
#

the client also has a particle distance iirc

daring nimbus
#

yes, but you can bypass that with the force param when sending the particle

lofty magnet
#

sure, but do fireworks do that? because they aren't normal particles

#

(although I would think that mojang thought of that lol)

dry arrow
lofty magnet
#

check the folia readme

tepid bronze
#

there isn't any content in the first place. Perhaps somebody should write some folia docs smh

lofty magnet
#

or just add a link to the repo's readme lol

tepid bronze
#

I don't think any Folia docs have been changed since when leaf did his initial folia docs commit

tepid bronze
sacred sky
#

Would Folia be an appropriate solution for running a server that does nothing but host player owned plots?
They'd be layed out something like this where X is chunks that are owned by a player and _ is just air. Or is that too clustered up to get any benefit?

XXXXX__________XXXXX__________XXXXX
XXXXX__________XXXXX__________XXXXX
XXXXX__________XXXXX__________XXXXX
XXXXX__________XXXXX__________XXXXX
XXXXX__________XXXXX__________XXXXX
___________________________________
___________________________________
... <repeat pattern>
viral stone
#

You need like 2k between players in order to have seperate regions

sacred sky
#

I see, so no point then?

viral stone
#

probably not

#

the biggest thing would maybe be seperating it up into different worlds to take advantage of the extra regions there, but MahiruShrug

sacred sky
#

Could do that for team/guild plots vs player private plots

#

And then have 2k between each guild plot in that guild plot world, I suppose?

livid crag
#

yes 2k between should be good enough.

#

if peopl wanna bridge that long, I say they win

sacred sky
#

Lmfao would be hilarious actually

#

Have PvP on but tell no one

livid crag
#

bro spending a few hour bridge to your base to raid you evil

sacred sky
#

In reality the plots will be surrounded by barriers I'm thinking, that way people can't kill themselves by falling off their plot

livid crag
#

that works yeah

winter shell
#

Is there factions for folia?

tacit tartan
#

Maybe, you'd need to do some research

finite hinge
#

Decent chance you'll have to write/modify a lot of stuff to run a Folia server

winter shell
#

Factions would be really cool for MMO, in the multiple thousands of players on a single map 🙄 atleast it seems possible today. Although it is still crazy with this game.

viral stone
#

I mean, factions is generally people building their own things, which is fine; but, as soon as people start joining up to go take out some kingdom, the benefits can disappear fairly easily

finite hinge
#

Yeah Factions would be okay if 1-20 people are off in the middle of nowhere building a base, not so okay if 60 people all join together to attack another base

winter shell
#

That could happen in plain survival aswell. Seems to be alot of planning and work after all. Towny on the other hand could almost be abit boring, but much safer on the other hand.

viral stone
#

could, yes; There is a reason why it's essential that you understand how folia works before you set up a game play mechanic which takes 0 advantage of it

#

It's more a note that folia isn't going to magically make your raids perform much better if everybody is going into one place to show who can click faster or whatever is the trick these days

winter shell
#

But a large map with many spread out players generally would benefit. Of course one could have multiple worlds with less players each. It would not make a big difference, maybe personal preferences. In the end folia is more flexible.

fair merlin
#

As long as they're spread out about 2k blocks apart, yes.

#

But Folia is likely less flexible due to plugin support and some things just not being able to work.

winter shell
#

Yeah. But it hit the market. Seems to be somewhat stable and useable after all. With 1000 players online being a reality. Dual 128-core EPYC 9755 is easily 3-4x as powerful as 96-core EPYC 9654 in many use cases. Atleast 4,000 slots should already be possible with last years 4nm. Bandwidth is aswell crazy with this game. Java is crazy anyway 😂 the chance is probably high I am only dreaming a little bit instead of actually doing it after all

fair merlin
#

NUMA (dual CPUs) aren't supported

winter shell
#

Thanks. That really makes a big difference in what is achievable. The newest topnotch hardware is aswell pretty unaffordable for something like this normally. Maybe with NUMA-support we would already see the player limit of like 1,000 at 2b2t increase.

fair merlin
#

I'm not sure how feasible NUMA support is.

#

But time will tell I guess.

viral stone
#

NUMA isn't feasable because NUMA requires that you have the relevant context and control to do that

#

javas context stuff is limited and the JVM can copy stuff around the heap all it wants; it does try to prefer stuff if configured, but, idk

#

but, most of the limitations is that if you wanted to do that you'd need proper control over stuff so that you can deal with moving stuff around numa contexts, which, just isn't tenable in a java codebase not designed by yourself

winter shell
#

Yeah. High respect for all the work so far. I don't understand Java after all. In business environments I often see errors and other issues with Java while C and CICS run like a charm for years.

fair merlin
#

Like anything, Java runs great if it's built well. Not so much if it isn't.

winter shell
#

IBM CICS is just a frontend for accessing mainframes basically.

fair merlin
#

Oh.

#

Not really a programming language?

winter shell
#

highly scalable and robust transaction processing system developed by IBM. It is widely used for mission-critical applications on mainframe environments like IBM z/OS.

#

I checked deeper into Java and NUMA. The heap. Garbage collection. Thread pinning and affinity. Access to shared resources between threads via different NUMA nodes leads to synchronization overhead and cache coherence problems.

fair merlin
#

We should probably move this conversation to #general at this point if it's more a general conversation about Java and langauges.

This channel doesn't get a ton of traffic but if someone posts wanting help it's best to keep it clear.

twin garden
#

Hello !

I am planning to create a creative server where players will have the possibility to have their proper worlds. Is loading, creating, unloading worlds at runtime working on folia ? If not I will need to create a world generator plugin to create plots that have the size of a region to separate each region for each plot

viral stone
#

no

twin garden
#

Thanks !

terse dock
#

i just compiled folia and i have two version, there difference is one is reobf and the other is mojmap. Which one should i use for my server?

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
#

Might be worth reading the documentation we have available

finite hinge
#

Hmm, if you're getting a reobf version doesn't that mean you're building 1.19 or something?

pliant fable
#

Just a theoretical question. IF you'd take a normal plugin that is not Folia-supported. What would need to be added to make it folia supported? Like, what does the plugin not have to have it be supported? (tag w response pls)

#

Thanks for the structured answer! Appreciate it!

lost vessel
#

can someone tell me why the Command Blocks doesnt work on Folia?

daring nimbus
#

relying on global state/cross-region probably

lost vessel
hexed ice
#

I think the issue had something to do with command blocks saving the last command's output

hexed ice
#

use plugins instead

lost vessel
hexed ice
#

for what you want to do with them

bold osprey
mental shore
#

Folia is good for little smp server (7-15 players)? There are bugs? Auto farms work?

#

I using folia 1.21.4

fair merlin
#

For 7-15 players it makes way more sense to use Paper.

#

There's no real beneift to Folia at that player count, and you're limiting your plugin options a lot.

#

Folia won't make slow hardware better. It wants better hardware than Paper.

pseudo ibex
mental shore
harsh garnet
#

Hi, does anyone know a World Manager plugin for Folia, something like Multiverse?

little sable
harsh garnet
#

thank you!

little sable
#

No problem paperUwU

inner swift
#

I can see a point for the case you get enough spread to have 2-3 regions with heavy farms

#

But I also wouldn't be surprised if there was no improvement, it's very situational at your player count

dim merlin
winter shell
#

Sounds great 😊

winter shell
#

That's a new "dimension", like the nether and the end, on the same folia instance? Nice and interesting feature. I wonder what instead of NUMA-support is really feasible and realistic now and in the future. The overworld on one CPU and nether/end on a second CPU? Or just switching between multiple Folia Servers on the same proxy? Let's see 😀 I am excited

steep whale
#

is 1.21.4 folia just completely broken rn? fresh build with no plugins and it fails to load chunks

winter shell
mental shore
#

I know that there is only alpha unstable versions of Folia, but there is very bad bug, items can disappear (Folia build #1 1.21.4)

fair merlin
mental shore
fair merlin
#

It’s still in development but we do want to fix bugs. What branch commit did you build?

mental shore
#

Idk i installed it from pterodactyl panel from hosting

#

It is #1 build (1.21.4)

fair merlin
#

Yeah you want to talk to your host then. If they’re allowing Folia they should be using the current commits. We have no idea when that build is from.

#

So talk to them and make sure you’re current on the 1.21.4 posthardfork branch.

mental shore
#

If i will change engine from folia to paper there will be issues?

manic quarry
manic quarry
storm sun
#

Hard fork folia out of the beta test phase?

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.

tepid bronze
#

Same for Folia

mental shore
mental shore
rotund jolt
#

Does PlayerTeleportEvent work on folia? If not, how do I track player teleportations?

#

And if it doesn't work, then what should I use instead?

rotund jolt
#

And what to use then?

proper flume
#

how far is folia to have a release?

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.

wet arch
#

There is no ETA for publicly available builds.

winter shell
#

You consider running Folia a gamble? Missing items sounds pretty serious. Generally it seems like a great choice with much less issues than random projects, like Cuberite.

fair merlin
#

And has pretty specific use cases, which aren't for everyone.

winter shell
#

After all this project really works generally. So big up again to everyone who made this possible. I thought the Same. Thanks for confirming.

dire iron
#

Does folia support bungeecord at all? I cant manage to make it work

dire iron
#

Do I have to set something up specially

fair merlin
#

You’re better off using velocity.

#

But it’s the same as Paper.

#

So it supports bungee just like Paper.

dire iron
#

It shows this until it times out, not sure whats wrong

little sable
dire iron
#

Yes, I am very aware on how it's setup, but its stuck on joining world

#

I am asking because it seems there is other config apart from bungeecord true in spigot.yml in folia that i might be missing

little sable
#

Check that you have set the correct connection IP, especially if it is a private network. Check that the server is in offline mode and that on spigot.yml, it is configured for bungeecord

dire iron
#

bungeecord is true in spigot.yml, online mode off in server properties, online mode turned on in paper config

little sable
#

Does your server see the connection attempt?

finite hinge
#

Sounds like a bungeecord issue then

#

Or network/firewall issue

little sable
#

I don't see what could cause the problem, apart from an IP:port problem or Firewall. Afterwards I use Velocity on our infrastructure and not Bungeecord because it is not very efficient... Try with Velocity to see if it does the same

dire iron
#

Velocity isnt working either, but its showing the error: Viaversion seems to be not working.

#

Thanks

#

Not switching to velo cause I have a custom fork

little sable
#

your custom fork may be the problem

dire iron
#

Thanks

#

Probably have to wait more until more plugins port to folia

livid crag
#

Velocity works well with Folia. It’s likely a setup issue on your side. If you need bungee cord support, you should reach out to spigot discord.

finite hinge
#

The fact that you don't see any attempt to connect on the server side has me convinced there is some networking problem

dire iron
#

Yes I find it very weird. My paper server works just fine, same config and stuff. Today I will keep investigating.

sharp walrus
#

Will the Ryzen 9 7900 (12-core) benefit from Folia at all?

fair merlin
#

It’s a little low on the recommended cores. But possibly. Depends on if you need it - are you running into issues on Paper that can be solved with Folia? And does your server meet the needs that Folia has (plugin support, players 1000+ blocks away from each other, etc)?

sharp walrus
#

I don't really need it as of now, I was just curious. so even with 16 cores, Folia wouldn't benefit me much on an earth map considering the largest ones are usually 32k x 18k?

daring nimbus
#

if you have a lot of players concentrated in few areas (e.g. building a town together), it could still be beneficial

viral burrow
#

how can i turn off elytra flight, but the elytra shouldnt disappear?

soft patio
daring nimbus
viral burrow
winter shell
#

Would a much bigger map generally be a higher load? X players loading Y chunks would still be about the same load if the map was 100x bigger right? Considering everything is pregenerated anyway.

#

512 x 512 region files seem so small and I wonder where I could Go, up to 100 TB 😂 which isn't even much in a rectangular shape, especially travelling e.g. the nether 🙈

fair merlin
#

More players mean more chunks. Bigger map doesn’t really matter as much.

On Paper a smaller map means more players in the same chunks, but on Folia you want people spread out. So it’s still mostly player based and not map size based.

winter shell
#

Yeah. I want to spread out even more. And have space to travel where noone spawns. I was Just abit scared and wondered If Problems were known with much bigger Maps on a Folia Server.

#

Thanks for your Feedback.

fair merlin
#

Nah both Paper and Folia handle big maps just fine.

slender vortex
#

are there any specific settings i can change that will help with chunk generation?

fair merlin
#

What’s the issue with chunk generation? It’s typically down to your hardware.

slender vortex
#

its just seems abnormally slow, even compared to just a normal paper server new chunks load significantly slower

fair merlin
#

How many cores / what CPU do you have? Send a spark report showing chunk gen?

slender vortex
#

3700x 8 core, ik its not the recommended 16, although im just testing with only myself on currently.

How do i do a spark report

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
#

You have to grab the Folia version of Spark

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.

fair merlin
#

Then that. But good chance you just don’t have enough cores.

slender vortex
#

would the lack of cores really be an issue if there is only one person online though?

viral stone
#

I mean, for one, update folia

slender vortex
#

compiling doesnt work for me bro, idk what im doing wrong but it keeps failing. so im relying on some rando compiled .jar i found

viral stone
#

then you should probably look into resolving that, building in WSL is generally much faster and stable

#

but, there isn't anything interesting in there directly given the info spark has provided, would probably need to see all threads and check the thread counts given towards stuff like chunk gen, etc

slender vortex
#

and how would i do that

viral stone
#

do what?

slender vortex
#

see all threads and check the thread counts given towards stuff like chunk gen, etc

viral stone
#

you'd tell spark to profile all threads

#

that's covered in their documentation

#

as for thread counts, easiest way is to see what's running in spark

slender vortex
viral stone
#

excert of the logs is useless

steep whale
#

how do i enable spark in folia?

steep whale
#

ah i was confused cause i thought it was packaged with it flop

fair merlin
#

Nah, just Paper.

slender vortex
manic quarry
slender vortex
#

Yeah, Ik it’s not a good idea

misty kraken
#

is Ryzen 9 5950x a good processor for the Folia?

little sable
inner swift
#

Yes, it's good (assuming dedi)

misty kraken
#

do you think it can handle 150 players? and yes it is in a dedicated

fair merlin
#

There's no math for "how many players". It depends on plugins, player spread in Folia's case, how much RAM, how the server is configured, etc etc etc

inner swift
#

If the player spread is done sufficiently, it is definitely possible to run a standard 150-player survival server on that hardware

misty kraken
#

ik, my server is a survival, currently it has a 280k radius. So, my players basically live 80k blocks away from spawn spread out.

fair merlin
#

They would need to be roughly 1500 blocks away from each other.

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
#

I'd recommend reading the information/documentation, as well as browsing this channel.

#

These are reasonably common questions folks ask about Folia.

#

It's not for everyone. Plugin support is limited and it has some specific requiements.

misty kraken
#

The project is interesting, I have already ported some of my plugins to Folia. My fear was that the processor would not be enough 😅

tacit tartan
steep whale
#

what causes this? it was working a few hours ago and now it just stopped working. only thing different is i deleted everything and relaunched the server to regen the worlds and such.

viral stone
#

the spawn init logic is trying to sync load a chunk

#

and folia doesn't like that

#

all I can guess is that the default spawn radius is too small for the logic that handles that or something, no idea

steep whale
#

so its basically just hit or miss on if it generate the world?

viral stone
#

No idea

steep whale
#

it magically fixed its self

viral stone
#

I'm guessing the thing is basically racing against the spawn chunks loading

#

But, that call trace looks sus

steep whale
#

ah.. i blame leaf kekw

viral stone
#

oh, regen the worlds, nvm on that front

#

yea, probs just a race then

ebon rivet
#

gradlew tasks not work, can't build and anymore

paperweight-patcher v1.7.7 (running on 'Mac OS X')

> Task :tasks FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tasks'.
> Could not create task ':folia-server:relocateConstants'.
> Cannot query the value of extension 'paperweight' property 'craftBukkitPackageVersion' because it has no value available.

how can i build it?

#

same on debian server

#

tasks works on dev/hard-work, but why not work on dev/1.21.4?

hexed ice
#

if it works on the hard fork branch why not continue using that

ebon rivet
#

is it "stable"?

#

i know paper stable, but doesn't know is folia stable with hard fork patches

finite hinge
#

I don't know if you could say any version of Folia is "stable"

#

Stable enough that people are using it, they might be patching around problems or adjusting their plugins to not trigger them though

ebon rivet
daring nimbus
#

I would stick to the branch that actually is being updated. so the hard-fork one

fair merlin
ebon rivet
viral stone
#

Stuff changes

#

especially when one of the branches involved was a huge drastic change to the entire build tooling setup

#

generally leaves the repo setup in a bit of an unexpected state due to configuration files dangling around, etc

marsh mapleBOT
#

(67aa761c6ed5010734cf1b61) // @dense raven (@diego_off5111 / 1253454836947615755) has been banned by @fair merlin (188417437295706113)
Reason: Advertising

mighty frost
#

Too many entities just appereared in the end. Any advices?

livid crag
#

read your spark report to find out where those entites are at

mighty frost
livid crag
#

it is if you compile from the branch on its github

mighty frost
#

thanks

#

i will try

quaint trench
#

is there a way to build an older version of folia

viral stone
#

you'd just checkout the commit for that version and then build it as per the instructions

quaint trench
#

oo okay thank u

fair merlin
#

Use Via for older versions if you have to.

flat epoch
#

I just disabled player collisions on 1.21.1 but there are still collisions?

dim merlin
#

players dont have collision attributes like entities you have to use a scoreboard for that

fair merlin
#

Also update to 1.21.4

dim merlin
#

register a new team and set the team options for collisions to never or team only

#

depending on what you need

flat epoch
#

can there be multiple "overworld" worlds on folia?

fair merlin
#

Just like Paper, there can be only one folder named "world".

#

Again, just like Paper, you'd need a plugin to add more worlds. The World API is limited so you may have some issues but there are plugins out there. Check Hangar.

finite snow
#

Can anyone help with this, I get this message every time. Even if I reset the server completely, this means that I have deleted everything and I continue to get this message

fair merlin
finite snow
#

O sorry

fair merlin
finite snow
#

sorry about that

jaunty torrent
#

hello its my first time trying to use folia i used github desktop to clone the repo, i have java 21 on my computer, i download git 2.48.1 and im trying to applyPatches on the main branch can some one help me ?

fair merlin
#

Is there more further up in your screenshot?

jaunty torrent
#

give me 2 sec

#

oh and im logged on git dont know why he says im not

jaunty torrent
#

oh well ignore i just change repo come back and it work CatSlurp

willow spear
#

I have an issue when starting a server with folia (empty just jar) it built everything so nothing was used
and i get these errors

#

the version is dev branch latest commit

daring nimbus
#

any plugins?

#

if not, I would recommend making an issue on the issue tracker

willow spear
#

Nothing completely empty server

#

i will, do you have any specific commit you can recommend me that should work?

daring nimbus
#

I would just try the one before the latest. The latest seems to be an upstream update, that might have broken things

willow spear
#

will try thanks 😄

willow spear
little sable
daring nimbus
#

I wouldn't use the reobf jar, Paper no longer uses that and there is not really any reason to use it anymore. createMojmapBundlerJar is the current one

#

that shouldn't completely break it like that tho 👀

willow spear
#

will try that thanks 😄

daring nimbus
#

and if you aren't already, you probably should use the hard-fork branch

#

yeah that might be the issue honestly @willow spear try the hard-fork branch. dev/hard-fork

fair merlin
#

Oh yeah you 100% should be on the hard-fork branch.

willow spear
#

Will try that, i changed the branch it just uses applyAllPatches instead of applyPatches

And should i use the createReobfPaperclipJar
or createMojmapBundlerJar for server file ?

fair merlin
#

Change to the hardfork branch and follow the instructions on the Paper repo.

#

Same as always.

willow spear
#

but there are no instructions on compiling in the repo (if you are saying about the readme file or the main page of the repo)

daring nimbus
fair merlin
willow spear
#

oh on the paper 🤦‍♂️ my mistake

daring nimbus
#

though you are right - you have to run applyAllPatches for Folia, not applyPatches

#

thats not mentioned anywhere tbf

willow spear
upbeat bluff
#

Is Folia compatible with Vivecraft?

fair merlin
#

No idea what that is.

#

Probably best to ask whoever makes whatever that is.

maiden bronze
maiden bronze
upbeat bluff
#

Vivecraft has a server plugin.

#

It allows players to see other people's VR hands in-game.

fair merlin
#

Plugins have to be built specific for Folia.

#

So ask the plugin author(s) if they have a Folia version of their plugin.

upbeat bluff
#

I asked the dev and they said it may cause a race condition.

fair merlin
#

Well there you go - sounds like the answer is unfortunately not.

upbeat bluff
#

Yeah.

frail pelican
#

Are there any plugins that anyone knows of for folia that support setting random spawn locations for players when they enter a world?

inner hearth
#

Hello, is it okay for me to run a folia instance on a sub-par processor with 8 CPU Cores at 2.5GHz and 16GB Ram?

#

spark report for a regular paper servre with same hardware

paper siren
#

well it's "okay" but we can't really tell you if you'll see any improvements over paper

inner hearth
#

So for the real advantages we have to get more cpu cores?

vivid epoch
#

oh did anyone tested folia or even paper on a non x86 machine?
like arm or risc-v

paper siren
#

there are thousands of paper servers running on aarch64, but not sure if anyone ever tried running Folia on such a system

vivid epoch
#

like arm ampere or those machines i mean

#

if so how does one get their hands on those machines

viral coral
#

hetzner sells arm ampere

#

risc-v is not worth using for even hosting a website

paper siren
#

Oracle has free tier ampere servers, but that only includes 4 cores

viral coral
#

the performance probably wouldn't be great for folia eitherway

vivid epoch
thick yoke
raven mesa
#

Hi guys, i have a question regarding the performance of Folia for many players inside a single region.
So im planing to use Folia for my server where i have a central spawn region. The players should spread in the world and will be separated very far from each other what helps me to use the advantages of folia. But my concern right now is, that I will have performance issues in the spawn region. (There will be everything protected and players cant interact with anything, also i try to deactivate as many server activities in this region as possible so players can pvp there, but i still dont know if the overhead for the players still is to high)
For example, could folia handle 100 players in a single Region under that circumstances? (The current hardware used is just for test purposses so its hard for me to even test this, but im aiming for a Hetzner AX102 or AX162-R once the server will be released)
But if you guys would already say this is a bad idea, then my plan is to create a seperate server for the spawn region with a normal Paper server and switch the players between those servers when they are going to this area.

manic quarry
#

100 players in a single region
the entire point of folia is to avoid this exact scenario.

#

no matter what you do, software based on vanilla will never handle that many players well under all circumstances

umbral vault
#

even handling 300 players in a region is wild tho

inner swift
#

So there will be ~100 in spawn, but the rest (inside of the same world) will be far away from each other?

umbral vault
#

i will be proud if anyone doing that

umbral vault
raven mesa
inner swift
#

Folia sounds fair enough for that case

raven mesa
umbral vault
#

well in that case u should use servers more than that idk

#

or use a good world manager plugin

#

paid or free who knows

umbral vault
#

they have regioned parts likely 100+ servers in a cluster(s)

#

using custom folia with idk but a multi paper system

#

which is needs a fantastic knowledge developer

inner swift
#

For example, could folia handle 100 players in a single Region under that circumstances?
It'll only be slightly worse than Paper. So if you keep it entity-free, it can work depending on hardware

raven mesa
#

That itself would not be the Problem, but that scaling is just not needet right now and would create way more overhead for starting with the server right now 🙂

umbral vault
#

hmm

#

if u know java properly and u can write hotfixes, plugins etc.

#

u can do that, otherwise if u dont know the java complete hell

#

even owners of folia dont giving the jar of folia. i guess they are saying "If you can't even get a build, don't get into this business"

#

and u need to also have knowledge about databases and redis (who knows)

raven mesa
#

I know ^^

umbral vault
#

i dont prefer to using a world manager plugin for real.

#

its bullyshit my thoughts

#

but if u have a just one server, u can make the spawn and afk into ur world and put a worldguard

#

u can also continue to use paper, im using different fork of paper. I know important ppls are saying u should not use these ones, i know im using for test purposes and not in prod. env.

vivid epoch
umbral vault
#

u should can do that or try another forks, which one fits ur needs then select it

#

im alr using a fork of paper but cant say the name, people dont like the forks in here i guess

livid crag
#

That's not really the case rather that we love to keep channel on topic

umbral vault
livid crag
#

In fact, Paper is really fork freindly, we even provide the exact instruction on how to fork Paper and also tooling to do so.

umbral vault
#

😊

viral stone
#

It's not that we "don't like forks"; we put a lot of effort into tooling for them. We just don't have the desire or capacity to provide support for every random fork that pops up on the internet

umbral vault
stone tartan
#

Any ideas why when I try and build Folia it errors out. I'm running ./gradlew createMojmapBundlerJar on JDK 21.0.6

stone tartan
#

I've tried dev/1.21.4, 1c0ecd3, 94d65c3, ff947a7. All with the same issues.

#

The two commands I'm running is ./gradlew applyPatches; ./gradlew createMojmapPaperclipJar.

Ubuntu 24.04.2 LTS
Java 21.0.6

wet arch
#

did you try building the hard fork branch?

fair merlin
stone tartan
#

Tried that branch and it worked first try. Thanks peepoheart

#

Just tried to run it but get an error saying no main manifest attribute, in folia-1.21.4-R0.1-SNAPSHOT.jar. The file was gotten from ~/Folia/build/libs/folia-1.21.4-R0.1-SNAPSHOT.jar

#

Nevermind, I'm dumb

eager crag
#

Guys, a very stuuuupid question.

#

Is Folia work better than Paper on Xeon ?

tacit tartan
#

"xeon" could mean anything, it's like saying "a ford vehicle". Could mean a big beefy F-350, could mean an itty bitty Fiesta.
If you've got a specific model number, we can probably give you some better answers

eager crag
#

ok, it's E5-2620V2,

livid crag
#

Folia is not magic, it cant make shitty hardware run better. so in your case no

eager crag
#

I KNOW, the clock speed is terrible, but for the price i get, it can be veeeery cheap

livid crag
#

price of an item doesnt matter if it is useless.

eager crag
vivid epoch
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.

past panther
#

Is Folia currently usable? I mean, is it worth switching from paper to Folia?

primal oyster
#

It's not worth switching no

#

if you have to ask that it means its not xd

past panther
#

I just discovered Folia recently

primal oyster
#

yeah I am just saying

#

almost no support from plugins

#

you will very likely need to modify Folia and write code on your own aswell

#

the environment is different

#

there are different bugs that will ocurr

#

you need thread safety knowledge

#

youll likely have to adapt every plugin you have

#

and possibly lose features your game has

#

thats why i say that

past panther
#

Yes, but it's mostly for the players.

fair merlin
#

What does that mean?

past panther
#

If there are no problems or bugs for the players

#

Or if it's better to stay on paper

fair merlin
#

"Better" really depends. They aren't the same thing.

It's kind of like asking if you should wear sneakers or boots. It depends on what you're doing.

#

Read all the Folia documentation and stuff linked in this channel.

#

Understand the pros/cons, then feel free to ask more questions

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
#

(Also see the pins)

past panther
#

Oh ok, thanks ^^

lost vessel
#

Could it maybe be due to Folia if TNT dupers and sugarcane farms aren’t working?

chrome loom
vivid epoch
#

so well folia devides chunks into regions right? then is it then splitted by just if they are not near to it? i mean not next to the 8 grids to your chunk (counting ones on x+1 and y+1 since they are technically somehow able to interact with each other) or is there somewhat more distance needed to get devided?

livid crag
#

way more distanced needed, since you have to consider things like entity with high velocity.

vivid epoch
#

oh so how much distance are we talking about?

#

like 8?

vivid epoch
#

1000/16 is approx about 62.5 so

#

62chunks?

inner swift
#

Something like that, yeah

vivid epoch
#

this is not modifiable right?

#

since like in my situation players cant use elytra, makes them have less max velocity in the case when players can you elytra

#

also using a speed limiter just in case

#

i mean in most situations, people wont be near each other unless they are actually very close to each other, making playerly (that sounds bit weird) regions have less chunks then in the worst case scenario, and when they are just alone, they are alone.

livid crag
#

elytra isnt what cause those high velocities...

#

tnt stacked in certain way is...

vivid epoch
#

oh i mean also that is prevented somehow,

#

since people wont use that feature very often anyway

#

unless they are having a war

clear cape
#

i'm running on 2 12 core CPUs (non-HT) and -Xmx96G. is there any pitfalls and such i should know with this?

fair merlin
#

NUMA isn’t really supported, so that isn’t a setup we’d really recommend.

#

One CPU with more cores is what you want.

scarlet ginkgo
#

what would it take for folia to support it? would it be like rewriting lots of code?

timid grotto
#

java doesnt really support it afaik

clear cape
timid grotto
#

like itll run, but it wont be optimized

clear cape
#

it's a super old box anyway. configured as 64gb of DDR3-1600 per CPU

fair merlin
#

You could have all kinds of where issues. Including data loss and data corruption.

#

So not really something I’d recommend risking.

clear cape
fair merlin
#

If you’re also running very old CPU, you’re probably not going to get great performance.

#

Folia wants a CPU with a lot of cores and fast cores.

clear cape
fair merlin
#

Because Folia is designed for higher end hardware, really. Along with specific use cases.

clear cape
fair merlin
#

You probably would see poor performance with higher player counts with Paper on those CPUs. So Folia would be slower, not faster.

scarlet ginkgo
#

higher clock speeds probably

fair merlin
#

Minecraft just doesn’t work in the same way you’d expect something like a web app too.

#

That’s why older Xeon CPUs are decent for web stuff but not Minecraft so much.

inner swift
#

Your main limiting factor, per-region, is single threaded performance

fair merlin
#

^

clear cape
#

i have very good IPC and single core performance. i don't have HT, so each core is one thread

inner swift
#

I do not think any CPU that runs DDR3 has what can be considered good single threaded performance

fair merlin
#

You want a modern single CPU system with a lot of cores and high thread count.

#

“Good” is relative, but yeah DDR3 is gonna be old and slow.

#

For what Folia needs.

clear cape
inner swift
#

I mean, if it works, it works™️
But have you compared against Paper?

scarlet ginkgo
#

i mean if you compare with bare paper and see which one is faster and it’s folia then go ahead but odds are paper will be the same/better

fair merlin
#

Well, again, you may get down the line and find you’re having a ton of weird issues because of NUMA

clear cape
inner swift
#

You can probably find at least one use case where you would benefit from such a hardware, it's just that with your hardware, these cases become more and more limited, which is why we by default do not recommend it

#

But if it's working for you, then you might've found it

#

¯_(ツ)_/¯

fair merlin
#

But run it if you want. If you have issues and you toss out a spark report out first response is probably going to be “that’s an old CPU and you shouldn’t be using dual CPUs”

clear cape
fair merlin
#

There’s no real way to “fix” that issue. It’s a Java problem, not a Folia problem.

clear cape
fair merlin
#

There’s been other conversations in here around NUMA, might be worth digging around for those.

clear cape
#

i'm a C programmer first. it's more my area anyway

fair merlin
#

As a C programmer, you should have a good grasp of memory management and realize that running a NUMA setup on something with so many reads and writes would be a terrible idea.

#

But sounds like you’re confident you can resolve any issues you have, so good luck!

clear cape
#

thanks for the info. i'll continue with what i'm doing

vivid epoch
clear cape
#

it's on 2 opteron 6344s

#

running for a day so far

vivid epoch
#

oh since i was able to handle 100 players with like 10Mspt on papermc 1.16.5 , e5-2667v4 so take that in mind

#

I also have a DDR3 machine so im interested in your results if you get any

clear cape
clear cape
vivid epoch
#

not right now, well its broken so i ordered up a replacement server to move my components into it

clear cape
#

my setup is also running in a KVM linux guest that has most of the system's resources

vivid epoch
#

oh nice

clear cape
primal oyster
#

thats a nice font

dawn cosmos
#

Hey, I wanted to ask how much of single core performance makes a difference for a folia smp server. Were at abt 60-80 players average and were switching over to folia now. We're currently on a R9 9900X Dedicated with 128Gigs of DDR5 ram. So the question is if it makes sense aktually switching over to something like an AMD Epyc or upgrading to an 9950X since this one has 16 cores, and the highest single core performance you can get rn.

wet arch
#

before that, how big is your map?
are players spread out enough to benefit from folia?

errant saddle
#

whats the minimum cpu core to run folia server?

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.

errant saddle
arctic tapir
#

that’s what it says yes

errant saddle
arctic tapir
#

okay

errant saddle
#

what even a server run with folia?

arctic tapir
#

what?

#

folia is made to run with a lot of cores

errant saddle
arctic tapir
#

yes

#

2b2t is one i know

errant saddle
#

really?

#

wow

#

yeah big server

#

ok im a give up and use paper/purpur instead 💀

#

4cores

outer mural
mystic shard
#

Does Folia need dedicated CPU cores, or is a VPS with virtual ones enough?

bold osprey
mystic shard
paper siren
#

During the period when 1,000 players were online, we reached a maximum of ~7.9GB/s heap allocation and our GC was hovering around 2-3GB/s when averaged over a minute.
That’s the relevant part I guess, everything else is just finding a good trade-off

manic quarry
mystic shard
#

So, if I allocate, say, 10 GB, will I be able to support 1000 players?

paper siren
#

Most likely not

viral stone
#

Memory in java is complex, all we can generally suggest is that you throw a few dozen 10s of Gs at it and see how it performs; There is a reason why people just allocate stupid amounts of memory at the thing and don't try to care to optimise their usage, etc

mystic shard
#

Why are you using GC? It seems like it's already outdated

paper siren
#

What?

manic quarry
primal oyster
#

😳

whole spire
#

I am trying to install folia for a community server that racks up to 300 players during the holidays on a survival world. But I cannot seem to wrap my head around how to install it, and the last guide I used is a year old and im not sure if it still works because the docs are different.

manic quarry
#

you clone the repo and you build it

whole spire
#

I did

manic quarry
#

other than that, it's the same as paper server

whole spire
#

it crashes during the build

#

how am I supposed to build it?

#

because there are a ton of .bat files and idk if I should click on them

manic quarry
whole spire
#

and idk how to 'build'

manic quarry
#

that's a barrier to entry for a reason. if you can't build it, you likely won't be able to run it without severe issues

whole spire
#

That's fair

manic quarry
#

most servers that run folia end up rolling their own fork

#

because that's easier than getting most plugins to work

whole spire
#

yeah I understood that, guess I'll have to find an alternative

#

thanks though

manic quarry
#

only real alternative for scaling minecraft servers is instancing

#

so proxy + multiple servers

whole spire
#

I know sadly

#

we work with 2 survival servers now because 1 couldn't handle it

karmic urchin
#

Hi, on a survival server with 150-player spikes where players are far apart (almost certain that there will be almost as many regions as players) but individual bases can have fairly heavy farms would it be better to go with a R9 7950X3D or a 7502P? If it's useful information we won't pregenerate chunks.

primal oyster
#

that depends

#

you're not going to pregenerate?

#

lmao

manic quarry
#

that would be terabytes

primal oyster
#

terabytes?

#

what is "big" enough

#

and what is "high enough player spread"

manic quarry
#

so folia regions actually form

#

you get to very big numbers very quick if you want to pregen based on that

primal oyster
#

8GB/s is a fuck ton

#

you better give it a lot of ram and room and cpu for zgc to work aorund taht

manic quarry
#

that's like 1320000 bee movie scripts being written per second

paper siren
#

I‘m aware, that’s why I mentioned it

mystic shard
#

How many players can I run on a VDS with 16 cores and 32 GB of RAM?

livid crag
#

That's not a question people can answer accruately, it highly depend on the game mode you are hosting and what the players are doing, and what kinda core you mean.

livid crag
#

You still have 2 more question to answer

mystic shard
#

Survival

viral stone
#

Nobody here can tell you because it's all going to boil down to a few dozen values

#

All you can generally do is look to seeing if people have posted how many people they've got handled on X setup

#

Players do different things, different CPUs perform much differently

livid crag
#

If your player are not going to be thousands of block far apart, running Paper is still going to be better. You also failed to mention what CPU you have.

mystic shard
clear cape
#

the system may still not be sufficient if many people are doing memory intensive stuff

fair merlin
#

A 9950X or 7950X3D is not “overkill” for a CPU

clear cape
inner swift
#

The recommended minimum for Folia is 16C/32C, around the ballpark of a Ryzen 5950x

#

Folia servers can go further and make use of server CPUs, like EPYCs, with more cores, given enough spread, so "overkill" is a strong word

#

But, even considering that, that person doesn't have the full CPU for themselves, only 16 of the threads

#

Which's well below the recommended requirements and your mileage may vary with this setup. Not saying it will never work, but this does narrow possibilities

fair merlin
#

^ exactly this

dawn cosmos
livid crag
#

World is way too small to really benefit from Folia @dawn cosmos You should run Paper instead

dawn cosmos
#

paper is not able to handle it tho

livid crag
#

Unless your players are always going to be 1000+ block apart,

#

Paper will actually run better than Folia

dawn cosmos
#

Well if neither paper or folia can handle it

#

what are my options really

livid crag
#

Reduce gameplay to make player suffer

#

3 view distance, 1 mob per player etc

dawn cosmos
#

Well I could expand the world and make it unlimited or something like 500kx500k blocks, but what abt the 80 players that have their bases already inside of the 20kx20k radius

dawn cosmos
livid crag
#

Most server stucks on the gap between, running Paper is fine (around 60~80 players), to running Folia or other sharding solutions as you will need a team of developers, and network of servers to achieve it.

#

The gap is huge there

#

so what you want to do is up to you.

dawn cosmos
#

The Team and developers is not a problem, we have some very experienced and motivated devs but the question is whats the go to software rn

#

and neither of us really knows

livid crag
#

Then you need to ask your team of developer to read Folia readme

dawn cosmos
#

already did

livid crag
#

and understand how the region works on the software and talk to your admin team about expending the world border.

#

Well you miss the very important part which is world is too small.

dawn cosmos
#

We discussed the world border thing already, so expanding would indeed be a option

dawn cosmos
#

but as I said: what abt the 80 players that have their bases already inside of the 20kx20k radius

livid crag
#

You have to either make the world big enough or make it so that player do not need to frequent each other and build apart from each other.

dawn cosmos
#

well we can't just go ahead and tell them to take their buildings and start over in a new area :c

livid crag
#

nothing a little world edit cant fix Clue

dawn cosmos
#

Okay, so you say we're fine switching to folia, but we need to expand the world then

#

by A LOT

livid crag
#

I mean if your player somehow build their base in equal space as the picutre above

#

it may work pepela but I highly doubt

#

maybe make some server quest as incentive?

#

that could work

dawn cosmos
#

I mean we use a rtp, so we could probably make some algorithm that makes sure player's get teleported far enough away so they most likely build in a new area

livid crag
#

2b2t has incentive built in, it's an anarchy.
DonutSMP has sharding already but they also expend an ill bit iirc.

livid crag
#

but yeah now you mentinoed yo have a team, you can go ahead and best of luck 👍

dawn cosmos
#

yeah thanks for the help!

#

oh btw what do you mean with "DonutSMP has sharding already but they also expend an ill bit iirc."

livid crag
#

I think their whole map is on several different servers but their stuff is private so I cant really see how it works rieAWAWA

dawn cosmos
#

ahh I see, so they could have mutiple maps on mutiple severs u say

livid crag
#

yes and it comes together seemlessly

dawn cosmos
#

But when I exceed the border of one map and would need to move to anotther map on a different server, wouldn't that be noticeable since you get the loading screen etc

vivid epoch
#

I mean the structure is similar to

dawn cosmos
#

Multipaper seems interesting. Is there any people that made experiences with it before?

fair merlin
dawn cosmos
#

yea project seems dead... not an alternative unfortunately

manic quarry
#

it's basically just a gimmick with no real life use

#

there's always an asterisk when there's "infinite scaling"

manic quarry
#

no, that's never viable, because at that point clients become bottleneck

#

netty can only process x amount of packets per second

#

at roughly 1k players you're starting to see the queue pile up

#

this results in actions being processed on the client after a noticeable delay, and it gets worse and worse over time

#

not the cpu issue, nor it's "terrible hardware" issue

#

it's purely scale issue

#

it's not about rendering

#

I feel like you're missing the point

#

you can have 999989999fps with 1000 players, that's not the point

#

not netty itself, but the handler

#

ask kenny how mrbeast event servers went

#

not sure if his video is still up about it

primal oyster
#

If that was netty they could've easily batched and reduced overhead

#

The client can't handle it either away

#

If there was batching logic into Minecraft it would work fine

#

I know it because I did it on donut and there's a discussion on paper about it

#

Drastically reduces the entire overhead

#

And netty can push way more than 50k packets per second

#

Through a single channel.

#

Which means single thread.

#

Either way don't do it

sharp rain
#

I don't know if it's a folia server error or not, but players with more than 20k blocks can't find the portal. Do you know if the same thing happens to them?

fair merlin
#

What does “more than 20k blocks” mean?

livid crag
#

Also what type of portal you are referring to? There is nether portal and end portal in game.

lost vessel
#

Does anyone else experience blocks disappearing when using pistons or similar mechanics, leaving an invisible block that prevents placing anything there?

fair merlin
#

Haven’t heard of that. Try to reproduce without plugins/datapacks

humble mesa
worldly sparrow
#

Hey guys, so what is the main difference that a developer needs to know when it comes to supporting folia on a plugin?
I know the Scheduler concept is different however what else?
How does the listeners are affected and what things a developer should have into consideration?

Also should i be worried about the EntityScheduler? If i have to do player.updateInventory() can i just call it from the main class or do i have resort to this method somehow if i want cross-compability?

primal oyster
#

what you do on main thread on paper, you do on entity or region scheduler on folia.

#

that's almost it, there's a FEWWW like 1 -2 scnearios where you wont be able to do it, but the exceptions will guide and tell you

#

you should make your code 100% thread safe, concurrent colections, locks on thread-safe required classes etc

sharp rain
#

Do you know if I can improve the tps a little?

fair merlin
hexed ice
#

Lowering the simulation distance so drastically should be a last resort for what looks like a mid size server

#

sure, it would improve tps, but we haven't seen any spark report or even know their system specs

fair merlin
#

We don’t really have enough info to make any useful assumptions.

golden saffron
#

Does anyone know how to reset the previous version of Folia?

fair merlin
#

You should be on the most recent commit of the current hardfork branch of 1.21.4.

Folia is in active development and has a lot of bugs and improvements happening that aren't directly linked to the Minecraft version. Don't run old versions or old commits.

fathom juniper
#

what locking behavior should I use to port my plugin to folia?

public class User {
    private final UUID uuid;
    private final int points;
}

public class UserManager {
    private final Map<UUID, User> map = new HashMap<>();

    public void registerUser(UUID uuid) {
        map.put(uuid, new User(uuid, 0));
    }

    public void addUserPoints(UUID uuid, int points) {
        User user = map.get(uuid);
        int oldPoints = user.getPoints();
        user.serPoints(oldPoints + points);
    }
}
```The methods in UserManager are going to be called from either commands or events, so concurrenct access on the user might happen. what would be the best strategy to solve this?

this is not the best example because I could be just using a atomic integer, but assume that the structure is more complex than that
viral stone
#

There is no perfect solution because you're doing multiple things in there which leaves many questions

fathom juniper
#
public class User {
    private final UUID uuid;
    private final int points;
    private final ReentrantReadWriteLock lock;
}

public class UserManager {
    private final Map<UUID, User> map = new ConcurrentHashMap<>();

    public void registerUser(UUID uuid) {
        map.put(uuid, new User(uuid, 0));
    }

    public void addUserPoints(UUID uuid, int points) {
        User user = map.get(uuid);
        user.lock().writeLock().lock();
        int oldPoints = user.getPoints();
        user.serPoints(oldPoints + points);
        user.lock().writeLock().unlock();
    }
}
``` is this a valid solution or is there a more idiomatic solution?
viral stone
#

I mean, you can't safely put

fathom juniper
viral stone
#

or, well, now that it's a CHM you kinda can

#

but, registerUser would generally be a bad practice

#

that would generally be better as a more atomic 'getOrCreate' type deal

fathom juniper
viral stone
#

Because you'd likely wrap that in some from of get type call which means that you'd break the atomocity

fathom juniper
viral stone
#

get('a') == null then put('a') means that here is a risk another thread could put a and then you come in and blindly replace it

fathom juniper
#

oh ok yeah

viral stone
#

either you take advantage of CHMs own built in safety or you go crazy with read/write locks

fathom juniper
#

so how should I approach this, assuming that I also have a get method in that user manager? should i make the responsibility of the caller to lock the user before accessing it or make an api that would lock inside?

viral stone
#

Well, you'd protect the map as its own thing

#

if you need to proect over the user object, then probably syncronise on it

#

ofc, syncrnosing on objects like that is often best avoided, soooo

#

idk how you'd design for this well

#

time to pick up a book, I guess

fathom juniper
viral stone
#

Nothing personally, concurrency is a weirdly fun topic where I understand many of the concepts but lack the practice

#

Apparently java concurrency in practice is an "old but gold" sorta deal

vernal wyvern
#

what is hard fork

fair merlin
#

"Hard fork" means splitting away from upstream.

#

Paper hard forked from Spigot, and has a bunch of tooling/changes to adjust for that.

Since Folia is a fork of Paper, it needed to be updated also to support those tooling changes.

vernal wyvern
#

also do i use ./gradlew applyPatches or ./gradlew applyAllPatches on Folia

finite hinge
#

You build Folia the same way you build Paper

vernal wyvern
finite hinge
#

Huh

#

I guess try all then

vernal wyvern
#

💀

#

you told me to buiild the same way like paper and it doesn't work 😭

finite hinge
#

It did before hard fork

vernal wyvern
#

wth

finite hinge
#

And paper really does still have applyPatches

#

I dunno why it's renamed in Folia

vernal wyvern
#

💔

viral stone
#

I mean, there is literally a patch.sh script in the folder, however, it's currently failing for me due to some issue with patches

fair merlin
#

Did Leaf break the hardfork branch?

viral stone
#

seems to be the case

vernal wyvern
#

uh

viral stone
#

See the log file

#

make sure you're using java 21

vernal wyvern
#

i am

fierce knotBOT
viral stone
#

You would need to work out what that exit code means then

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.

hard palm
#

I just recently had a crash whilst using the very latest version of Folia (upon opening the end). Would this issue occur as a result of one of our plugins modifying the respawn (or any similar teleportation) events? Here's the full log for detailed information

fierce knotBOT
jagged forum
#

We use Terralith but we did a decent bit of testing and had minimal issues beyond startup

bold osprey
#

But anyway the crash isn't related to it, something happened while generating the exit portal, for some reason the overworld end portal tried sync loading chunk in end world

bold osprey
hard palm
hard palm
hard palm
# bold osprey it's a vanilla gamerule

(If you want me to stop replying for responses, let me know). I’ve been away so apologies for the delayed responses; had to get someone else to do it. The current radius is set to 2 (in all worlds). Would you recommend something like 12/16 instead?

terse bluff
#

how come mob spawning is like really bad on folia, what am i doin wrong

sim distance = 10

per player mob spawns true

      ambient:
        hard: 128
        soft: 64
      axolotls:
        hard: 128
        soft: 64
      creature:
        hard: 128
        soft: 64
      misc:
        hard: 128
        soft: 64
      monster:
        hard: 128
        soft: 64
      underground_water_creature:
        hard: 128
        soft: 64
      water_ambient:
        hard: 128
        soft: 64
      water_creature:
        hard: 128
        soft: 64```

bukkit.yml

```ticks-per:
  animal-spawns: 400
  monster-spawns: 1
  water-spawns: 400
  water-ambient-spawns: 400
  water-underground-creature-spawns: 400
  axolotl-spawns: 400
  ambient-spawns: 0
  autosave: 6000

spawn-limits:
  monsters: 20
  animals: 10
  water-animals: 15
  water-ambient: 20
  water-underground-creature: 5
  axolotls: 5
  ambient: 15```
#

spigotyml

      animals: 32
      monsters: 32
      raiders: 48
      misc: 32
      water: 32
      villagers: 32
      flying-monsters: 24```
tawdry gullBOT
fair merlin
#

It’ll be the same as Paper

#

So the same advice generally applies unless you have some plugins messing with things.

terse bluff
#

acoording to this that isnt the case

#

unless it's changed since

#

idek

modest kestrel
#

preventing more to spawn

#

you can easily check that with /paper playermobcaps

livid crag
#

Assuming you didnt adjust spawning radius, you changing mob cap from 70 to 20 will make it look little yes. because you nerf the overall mob by 72%

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.

livid crag
#

yes it is covered on the page

inner swift
#

There could be performance issues, yes

viral stone
#

at the end of the day, folia can work on less; that hardware is just the general expectations over at what point you'd be at hardware wise to be able to invest into folia

turbid ridge
#

has anyone made a version of WorldEdit or FAWE for folia 1.21.4? I can't find any forks that support the latest version SCGwhy

exotic marlin
#

How large are folia regions?

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.

rare isle
#

anybody goit any info on how folia changes hopper behaviour? Cos the exact same sorting system works in vanilla, but not on folia, and the reason is somewhere along a hopper/dropper line, items catch up and then get mixed up, breaking the system

fair merlin
#

See if you're seeing the same behavior on Paper.

#

Paper/Folia changes some stuff from vanilla.

merry steppe
#

Does folia support world generation?

I see a freshly created world doesn't contain level.dat, and I see also this piece of code in patches(picrelated)

fair merlin
#

It should create an overworld, end, and nether.

#

Anything beyond that, not currently.

#

If your overworld is missing a level.dat then that is an issue.

#

Although I just tested the most recent commit and it doesn't have that problem, so ensure you don't have something in your setup causing problems.

merry steppe
#

Not sure the setup an issue, I just updated the core I'm using to test self-written plugins from 1.20.4 to 1.21.4 and then removed the world and found that blue-map doesn't start because of no level.dat generated...(I also checked that, and it's really not generated)

Also, we've tested it on two different PC

#

lemme check it in clean folder, maybe the reason somewhere in configs...

#

not really it's an issue. Lemme check on different java...

timber otter
#

I'm running the latest version of Folia and I also don't have level.dat created

merry steppe
#

Is there requirements for compilation?

The core was compiled on 21 Liberica JDK(and used w/ same one)

bold osprey
#

Worlds from plugins are not supported yet

merry steppe
#

it's just a classic world

#

not the plugin one

fair merlin
merry steppe
#

we're building master

timber otter
fair merlin
#

You don't want to build master.

#

You want the 1.21.4 hardfork branch.

merry steppe
#

ok I see

finite hinge
merry steppe
#

is there any descriptions for that branches?

Like what is the difference between
master / hard-fork / dev 1.21.4?

fair merlin
#

dev 1.21.4 is pre-hardfork.