#folia-help

1 messages · Page 21 of 1

proper jolt
#

why

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.

hushed raptor
#

oh

#

lucky

inner swift
#

1.19.4 has several exploits and is missing several optimizations

hushed raptor
#

how do i become sponsor

proper jolt
#

btw i just wna get it to make a private server

inner swift
#

You need to compile it

inner swift
proper jolt
#

but idk how to change the version or like get another version's code

hushed raptor
#

🧐

proper jolt
#

o

hushed raptor
#

by that i probably mean like hundreds lol

proper jolt
#

ha maybe

#

is this the latest of 1.19.4?

fair merlin
# proper jolt is this the latest of 1.19.4?

You’d have to find the commit for it. But Folia is new software with bugs. Theres been a TON of stuff fixed since 1.19. You should definitely only run the most recent version / commit.

proper jolt
#

hm

fair merlin
#

It's experimental still in development software. You 100% don't want to be using old versions.

proper jolt
#

fine

hushed raptor
fair merlin
narrow bough
fair merlin
# narrow bough

Can you summarize your issue in a way that doesn't require someone to watch a video?

#

Assuming it's an issue, that is.

#

Hard to tell without any context.

narrow bough
#

Players simply activate the device machine, and then the servers are forced to shut down.

fair merlin
#

What is the "device machine" supposed to do?

narrow bough
fair merlin
#

Can you replicate this without any plugins installed?

narrow bough
#

Yes. No need to install any plugins to reproduce the problem.

narrow bough
fair merlin
#

Makes them fly high? It launches them into the air?

narrow bough
# narrow bough

Since the written form doesn't express what I want to say, I recorded a video to rehash the question

fair merlin
#

Might be good to get a schematic of what the thing is so someone can recreate/test it.

narrow bough
#

ok

narrow bough
#

Is litematic okay?

fair merlin
#

Worldedit schematic would probably be better.

narrow bough
#

But they don't currently support Folia

#

Reproduction method.

  1. Pull down the lever
  2. When the TNT is about to explode, jump into the center of the water and press the space bar with the explosion.

Then you'll get a server crash forcing it to be shut down "https://pastes.dev/JRdWAkERkV"

ivory gyro
#

Hello, aside from using Aikar flags and folia, is there any other options I can include to lower down performance issues?

livid crag
#

Flag doesn’t really “improve performance” unless you are having GC issue

subtle fjord
pseudo ibex
ivory gyro
# livid crag Flag doesn’t really “improve performance” unless you are having GC issue

Hi, Thank you for the details. I'm not actually having performance issues right now. I just included the Aikar flags since most of the time, that is always being suggested when performance issue arise. But may I ask if there are other options like maybe installing plugins that supports folia or any optimization options I can do? We're using paper before and planning to start a new server with folia.

fair merlin
#

There aren't any plugins that improve performance. Best thing you can do is get good hardware and tune your setup a bit, same as Paper.

narrow bough
#

I tested the problem again in detail.

I found out that there is another way to reproduce the problem than just this one.

  1. all you have to do is pull down the lever
  2. stand around and watch it, the server will crash and get shut down, then it will throw "https://pastes.dev/JRdWAkERkV"
#

The test environment is as follows.
Main server (latest folia version)
Backup server (latest folia version, no plugins)

finite hinge
#

Apparently the machine is launching you so fast you leave the region in a way the server didn't expect?

narrow bough
narrow bough
finite hinge
#

Nope. I don't have the setup for any of that and couldn't fix the bug or even locate it anyway

#

Mojang told me I'm not allowed 😛

narrow bough
#

Okay, do I need to report the problem to Github Issues?

subtle fjord
narrow bough
#

I've only tested it on Folia, not the Paper.

lusty gust
#

deleted didnt realise this was folia help

subtle fjord
rotund fossil
rotund fossil
#

I teleported to the fucking world border once

narrow bough
#

Haha, it's weird.

subtle fjord
#

how many tnt? maybe good to limit that then first as mitigation?

twin spindle
#

I'm hoping I can get some help?

tawdry gullBOT
#
Don't ask to ask.

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.

twin spindle
#

I'm about folia issues on github

livid crag
#

He means just ask it

subtle fjord
#

So at least now we know, it was not my setup 😉 - shoutout also to pedro for discovering issue with alternate redstone config. Thanks spottedleaf 🙇‍♂️ ❤️

narrow bough
#

Personally, I think this problem should be solved as soon as possible, because with a simple "device machine", players can crash all the servers that are using folia and cause them to shut down.

fossil vigil
#

although maybe this fits better under exploits

narrow bough
#

The problem I mentioned has just been fixed by Spottedleaf.

#

It's true that after testing it doesn't cause the server to crash anymore because of the previous issue. Thanks!

fair merlin
narrow bough
#

Yes It's fixed now Thanks!

unborn dove
#

AMD Epyc 7351p - 16c/32t - 2.4 GHz/2.9 GHz
128GB DDR4 ECC 2400MHz

would this work for folia?

bold osprey
bold osprey
bold osprey
#

yeah, that would be great for it

livid crag
#

Do you even have a community that requires such thing

#

before you dump a stupid amount of money into this

unborn dove
livid crag
#

and yes the newer the CPU the better

#

probably want a model with no e-cores

unborn dove
#

I see

#

thanks

bold osprey
# unborn dove Just looking into it for the future for now

that future is even further than you may think, you'll need to have a team of developers ready to make plugins specifically for folia, lots of plugins didn't/won't add support for folia, and lots of the ones that did add, aren't that truly ready for folia, and on folia it's easier to break everything with a bad plugin

#

folia isn't for a smaller server which still isn't ready to make most of things to be custom

unborn dove
livid crag
#

aside from 2b2t and donutSMP any other actual big notable network using Folia?

unborn dove
#

it’s new though

bold osprey
edgy moss
primal oyster
#

we still shard tho

#

kinda OP

edgy moss
#

Sharding is cool yeah

daring nimbus
#

I joined yesterday because I was curious how you shard, but it was barely noticable from just playing normally, which is pretty impressive

primal oyster
#

when i switched to folia it was kinda nice and I couldnt switch back

#

after i realized people have farms iwth fricking 30k hoppers

livid crag
#

I think a healthy mix of both sharding / folia will be the forseeable future

primal oyster
#

lik i was asking myself why is my mspt graph so messy on this region

#

then i saw the farm 💀

#

30000 fricking hoppers

livid crag
#

it's a good thing though so now player has to optimize farm to keep somewhat of a high tps or their yield will end up being just as much as smaller farm but not lagging the region.

primal oyster
#

yeah

#

that's one of hte main advantages of Folia

livid crag
#

yeah localized lag pepela

primal oyster
#

you just gotta make sure you have more threads than laggy regions!

viral coral
#

yeah god forbid we give people access to freely place an unlimited amount of hoppers

#

had to deal wth so many hoppers that it wouldn't render on my client

primal oyster
#

lmao

#

some players do take it to another level

karmic agate
#

this isn't even a Spanish discord

#

no idea who to ping to remove that ngl

#

pls ban

#

thanks

primal oyster
#

What

arctic tapir
#

someone spammed

arctic tapir
calm fable
#

having an issue with a single player sitting at encrypting and not able to join, i see his connection to the server but he never actually logs in

#
[01:05:06] [Region Scheduler Thread #0/INFO]: Beepboop78 (/53219) lost connection: Disconnected
[01:08:39] [User Authenticator #114/INFO]: UUID of player Beepboop78 is 096b184d-2da6-4943-9c06-5e93fac24854
[01:08:50] [Region Scheduler Thread #3/INFO]: Beepboop78 (/:53703) lost connection: Disconnected
[01:08:58] [User Authenticator #114/INFO]: UUID of player Beepboop78 is 096b184d-2da6-4943-9c06-5e93fac24854
[01:08:59] [Region Scheduler Thread #1/INFO]: VampAngel lost connection: Disconnected
[01:08:59] [Region Scheduler Thread #1/INFO]: [voicechat] Disconnecting client VampAngel
[01:08:59] [Region Scheduler Thread #1/INFO]: VampAngel left the game
[01:09:12] [Region Scheduler Thread #2/INFO]: Beepboop78 (/:53753) lost connection: Disconnected
fair merlin
#

If it's only happening with a single player that tends to be an issue on their end.

#

Either their network, or they're using a non-vanilla client or a modified vanilla client with mods installed.

#

So make sure they're using the official client.

calm fable
#

i just had him use the official MC launcher and install a vanilla 1.20.4 waiting for his test

primal oyster
#

is that only him?

calm fable
#

it happened to a lot of people yesterday when my sql server froze

#

coreprotect

primal oyster
#

oh ... coreprotect

#

god bless brother

calm fable
#

but then everyone could log back in but him

primal oyster
#

are you on latest?

calm fable
#

yes!

#

im always on top of that

primal oyster
#

also, remove your player ip from that log

calm fable
#

done 😄

primal oyster
#

see if he can connect with the client

#

if he cant still

#

see if you can copy his data files, and delete them

#

and get him to join again and see if that helps

#

maybe ask to use vpn too

#

if he's the only one ofc

inner swift
#

Which Folia build is this, precisely?

calm fable
#

restarting the server fixed it

#

this started when i jokingly banned him, then pardoned him

primal oyster
#

yes.

#

you're probably not latest

#

i would double check

#

there were issues with that

calm fable
#

i just recompiled like 4 days ago

#

but let me do a pull and rebuild

#
Fast-forward
 gradle.properties                                                              |   2 +-
 patches/api/0003-Require-plugins-to-be-explicitly-marked-as-Folia-sup.patch    |   2 +-
 patches/server/0001-Build-changes.patch                                        |   6 +-
 patches/server/0003-Threaded-Regions.patch                                     | 421 +++++++++++++++++++++++++++++------------------------------
 patches/server/0007-Disable-mid-tick-task-execution.patch                      |   2 +-
 patches/server/0011-Prevent-block-updates-in-non-loaded-or-non-owned-chu.patch |   2 +-
 patches/server/0013-Skip-worldstate-access-when-waking-players-up-during.patch |   2 +-
 patches/server/0018-Region-profiler.patch                                      |  54 ++++----
 patches/server/0019-Fix-entity-tracker-desync-when-new-players-are-added.patch |  85 ++++++++++++
 9 files changed, 332 insertions(+), 244 deletions(-)
 create mode 100644 patches/server/0019-Fix-entity-tracker-desync-when-new-players-are-added.patch
#

looks like youre right

subtle fjord
#

that previous version was faulty - multiple people had the issue 🙂

marsh mapleBOT
#

(65d6e1fd2d5bd6481a064856) // @gusty star (@nebulus4dev / 715169273324240958) has been banned by @finite hinge (118838921080602628)

finite hinge
#

Some day I'll learn how to be a real mod

fair merlin
#

(I fixed the reason for you)

true zealot
#

Morning, this is most likely because I'm blind and new to folia, i have managed to compile the new 1.20.4 version this morning all working great, however, I'm trying to compile a 1.20.1 version also just dont seem to be able to find what's needed to do this? (found the 1.19.4 version, remember I'm new to compiling jars, so sorry in advance)

fossil vigil
#

but you could go back in the git history to compile the commit you want

#

why do you even want 1.20.1

#

im pretty sure you could just use via to allow older clients to join

true zealot
fossil vigil
true zealot
#

lol nope all legit, just looking into folia as we was pushing 296 players last event, so got a bit nuts with the spread on the server, was not too much lag but TPS dropped off a bit too much for my liking

hushed raptor
#

maybe threads too

viral stone
#

I mean, folia will break all your plugins

#

there is generally 0 sane reason to adopt outdated versions of folia, anything embracing it generally has stuff that is maintained (in some form of manner)

true zealot
viral stone
#

and there are many dozens of exploits out there right now in older versions

#

Seriously, none of them will work

true zealot
#

lol

viral stone
#

folia plugins have to explictly go out of their way to say that they support folia

true zealot
#

tbh the ones we are using are on the "list" apart from 1 (the one we had made)

hushed raptor
#

folia is still very buggy and experimental

hushed raptor
#

unless u add the weird thing to config.yml

hushed raptor
#

unless u make a plugin with a /hi command and specify in config.yml that it supports multithreaded rendering

true zealot
primal oyster
#

not by default but there's a branch for it

hushed raptor
#

folia recommends 18 cores

#

can vary

#

but uhh

primal oyster
#

it wont make a diference

hushed raptor
#

thats what folia recommends

primal oyster
#

unless you have a lot of ppl on

hushed raptor
hushed raptor
primal oyster
#

296 players is not really a lot

hushed raptor
hushed raptor
true zealot
viral stone
#

I mean, that's a trash CPU for paper

hushed raptor
#

should run folia fine

hushed raptor
#

folia looks devious idk

viral stone
#

Well, yea

#

but there is literally 0 surprise that such a CPU would not perform well with paper

hushed raptor
viral stone
#

That is pretty much how 99.9% of games are designed

#

it's just most games are generally 100x more simplistic in nature

hushed raptor
viral stone
#

concurrency is hard

hushed raptor
#

(joke)

static dragon
#

What is the "grid-exponent" in the folia configuration responsible for?

viral stone
#

how the thing splits regions up

static dragon
#

What is the best value to set if my spavn radius is 2048 blocks from 0 0?

paper siren
#

that doesn't matter I guess, but lower values mean the server can potentially split up the world into more regions, but at the cost of more merging and splitting which has some overhead too

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.

calm fable
#

Does the anti-xray engine in paper not work in the nether?

tawdry gullBOT
livid crag
#

@calm fable Read this and set it up

calm fable
#

thanks much but i did the setup, it works in world and i edited my nether world yml, but it looks normal i just tested it. maybe i fatfingered something let me dblcheck

arctic tapir
#

<@&748618676189528155>

marsh mapleBOT
#

(65d7e3cf2d5bd6481a06485a) // @winged spire (@_quadrix / 562266147949379585) has been banned by @rare steppe (105923848263753728)
Reason: Quick-banned for sending a message in #folia-help

keen carbon
#

Hey

rotund fossil
livid crag
#

just a spam.

proven echo
#

Is folia “stable” enough for production use? (Assuming frequent backups of course)

tacit tartan
#

What's complete is pretty stable, but Folia isn't feature complete, so some stuff is missing/broken. There's a list...somewhere of all the unimplemented/broken mechanics

proven echo
#

Also I was just looking over the readme, how does multithreading “break” Folia?

#

“Additionally, multithreading of any kind introduces possible race conditions in plugin held data - so, there are bound to be changes that need to be made.”

#

Does it mean that objects should be thread safe / have some sort of concurrency lock?

tacit tartan
#

It means plugins will have to take more care with concurrency, yes. Automatically locking / making thread safe everything isn't the solution though, there's more to it than that

tacit tartan
proven echo
#

Yeah I just wanted to know how concurrency works in general so I could learn it myself haha

quaint magnet
#

PlayerChangedWorldEvent is working on folia?

primal oyster
#

usually these implementations of events etc you have to confirm on the source

#

a lot of world events miss on folia

#

and technically you can add them yourself depending no what you're gonna use them for

#

sometimes you don't use these events for interacting with world so there's no issue with crashes and you're just watching that action for whatever metric/system you want

grizzled scaffold
#
``` I can't get world data
viral stone
#
  1. not folia
#
  1. error seems obvious
#

you're trying to access the world from a chat thread

timid grotto
#

that wouldnt even work on paper i think lmao

grizzled scaffold
#

I get that error folia and luminol

viral stone
#

We do not provide support for software that isn't ours

#

and I've already explained the error

grizzled scaffold
fierce knotBOT
grizzled scaffold
#

I tryed getWorld from a block

#

not chat

viral stone
#

Please read your stack race

left gust
#

It should say folia there so you can help it, even though there is almost no difference there.

viral stone
#

We don't support forks out of principle

#

Many years ago, we used to be happy to, and then we got expected to support all the forks, including the ones which do really stupid things and cause crashes, and be expected to keep up to date on all the things they do, etc, etc, no thanks

prisma temple
#

I'm setting up folia and coming

viral stone
#

and, I've already explained their issue, it's fairly clear what happened

left gust
fierce knotBOT
left gust
#

okey?

viral stone
#

glhf

marsh mapleBOT
#

(65d9033b2d5bd6481a06485c) // @left gust (@mrsugar. / 615539194231652381) has been warned by @viral stone (126975485493248000)
Reason: Do not fabricate into inside of logs in order to mislead people

left gust
#

My native language is not English, I couldn't understand the meaning of your abbreviation

prisma temple
#

Zenci hahahah I think it was an unnecessary warning.

viral stone
#

True

#

lying about information intentionally in order to coorce support and potentally waste my and my peoples time should of been a ban

left gust
#

Why are you bothering me with the same mistake in vain?

grizzled scaffold
#
java.lang.NullPointerException: Cannot read field "captureTreeGeneration" because the return value of "net.minecraft.world.level.World.getCurrentWorldData()" is null
        at net.minecraft.world.level.Level.getBlockState(Level.java:1206) ~[?:?]
        at org.bukkit.craftbukkit.v1_20_R3.block.CraftBlock.getType(CraftBlock.java:238) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at org.info_0.worldshop.events.CreateNewShop.createWShop(CreateNewShop.java:31) ~[WorldShop-1.0-SNAPSHOT.jar:?]
        at org.info_0.worldshop.listeners.AsyncChatListener.chatListener(AsyncChatListener.java:57) ~[WorldShop-1.0-SNAPSHOT.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor497.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:git-Folia-"8939611"]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[folia-api-1.20.4-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.adventure.ChatProcessor.post(ChatProcessor.java:416) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at io.papermc.paper.adventure.ChatProcessor.processModern(ChatProcessor.java:181) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at io.papermc.paper.adventure.ChatProcessor.process(ChatProcessor.java:123) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.chat(ServerGamePacketListenerImpl.java:2377) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.broadcastChatMessage(ServerGamePacketListenerImpl.java:2507) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChat$12(ServerGamePacketListenerImpl.java:2225) ~[?:?]
        at net.minecraft.util.FutureChain.lambda$append$1(FutureChain.java:27) ~[folia-1.20.4.jar:git-Folia-"8939611"]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
#

same error

viral stone
#

Yes, of course you're getting the same error

#

you're still doing the same thing which is causing the error

#

Once again, you cannot access world state off the main contextually specific thread

grizzled scaffold
#

I get world data from a block not chat

left gust
#

Dude, if you're not going to help, don't write to this guy

viral stone
#

I cannot help you

#

I'm literally telling them the issue

inner swift
#

You're inside a chat thread

grizzled scaffold
viral stone
#

use the schedulers to get into the correct context

inner swift
#

Use the right schedulers to get out of the chat thread

grizzled scaffold
#

thanks

#

I tried this

viral stone
#

I'd highly suggest reading the folia documentation scattered around, it goes over all of this

#

the new rules, etc

left gust
#

Okay, Mr. Knowledgable

fair merlin
#

You including yourself in this discussion has not improved it.

left gust
#

Dude okay just their ridiculous request got a little frustrated

viral stone
#

I told them that they’re using unsupported software and told them their issue

left gust
#

Dude, unsupported software is just different in name, same software, same path, also you said this, I installed folia, you gave a warning, what is your purpose?

grizzled scaffold
fierce knotBOT
grizzled scaffold
#

this class catch this error

fair merlin
#

I've muted you for an hour.

viral stone
#

You cannot modify world state outside of the region threads

grizzled scaffold
#

I get same error QuickShop plugin

#

If I run this class

#

a region thread

#

its work ?

inner swift
#

I suggest reading on the basics of threading in Java and the Folia docs, it'll save some time

keen carbon
#

Hey

#

Do geyser and floodgate work for folia? Has anyone tried it?

timid grotto
#

ask them

#

or just try it yourself

keen carbon
#

it works

hushed raptor
#

is amd epyc milan better than amd epyc

viral stone
#

"is a king edward better than a potato?"

fair merlin
#

All EPYC CPUs have a codename like Milan etc.

hushed raptor
#

what

fair merlin
#

So "EPYC" vs "EPYC Milan" is missing info on the first one.

hushed raptor
#

this is what google clou gives me

fair merlin
# hushed raptor 🤔

Epyc is a brand of multi-core x86-64 microprocessors designed and sold by AMD, based on the company's Zen microarchitecture. Introduced in June 2017, they are specifically targeted for the server and embedded system markets.Epyc processors share the same microarchitecture as their regular desktop-grade counterparts, but have enterprise-grade fea...

#

Napes, Rome, Milan, etc etc etc

#

We also don't recommend using Google Cloud.

hushed raptor
inner swift
#

Google Cloud is probably not somewhere you want to host a Folia server in, if that's your goal

fair merlin
#

For Folia? A dedicated server.

hushed raptor
#

when did i ever mention i want folia 😔

fair merlin
hushed raptor
#

oh wait..

#

im in folia help

#

🤣

#

ill move to general mb

primal oyster
grizzled scaffold
#
java.lang.NullPointerException: Cannot read field "captureTreeGeneration" because the return value of "net.minecraft.world.level.World.getCurrentWorldData()" is null
    at net.minecraft.world.level.Level.getBlockState(Level.java:1206) ~[?:?]
    at org.bukkit.craftbukkit.v1_20_R3.block.CraftBlock.getType(CraftBlock.java:238) ~[folia-1.20.4.jar:git-Folia-"8939611"]
    at org.info_0.worldshop.events.CreateNewShop.lambda$createWShop$0(CreateNewShop.java:36) ~[WorldShop-1.0-SNAPSHOT.jar:?]
    at com.github.Anon8281.universalScheduler.foliaScheduler.FoliaScheduler.lambda$runTaskAsynchronously$12(FoliaScheduler.java:133) ~[WorldShop-1.0-SNAPSHOT.jar:?]
    at io.papermc.paper.threadedregions.scheduler.FoliaAsyncScheduler$AsyncScheduledTask.run(FoliaAsyncScheduler.java:217) ~[folia-1.20.4.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
    at java.lang.Thread.run(Thread.java:840) ~[?:?]
#

ı get same error

#
public static ShopUtil createWShop(InteractShop interactShop, double price) throws ExecutionException, InterruptedException {
        CompletableFuture<ShopUtil> future = new CompletableFuture<>();

        WorldShop.getScheduler().runTask(interactShop.getInteractedBlock().getLocation(),()->{
            Block block = interactShop.getInteractedBlock();
            ItemStack item = interactShop.getInteractedItemStack();

            Bukkit.getLogger().info(block.getType().name());
            BlockState blockState = block.getState();

            Container container = (Container) blockState;
            Inventory inventory = container.getInventory();
            int amount = InventoryUtil.getAmount(inventory, interactShop.getInteractedItemStack());
            int space = InventoryUtil.invSpace(inventory, interactShop.getInteractedItemStack());
            ShopUtil shopUtil = new ShopUtil(StorageUtil.getWShopStorageUUID(block),
                    interactShop.getInteractorPlayer(),
                    block.getLocation(),
                    item,
                    ShopType.BUY,
                    amount,
                    space,
                    price
            );

            if (placeSign(shopUtil, block)) {
                future.complete(shopUtil);
            } else {
                interactShop.getInteractorPlayer().sendMessage("Market oluşturmak için sandığın önündeki bloğu kırın.");
                future.complete(null);
            }
        });

        return future.get();
    }
#

Block block = interactShop.getInteractedBlock();

inner swift
#

WorldShop.getScheduler()
What is this?

grizzled scaffold
#

this is get error

#

Universal scheduler

#

wait

#

it's same Bukkit.getServer().globalRegionScheduler()

#

if you want try that

#

get same error

inner swift
#

Yeah, the error is because you can't access world state in the global scheduler

grizzled scaffold
#

How can ı get WorldState

viral stone
#

You need to use the region scheduler

#

that way you can get into the region threads for the region which holds that block

fair merlin
inner swift
#

Just double checking, is this button currently supposed to not redirect to anything? https://docs.papermc.io/folia/dev
If there's not, are there currently any Folia code examples in the Paper Docs?

fair merlin
#

I do not believe there is, no.

#

Documentation is not Folia's (or Leaf's) strong suit.

viral stone
#

No, it's still a WIP so documentation has not been a high priority

#

especially in terms of descatering all of the reading material

grizzled scaffold
#

Not working

viral stone
#

Yes, we surmised that already

#

there is documentation scattered around on the github repo and some on the docs site in one area

willow ferry
#

anybody recommend a CommandPanels type plugin with Folia compatibility? If nobody knows of one, I might have to write a pull request for command panels to give it some basic support

willow ferry
left gust
#

But yes

hushed raptor
willow ferry
hushed raptor
#

ones deluxe and ones z

inner swift
willow ferry
#

zMenu explicitly supports folia, so i'll go with zMenu

hushed raptor
#

go ahead

hushed raptor
#

folia support is only adding a line in plugin.yml

#

when it comes to chunky for example you have to change a lot of thhings

viral stone
#

I mean, depends on what the plugin is doing

#

for some you can ge away with that, for ohers you can't

hushed raptor
#

yea for like a menu thats fine

#

but for like world rendering things thats not fine

viral stone
#

for a menu plugin their state is fairly isolated and so, chances are the plugin is doing very litte the would break, but, it might cause some issues with some parts of it

hushed raptor
#

simplify it

viral stone
#

I can't

hushed raptor
misty matrix
# hushed raptor huh

For most cases, the critical parts of a menu plugin are "catching inventory events" and "updating items in the menus". Parts like that can be supported in Folia by just changing the schedulers and adding the line. But still, some parts may still break, depending on the use case of the plugin.

inner swift
#

Folia incompatible features are exceedingly common, in many types of plugins

#

Namely, e.g., the Bukkit scheduler

fair merlin
# hushed raptor huh

The short version is that you don’t understand enough about how Folia works and you should not be recommending people change a yml file in a plugin to support it, as that is not enough.

It’s good to try to help people but giving them potentially harmful “help” is not good.

willow ferry
#
looks like somebody has yet to read Region Logic.md...
#

In all actuality, he sounded so confident that it would work without issue, that I thought that's just the way things are done around here hahaha

fair merlin
#

As cat said, it depends a lot on the plugin and what it’s doing. Something very basic which isn’t expecting APIs that are missing would probably work that way if you modified it.

Something complex? Not so much.

hushed raptor
paper siren
#

not sure what "rendering" is even supposed to be in the context of a server

hushed raptor
#

literally what it says

paper siren
#

which means every plugin that holds some state e.g. for every player breaks if it isn't designed to work with Folia

fair merlin
hushed raptor
#

its identical to paper

viral stone
#

it's not indentical to paper

#

paper is single threaded

#

and this is the foli channel

#

chunk loading is async but all operations are posted back onto the main hread

#

firing events and such from multiple threads is not a trivial change, especially in order to support that in a safe manner which doesn't blow plugins not designed for concurrency up

finite hinge
#

A pure UI in a plugin that doesn't do anything should be the same API and not need any changes

#

Storing the state of who has a UI open, what they can see, what they've clicked on, etc probably needs changes to deal with multiple threads firing inventory events at the same time

rare hare
#

Main thing you need to ensure is that you don't share inventory objects across multiple players, cause if those are in separate regions... yeah, good luck with that.

opal spoke
viral stone
#

unsupported software

willow moth
#

Hello, can you superscript the region at Folia (manuel)?

plain shuttle
fair merlin
plain shuttle
#

i guees he means the regoin count

#

the number of regoins

willow moth
#

yes

fair merlin
#

What about the number of regions?

plain shuttle
fair merlin
#

These kinds of comments in help channels are unnecessary.

fair merlin
viral stone
#

number of regions is determined by how close players are to one another and the exponent

#

if you want more regions, you need a lower exponent/more player spread

plain shuttle
#

Do you mean they have to be further apart?

fair merlin
#

Yes

#

Folia wants players far apart. 1000+ blocks at least.

#

Not built for everyone in one place.

plain shuttle
#

i remember there was a setting where you can manualy set the utilisation where was that setting?

primal oyster
#

threads for regions?

#

threaded-regions

#

option

plain shuttle
#

yes

#

in what config

primal oyster
#

config/

#

one of the two

mystic shard
#

How much GHz does Folia need?

viral coral
#

gigahertz does not mean anything useful, it is not a useful performance metric to compare processors

mystic shard
#

That is, 2 GHz is also suitable?

viral coral
#

provide the exact CPU model / specifications

mystic shard
#

I don't know yet. That's why I'm asking.

viral coral
#

can't really say anything about it without knowing what model you have

#

but you also shouldn't exactly buy anything if you don't know what you're getting into

vocal shuttle
#

what is folia's current state for production servers?

livid crag
vocal shuttle
#

bugs? glitches? exploits? we are indeed vanilla and have developers but I am not sure how a developer can fix something in the server's code itself

livid crag
#

If your developer can’t fix the server code, you either need to hire better one or one specialized in fixing server code

viral coral
livid crag
#

Thought there are already two large SMP servers using Folia in production if that means anything to you. 2b2t and Donutsmp.

finite hinge
#

Well, forks of Folia anyway

subtle fjord
#

"it functions" is a very german thing to say 🤓

viral coral
#

i'm not german

subtle fjord
#

then I suppose other countries say that as well

livid crag
#

Michael is worse

#

We know

subtle fjord
#

"Equal it goes lose"

drifting mantle
keen carbon
viral coral
#

regions aren't bound to one specific thread

inner swift
#

Not exactly, for a few reasons: 1. Regions aren't guaranteed to be in different threads 2. Thus, they aren't guaranteed to be in different cores 3. If you start with two players in the sample place and have them both go away from each other until they're 1000 blocks apart (I think your wording may be suggesting this), region unmerging is picky to avoid a successive merge-unmerge situation at the edge of the distance limit

keen carbon
#

I understood thank you

warped pine
#

can anyone help me build folia jar? i want to test out and see if all of my server plugins works on folia...

tawdry gullBOT
#

⚠️ Please do not share any links to builds of Folia at this time. We are intentionally not providing easy to find/obtain downloads right now - when the time is right, everything will be available through official PaperMC distributions.

tacit tartan
#

If building Folia is beyond your capabilities, that's a sign that it's probably not right for you in it's current state

warped pine
#

i don't want to make production server, just want to test how it is and if plugins works there when its ready... But oh well... nvm

inner swift
#

Well, only Folia-specific plugins work, so if you have Spigot/Paper plugins, none of these will work unless they have a Folia build

willow ferry
#

With the region logic being so divergent, is there an alternative to WorldGuard for protecting certain areas from 1.) mob spawns 2.) player interactions, you know, the things a spawn area or a server shop would need?

fair merlin
#

Not that I've seen.

willow ferry
#

Thanks for that quick reply. Looks like I might have to write a plugin on my own. Do you have a recommendation for which APIs I should look at to implement that?

https://docs.papermc.io/folia/dev

Is the dev guide actually empty or is my browser cache messed up?

#

If it's actually empty, then I'll just bite the bullet and read the Folia source to figure that out haha

#

unless there's something funky going on with the region logic that would make this even more difficult.

#

woah hahaha, it's not source code, it's all git patches!

paper siren
#

It's enough to understand the concept of region threading and looking at the javadocs for the different schedulers. But you might stumble about functionality that doesn't work yet

willow ferry
#

https://hangar.papermc.io/pop4959/Bolt

Looks like bolt can at least protect blocks, perhaps I can just focus on preventing spawns in certain areas if bolt doesn't have that feature.

#

but it's for individual blocks, not regions, so maybe not xD

subtle fjord
#

Curious: I know teams/scoreboard is disabled because "requires global state" or something. What does that mean? Because it seems teams generally get loaded and are working. Is it because of editing the .dat file could have race-condition? Or is there something else?

viral stone
#

It means that they don't have state isolationable to the regions themselves

#

it's a map in which stores a bunch of data which would need to support mutation from multiple threads, etc

subtle fjord
#

right, so basically what I said about race-condition, and potentially if an edit happens in one region, it will only be visible across all regions after hard restart?

viral stone
#

I mean, it's a glorified set of HashMaps

#

common failure woul be that it crashes your server

#

it already does on paper when plugins mess with scoreboard stuff concurrently

subtle fjord
#

interesting did not know.. thanks. we only use it for teams display in TAB and Chat, but then most likely we will just create a plugin to "virtually" do the same.

finite hinge
#

Some of the objectives can be increased/decreased via game logic, not just commands, and that logic happens in the region threads

#

TBH it updates infrequently enough it could probably be made to work by just slapping a lock around it but the scoreboard API wouldn't work with that

subtle fjord
#

We only use it for team create/join - but most likely not worth it if its not safe, rather create a plugin that can mimic that behavor using mysql

thin anvil
#

can I change the times when items despawn

viral stone
#

Yes, see the spigot or the paper world config if you want per item overrides

viral stone
#

it's in ticks

thin anvil
rotund fossil
#

20 ticks is 1 second

#

so just do the math

viral stone
#

idk, I'm not a calculator

carmine brook
#

6000tick/20=300s=5min

livid crag
#

Note that that doesnt always equal to inR minute if the server is having lower TPS moment.

primal oyster
#

just make sure to consider the 5 TPS server and /4 the tick for despawn

candid mauve
#

What are current suggestions for startup flags with Folia? I've seen the faq with -XX:ConcGCThreads=n, but I'm wondering if something like Aikar's flag configuration is still viable at all for something totally new like this

inner swift
#

Maybe, it depends

#

It may be worth looking at non G1 GCs depending on your scale/GC times, but you'll have to have the resources to debug anything that might come up

candid mauve
#

Right. does anyone have any suggestions for a good starting place? What's worked well in the past for people? (Like the 300 player test)

viral coral
#

i use g1gc for like 200 players

#

the folia 500 player tests have used ZGC & shenandoah

grizzled scaffold
#

how can ı disable this

#

when I kill a named mob

#

The server logging that

#

I want to disable this

fair merlin
#

I think that's output from a plugin.

#

Unless I'm dumb today. Which is possible.

grizzled scaffold
fierce knotBOT
fair merlin
grizzled scaffold
#

Thanks

gentle raven
#

oh sorry lol discord scroll moment

errant condor
#

Question: at this time, what seems more likely to happen first: implementing folia features into paper? Or Folia releasing to public? only curious, I’m not a dev, just a server owner

rare hare
#

To my knowledge there aren't any plans to merge Folia into Paper, so probably the latter.

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.

timid grotto
#

but yeah, the "main feature" of folia (threaded regions) will almost certainly never make its way into paper

primal oyster
#

It's likely to be the opposite too

#

As more stable folia becomes the chances of paper just discontinuing is prob more likely

#

Since folia does beat a lot of performance issues

#

And can improve any server, even if it's a small player base one

#

As it allows people to have bigger farms without you server owner limiting the player experience too much

#

Pretty much this line of thought

viral stone
#

Literally, no

primal oyster
#

That's how we use folia on donut

#

Its not to be able to mainly handle more players but to have an overall lower mspt

#

Which allows people to have bigger farms with less impact on the server globally

viral stone
#

Folia is a patchset over paper, and for the majority of servers, what folia breaks is far from worth it for the gains for their generally small servers

primal oyster
#

That's not true

#

The gains are not that low for it not to be worth

viral stone
#

For your average 10 slot SMP?

scenic sky
#

it uses a ton of useless resources on low player counts

primal oyster
#

Long term 10 slot

scenic sky
#

for zero gain, often some loss

primal oyster
#

Is different than short term

#

Long term people have big bases

scenic sky
#

how spread out can a 10 player smp be

primal oyster
#

Big farms

viral stone
#

The majority of servers are small shindigs people setup for them n their friends to play on

primal oyster
#

Friends to play yeah

#

Now imagine if your friend has a big farm on the nether

viral stone
#

Which does not justify the plugin breakage that folia induces

primal oyster
#

That causes a big mspt usage

primal oyster
inner swift
#

It'll still cause that mspt usage on the average 2C/2T host

primal oyster
#

The majority of the plugins already have almost no issues

scenic sky
#

plugin devs solving issues wont happen

primal oyster
#

And just need a very simple port

viral stone
#

You're breaking 13+ years worth of plugins in one go and drastically increasing the technical barriers to proucing plugins

#

Yes, majority of the issues that plugins face are trivial to solve, if you know what you're doing

#

The reality is that most plugin devs are beginners when it comes to aspects like concurrency

primal oyster
#

The majority of the plugins already won't have a lot of issues with concurrency

viral stone
#

It would be nice to dream of a world where something like folia becomes a defacto standard and then we can go even harder on making parts of the server more parallel with the tooling we end up picking up, but the breakages it induces are really not privy to that occuring

scenic sky
#

4 years experience and i barely know the word 👍👍💪

primal oyster
#

I'm not saying folia would fully take over paper

primal oyster
#

Hopefully it's a joke

primal oyster
#

Folia is just likely to be used more and more

scenic sky
#

no i havent needed to work on multithreaded stuff

primal oyster
#

And more and more plugins will add support to it which will eventually make folia worth becoming a main focus instead of paper

#

The majority of the plugins already don't need a lot of work

#

A lot of them is jusk basic systems

#

Play a particle here and there, rtp the player somewhere

#

Most of this stuff is easy to add

#

Now if you think about other big systems that touch more like world generation, custom mobs etc then sure the complexity increased

#

But I don't think that's the reality of most of the plugins

scenic sky
#

now tell me, why would someone port their plugins to folia when it works on paper

primal oyster
#

Majority is very vague

scenic sky
#

its a waste of time!

inner swift
#

Paper uses less resources than Folia, it's unlikely that hosting companies will adopt the latter even if we ignore all plugin issues, seeing that most people's servers are on some shared host somewhere

scenic sky
#

oh yeah shared hosts certainly dont want this to happen

primal oyster
#

Sure if you have 100s of players they don't want

viral stone
#

We literally had hosts upset because we added extra threads for chunk loading.

primal oyster
jaunty atlas
#

If folia becomes more used than paper sure, devs will invest more time there. It is unlikely to happen though

scenic sky
#

its a loss of revenue for the host

jaunty atlas
#

Imagine 12 folia servers on 1 cpu

scenic sky
#

2014 xeon gonna start melting

#

resonance cascade

primal oyster
#

I mean a lot fo the 'notable' hosts are not gonna give you a xeon anymore nowadays

scenic sky
#

not a ton of cores either

#

which is what folia needs

primal oyster
#

Folia does not necessarily need a ton of cores

#

That'll depend on what your resource usage is

#

Don't hosts already limit resource usage?

#

isn't that what bare metal is for

scenic sky
#

yes, but they still expect most to use 10% of those limits

primal oyster
#

More resources

scenic sky
#

more resources costs more money

inner swift
#

Regardless, you benefit from more cores more than Paper, and hosts are happy to give you 2 or 4 because Paper will be happy to run on that with low player counts

primal oyster
#

That'll really depend

#

The majority collo already

#

Can't be power related

#

Sure if they're trying to fit more clients with less overhead I guess

scenic sky
#

which is almost all hosts

#

almost all servers

primal oyster
#

Hm

#

I guess it's a big factor then

viral stone
#

You're forgetting that the majority of servers are small setups often running on cheapo shared hosts in which are still very much using Xeon chips which some can show up being like 10 years old

#

I mean, EPYC is slowly taking over that market deal as those Xeons start looking more crusty and less available

#

"premium" hosts are using desktop chips but those suck for density, which is what most hosts care about rather than tryna privision a large number of nodes with smaller margins, I'd imagine

primal oyster
#

Yeah it makes sense

small quail
#

A doubt, I used Folia in a Hosting and well the node saturated the other servers practically my server 20 tps stable generating more than 30k chunks and well my doubt is Folia serves and is advisable to use it in a personal server and not shared with other servers?

#

o Folia was not created to be dedicated to node hosting?

fair merlin
#

It was created with the expectation of dedicated hardware.

#

So not like shared hosting or a VPS.

#

If you only have like 10-20 players it's probably not worth it.

#

Stick to Paper until you reach a point in use case, hardware requirements, and player count when you might need Folia.

dense oxide
#

Been trying to get back into some Paper-related stuff. Any big changes with Folia in the last couple months

fair merlin
#

Checking the commit logs should show some stuff.

#

Bug fixes, etc, etc

keen carbon
#

hey

#

When it comes to folia, which one would you go with? and why?

#

Intel® Core™ i9-13900

24 cores / 32 threads @ 2 GHz

#

or

#

AMD Ryzen™ 9 7950X3D
16 cores / 32 threads @ 4.2 GHz

#

AMD has higher core speeds but Intel has more CPUs

#

Which one would make sense to go with for folia?

subtle fjord
#

depends on build. if you can cool id go with ryzen.

#

there are only 8 performance cores on the intel one, the rest are efficient with lower rates. still modern cpu so not bad for folia.

inner swift
#

Seeing how tragic it is when servers end up in E-cores, I second the 7950

subtle fjord
#

you can cpuset it in systemd if its dedicated but yah on a shared host I would not trust intel.

#

amd will run hotter though - especially if you use all. or you will get thermal throttled.

keen carbon
#

note: all dedicated

primal oyster
#

i wouldnt do 13900 on folia

gloomy vault
#

Yooo, multiverse core plugin it's compatible with folia?

inner swift
#

No, world loading and unloading in general is not supported

calm fable
#

i know that folia isnt "out" yet, but has there been any work done on snaps? will 1.21 be ready relatively quickly?

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.

fair merlin
#

Which is in turn tied to Spigot's release

#

etc

viral coral
#

not to mention that paper does not get the chance to work on snapshots

fair merlin
#

Which means no snapshots.

#

Yeah.

fair merlin
#

@calm fable Mojang releases snapshots, but Paper is currently reliant on Spigot for releases. If Spigot did snapshots we could too.

#

One downside to being a fork.

vivid tinsel
#

Fun

calm fable
#

im just an armchair quarterback but isnt depending on spigot a bad idea?

#

i mean all the servers ive ever run/been part of have been paper, purpur or folia

viral stone
#

I mean, many years ago we started as a small fork of spigot which was just a few perf patches and nice little things that weren't suitable for spigot

inner swift
#

Not depending on Spigot meant that Paper could eventually do something different from the way Spigot does, e.g. breaking some plugins, and it also means that the tooling to work on updates has to go through changes

calm fable
#

thats a double edge, not depending on spigot could also free you from some of the limitations that spigot has, possbly even a future merge of the way folia works into the main paper project, even though i know that isnt part of the plan. im just saying it could be, iteratively ,possible

#

right now for the newer versions of MC folia is basically the only way forward for large servers, not using folia would be insane as you basically have to nerf the game into something wholly different to get it to function

#

for years 2b2t was running at like 10-15 tps on a good day

#

nearly all redstone was broken, mob spawns were rare etc

viral stone
#

possbly even a future merge of the way folia works into the main paper project
Folia has some overheads in terms of resources which makes little sense for 90% of servers

#

We already plan to break away from spigot

primal oyster
#

I kinda get the point, if you're a really big server, figure your way out

proven echo
primal oyster
#

Technically your experience as player would likely not change much

#

the difference between waiting on spigot upstream and paper adding it is quite "low"

#

idk for sure but i think a good diference would be they wouldnt have to "fix" all of the patches?

livid crag
#

Tooling and stuff for that planned break away is already in the work iirc

viral stone
#

I mean, we'd get to track stuff earlier rather than waiting for spigot to release it before we can even scratch our ass while looking at the new mc source

livid crag
#

As a developer you won’t even feel much difference and that’s the goal for a no pain transition

proven echo
primal oyster
marsh mapleBOT
#

(65e034412d5bd6481a064872) // @pearl sable (@jay_d.420 / 651866727352893481) has been banned by @fair merlin (188417437295706113)
Reason: Spam.

arctic warren
#

How do I make a plugin compatible with both paper and folia. I don't know what I have to do in gradle. Can I test a plugin on my laptop? I have 6 cores

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 docs. Info is covered there.

#

If you're just trying to turn it on and test, then yes you can use a "slower" system.

arctic warren
#

Thanks, would I put both paper and folia in gradle, or do I switch between them?

daring nimbus
#

Folia includes the Paper API, so you shouldn't depend on both

#

the schedulers are part of Paper too, so your code using those will work on Paper as well, its just that all region and entity schedulers will be on the same thread on Paper servers

bold osprey
arctic warren
#

ok ty

lean thorn
#

Compiling Folia rn. Curious, if run on a dual/quad core system, should I expect the system to perform worse than Paper? I noticed 16 cores were recommended, but I really like the idea of Folia and I'm proceeding anyways. The scalability is what entices me, it'd be easy to just feed the server more resources if needed.

fair merlin
lean thorn
#

Ah that's a shame, I suppose I'll see how much worse. Gonna try out Skyllia plugin (Skyblock plugin for Folia).

fair merlin
#

When you say "feed the server more resources" I'm guessing you're running in some sort of VM, which Folia also doesn't like.

lean thorn
#

It's on a VPS with dedicated hardware, it's normally fine with everything.

fair merlin
#

It's really designed for high core count/high clock speed dedicated hardware.

#

The virtualization nature of the VPS tends to slow things down a fair bit at the scale Folia is working.

#

Feel free to experiment.

#

But with 4 cores there's almost no way Paper won't be faster.

lean thorn
#

Are there specific virtualization techniques that Folia has performed worse/better on? It appears Linode uses Xen hypervisor (Linode being the service I'm using).

Thanks yeah I'll play around with it. Unless the performance is really bad I'll likely just keep it on Folia. Now you got me thinking I might want dedicated hardware to compare and contrast against, but the AMD EPYC 7713 will be hard to compete with, without breaking the bank 😅.

#

Ah it's actually KVM now, the Xen reference was old.

viral stone
#

Proxmox is hell in general unless they fixed their kernel

fair merlin
#

No, it perfoms poorly on VMs and well on dedicated hardware, basically.

#

High resource Minecraft in general performs poorly on VMs.

viral stone
#

adding overheads in general is a fun headache because everything effectively adds a level of overheads

fair merlin
#

Yeah and IIRC disk I/O is a little slower through KVM also.

viral stone
#

I mean, that's moreso because most VMs are VPSes using CPUs for web servers; but, like, if you're using folia you should probably be able to get bare metal

fair merlin
#

Yeah it depends a lot on the setup.

#

In general we strongly recommend avoiding VMs.

#

Especially for Folia.

lean thorn
#

Do you know of any good providers in eastern North America who offer dedicated systems? I'm not sure Linode does, their dedicated CPU VPSs is generally their best offerings, but I'd like to compare against completely dedicated to see how much better it could be I suppose.

#

(Well they have a Premium CPU plan, but it'll be virtualized as well)

fair merlin
#

For Folia most dedicated server hardware is going to be very expensive. You basically want at least a 5950X or a 7950X. Those are the only real CPUs that are remotely cost effective.

#

But you'd have to look around.

#

If you don't already have a massive playerbase I'd say start with Paper.

#

Do dev work on Folia and see how things go. Expand as necessary.

#

Don't put the cart before the horse, basically.

inner swift
#

Linode is likely one of the worst hosting choices for Folia

fair merlin
#

Renting very expensive dedicated hardware for software you haven't yet used and a server that hasn't launched probably doesn't make sense.

lean thorn
#

It does for planning, and experimentation. I haven't seen any actual tests run, and I'd really like to see some actual numbers (IE: 16 core KVM VPS vs 16 core dedi). This is the first time I've ever run into this situation, as Linode is usually a top-pick for game servers. I've never run into needing a full dedicated machine for a server, but am open to the idea. Ensuring I can scale if needed is both interesting and important to me.

I'll shop around for dedicated servers I suppose. Back in the day I used to run a couple, but moved everything over to VPSs as they're nothing like they were 10 years ago. It's a shame Linode and DO don't seem to offer any.

viral coral
#

Linode is usually a top-pick for game servers.

#

i don't think it has ever been

#

virtual servers are practically never the top-pick for game servers

fair merlin
#

Yeah at least in the Minecraft space people only use Linode for very cheap VMs for basic testing.

viral coral
#

unpredictable hardware and usually designed for web hosting or other lightweight applications

lean thorn
#

I'm not sure why, they have strong resources and I've never had any issues. I run like 10 machines.

viral stone
#

I mean, how many players do you have on those machines?

lean thorn
viral stone
#

Because they're generaly moreso Xeons, and while back in 1.8 days, you could fit like 100 players with hardly any sweat, it's now 10 years later

#

I mean, well, there you go

lean thorn
#

Also it's AMD EPYC 7713

viral stone
#

VPSes are far from amazing for MC servers, but if you're just hosting small servers for you and a few friends type of deal, a cheapo server is probably enough

#

You're not gonna scale far on those chips

fair merlin
#

But if you're also doing super small VMs and only 10 players, Folia isn't really what you want to be using.

lean thorn
fair merlin
#

Unless, again, it's just for testing/experimenting. At 10 players you won't be seeing a performance increase over Paper.

viral stone
#

I mean in terms of hardware, not costs

lean thorn
viral stone
#

a small VPS from somewhere line Linode is gonna be fine for a 10 slot server

#

it's when you start pushing past 10 slots that you notice fairly fast how limited such hardware is

fair merlin
viral coral
#

you'd be better off planning to scale on just normal paper

lean thorn
viral coral
#

especially depending on what your goal is

fair merlin
#

There's a LOT you can do with Paper

viral coral
#

keeping in mind the api limitations with folia and the fact that all plugins are essentially broken

#

depending on what you end up doing, moving over to folia at a later stage wouldn't be much of an issue

fair merlin
# lean thorn Idk why you're so confrontational about this.

I'm not trying to be confrontational, I'm just trying to offer some perspective. If you're in the low playercount stage then your time is better spent trying to get players and grow your server(s), rather than worrying about "scaling". I think people have a tendency to worry about step 90 when there's a lot you can be doing in between now and then.

lean thorn
viral coral
#

nothing or no one that stops you from using folia

#

just not a genius idea at 10 players

fair merlin
#

Yeah exactly

#

If you have custom plugins it could be a good idea to build them against Folia

#

See what the pitfalls are, etc.

lean thorn
#

But your points about plugins not working, and complex setup seems to indicate being prepared is better than not.

#

That's literally what I'm trying to do, while asking some simple questions.

subtle fjord
#

honestly there is always a lot of gatekeeping around folia: do whatever you want - its a free world. I suppose the only thing (and most likely goes for paper as well): just dont expect support, and expect even less from folia because less people are involved.
if you wanna play around and make plugins for it: even better.

viral coral
#

^

fair merlin
#

Folia's still in experimental phase. So we tend to make sure people are informed if they're going to jump in.

We may recommend someone don't use Folia but we aren't going to shout at someone if they decide to use it either way,

#

The only real "gatekeeping" at this point is needing to build it yourself.

lean thorn
fair merlin
#

Mostly because we want to make sure people are capable of building it themselves. There's a lot of config stuff you'd have to do, like any Minecraft server.

fair merlin
subtle fjord
#

fully understand, but I also think “playing around” and “developing” even though player numbers are low, are valid reasons to use folia.
not sure why id then ask questions about cpu/vps - but different topic 😛

lean thorn
inner swift
lean thorn
#

On the VPS topic, does anyone have any resources to read about VPS vs dedicated? Despite the stigma here, most companies use VPSs for scaling. My low player counts don't mean much to my experience managing servers and writing software. It doesn't matter if it's directly Folia related, but I'd like to see some actual data about the subject, things that caused these opinions to form. Data about Folia experiences on virtualized (KVM) systems would be cool too. I've been studying computer science for 21 years now, so all these things are interesting to me.

viral stone
#

I mean, the matter is the hardware

#

not the tech

#

Most of the time people talking about VPSes are looking at things like Xeons, while most people looking at dedis for their servers are looking at high end desktop ryzen chips and i9's or whatever

lean thorn
#

That's what I thought. Okay, thanks a lot. AMD EPYC 7713 is quite powerful, and I was surprised at the stigma, but yeah. Cheap VPS or shared VPS in general are garbo for basically any gaming.

viral stone
#

Like, yes, virtualisation tech will add some overheads, but it's generally within a single % mark

#

It's quite powerful for a web server

#

it's trash for gaming

#

Yes, it might power your 10 slot MC server just fine, but it's not gonna be running a 100 slot paper server

subtle fjord
#

Over-provisioning and hypervisor do play a role. But in the end server cpus are built for large scale while keeping cool not for high frequency, which you need for Folia as well. And high frequency is difficult to cool.

inner swift
viral stone
#

problem is that most of the chips you want for gaming are not high-occupancy chips

subtle fjord
#

There are plenty of VPS these days on desktop cpu, but even then either overprovisioned or thermal throttled.

#

still worth a shot though for low budget. i run my test/devservers on el-cheapo vps

lean thorn
#

What kind of passmark single thread rating should I be shooting for? I thought 2631 (AMD EPYC 7713) was pretty good, and I thought for an "end-game Folia server", a 32 CPU allocation would have good results.

viral stone
#

Depends, really

#

Like, at the end of the day it's a balance between single thread score and core counts

#

if you can maintain enough of a player spread EPYCs are attractive because of the core counts

#

issue is that if you don't maintain the spread they bog down relatively fast

lean thorn
#

That makes sense! Okay thanks, this narrows down my scope way better than "abandon ship, all VPS are trash" into "focus on the CPU and goals". For SkyBlock for example, which is what this server is, I think it sounds alright. However I'll definitely keep an eye out for other companies who can offer me CPUs that aren't just newer EPYCs (I looked at the 'premium CPUs', that's all they are)

viral stone
#

Just, avoid any CPUs with ecores unless you know how to disable them

#

ecores are a plague

lean thorn
#

Oh for sure, I have them disabled on my laptop I'm typing this on even lol.

viral coral
#

running 14900k's in production nowadays and works better with e-cores enabled than off

primal oyster
viral coral
#

the first generation had pretty fucked scheduling

#

like you would noticably see an improvement with e-cores off

subtle fjord
#

don't have to disable them, just to cpuset via systemd. Then you can still use them for other stuff in the background.

plucky peak
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.

fair merlin
tender hill
#

hey, folia can be published for version 1.17 ?

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.

twin garden
#

Hello ! Does plugin messaging with custom channels works ? I am using velocity and folia but my messages sended from my Minecraft server are not caught on velocity proxy. I have been registered the channels on both plugins velocity and folia but the event is not received on proxy when sent from folia

#

Ok nevermind, I fond my issue. I was needing to use the player scheduling entity to run the send plugin message. Sorry for that !

calm fable
#

does anyone know if the folia roadmap will ever do something like multi system?

#

do something like DMA support

#

or maybe just like a local very high speed link

viral stone
#

No

#

that is not the goal

calm fable
#

a shame, the multithread code is there, running it on different systems with DMA seems the next logical step

#

imagine a several thousand player MC server

viral stone
#

I mean, that is not the next logical step, that's yet another entire architectual change and consideration on a wider state

#

multiprocess on the same machine literally makes 0 sense, which then puts you into network based stuff, at that point, when you have 50ms a tick, you don't want to be dealing with trying to copy large pools of global state around the place

#

you would actually want to architect for that properly, there is a reason why pretty much all of the multiserver solutions have 20 dozen different compromises and caveats over how they work

#

the only good solution if you wanted to actually go into that properly would be to do it from the top

naive fable
#

You can already have several thousand players on folia if you do the propper optimizations for a particular gamemode, and the most high end server cpus is getting alot more cores the next generations by putting more die area in a single package, so by the time you have built a working multi cpu server folia, have already beat you with brute force

calm fable
#

hey since rcon now works does that mean command blocks are gonna be coming back?

timid grotto
#

those are entirely different

#

the console already worked, rcon is just a remote way to access that

fair merlin
#

Too complicated to properly handle the region stuff, and anything you'd be doing in command blocks you should be doing in plugins instead.

calm fable
#

understood

#

im not a dev, i used to string command blocks together to make adventure mode minigames

fair merlin
#

Yeah that tends to be super hacky and slow.

#

Plugins are the way to go.

timid grotto
#

plugins are

  • more powerful
  • faster and more efficient
  • easier to customize for end users
fair merlin
#

For sure. But the tradeoffs are severe. And for Folia especially if you don't know Java or have someone on your team who does then you're gonna have a bad time.

unique knoll
#

post that gif again i wanted to save it

primal oyster
#

there

keen carbon
#

Is there a working script for folia? any dev version?

fair merlin
keen carbon
#

Is there a special version of the skript that works for Folia?

fair merlin
#

But I would not recommend using something like that. If your goal is improved performance then using something like skript is going to have the opposite impact.

keen carbon
#

I looked at github but couldn't find any support so I wanted to write it here as a last resort.

keen carbon
fair merlin
#

Generally yes.

keen carbon
#

Got it, thank you for the additional information.

grizzled scaffold
#

Hello everone , please suggest me a chest-shop plugin for folia

#

I don't find one

finite hinge
#

Might be up to you to write one

#

That's kind of where Folia is right now

subtle fjord
keen carbon
subtle fjord
#

ah ok

warped tulip
#

Scripts are never recommended

#

Idk about any in folia atm and probably there won't be until the official release

subtle fjord
#

did not even know it was a thing

subtle wasp
#

Maybe path too long for Windows? (lol)

golden stone
#

checked the logs, apparently my paging file is too small, i increased it on 2 drives that have space and i'll restart pc and check if the issue still persists

timid grotto
#

it being in your downloads folder suggests you mightve just downloaded the repo from github, which will not work. you must clone with git. also its recommended to do it directly in C:/ because of windows path length limitations

golden stone
#

i'll remove the stuff i posted not to clutter up the channel too much

fair merlin
#

No need to remove anyting in the future

#

But long path sizes are an issue in Windows sometimes

#

Just a heads up if you run into further problems

plucky peak
#

How to get folia jar of 1.20.1

inner swift
#

You'd need to compile it

#

And maybe backport a bunch of crash exploit fixes, 1.20.2 collision fixes, etc

strong flume
#

what is utilisation mean?

viral stone
#

how much time of those threads are being used, basically

#

31+13+2=46

#

or, heck, it literally gives it to you as a % in the regions thing

#

if you want to increase the limit, i.e. the 100%, then you need more threads

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.

strong flume
#

oh okay

#

is this normal

#

its a new server

livid crag
#

Not sure what do you mean by that?

strong flume
#

like

livid crag
#

what do you want us to look at?

strong flume
#

does the server look healthy

viral stone
#

I mean, no

livid crag
#

it looks like shit yes

strong flume
#

woah mama

livid crag
#

but we dont know your hardware info or anything like that

#

or what is going on in the server

strong flume
#

theres no plugins

#

he just started folia a few mins ago

#

like 6 players

#

and the pcu is uh

viral stone
#

I mean, the concern isn't players

#

the concern is that a region with 4 players is eating up 30mspt

#

that's, not normal

#

But, we can't say what is going on there

strong flume
#

Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz.

viral stone
#

you'd need spark reports or something

livid crag
#

what kinda of cpu you dig out of basement to run this? do you have a model

strong flume
#

lemme get a spark report

viral stone
#

that's an 11 year old CPU

#

Which was never a great CPU for minecraft/gaming

livid crag
#

yeah no need for a report, your cpu can barely run regular Paper

viral stone
#

That's the general range of CPUs we used for cheap shared hosting back in the 1.8 days

strong flume
#

^ before folia

viral stone
#

I mean

#

your performance was bad there

#

folia doesn't magically improve performance

#

at the very least, you want to increase the number of region threads

#

but, even then, your regions are not going to scale; the entire point of folia is that you end up with basically what are effectively smaller server units of work in one process

#

single thread performance is still important

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.

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

tiny totem
viral stone
#

What?

#

That comment was in reference to their hardware

#

Running folia on 1 tick thread is going to perform worse than paper, even if marginally, it’s not gonna save a 10 year old cpu

tiny totem
viral stone
#

Regions are formed around players chunks

#

By default, players need to be like 900 blocks away from another player to have their own region

tiny totem
timid grotto
#

no

#

regions are dynamic

hexed ice
#

minecraft region and folia regions are different

timid grotto
#

a player cannot enter a different region by simply walking over a chunk border

tiny totem
viral stone
#

They’re two different layers

#

The maths might come out similarly but, they’re not the same in terms of impl

tiny totem
#

uhhhhhhhhhh

fair merlin
# tiny totem uhhhhhhhhhh

Think of Folia regions as more like "player zones". They aren't tied to the region file format. It's a bunch of chunks around a player that are loaded/ticked independently.

grave heron
#

hello I’m with Archie

fair merlin
#

Leaf just called them regions because he's bad at naming things.

grave heron
#

so do the “region” sizes vary based off player amount

fair merlin
#

Folia regions are generally a 1000x1000 square around a player.

#

If two players get too close together those may merge and the size will change.

#

So they change size a bit dynamically but the region size won't change if some other player somewhere else on the map joins.

#

They're only impacted by players in/near the region in question.

grave heron
#

I see

#

is there a hard limit to how big a region can be?

fair merlin
#

Don't think so.

timid grotto
#

no

fair merlin
#

There's a limit on how small it can be.

grave heron
#

alright

#

thanks for your help

timid grotto
#

in theory, paper is basically just folia but with one region containing every chunk in every world

#

it isnt literally that, but that helps get the idea across i think

tiny totem
#

thanks

fair merlin
#

Yeah it's a weird thing to think about.

#

But Folia regions are dynamic and based on player location. That's the important part. Folia wants players spread far apart or you aren't really getting any benefit of it.

grave heron
#

wait question

#

how close to players have to be for the region to merge?

timid grotto
#

its somewhere around 1-1.5k blocks i think

fair merlin
#

The lower bound is ~900 blocks

#

But better to keep them ~1500ish apart.

hushed raptor
#

what does "Folia" actually mean

fair merlin
#

Doesn't really "mean" anything.

#

It's just a name.

#

Same as Paper.

hushed raptor
#

but what does folia mean

#

i knowi tsj ust a name

#

but in depth

fair merlin
#

I'd just be sending you links from Google.

#

It's just a word. shrug

hushed raptor
# fair merlin It's just a word. *shrug*

What does the name Folia mean?
madness, folly
[1780–85; ‹ Sp folía or Pg folia lit., madness, folly ‹‹ OPr, equiv. to fol foolish, mad + -ia -y3; see fool1, folly]

#

madness, folly
folia = madness

#

fr!

fair merlin
inner swift
#

A variation of latin for leaf (Folium), cause Spottedleaf

fair merlin
#

It's just a name, as I said a few times.

#

It's just a name that was suggested and Leaf picked.

#

Leaf is bad at naming things.

hushed raptor
#

im calling folia madness now

hushed raptor
fair merlin
#

You don't have to ping on every reply.

#

Leaf is Spottedleaf, the person who made Folia.

#

And maintains it.

#

"Folly" and "folia" aren't the same word.

#

A bunch of people, a while ago.

#

And many more over the years.

hushed raptor
#

who was the person that was "Shii, we need a better & improved spigot fork! Let's name it Plane!"

fair merlin
#

Folia is primarily Leaf's project. He came up with the idea and forked Paper and is the primary maintainer. His basic side project.

hushed raptor
#

i said airplane cuz that was paper's first name i think

fair merlin
#

It wasn't.

hushed raptor
#

airplane was a fork of paper then

fair merlin
#

Airplane is another fork that was made a while ago but AFAIK was discontinued.

hushed raptor
#

yeah it was

hushed raptor
#

im genuinely curious

fair merlin
#

What person?

hushed raptor
#

that thought of paper and made a thing