#folia-github

1 messages · Page 1 of 1 (latest)

errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] Now open sourced!
errant lagoonBOT
#

Loading Chunks with invalid data, for example heightmaps that don't match the world height, crashes a Folia server. On Paper, an exception is thrown and logged, but the server keeps running.

Steps to reproduce:

  1. Download the world: world.zip (Datapack is included).
  2. Run Folia with the world. Everything should work normally. The world height should be 512.
  3. Stop the server and delete the world_height.zip datapack. T...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] New branch created: log\-on\-halt\-fail
errant lagoonBOT
#

i don't know how to reproduce this but it just got thrown randomly when players are mass joining

note: set connection-throttle to -1 in bukkit.yml to disable connection throttled kick

System information / folia version

  • folia commit : 5b74945

  • intel i9 9900k

  • 64GB of ram

  • Running archlinux

java args

`java -Xms40G -Xmx40G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+Always...

errant lagoonBOT
#

Expected behavior

When trying to /enchant a item that doesn't support enchants to not say "Applied enchantment .... to ...'s item"

No enchantment is added as expected just a message

Steps/models to reproduce

  1. Give yourself an item that doesn't support enchantments such as oak_log
  2. do /enchant @s minecraft:unbreaking 1
  3. 2 messages, 1 which says the enchantment got applied another one that says "Oak Log cannot support that enchantment"

**Fo...

#

Because the entire system needs more threads to manage the work for the threads, and then you've gotta actually have those regions do stuff, which depend on other systems which have their own threads, etc

the vanilla server software may use a single thread for the main tick loop, but, it has many other threads, and if you only have 1/2 cores, you'll be stealing time away from the main thread. The number here generally is based on internal testing with limited hardware accessibility as well...

errant lagoonBOT
#

Hello!

First of all, as all developers should be, I am excited to see a real attempt at solving one of Minecraft's most important and difficult problems 🎉. Additionally, I was pleasantly surprised at how much documentation already exists for this project which was recently announced.

Nevertheless, I found some very minor issues with the documentation such as typos and slight grammar mistakes which is obviously understandable as I am sure you were focusing most your efforts on improving ...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

Mar 31 02:10:28 debianrack java[3112484]: [02:10:28 ERROR]: Failed to handle packet net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$Pos@186d4068, suppressing error
Mar 31 02:10:28 debianrack java[3112484]: java.lang.UnsupportedOperationException: Must use teleportAsync while in region threading
Mar 31 02:10:28 debianrack java[3112484]:       at org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer.teleport(CraftPlayer.java:1264) ~[folia-1.19.4.jar:git-Foli...
errant lagoonBOT
#

Expected behavior

When building the project I expect to build the executable files in build/libs dir

Observed/Actual behavior

image

Steps/models to reproduce

Cloning the latest repository
running ./gradlew applyPatches

Plugin and Datapack List

didn't come there yet

Folia version

latest commit March 31 around 1:35pm UTC+1

Other

Since there is no doc...

errant lagoonBOT
errant lagoonBOT
#

Several commands are currently disabled as they need to be updated to
support what folia does

On Fri, 31 Mar 2023, 13:56 可爱的皮卡丘, @.***> wrote:

Expected behavior

[image: 7LOG_SRGY4C9TFI$1AI5HG3]
https://user-images.githubusercontent.com/61087334/229122295-8934e94d-f3ee-44d7-a1bd-cc71573b972a.png
Observed/Actual behavior

[image: %IC)J97A2KH 5488XI IQRW]
https://user-images.githubusercontent.com/61087334/229122360-be03b0d8-07ba-4ffc-9e52-aa5b091f07d0.png
Steps/model...

errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] New branch created: foojay
errant lagoonBOT
#

Fixes https://github.com/PaperMC/Folia/issues/12

This issue probably exists in other places where "feedback messages" are sent in commands, but I just wanted to see if this was an acceptable solution to the issue.

Amaranth also suggested you could keep some atomic int counters that incremented/decremented appropriately so in the last of the scheduled entity tasks, the messages could be sent there so that's an alternative solution.

errant lagoonBOT
#

Expected behavior

Villagers should be able to travel through nether portals, like other mobs.

Observed/Actual behavior

When I villager travel through a nether portal, it disappear and this error is throw:

[01:47:02 ERROR]: Entity threw exception at world:440.64865656939077,69.0,-206.24489705607485
net.minecraft.ReportedException: Loading entity NBT
        at net.minecraft.world.entity.Entity.load(Entity.java:2502) ~[folia-1.19.4.jar:git-Folia-"ed7a5c5"]
        at net.m...
errant lagoonBOT
#

Expected behavior

Bukkit Conversations API can be used as normal

Observed/Actual behavior

Once a conversation is begin()ed with a player, every chat message they say results in this:

[00:04:52 ERROR]: Chain link failed, continuing to next one
java.lang.UnsupportedOperationException: null
        at net.minecraft.server.network.ServerGamePacketListenerImpl.broadcastChatMessage(ServerGamePacketListenerImpl.java:2550) ~[?:?]
        at net.minecraft.server.network.ServerGam...
#
[PaperMC/Folia] branch deleted: log\-on\-halt\-fail
errant lagoonBOT
errant lagoonBOT
#

Unlikely that command functions will ever be fixed. This is because now commands need to schedule onto the owning target's region, whether it be a block, entity, player, or something else. They may not even need to be scheduled at all.

This results in undefined completion order of the commands, which while some command functions may be able to tolerate, some may not be able to. There is no solution to this issue that I can see.

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Create new Scoreboard with success

Observed/Actual behavior

a null excepcion

[13:00:18 INFO]: [CoolProtection] [STDOUT] debug has ScoreboardManager org.bukkit.craftbukkit.v1_19_R3.scoreboard.CraftScoreboardManager@233c4975
[13:00:18 INFO]: [CoolProtection] [STDOUT] AsyncPlayerChatEvent
[13:00:18 ERROR]: Could not pass event ServerTickEndEvent to CoolProtection v1.6
java.lang.UnsupportedOperationException: null
at org.bukkit.craftbukkit.v1_19_R3.sc...

errant lagoonBOT
#

Stack trace

Apr 01 14:56:14 debianrack java[3787511]: java.lang.IllegalStateException: Player is already removed from player chunk loader
Apr 01 14:56:14 debianrack java[3787511]:       at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.removePlayer(RegionizedPlayerChunkLoader.java:158) ~[folia-1.19.4.jar:git-Folia-"ce3bef9"]
Apr 01 14:56:14 debianrack java[3787511]:       at net.minecraft.server.level.ChunkMap.removePlayerFromDistanceMaps(ChunkMap.java:213) ~[folia-1.19...
errant lagoonBOT
#

Expected behavior

After signing a writable_book, it should turn into a written_book.

Observed/Actual behavior

writable_book don't turn into a written_book when signed.

Steps/models to reproduce

1- Take a writable_book
2- Write "a"
3- Click on "Sign"
4- Title = "a"
5- Click on "Sign and close"

Plugin and Datapack List

> plugins
[16:39:02 INFO]: Server Plugins (0):

Folia version

> version
[16:38:34 INFO]: This server is running Folia v...
errant lagoonBOT
#

Expected behavior

Expected do get results from:

  • player.getLocation().getChunk().getTileEntities()
  • .getWorld().getNearbyLivingEntities
  • getWorld().getNearbyEntities()

Observed/Actual behavior

[14:45:39] [Region Scheduler Thread #0/ERROR]: Could not pass event ServerTickEndEvent to CoolProtection v1.6
java.lang.IllegalStateException: Cannot getEntities asynchronously
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:86) ~[folia-1.19.4.jar:git-Foli...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Push a mob with a weapon through a portal, on the other side of the portal it is the same entity.

Observed/Actual behavior

Push a mob with a weapon through a portal, on the other side of the portal it is the same entity but without weapon, and persistent.

Steps/models to reproduce

1- Build a nether portal
2- Summon a zombified piglin with a sword /summon zombified_piglin
3- Push it through the portal
4- Zombified piglin is now persistend and los...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Fawe use for regeneration of chunks some methods. Normally getBlockEntity gives us every block tile entity from the chunk.

Observed/Actual behavior

The chunk level data random empty.

Steps/models to reproduce

  1. Clone https://github.com/IntellectualSites/FastAsyncWorldEdit/pull/2171 branch from me.
  2. Clear a section with FAWE and try to regenerate the cleared area.

Plugin and Datapack List

Folia version

Other

No response

errant lagoonBOT
#

Here the stacktrace:

java.lang.NullPointerException: Cannot read field "capturedTileEntities" because the return value of "net.minecraft.server.level.WorldServer.getCurrentWorldData()" is null
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:565) ~[?:?]
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:558) ~[?:?]
	at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightGetBlocks.getTile(PaperweightGetBlocks.java:240...
#

Here the stacktrace:

java.lang.NullPointerException: Cannot read field "capturedTileEntities" because the return value of "net.minecraft.server.level.WorldServer.getCurrentWorldData()" is null
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:565) ~[?:?]
	at net.minecraft.world.level.chunk.LevelChunk.getBlockEntity(LevelChunk.java:558) ~[?:?]
	at com.sk89q.worldedit.folia.adapter.impl.fawe.v1_19_R3.PaperweightGetBlocks.getTile(PaperweightGe...
errant lagoonBOT
#

Is your feature request related to a problem?

As a regionised server software, we don't know what current API getTickTimes, getAverageTickTime and getTPS should return.
It might be great to get significative TPS info based on region tick times.

Describe the solution you'd like.

Deprecate Bukkit#getTickTimes and Server#getTickTimes
Deprecate Bukkit#getAverageTickTime and Server#getAverageTickTime
Deprecate Bukkit#getTPS and Server#getTPS
Add `Bukkit.getTickTime...

errant lagoonBOT
#

I added GlobalRegionScheduler#getGlobalThreadExecutor and RegionScheduler#getRegionThreadExecutor to get respectively an executor of the global region and to get an executor of a corresponding region at a location. I find that these methods were useful in regular paper when working with CompletableFuture, I think other developers too. This PR aims to reintroduce them

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Vanilla redstone.

Observed/Actual behavior

Here is everything AFAIK:

  • The main issue is redstone that freeze sometimes on chunk loading.
  • Blocks can be deleted, but if you replace them, the redstone keep freezing.
  • It seems to affect only redstone "modules" (i.e every redstone component except redstone dust)
  • This bug doesn't appear if the chunk is already loaded. (i.e you'll never see redstone freezing)
  • If you delete/replace the block, it doesn't ...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

On Paper, while riding an horse/pig/donkey/mule, with or without a saddle, teleporting a player using teleportAsync dismounts the player and teleports it. Getting the future in an async task returns true.

Observed/Actual behavior

On Folia, while riding an horse/pig/donkey/mule, with or without a saddle, teleporting a player through teleportAsync does nothing. Getting the future in an async task returns false. I've also tested this while travelling between the same...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

* Set enable-command-block=true in server.properties
Join in the world, then place command block, type some command for example summon minecraft:bee ~ ~5 ~
Set command block properties to repeat; always active

Command block starts spawning bees

Observed/Actual behavior

Command block does nothing
output field also not working

Steps/models to reproduce

* Set enable-command-block=true in server.properties
Join in the world, then place command b...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

save-all saves all chunks and player data in Paper.

Observed/Actual behavior

> version
[08:23:23 INFO]: Checking version, please wait...
[08:23:24 INFO]: This server is running Folia version git-Folia-"105f6d6" (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 105f6d6)
You are running the latest version
> save-all
[08:23:30 INFO]: Unknown command. Type "/help" for help.

Steps/models to reproduce

Type save-all in the consol...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Normal mob behavior.

Observed/Actual behavior

Sometimes, mobs are inactive when player is nearby.
It seems to happen on chunk loading, but i'm not sure.

Steps/models to reproduce

Step 1: Set time to night so enemies can spawn /time set night
Step 2: Set gamemode to survival /gamemode survival
Step 3: Invincibility, for testing purposes: /effect give @s resistance infinite 255
Step 4: TP far away: /tp 100000 100 0
Step 5: Walk till you encounter...

errant lagoonBOT
errant lagoonBOT
#

org.bukkit.command.CommandException: Unhandled exception executing 'rl confirm' in org.bukkit.command.defaults.ReloadCommand(reload)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:1017) ~[folia-1.19.4.jar:git-Folia-"41c5548"]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchServerCommand(CraftServer.java:948) ~[fol...

errant lagoonBOT
errant lagoonBOT
#

Stack trace

[13:50:12 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #19793 centered at chunk [-25, 2] in world 'world' failed to tick:
java.lang.IllegalStateException: Already sent chunk [8, 0] to player EntityPlayer['BEBRA_B_POPE'/2383115, uuid='10d4f404-b483-3340-91f5-fe6f1d600cb7', l='ServerLevel[world]', x=-2.06, y=71.00, z=9.72, cpos=[-1, 0], tl=71871, v=true](BEBRA_B_POPE at -2.06269412992101,71.00133597911214,9.717645408324085)
        at net.minecra...
errant lagoonBOT
#

Stack trace

https://paste.gg/p/anonymous/034189458a1e4d8c8a2add6e47308dc2

Plugin and Datapack List

Chunky

However this issue was also occuring without it so...

Actions to reproduce (if known)

Teleport far out when the server is under heavy load.

Folia version

[02:05:39 INFO]: This server is running Folia version git-Folia-"41c5548" (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 41c5548)
You are running the latest version

Other

No response

errant lagoonBOT
#

Can reproduce on 41c5548.
Context: A player going to the nether, 32 chunks view distance.

[14:31:28] [Region Scheduler Thread #5/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #29483 centered at chunk [3, 30] in world 'world_nether' failed to tick:
net.minecraft.ReportedException: Exception ticking world
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1716) ~[folia-1.19.4.jar:git-Folia-"41c5548"]
	at net.minecraft.server.dedicate...
errant lagoonBOT
#

kugge put it in #46 (most recent open issue on it)

Unfortunately my stacktrace is not the same as yours:

Caused by: java.lang.IllegalStateException: Illegal recursive processTicketUpdates!
Whereas mine is
Caused by: java.lang.IllegalStateException: Already sent chunk [70, 58] to player EntityPlayer<...>

errant lagoonBOT
#

Stack trace

paste your stack trace or a paste.gg link here!
[10:56:49 ERROR]: [ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadPool] Exception thrown from thread 'Tuinity Chunk System Worker #0' in queue 'ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadPool$PrioritisedPoolExecutorImpl@7a1415e7'
net.minecraft.world.level.chunk.MissingPaletteEntryException: Missing Palette entry for index 9.
        at net.minecraft.world.level.chunk.Line...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

I will be making no changes to the data format on disk, otherwise worlds from or to Vanilla will not load. I also cannot make changes to how items are stored in memory, even at the NBT level as plugins will use all kinds of hacks to do things. So, I am in a position where I can't work on this.

#

This is an issue with how the block data is maintained per section in Vanilla. I could fix it, at the risk of breaking the block storage or causing compatibility issues with plugins. I don't care about the latter, but the former is a very significant issue and so I can't fix this issue.

#

The region at any location is undefined unless owned by the current thread. The region which owns an entity is even less-defined, too. These issues make the suggested APIs generally undefined - how do they play in with things such as region transience?

Basically, need APIs that ones that delay a return value when the region state is considered valid.

errant lagoonBOT
#

Expected behavior

Expected no problems, as observed in Paper

Observed/Actual behavior

  1. On Paper, the stress test ran for about 5 hours with no problems, just delayed ticks ~100.

2 . On Folia, after about 44m it starts complaining with:

[2641.978s][warning][gc,alloc] Netty Server IO #3: Retried waiting for GCLocker too often allocating 256 words
version[3327.573s][warning][gc,alloc] Server console handler: Retried waiting for GCLocker too often allocating 331 words
[33...

#

It is something related with the player connection, and mainly when respawn, I got it as well with a player known to have some ping issues.
It is important to mention that it stops the server right after (got it twice).
The server was with very low usage, 4 players.

Adding my Stack trace

[23:07:40] [Region Scheduler Thread #0/INFO]: Cogumelo090 fell from a high place
[23:07:42] [Region Scheduler Thread #0/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #714 ce...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Ender pearl goes through and teleports you to the islands.

Observed/Actual behavior

Ender pearls do not work at all when thrown through the portal.

Steps/models to reproduce

Throw an enderpearl through the end gate.

Plugin and Datapack List

N/A

Folia version

[15:39:03 INFO]: This server is running Folia version git-Folia-"41c5548" (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 41c5548)
You are 2 version(s) behind

1 versio...

errant lagoonBOT
#

Hi Pedro, thanks for commenting!

I don't share the idea that more ram should solve everything, in this case 20 bots walking in line at 0.2, would need more then 4G.

Anyway I gave it a shot by setting 10GB and guess , it took less than 5m to start complaining with red alerts.

About the Xmx and Xms, these values exist since early java beginnings for some reason, I know people prefer to set it all same because servers are dedicated, but the best way to know how much ram is really neede...

#

I mean, that potentially looks like a recent "exploit" in vanilla which was just fixed in folia like 24 hours ago
Hi,
Have tested with the latest version, Leaf alerted yesterday to some extra debugs and fixing so today made all tests with it.

[22:33:04 INFO]: Checking version, please wait...
[22:33:04 INFO]: This server is running Folia version git-Folia-28 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: dddaab9)
You are running the latest version
Previous version...

errant lagoonBOT
#

I confirm that is reproducible on Folia, but not on Paper Regards

Allow me to correct my statement.
A slightly different problem is presented to me also with mass join but giving a different error:
[22:47:05 INFO]: com.mojang.authlib.GameProfile@78bb283d[id=ef73d3ac-37cd-3dd5-8cfc-4dbbd1edd821,name=Bot16,properties={},legacy=false] (/127.0.0.1:56911) lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: Bad packet id 8
[22:47:06 INFO]: ...

errant lagoonBOT
#

I confirm that is reproducible on Folia, but not on Paper Regards

Allow me to correct my statement. A slightly different problem is presented to me also with mass join but giving a different error: [22:47:05 INFO]: com.mojang.authlib.GameProfile@78bb283d[id=ef73d3ac-37cd-3dd5-8cfc-4dbbd1edd821,name=Bot16,properties={},legacy=false] (/127.0.0.1:56911) lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: Bad packet id 8 [22:47:06 INFO...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

paste your stack trace or a paste.gg link here!

https://mclo.gs/LwjfUMD

Plugin and Datapack List

[12:29:00 INFO]: Paper Plugins:
[12:29:00 INFO]: - MiniScoreBoard
[12:29:00 INFO]: Bukkit Plugins:
[12:29:00 INFO]: - Chatty, Chunky, CoreProtect, DiscordSRV, floodgate, FreedomChat, LuckPerms, spark, TAB, Vault
[12:29:00 INFO]: ViaBackwards, ViaVersion

Actions to reproduce (if known)

No response

Folia version

[12:29:13 INFO]: This server is r...

errant lagoonBOT
#

Expected behavior

Normal redstone ticking frequency under load.

Observed/Actual behavior

Delays can be observed in redstone contraptions, most obviously in high-frequency redstone clocks. Sometimes redstone goes faster, sometimes slower.

This can be easily observed when watching items going through hoppers when the server is under chunk loading.

Steps/models to reproduce

This is generally easy to reproduce.

1- Teleport far away /tp 100000 100 3000
2- Place two hopper...

errant lagoonBOT
#

[05:51:22] [Region Scheduler Thread #6/INFO]: Checking version, please wait...
[05:51:22] [Thread-66/INFO]: This server is running Folia version git-Folia-"dddaab9" (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: dddaab9)
You are running the latest version
Previous version: git-Folia-"41c5548" (MC: 1.19.4)

the crash still occurs

errant lagoonBOT
#
[PaperMC/Folia] New branch created: git\-warn
#
[PaperMC/Folia] branch deleted: git\-warn
errant lagoonBOT
#
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: masmc05 <masmc05@gmail.com>
Date: Thu, 20 Apr 2023 20:37:35 +0300
Subject: [PATCH] TempFix


diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
index 2fbfdf1fdba12417e2dbca041b9c7e29af27d02d..39408e5df67464843c6c37524ebf078f6fb9cc91 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator...
errant lagoonBOT
#

Got this now, with same player, it is different, might be related with new protection?

[19:47:30 INFO]: [Cogumelo090: Teleported Cogumelo090 to 29999999.500000, 134.970101, 2961.390223]
[19:47:31 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Scheduling chunk load off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.19.4.jar:git-Folia-28]
at net.minecraft.server.level.ServerChunkCache....

errant lagoonBOT
#

New stacktrace: (world_nether => world teleportation)

[00:25:32] [Region Scheduler Thread #2/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #78955 centered at chunk [24, -3] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1716)
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:456)
        at ne...
#

New stacktrace world => world_nether

[02:28:47] [Region Scheduler Thread #2/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #78955 centered at chunk [24, -3] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1716)
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:456)
        at net.minecraft.s...
errant lagoonBOT
#

@masmc05 Could you give this diff a try? I don't think we want to be accessing captured states from world gen threads.

diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index f4c4951f8..2f94a2467 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -515,7 +515,7 @@ public class LevelChunk extends Chu...
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

I encountered a problem while compiling, but I did not find the free issue publishing entry in the feedback screen, so the following question is about compilation errors.

I followed paperMC's build guidance:
//
1.To compile Paper, you need JDK 17 and an internet connection.
2.Clone this repo, run ./gradlew applyPatches, then ./gradlew createReobfBundlerJar from your terminal. You can find the
compiled jar in the project root's build/libs directory.
3.To ...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Server stop when a player is sleeping, the player can log back.

Observed/Actual behavior

Player can't log back.

Error:

[16:27:58] [User Authenticator #0/INFO]: UUID of player skoaboi is 185cd978-a836-4a68-aa61-2debded034ab
[16:27:58] [Region Scheduler Thread #1/ERROR]: Couldn't place player in world
net.minecraft.ReportedException: Loading entity NBT
        at net.minecraft.world.entity.Entity.load(Entity.java:2502)
        at net.minecraft.world.l...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Won't this break block decorators or something similar? (like the ones that causing the issue in the first place)

BeehiveDecorator in line 59 will never be able to generate bees in the nest, since it can't access the block entity

errant lagoonBOT
#

New stacktrace world_nether => world

Are there any other logs? Some of the debugging information wont cause a crash, but rather log some warnings/errors.

I don't have any more details, but I've already encountered those:

[14:28:39] [Region Scheduler Thread #4/WARN]: Boat (vehicle of Byron_11) moved wrongly! 0.691516229135047
[14:28:39] [Region Scheduler Thread #0/WARN]: Boat (vehicle of Byron_11) moved wrongly! 2.6681221076020734
[14:28:39] [Region Scheduler Thread #1/WA...
errant lagoonBOT
#

While not the same exception, I thought it may be related? Our server received this exception before crashing.

[03:00:12] [Region Scheduler Thread #1/ERROR]: Failed to handle packet net.minecraft.network.protocol.game.PacketPlayInFlying$PacketPlayInPosition@da6b13b, suppressing error
java.lang.IllegalStateException: Have not sent chunk [-104, 162] in world 'world' to player EntityPlayer['DaPBillk'/2761, uuid='83ddeb43-1b4e-4c12-b45a-e8363cab67cb', l='ServerLevel[world]', x=-1855.89, ...
errant lagoonBOT
#

Is your feature request related to a problem?

Hello, dear team member of folia!

I am a Minecraft player who has been using your Minecraft 1.19.4 server with enthusiasm and satisfaction. However, some of my friends would like to continue using old Minecraft plugins that are only compatible with Minecraft 1.16.5.

Therefore, I would like to request that folia team could consider releasing a server version that works with Minecraft 1.16.5 in the future, to facilitate those players who ...

errant lagoonBOT
#

Expected behavior

When the dragon dies, a new end gateway spawn.

Observed/Actual behavior

When the dragon dies, old end gateways are erased (the counter restart from the beginning: 0)

Steps/models to reproduce

1- Generate a new end
2- Kill the dragon
3- Restart
4- Summon the dragon with end crystals
5- Kill the dragon (not with /kill)
6- There is still only one end gateway

Plugin and Datapack List

None

Folia version

[20:30:19 INFO]: This server is runnin...
errant lagoonBOT
#

Stack trace

[20:17:56] [Region Scheduler Thread #1/ERROR]: Thread Region Scheduler Thread #1 failed main thread check: Accessing poi chunk off-main
java.lang.Throwable: null
	at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.19.4.jar:git-Folia-"17a3236"]
	at net.minecraft.world.entity.ai.village.poi.PoiManager.d(PoiManager.java:281) ~[?:?]
	at net.minecraft.world.entity.ai.village.poi.PoiManager.exists(PoiManager.java:199) ~[?:?]
	at net.minecra...
errant lagoonBOT
#

Expected behavior

It should have safely generated normal blocks following my server's packets, because blocks elsewhere on my server were normal

Observed/Actual behavior

But....Okay, look this then you can know the problems
image

Steps/models to reproduce

I think this is a completely random error, because most of my server is normal, including the error map I showed ha...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Reimplemented the world load/unload api

Was working fine a few days in production, but still will keep this a few more days in draft in case of issues

Had to add a little new concept that wasn't specified anywhere, after we stop the activity and any ticking in the world, so there aren't any regions in the world that can tick the world, or have tick threads, we transfer the rights over the world to global tick thread, and we should try to only read the data that was frozen after halting ...

errant lagoonBOT
#

New stacktrace world_nether => world

Are there any other logs? Some of the debugging information wont cause a crash, but rather log some warnings/errors.

[16:52:54 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #4095 centered at chunk [-12, 8] in world 'islands/vannazxc/overworld' failed to tick:
net.minecraft.ReportedException: Exception ticking world
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1716) ~[folia-1.19...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Villagers became insensitive to their workbenches and sometimes did not take their jobs

Observed/Actual behavior

They would have picked up work very quickly and moved around the workbench

Steps/models to reproduce

Just give a villager (with default spawn reason) a job site block and after about 20 minutes it occurs.

Plugin and Datapack List

plugins:
![image](https://user-images.githubusercontent.com/71379165/235053500-fff310fb-c7cc-4d34-b76b-324f04cbd...

errant lagoonBOT
#

Can you replicate this on Paper ? If you can replicate the exact same issue on Paper, we should wait for a fix from Paper and update upstream

I don't think I can, I didn't have this problem with the server that used Paper before; To add, just now some players found that these villagers have just lost their appearance, and their appearance has changed from professional villagers to unemployed vagrants, and their profession has not changed

errant lagoonBOT
errant lagoonBOT
#

Stack trace

[05:31:07] [Region Scheduler Thread #9/ERROR]: Thread Region Scheduler Thread #9 failed main thread check: Cannot add effects to entities asynchronously
java.lang.Throwable: null
        at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[folia-1.19.4.jar:git-Folia-"b97116b"]
        at net.minecraft.world.entity.LivingEntity.addEffect(LivingEntity.java:1123) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.addEffect(LivingEntity.java:...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Figured out what was wrong with my previous pull request #67 due to a misunderstanding of internal paper methods regarding the chunk coordinate calculations. This pull request fixes what it had problems with.

Currently, teleports caused by methods such as ender pearls or the /tp command do not trigger PlayerTeleportEvent or the EntityTeleportEvent.

This pull request implements the events when teleportAsync is called.

errant lagoonBOT
errant lagoonBOT
#

I'm able to reproduce this very frequently, as it's happened many times today when my servers been up and we've played on it. Doesn't happen to every enemy mob, but if a couple pillagers during a raid will spawn, 1, 2, or rarely 3 of them will break when you move in their range.

No teleporting far away is needed to reproduce the issue as well, this happens just a couple hundred blocks from spawn.

Most importantly of all, I've discovered that this issue is not just their AI and Animations st...

errant lagoonBOT
#

I have had a few instances of terrain generation bugs as well. Nothing that looks like this, though. Mine consisted of just chunk borders similar to when you change the seed and try to generate new terrain.

No real reliable reproduction steps I can provide, unfortunately. I can get it to happen relatively reliably when just driving around in a boat. This was happening on an Intel Xeon Phi 7210 if that helps. It has an extremely high core count but the clock speed is pretty low so tha...

errant lagoonBOT
#

Expected behavior

  • Build a new Nether Portal
  • Throw X Items through it
  • Step into Portal
    -> 1 Portal with dropped items

Observed/Actual behavior

-> Many new Portals, one for each item

Steps/models to reproduce

  • Go to Nether
  • Build a new portal, in an Area where no other portals are
  • Activate portal
  • Throw X items through the portal
  • After X Items use Portal with player
    -> X Target Portals are generated when generating new Chunks

Plugin and Datapack List

...

errant lagoonBOT
errant lagoonBOT
#

New stacktrace world_nether => world

Are there any other logs? Some of the debugging information wont cause a crash, but rather log some warnings/errors.

I don't have any more details, but I've already encountered those:

[14:28:39] [Region Scheduler Thread #4/WARN]: Boat (vehicle of Byron_11) moved wrongly! 0.691516229135047
[14:28:39] [Region Scheduler Thread #0/WARN]: Boat (vehicle of Byron_11) moved wrongly! 2.6681221076020734
[14:28:39] [R...
errant lagoonBOT
#

Stack trace

[20:13:02 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #25599 centered at chunk [6237, -5615] in world 'world' fail
ed to tick:
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1716) ~[folia-1.19.4.jar:git-Folia-"47105ea"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[folia-1.19.4.jar:git-Folia-"47105ea"]
...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

New Problem?
[14:30:50] [Region Scheduler Thread #0/INFO]: YouXin joined the game
[14:30:50] [Region Scheduler Thread #0/INFO]: YouXin[/183.198.211.157:53873] logged in with entity id 4576323 at ([world]-978.0245502049388, 71.0, 2809.1456375847897)
[14:30:50] [Folia Async Scheduler Thread #5169/WARN]: [EssentialsGeoIP] 无法获取YouXin的GeoIP数据。请确认你的许可证密钥和配置是正确的。
[14:30:54] [Region Scheduler Thread #1/ERROR]: Thread Region Scheduler Thread #1 failed main thread check: Cannot add effects to entit...

errant lagoonBOT
#

New Problem? [14:30:50] [Region Scheduler Thread #0/INFO]: YouXin joined the game [14:30:50] [Region Scheduler Thread #0/INFO]: YouXin[/183.198.211.157:53873] logged in with entity id 4576323 at ([world]-978.0245502049388, 71.0, 2809.1456375847897) [14:30:50] [Folia Async Scheduler Thread #5169/WARN]: [EssentialsGeoIP] 无法获取YouXin的GeoIP数据。请确认你的许可证密钥和配置是正确的。 [14:30:54] [Region Scheduler Thread #1/ERROR]: Thread Region Scheduler Thread #1 failed main thread check: Cannot add effects to entitie...

errant lagoonBOT
#

Stack trace

Paste.gg link
Server crashed at latest stacktrace.

Plugin and Datapack List

A simple plugin that use teleportAsync on random coordinates. Used to replicate #45, but ended up with this stacktrace

Actions to reproduce (if known)

When using teleportAsync a lot of time on unloaded chunks / random coordinates.

Folia version

[15:54:55 INFO]: Checking version, please wait...
[15:54:56 INFO]: This se...

errant lagoonBOT
#
[PaperMC/Folia] New branch created: update\-paperweight
errant lagoonBOT
#
[PaperMC/Folia] branch deleted: update\-paperweight
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

[20:08:24] [Region Scheduler Thread #3/INFO]: moxing521 was blown up by Creeper
[20:08:24] [Region Scheduler Thread #2/WARN]: Snte_am moved too quickly! -5.297351951851908,-26.0,1.8889335627827677
[20:08:24] [Region Scheduler Thread #2/ERROR]: Thread Region Scheduler Thread #2 failed main thread check: Accessing poi chunk off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.19.4.jar:git-Folia-"47105ea"]
at net.minecraft.w...

#

[19:03:22] [Region Scheduler Thread #3/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #74 centered at chunk [-305, -3084] in world 'world' failed to tick:
net.minecraft.ReportedException: Ticking player
at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:882) ~[?:?]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:666) ~[folia-1.19.4.jar:git-Folia-"47105ea"]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:648) ~[...

#

[19:03:22] [Region Scheduler Thread #3/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #74 centered at chunk [-305, -3084] in world 'world' failed to tick:
net.minecraft.ReportedException: Ticking player
at net.minecraft.server.level.ServerPlayer.doTick(ServerPlayer.java:882) ~[?:?]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:666) ~[folia-1.19.4.jar:git-Folia-"47105ea"]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:648) ~[...

errant lagoonBOT
#
[PaperMC/Folia] New branch created: dev/locking
#

See patch notes for implementation details.

This patch should massively increase performance in Folia due to the significantly better locking behavior.

As with mainline Folia, builds are not provided you must build it yourself. If you already know how to build regular Folia, just use
your git client to checkout to the dev/locking branch (and please verify via current HEAD that you have the latest from the branch).

Please report any issues with this branch on this PR.

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

I did a bit of testing with this branch and bots joining + spawnRadius = 50k. Chunk loading seems to be smoother, which is nice.

However, in two out of three tries the server completely locked up after about 10 minutes.
For some time before that /tps showed a different region at ~2 TPS every time I ran it. After some time, one region apparently completely died, showing up at 5000 mspt.
after this it was also no longer possible to join (even though I was in a different region).

[jsta...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

There are many significant issues with this that are not addressed:

  • teleporting into worlds that may or may not be unloading (this includes player login) is just not handled, which is unacceptable
  • interactions with the entity scheduler or region scheduler, this includes internal access as well as API access
  • waiting until all regions are halted (in your code this is done incorrectly due to threading issues) is not good enough, as new chunk holders may be created asynchronously by tick...
#

Clean up the imports, and add comments where diff starts and diff ends.
https://github.com/PaperMC/Paper/blob/master/CONTRIBUTING.md

The comment where I wrote that events may be placed there is actually wrong. It also needs to check the preconditions for teleporting again, as plugins may modify them. Ideally, given that this is "new" API, if any of those checks fail (i.e wrong tick thread, entity removed, or any other check it made before) then the code needs to throw an exception.

You...

errant lagoonBOT
errant lagoonBOT
#

This isn't a Folia issue. I suspect this is a Vanilla issue.

This is due to the fact that Mojang has shoved in their DFU Dynamic / Codec system into the load process for the server level data and it changes the stored gateway type from a List of Ints to an Int Array tag, and as such the deserialization code cannot read it properly. Yet another reason to hate it for being far too abstract.

If you can test on Vanilla, report to them. I'm not touching this system at all, as it's far too c...

errant lagoonBOT
errant lagoonBOT
#

this includes player login

Player login has to go trough global thread, which is doing the unload, so I don't see possible issues with that since a player login and a world unload can't happen in parallel

using the global tick thread to save the chunks is inappropriate as the global tick thread is not supposed to be doing expensive work, as it is maintaining the time for the worlds as well as being a fallback for processing tasks if there are no other tickable regions active. I do a...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] New branch created: logger\-field
errant lagoonBOT
#

I can only see this happening if you have a plugin used the regenerate chunk API. Is this the case?

Hi Leaf, I don't have any plugins generating chunks.
This test ran with minecraft-stress-test connected, simulating players

BTW on current built I got these controlled errores:
"[20:30:48 ERROR]: Detected setBlock in a far chunk [-126, 408], pos: BlockPos{x=-2013, y=31, z=6540}, status: minecraft:features, currently generating: ResourceKey[minecraft:worldgen/placed_feature / minecraft...

errant lagoonBOT
#

I can only see this happening if you have a plugin used the regenerate chunk API. Is this the case?

Hi Leaf, I don't have any plugins generating chunks. This test ran with minecraft-stress-test connected, simulating players

BTW on current built I got these controlled errores: "[20:30:48 ERROR]: Detected setBlock in a far chunk [-126, 408], pos: BlockPos{x=-2013, y=31, z=6540}, status: minecraft:features, currently generating: ResourceKey[minecraft:worldgen/placed_feature / m...

errant lagoonBOT
#
[PaperMC/Folia] branch deleted: logger\-field
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[19:54:33 INFO]: vodaept[/test:57686] logged in with entity id 1733 at ([world]937238.162192892, 117.75, 781957.1901814165)
[19:54:33 ERROR]: Thread Netty Epoll Server IO #4 failed main thread check: Cannot read world asynchronously
java.lang.Throwable: null
        at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:57) ~[folia-1.19.4.jar:?]
        at org.bukkit.craftbukkit.v1_19_R3.block.CraftBlock.getNMS(CraftBlock.java:86) ~[folia-1.19.4.jar:?]
...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[22:07:24] [Region Scheduler Thread #0/INFO]: Bot36 left the game
[22:07:24] [Region Scheduler Thread #0/INFO]: Bot14 lost connection: Disconnected
[22:07:24] [Region Scheduler Thread #0/INFO]: Bot14 left the game
[22:07:24] [Region Scheduler Thread #0/INFO]: Bot4 lost connection: Disconnected
[22:07:24] [Region Scheduler Thread #0/INFO]: Bot4 left the game

5 minuts after clients disconnected and Folia on fire at 75% CPU

Started dump - "jmap -dump:file=ff.bin 13096...

#

I have reviewed the stacktrace again only to find that the line number on ImposterProtoChunk does not match what it should. It looks like the diff I inserted there to prevent this crash is not on your Folia build, even though the commit # indicates it should be. Can you re-run applyPatches, and make a new build and test again?

Might have missed a step in the built, anyway the last built from this branch did not produce any problems besides the one I last posted, all controlled.

errant lagoonBOT
#

22085ea Properly cancel chunk load tasks that were not ... - Spottedleaf
94b1400 Optimise recalcBlockCounts() for empty sections - Spottedleaf
1128810 Always recalculate light list on protochunk des... - Spottedleaf
ed61eb3 Fix infinite loop in ChunkBasedPriorityTask#queue - Spottedleaf
f15f1ce Fix some bugs in ThreadedTicketLevelPropagator - Spottedleaf

errant lagoonBOT
errant lagoonBOT
#

Your server does not have enough memory to keep up with whatever stress test you're running.

I noticed some problems locally, but these are not caused by Folia but are fixed on latest master. If it doesn't resolve your issue, you need more memory or you need to tune things like view distance / simulation disstance to reduce chunk loading/unloading.

I will not try to refute the lack of memory on it, did it to force this situation reported that I had seen before in a situation with ...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

沙子等落到火把上会变成掉落物

Observed/Actual behavior

如标题所写,沙子等物品掉落到火把或者半如标题所写,沙子等物品掉落到火砖等上面会直接消失,而不是变成掉落物

Steps/models to reproduce

随便放一个火把,在火把上方高处放一个沙子让它掉落到火把上

Plugin and Datapack List

QQ图片20230520123318

Folia version

QQ图片20230520123411

Other

No response

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

While testing this, if the world for any reason was to be unloaded then the players inside the world, they would get "soft locked". the server completely breaks as the players is attempted to be removed on join but fails and in doing so the server freaks out and breaks the commands and much more. "java.lang.IllegalStateException: Player is already removed from player chunk loader".

Best way i found a fix around it was leave the world offline and when the player rejoins after a restart then...

errant lagoonBOT
#

While testing this, if the world for any reason was to be unloaded then the players inside the world, they would get "soft locked". the server completely breaks as the players is attempted to be removed on join but fails and in doing so the server freaks out and breaks the commands and much more. "java.lang.IllegalStateException: Player is already removed from player chunk loader".

Best way i found a fix around it was leave the world offline and when the player rejoins after a restar...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

On latest master. Sometimes happens

[12:36:44] [Region Scheduler Thread #4/INFO]: alan_banan228 tried to swim in lava
[12:36:47] [Region Scheduler Thread #4/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #5637 centered at chunk [-12, -27] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1698) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
	at net.mine...
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

according to the wiki https://minecraft.fandom.com/zh/wiki/下界传送门?so=search

Most entities can teleport through Nether Portals, including various creatures (except Withers and Ender Dragons), ships, minecarts, projectiles, and item entities, but if one creature rides the other, neither creature can pass through the portal. Since only the player can make a portal spawn in another dimension, none of the entities mentioned above can...

errant lagoonBOT
#

Expected behavior

Bukkit.getWorld() is supposed to return a World object

Observed/Actual behavior

On server init Bukkit.getWorld returns null

Steps/models to reproduce

On init try to get Bukkit.getWorld, or just plugin#getConfig#getLocation and World always equals null

` Location location = new Location(Bukkit.getWorld("world"), x, y, z, yaw, pitch);

System.out.println(location);
`

        [10:22:19 INFO]: Location{world=null,x=-16.5,y=71.1,z=28.5,p...
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[19:33:51] [Region Scheduler Thread #5/INFO]: JEPXWE issued server command: a nanfeng_123
[19:33:53] [Region Scheduler Thread #4/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1675 centered at chunk [58, -202] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1698) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.dedica...

errant lagoonBOT
#

And when player enter the nether portal, it occurs too.
[21:21:11] [Region Scheduler Thread #12/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #4909 centered at chunk [53, 28] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1698) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.j...

errant lagoonBOT
#

when starting the plugin, I take the locations from the config and put them in the hashmap, I don't know how it looks with other devs, but I've always done it on paper, do you have an idea how to replace it, or is there any ServerFullyLoadedEvent that I can use instead

Here's code, obviously i changed world to null due to this

`public RandomTeleport() {

    for (String key : yamlData.getConfig().getConfigurationSection("tp").getKeys(false)) {
        double x = yamlData.ge...
errant lagoonBOT
#

Is your feature request related to a problem?

My expertise is not kotlin or java, and I can't work with gradle and maven to compile the codes

Describe the solution you'd like.

If you can, like PaperMC, release the release earlier

Describe alternatives you've considered.

Or If you can, in the readme or document section, give a guide to compile the codes

Other

Most likely many people like me have this problem I would really appreciate it if you could give me more advice...

errant lagoonBOT
#

Folia is still in active development and builds are not available yet. There are guidelines to building it but if you need help you’d have to join the Paper Discord. Please do not create Github issues or comments for this kind of support stuff.

I’d recommend joining the Discord and reading the information about Folia there to see if it’s something you’d need or able to use. Someone there might be able to help you with building also.

errant lagoonBOT
#
[PaperMC/Folia] New branch created: ver/1\.19
#
[PaperMC/Folia] New branch created: dev/1\.20
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

When Player respawnes Repsawn Event is triggerd.

Observed/Actual behavior

When Player respawnes Repsawn Event not is triggerd.

Steps/models to reproduce

Register event listener, and have a listener for PlayerRespawnEvent

Plugin and Datapack List

Just a plugin to test the Respawn Event

Folia version

This server is running Folia version git-Folia-17 (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: ca3b7ad on HEAD)
You are 22 vers...

#

Is your feature request related to a problem?

The problem is that the meaning of the spawned mob, if next to him is not a player, also without this patch does not work farms mobs

Describe the solution you'd like.

Add a patch from Paper to spawn mobs per player, not per region

Describe alternatives you've considered.

nope

Other

No response

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

no crash

Observed/Actual behavior

https://pastes.dev/6oyl2sXTDO

Steps/models to reproduce

This problem occurs when I open a 1.19.4 archive and use TP

Plugin and Datapack List

plugins
[16:55:48 INFO]: Server Plugins (20):
[16:55:48 INFO]: Bukkit Plugins:
[16:55:48 INFO]: - AnCDK, ArmorStandEditor, Chunky, ColoredAnvils, CoreProtect, CreeperConfetti, DeathMessage, Essentials, EssentialsChat, FreedomChat
[16:55:48 INFO]: GSit, InvSeePlusPlus, Kaii...

errant lagoonBOT
#
diff --git a/patches/server/0014-Block-reading-in-world-tile-entities-on-worldgen-thr.patch b/patches/server/0014-Block-reading-in-world-tile-entities-on-worldgen-thr.patch
index 2ba6b8f..8096f4a 100644
--- a/patches/server/0014-Block-reading-in-world-tile-entities-on-worldgen-thr.patch
+++ b/patches/server/0014-Block-reading-in-world-tile-entities-on-worldgen-thr.patch
@@ -7,7 +7,7 @@ The returned TE may be in the world, in which case it is unsafe
 for the current thread to mod...
errant lagoonBOT
errant lagoonBOT
#

still occur
[09:29:05 ERROR]: Thread Region Scheduler Thread #2 failed main thread check: Cannot remove entity off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[folia-1.20.jar:git-Folia-"9dcd6c2"]
at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5466) ~[folia-1.20.jar:git-Folia-"9dcd6c2"]
at io.papermc.paper.world.ChunkEntitySlices.unload(ChunkEntitySlices.java:122) ~[folia-1.20.jar:git-Folia-"...

#

Expected behavior

no crash like folia-1.19.4

Observed/Actual behavior

https://pastes.dev/GdgFr21jMO

Steps/models to reproduce

just tp around

Plugin and Datapack List

plugins
[09:50:18 INFO]: Server Plugins (19):
[09:50:18 INFO]: Bukkit Plugins:
[09:50:18 INFO]: - AnCDK, ArmorStandEditor, Chunky, ColoredAnvils, CoreProtect, CreeperConfetti, DeathMessage, Essentials, EssentialsChat, GSit
[09:50:18 INFO]: InvSeePlusPlus, Kaiivoid, LuckPerms, NoFlightInEnd, PistonMO...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

paste your stack trace or a paste.gg link here!

https://mclo.gs/r4bfTfs

Plugin and Datapack List

  • AutoPay, BetterBoard, BetterEconomy, BetterRTP, BisectHosting-Folia, ChatFilter, Chunky, ClansLite, CrownSteal, DeluxeMenus, DisableBreeding, DiscordSRV, ElytraSpeed, EpicHomes, FastAsyncWorldEdit, floodgate, Geyser-Spigot, GlobalTrackedMaps, IllegalStack, LuckPerms
    NoCheatPlus, PL-Hide, PlaceholderAPI, PlayerBountiesPlus, PlugManX, ProtocolLib, RedLimiterRelo...
errant lagoonBOT
#

Can you reproduce this without any plugins?

If you're encountering errors like this the first step is to eliminate plugins as a possible culprit. Remove plugins and reproduce the issue.

If you can't reproduce the issue: then start adding plugins until it happens - that plugin is probably the problem.

If you can reproduce the issue: post that newer error log.

errant lagoonBOT
errant lagoonBOT
#

Thread Region Scheduler Thread #4 failed main thread check: Cannot remove entity off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[kaiiju-1.20.jar:git-Kaiiju-"21321ab"]
at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5477) ~[kaiiju-1.20.jar:git-Kaiiju-"21321ab"]
at io.papermc.paper.world.ChunkEntitySlices.unload(ChunkEntitySlices.java:122) ~[kaiiju-1.20.jar:git-Kaiiju-"21321ab"]
at io.papermc.paper.chunk.system....

errant lagoonBOT
#

[09:43:15] [Region Scheduler Thread #1/ERROR]: Thread Region Scheduler Thread #1 failed main thread check: Cannot unload entity section off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.20.jar:git-Folia-"9b2ffd0"]
at io.papermc.paper.chunk.system.entity.EntityLookup.entitySectionUnload(EntityLookup.java:702) ~[folia-1.20.jar:git-Folia-"9b2ffd0"]
at io.papermc.paper.chunk.system.scheduling.NewChunkHolder.unloadStage2(Ne...

errant lagoonBOT
#

Can you add full debug info with that error message? In the same place in code, what you need to know? (Or maybe I can add in my local version.)

Player positions, players in regions, region positions, region sizes, latest switches players between regions,
regions by threads, chunk loads by threads/regions/players ...

What we can add easily(or not) to debug this case?

Who knows how to simulate low speed chunks loading for local players?

errant lagoonBOT
#

Stack trace

paste your stack trace or a paste.gg link here!

https://paste.gg/p/anonymous/bf31d18df645442eb16cbcddc10b8450

Plugin and Datapack List

No Plugins

Actions to reproduce (if known)

Walking in/out of a nether portal in survival mode (creative mode works fine)

Folia version

ver
[20:35:29 INFO]: Checking version, please wait...
[20:35:29 INFO]: This server is running Folia version git-Folia-"23b6f9e" (MC: 1.20) (Implementing API version 1.20-R0....

errant lagoonBOT
#

[09:08:18] [Region Scheduler Thread #6/ERROR]: Thread Region Scheduler Thread #6 failed main thread check: Scheduling chunk load off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.20.jar:git-Folia-"23b6f9e"]
at net.minecraft.server.level.ServerChunkCache.getChunkFutureMainThread(ServerChunkCache.java:311) ~[?:?]
at net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:239) ~[?:?]
at net.minecraft....

#

could reproduce in 1.20 Laster ver

version
[09:19:54 INFO]: Checking version, please wait...
[09:19:55 INFO]: This server is running Folia version git-Folia-"02c651d" (MC: 1.20) (Implementing API version 1.20-R0.1-SNAPSHOT) (Git: 02c651d on dev/1.20)

reproduce step
1.create a none-activated neither portal
2.throw entities or let entity go through it

Expected behavior
like paper

![2023-06-13_09 26 01](https://github.com/PaperMC/Folia/assets/107391209/f0bd382c-873d-4d46-8326-3...

errant lagoonBOT
errant lagoonBOT
#

Stack trace

paste your stack trace or a paste.gg link here!

Plugin and Datapack List

Server Plugins (29):
[19:08:50 INFO]: Paper Plugins:
[19:08:50 INFO]: - HuskHomes
[19:08:50 INFO]: Bukkit Plugins:
[19:08:50 INFO]: - AmazingBot, Attollo, BBeeChecker, BlockLocker, Chunky, CodFrame, CoreProtect, EditableSigns, FoliaFlow, GreenChunk
[19:08:50 INFO]: GSit, InvSeePlusPlus, InvSeePlusPlus_Clear, InvSeePlusPlus_Give, Kaiivoid, LuckPerms, MiniMOTD, Panilla, Placehold...

errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] New branch created: ver/1\\\.19\\\.4
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

no crash like folia-1.19.4

Observed/Actual behavior

https://pastes.dev/GdgFr21jMO

Steps/models to reproduce

just tp around

Plugin and Datapack List

plugins
[09:50:18 INFO]: Server Plugins (19):
[09:50:18 INFO]: Bukkit Plugins:
[09:50:18 INFO]: - AnCDK, ArmorStandEditor, Chunky, ColoredAnvils, CoreProtect, CreeperConfetti, DeathMessage, Essentials, EssentialsChat, GSit
[09:50:18 INFO]: InvSeePlusPlus, ...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

My first shutdown after a week on Folia 1.20

https://paste.gg/p/anonymous/a764b78940154c6a801b4c8df7587a51

Plugin and Datapack List

[20:06:56 INFO]: Server Plugins (36):
[20:06:56 INFO]: Bukkit Plugins:
[20:06:56 INFO]: - AntiLavaCastM, AntiLogoutM, AntiNetherRoofM, AntiRaidFarmM, AppleCraftSpawn, AuctionHouseM, AuthMe, BedSpawn, BestTop, BetterRTP
[20:06:56 INFO]: ChatManager, ClanSystem, CommandWhitelist, CoreProtect, DecentHolograms, DiscordCommand, FarmC...

errant lagoonBOT
errant lagoonBOT
#

Stack trace

[paste your stack trace or a paste.gg link here!](https://paste.gg/p/anonymous/d80c1290e4bc419e9342701f4874185c)

Plugin and Datapack List

image

Actions to reproduce (if known)

I do not know what it is, but the server often crashes because of it

Folia version

image

...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[07:29:52] [Region Scheduler Thread #1/ERROR]: [io.papermc.paper.threadedregions.ThreadedRegionizer] Failed to acquire region ThreadedRegion{state=2,sectionCount=60,sections=[RegionSection{sectionCoordinate=[0, 0],chunkCount=187,chunksBitset=7fff7fff7fff7fff7fff7fff7fff7fff1fff1fff1fff7fff0000000000001fff,nonEmptyNeighbours=4,hash=89858455},RegionSection{sectionCoordinate=[-5, -3],chunkCount=0,chunksBitset=0000000000000000000000000000000000000000000000000000000000000000,...
errant lagoonBOT
#

JVM parameter:

/usr/lib/jvm/java-17-openjdk-amd64/bin/java -Xms32768M -Xmx32768M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:S...
errant lagoonBOT
#

Is your feature request related to a problem?

@EventHandler
public void onPlayerRespawn(PlayerRespawnEvent event) {
    event.getPlayer().sendMessage(ChatColor.GREEN + "PlayerRespawnEvent executed");
}

@EventHandler
public void onPlayerTeleport(PlayerTeleportEvent event) {
    event.getPlayer().sendMessage(ChatColor.GREEN + "PlayerTeleportEvent executed");
}

Describe the solution you'd like.

I did not receive any message in the chat, followi...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

I figured out how to get around this (PlayerRespawnEvent event)

Map<String, ScheduledTask> playerTasks = new HashMap<>();

@EventHandler
    public void onEntityDeath(EntityDeathEvent event) {
         if (event.getEntity().getType() == EntityType.PLAYER) {
            ScheduledTask task = new FoliaTaskScheduler(plugin).runRepeating(player, () -> {
                if (player.getHealth() != 0) {
                    ////////////////////////////////////     Example     ///////...
errant lagoonBOT
errant lagoonBOT
#

The respawn and teleport APIs are very awkward since the target region for the respawn position or teleport location are not actually owned during the event invocation, which may make modifying the event outcome or even reading from it very challenging. It requires a different event system to properly facilitate this, which is not a priority currently.

errant lagoonBOT
#

Stack trace

[20:27:15] [Region Scheduler Thread #0/ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1545 centered at chunk [-958, -1] in world 'world' failed to tick:

[paste your stack trace or a paste.gg link here!](https://mclo.gs/aSrPK5Q)

Plugin and Datapack List

[04:14:51 INFO]: Server Plugins (12):
[04:14:51 INFO]: Bukkit Plugins:
[04:14:51 INFO]: - AnarchyExploitFixes, *BetterWorldStats, KillCommand, LuckPerms, NeroChat, NoCheatPlus, Pl...

errant lagoonBOT
#

Expected behavior

The player position should sync correctly,

Observed/Actual behavior

The player position should isn't synced correctly. You can't punch or do anything outside of the range.

Steps/models to reproduce

Need 2 players to join the server and the player will be desync

Plugin and Datapack List

A clean world with No plugins or Datapacks

Folia version

This server is running Folia version git-Folia-"801cff1" (MC: 1.20.1) (Implementing API version 1.20.1-R...

errant lagoonBOT
#

Expected behavior

players can login

Observed/Actual behavior

players cannot login, /tps show 100% util , mspt 1000+ and 20TPS for certain region
players inside the region (if they have already login before this problem happened) cannot leave the region, cannot interact with the region's block(break no drop item), is like the server is lagging, but server list show that they are online, commands can affect them but cannot teleport them away from the region

![image](https://githu...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Does not work revival button + funny animation respawn

Observed/Actual behavior

https://youtu.be/NDZHeaYCmbg

Steps/models to reproduce

https://youtu.be/NDZHeaYCmbg

Plugin and Datapack List

[01:39:15 INFO]: Server Plugins (12):
[01:39:15 INFO]: Bukkit Plugins:
[01:39:15 INFO]: - AnarchyExploitFixes, *BetterWorldStats, KillCommand, LuckPerms, NeroChat, NoCheatPlus, PlasmoVoice, ProtocolLib, TAB, Vault
[01:39:15 INFO]: ViaBackwards, ViaVersion

###...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

https://paste.gg/p/anonymous/5d1ff27978c1412d818f2f21067f4ee6

Plugin and Datapack List

[15:50:52 INFO]: Server Plugins (31):
[15:50:52 INFO]: Paper Plugins:
[15:50:52 INFO]: - HuskHomes
[15:50:52 INFO]: Bukkit Plugins:
[15:50:52 INFO]: - AmazingBot, Attollo, BBeeChecker, BetterRTP, BlockLocker, Chunky, CodFrame, CoreProtect, FastAsyncWorldEdit, FoliaFlow
[15:50:52 INFO]: FreedomChat, GreenChunk, GSit, InvSeePlusPlus, InvSeePlusPlus_Clear, InvSeePlusPlus_Give, ...

errant lagoonBOT
#

Expected behavior

dont crash

Observed/Actual behavior

[12:53:46] [Region Scheduler Thread #2/ERROR]: Thread Region Scheduler Thread #2 failed main thread check: Cannot move entity off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.20.1.jar:git-Folia-"302d7b7"]
at io.papermc.paper.chunk.system.entity.EntityLookup.moveEntity(EntityLookup.java:500) ~[folia-1.20.1.jar:git-Folia-"302d7b7"]
at io.papermc.paper.chun...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

I do /restart and if settings.restart-script in spigot.yml has a valid script, it runs the script

Observed/Actual behavior

> restart
[19:38:15 INFO]: Unknown command. Type "/help" for help.

Steps/models to reproduce

Make folia server
Do /restart

Plugin and Datapack List

None

Folia version

> version
[19:38:55 INFO]: Checking version, please wait...
[19:38:55 INFO]: This server is running Folia version git-Folia-"801cff1" (...
errant lagoonBOT
errant lagoonBOT
#

Stack trace

java.lang.IllegalStateException: Scheduling chunk load off-main
	at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:72) ~[folia-1.20.1.jar:git-Folia-"6b978f2"]
	at net.minecraft.server.level.ServerChunkCache.getChunkFutureMainThread(ServerChunkCache.java:311) ~[?:?]
	at net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:239) ~[?:?]
	at net.minecraft.world.level.Level.getChunk(Level.java:524) ~[?:?]
	at net.minecraft.world.le...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

no fire (paper):
https://i.imgur.com/VUWVkM9.mp4

Observed/Actual behavior

catch fire (folia):
https://i.imgur.com/hPO7pB2.mp4

Steps/models to reproduce

Riding Strider, then walking on lava.

Plugin and Datapack List

none

Folia version

[12:48:27 INFO]: This server is running Folia version git-Folia-"6b978f2" (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: 6b978f2)
You are r...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

The villagers normally teleported to the Nether through the Hell Gate

Observed/Actual behavior

When destroying the minecart on which the villagers are riding, the villagers teleport from the Hell Gate to the Nether, but when the player travels to the Nether, the villagers cannot be found.

Steps/models to reproduce

I shipped several of them and this happened, but when I tried to fork it, it worked fine. I will continue to pay attention to the video as soon as...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

A player should not be brought back

Observed/Actual behavior

https://github.com/PaperMC/Folia/commit/d1c9e634703f9a414d5993c492fe44add90dd262
After this commit crashes disappeared, but there is a new problem. With some chance the player started to come back
https://youtu.be/hEJ9lRPYh9c

Steps/models to reproduce

https://youtu.be/hEJ9lRPYh9c

Plugin and Datapack List

[06:20:55 INFO]: Server Plugins (12):
[06:20:55 INFO]: Bukkit Plugins:
[06:20:55 INFO...

errant lagoonBOT
#

Expected behavior

Normal bed animation

Observed/Actual behavior

https://youtu.be/esutrwDZQkg

Steps/models to reproduce

https://youtu.be/esutrwDZQkg

Plugin and Datapack List

[07:49:11 INFO]: Server Plugins (12):
[07:49:11 INFO]: Bukkit Plugins:
[07:49:11 INFO]: - AnarchyExploitFixes, *BetterWorldStats, *KumorioUtils, LuckPerms, NeroChat, NoCheatPlus, PlasmoVoice, ProtocolLib, TAB, Vault
[07:49:11 INFO]: ViaBackwards, ViaVersion

Folia version

https://github.c...

errant lagoonBOT
#

Expected behavior

Hello, On my paper server in the server.properties configuration file I have keepInventory=true enabled.
and when I die I don't lose the objects I have in my inventory

Observed/Actual behavior

In this Folia installation, even though in the server.properties configuration file I have keepInventory=true active
When it dies it does not preserve things :(
Do you have any other method to activate this feature?

I would appreciate any help you can give me.

Ste...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Just kick player (like cancel PlayerJoinEvent)

Observed/Actual behavior

Server crash when player join server, and in PlayerJoinEvent he got kicked

Steps/models to reproduce

Kick player on PlayerJoinEvent

Plugin and Datapack List

[14:46:07 INFO]: Bukkit Plugins:
[14:46:07 INFO]: - Chunky, DecentHolograms, Essentials, JbwmLib, JbwmMarketing, LifeStealFolia, LuckPerms, NoCheatPlus, TAB, Vault
[14:46:07 INFO]: ViaBackwards, ViaVersion, WorldEdit, World...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[13:43:18 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1269 centered at chunk [394, -851] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1695) ~[folia-1.20.1.jar:git-Folia-"6b978f2"]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447) ~[folia-1.20.1.jar:git-Folia-"6b978f2"]
...
errant lagoonBOT
errant lagoonBOT
#

Affects other mobs

[Region Scheduler Thread #1/ERROR]: Thread Region Scheduler Thread #1 failed main thread check: Scheduling chunk load off-main
java.lang.Throwable: null
	at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:71) ~[folia-1.20.1.jar:git-Folia-"6b978f2"]
	at net.minecraft.server.level.ServerChunkCache.getChunkFutureMainThread(ServerChunkCache.java:311) ~[?:?]
	at net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:239) ~[?:?]
	a...
errant lagoonBOT
#

Also happens on go to hive goal

- [mer. 23:10:02 ERROR Server] Entity threw exception at world_nether:-97.87349335637828,132.06164135048164,-139.5
java.lang.IllegalStateException: Scheduling chunk load off-main
    at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:76)
    at net.minecraft.server.level.ServerChunkCache.getChunkFutureMainThread(ServerChunkCache.java:311)
    at net.minecraft.server.level.ServerChunkCache.getChunk(ServerChunkCache.java:239)
    at...
errant lagoonBOT
#

Expected behavior

Villagers identify work blocks.

Observed/Actual behavior

When the work block is dropped in the correct position, the villagers succeed in becoming the corresponding occupation in an instant, but immediately return to the jobless state. Normal after repositioning the work block.

https://github.com/PaperMC/Folia/assets/70757024/0fe59f5c-0357-4aa8-bf5a-1c99a277497e

Steps/models to reproduce

Probabilistic triggering

Plugin and Datapack List

[Server]...

errant lagoonBOT
errant lagoonBOT
#

似乎是由居住Folium-MC / Residence-Maven#7引起的问题,但是,这个分叉版本的作者不知道如何解决它也没有人可以确认这是否是这里的错误。但一些错误消息确实说这是由居住引起的。

Not only is the problem of the residential plug-in, even if I remove the residential plug-in, the problem still exists, and the error is found that there may be a problem with the protoclib plug-in

errant lagoonBOT
#

Expected behavior

https://youtu.be/UwrGywjQw2Q

Observed/Actual behavior

https://youtu.be/nKfEST1v1zg

Steps/models to reproduce

  • Open a chest from a shipwreck or any structure that could hold a buried treasure map.
  • The server may freeze for 5-10 seconds or for a brief 1 second. During this freeze, the buried treasure map may convert into a blank map. However, sometimes the buried treasure map appears normally.

Plugin and Datapack List

none

Folia ve...

errant lagoonBOT
#

This happens on CraftBukkit and above servers due to the move packet handler ignoring packets from sleeping players, which is intended and good behavior. However, the player position is not sync'd back to the player due to this, which means that it may appear to clients as if they can move - but they don't.

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

The entity teleportation logic requires the entity to be removed from the current world. The portal logic requires that the portal search occurs asynchronously as the target region is not owned by the current thread. The end result is that in order to maintain the behavior that once an entity contacts a portal it is teleported, that the entity is first removed and then the portal search occurs. There isn't a sensible fallback to "the portal doesn't exist" other than to create it, as it does f...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Many things to express. This change implements the EntityTeleportEvent in a context thread safe way. The following are handled:

  • Passengers have the event called properly
  • Recursion is prevented by checking for the teleport status. Such status is revoked by overriding and chaining the teleport callback. It is manually removed when the event fails and henceforth the callback would call null, or when the entities are in the same chunk region, and hence don't call the callback.
  • Teleportin...
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Normal random teleportation to an uncreated chunk

Observed/Actual behavior

[02:24:37 INFO]: mani1232 issued server command: /rtp
[02:24:45 ERROR]: [ChunkTaskScheduler] Chunk system error at chunk (361,-2917), holder: NewChunkHolder{world=world, chunkX=361, chunkZ=-2917, entityChunkFromDisk=false, lastChunkCompletion={chunk_class=net.minecraft.world.level.chunk.ProtoChunk,status=minecraft:carvers}, currentGenStatus=minecraft:carvers, requestedGenStatus=minecr...
errant lagoonBOT
errant lagoonBOT
#

This should potentially prevent cases, where people, who don't know how to compile something, ask other people to do it and get a virus instead of the real version of Folia.

There is no need to change anything in docs, although it would be better for everyone, if you will set up build downloading same how it does Paper. But for now, it is just a shortcut and easier way to get this awesome core.

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Because vanilla commands expect to be run within a global context, not a limited one
delaying execution of stuff would break behavior as now you'd have commands running across various ticks; teleport entity to Y, set flag on entity, etc, etc, would be spread across ticks and cause many dozens of issues.

Command functions are also generally replacable using plugins which offers a much more performant solution and allows them to deal with those issues on their own, as they won't need to del...

errant lagoonBOT
errant lagoonBOT
#

Is your feature request related to a problem?

When i will teleport player with armorstand to location, then i will get exception (java.lang.IllegalStateException: Accessing entity state off owning region's thread)
How i can fix that?

log:
[HawkTab] Location task for HawkTab v1.0.0 in world CraftWorld{name=world} at -1, -1 generated an exception
java.lang.IllegalStateException: Accessing entity state off owning region's thread
at io.papermc.paper.util.TickThread.ensureTickT...

#

Not need code, i want to hear what can this call. Thanks

У нас нет кода, чтобы сказать здесь что-то полезное, но, если вы телепортируете сущность куда-то еще, вы хотите изменить ее после того, как она телепортируется, т.е. с помощью будущего телепортаАсинхронные возвращаются

errant lagoonBOT
errant lagoonBOT
#

Profile link

http://1.15.172.154/config.zip

Description of issue

device:
CPU : AMD r9 7950x 16core 32thread
RAM : ddr5 c40 64g
Network: 100Mbps Upload
SSD:INTEL P4510 2T
[18:59:46 INFO]: Server Health Report

  • Online Players: 172
  • Total regions: 74
  • Utilisation: 1,088.9% / 2,400.0%
  • Load rate: 297.27, Gen rate: 0.60
  • Lowest Region TPS: 11.22
  • Median Region TPS: 12.29
  • Highest Region TPS: 16.15
    Highest 3 utilisation regions
  • Region around block [w:'world...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Is your feature request related to a problem?

Yes, I need to load worlds on startup from my plugin

Describe the solution you'd like.

Implement the current Bukkit API instead of throwing an exception

Describe alternatives you've considered.

  • Patch folia and hardcode the worlds I need
  • Not to use folia

Other

Thre's been a PR on this subject, but it was closed. I didn't find any issue tracking this matter.

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

When I turned on the music record and the players were standing nearby - I killed one of them and he left our chunk, but then I broke the player with music and teleported him to us - his music was still playing, although the player was gone.

Observed/Actual behavior

When I turned on the music record and the players were standing nearby - I killed one of them and he left our chunk, but then I broke the player with music and teleported him to us - his music was stil...

errant lagoonBOT
errant lagoonBOT
#

This is how vanilla works, if the player isn't nearby, the jukebox won't
stop the sound for them

On Fri, 21 Jul 2023, 10:53 GitJhopa, @.***> wrote:

Expected behavior

When I turned on the music record and the players were standing nearby - I
killed one of them and he left our chunk, but then I broke the player with
music and teleported him to us - his music was still playing, although the
player was gone.
Observed/Actual behavior

When I turned on the musi...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Join player

Observed/Actual behavior

New player can not log in and in the console very many errors, as well as these errors are not saved in /logs

Only this saved logs
latest (2).log

Steps/models to reproduce

I don't know how it happened, but if you delete the broken world then everything works fine (if you run the broken world on paper it works fine)

Plugin and Datapack List

Tested ...

errant lagoonBOT
#

Expected behavior

Normal player first join

Observed/Actual behavior

message.txt
This error and timed out kick

Steps/models to reproduce

I do not know how to repeat it, it is connected precisely with my world (on paper it works fine)

Plugin and Datapack List

Tested with and without plugins

Folia version

Tested with paper, Folia and Kaiju
Works fine only on paper
All cores on latest versions

...

errant lagoonBOT
errant lagoonBOT
#

Are you using any kind of custom world generation? I got the same error when trying to join a new player to a world without any blocks at all, then it just got stuck in a loop of seeking the safe location to spawn them on and stack overflowed, because there was none. Solved by adding a single block to the world. Not sure if your use case is similar

#

Are you using any kind of custom world generation? I got the same error when trying to join a new player to a world without any blocks at all, then it just got stuck in a loop of seeking the safe location to spawn them on and stack overflowed, because there was none. Solved by adding a single block to the world. Not sure if your use case is similar

No, im not use custom world generator

errant lagoonBOT
errant lagoonBOT
#

I think it's very important that if you are going to create a large PR that you do not write anything before having the concepts approved beforehand, as it is easiest to change things in design rather than in code. As it stands, the design concepts in this PR would not have been approved, which would have saved you a lot of effort on your part.

The reason the events for teleportation/spawning/other are absent is because the required implementation is requires an entirely different even...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

https://paste.gg/p/anonymous/00fa2d231fac42bfa4ee0c6901f22810

Plugin and Datapack List

No

Actions to reproduce (if known)

I moved the region file from 1.12.2 to 1.20.1 to another location and got this crash, however when I move the 1.20.1 region to another location this does not happen

Folia version

[17:46:52 INFO]: This server is running Folia version git-Folia-"3cf16ee" (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: 3cf16ee)

Other

...

errant lagoonBOT
#

more
[io.papermc.paper.threadedregions.TickRegionScheduler] Region #5 centered at chunk [coords, -coords] in world 'world' failed to tick:
net.minecraft.ReportedException: Exception ticking world
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1695) ~[folia-1.20.1.jar:git-folia-"1189edd"]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:463) ~[folia-1.20.1.jar:git-folia-"1189edd"]
at net.minecraft.server.MinecraftServer.tic...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Is your feature request related to a problem?

No

Describe the solution you'd like.

getTps(player) will return the player's tps in his region

Describe alternatives you've considered.

Describe alternatives you've considered.

Other

No response

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Just to clarify, are you saying that you moved the chunks from one part of
the world to another?

On Wed, 9 Aug 2023, 03:18 kumorio, @.***> wrote:

Now when I go to the account that is there the server instantly shuts down


Reply to this email directly, view it on GitHub
https://github.com/PaperMC/Folia/issues/143#issuecomment-1670556740, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJMAZHJHX3A6YP5IQGEFHTXULXONANCNFSM6AAAAAA3JJ2UWE
....

#

So, yes.
I'd imagine that that is the very issue, the chunks are pointing to block
locations out of the region and thus blowing up as it tries to schedule
ticks for them as part of the upgrade logic.

On Wed, 9 Aug 2023, 03:37 kumorio, @.***> wrote:

No, I moved an entire region to different coordinates


Reply to this email directly, view it on GitHub
https://github.com/PaperMC/Folia/issues/143#issuecomment-1670567939, or
unsubscribe
<https://github.com/not...

#

Yes, because the chunk contains data which is related to the location in
the world, so when stuff falls out of bound, it blows up, 100% as expected

Paper also saves the position of the chunk to prevent an old bug where
chunks would end up being relocated and destroying the world, so that's
going to create issues.

This is basically 100% unsupported behaviour, and I'd be surprised if this
wasn't closed as a won't fix as a result, if you want to relocate chunks
safely, you'll actually...

errant lagoonBOT
#

Yes, because the chunk contains data which is related to the location in the world, so when stuff falls out of bound, it blows up, 100% as expected Paper also saves the position of the chunk to prevent an old bug where chunks would end up being relocated and destroying the world, so that's going to create issues. This is basically 100% unsupported behaviour, and I'd be surprised if this wasn't closed as a won't fix as a result, if you want to relocate chunks safely, you'll actually need to ...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Fix this issue as he affects the gaming experience a lot

Observed/Actual behavior

When the player goes offline there is a certain probability that the backpack will be completely emptied, it is determined that it is not caused by the plugin, and I have observed that other servers using the folia core will also have the problem of players losing their backpacks after going offline and then going online

Steps/models to reproduce

I've recently observed emptying...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Checking version, please wait...
[15:15:18 INFO]: This server is running Folia version git-Folia-"f6e91e9" (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: f6e91e9)

The player's item list is missing. Recently, players often have their backpack items available before they go offline, but after a while, all the backpack items disappear. This happens randomly and not every player will appear. I did not add a plugin to modify backpack items, and I am using the latest Fol...

errant lagoonBOT
#

Expected behavior

server run normally

Observed/Actual behavior

server crash

Steps/models to reproduce

no clue

Plugin and Datapack List

[20:08:51 INFO]: Server Plugins (37):
[20:08:51 INFO]: Bukkit Plugins:
[20:08:51 INFO]: - AnnouncerPlus, AntiPopup, Attollo, BetterRTP, BlockLocker, BlueMap, Chunky, ChunkyBorder, CMILib, CodFrame
[20:08:51 INFO]: CoreProtect, DecentHolograms, DeluxeMenus, DiscordSRV, DragonDropElytra, Essentials, EssentialsChat, EssentialsGeoIP, Es...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Players can change sign

Observed/Actual behavior

When a player without OP privileges tries to change the sign, it doesn't work.
[15:32:06 WARN]: Player [Player] just tried to change non-editable sign

Steps/models to reproduce

When a player without OP privileges tries to change the sign

Plugin and Datapack List

[15:53:03 INFO]: Server Plugins (27):
[15:53:03 INFO]: Paper Plugins:
[15:53:03 INFO]: - CreeperRecover
[15:53:03 INFO]: Bukkit Plugins:
[...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Items remain after reboot

Observed/Actual behavior

If a player is using an Enchanting Table or Anvil while the server is down, the item will disappear after restarting.

Steps/models to reproduce

Restarting the server while using the Enchanting Table or Anvil will cause the item to disappear after the restart.

Plugin and Datapack List

[03:44:21 INFO]: Server Plugins (26):
[03:44:21 INFO]: Bukkit Plugins:
[03:44:21 INFO]: - BetterGUI, BetterRTP, Block...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

When /reload confirm is entered, the server is reloaded and the server responds.

Observed/Actual behavior

The server is not responding to all commands.

Steps/models to reproduce

When /reload confirm is executed, the server responds to some commands sent by the player, but even the stop command does not respond in the bucket console. To shut down the server, you must forcefully shut it down from the scheduler.

Plugin and Datapack List

nothing

F...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

No plans to resolve

@Spottedleaf excuse me? This is unacceptable given the large amount of plugins using the Conversation API. It breaks by merely blocking the input.

I was able to workaround this by using ProtocolLib. Here is a pseudocode:

this.addReceivingListener(PacketType.Play.Client.CHAT, event -> {
	String message = event.getPacket().getStrings().read(0);
	Player player = event.getPlayer();

	if (player.isConversing()) {
		player.acceptConversationInput(message...
#

For anyone interested in reproducing this on Folia here is the full Java code that makes Folia break:

Player player = getPlayer();

player.beginConversation(new Conversation(SimplePlugin.getInstance(), player, new ValidatingPrompt() {

	@Override
	public String getPromptText(ConversationContext context) {
		context.getForWhom().sendRawMessage("Dopice");

		return "Type anything";
	}

	@Override
	protected boolean isInputValid(ConversationContext context, String input) {
	...
errant lagoonBOT
#

No plans to resolve

@Spottedleaf excuse me? This is unacceptable given the large amount of plugins using the Conversation API. It breaks by merely blocking the input.

I was able to workaround this by using ProtocolLib. Here is a pseudocode:

this.addReceivingListener(PacketType.Play.Client.CHAT, event -> {
	String message = event.getPacket().getStrings().read(0);
	Player player = event.getPlayer();

	if (player.isConversing()) {
		player.accep...
errant lagoonBOT
errant lagoonBOT
#

InvSee++ author here, perhaps I can shed some light on this issue. InvSee++ is architected in such a way that it tries to re-use spectator inventories as much as possible. I think this is one of its greatest strength; two admin players can modify the contents of a target player's inventories and they see their updates instaniously because they are sharing the same inventory instance. Also when a target player joins the server again, their inventory content is updated to whatever open content ...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Be able to get block type.

Observed/Actual behavior

Error when using block.getType() :

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.World.a_(World.java:813)
        at org.bukkit.craftbukkit.v1_20_R1.block.CraftBlock.getType(CraftBlock.java:242)

Steps/models to reproduce

Use `player.get...

#

lack of a useful stack trace, but judging from your message, and the error, you're tryna access world state outside of the region context, and thus this will not work

Sorry but there is no other interesting line. The full error is this:

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.World.a_(World.java:813)
       at org.bukkit...
errant lagoonBOT
#

Stack trace

[https://paste.gg/p/anonymous/24f4f33fd25c4006830c8f51fe5929b6](https://paste.gg/p/anonymous/24f4f33fd25c4006830c8f51fe5929b6)

Plugin and Datapack List

[22:22:27 INFO]: Server Plugins (38):
[22:22:27 INFO]: Bukkit Plugins:
[22:22:27 INFO]: - AntiLavaCastM, AntiLogoutM, AntiNetherRoofM, AntiRaidFarmM, AppleCraftSpawn, AuctionHouseM, AuthMe, BedSpawn, BestTop, BetterRTP
[22:22:27 INFO]: CharitySystemM, ChatManager, ClanSystem, CommandWhitelist, CoreProtec...

errant lagoonBOT
#

Expected behavior

[08:51:09] [Region Scheduler Thread #1/ERROR]: Thread Region Scheduler Thread #1 failed main thread check: Cannot update owner state asynchronously
java.lang.Throwable: null
	at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[folia-1.20.1.jar:git-Folia-"372d479"]
	at net.minecraft.world.entity.projectile.Projectile.getOwnerRaw(Projectile.java:78) ~[?:?]
	at net.minecraft.world.entity.projectile.Projectile.getOwner(Projectile.java:71) ~[?...
errant lagoonBOT
#

No, you need to use the players scheduler in order to touch that stuff, accessing world state off the main thread has NEVER been supported, even moreso on folia

Hello, I'm trying to get the block type when I save/load some data, I don't use player.getLocation but this:
Block block = this.toBlock();
Location location = block.getLocation();
String blockType = block.getType().name();

I also need to use a specific scheduler to fix it or something ?

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] New branch created: dev/optimisations
errant lagoonBOT
errant lagoonBOT
#

I have a concern that this pr could regress TNT cannon performance because of the removal of the cache in the optimize explosions patch. The TNT cannons used on Factions have large amounts of TNT and Sand upwards into the thousands in the same location. Cannon and Faction servers often disable random TNT spawn velocity as well to better utilise the cache when compressing TNT together.

I also had this exception

java.lang.NullPointerException: Cannot invoke "net.minecraft.world.level.b...
errant lagoonBOT
errant lagoonBOT
#

I have a concern that this pr could regress TNT cannon performance because of the removal of the cache in the optimize explosions patch. The TNT cannons used on Factions have large amounts of TNT and Sand upwards into the thousands in the same location. Cannon and Faction servers often disable random TNT spawn velocity as well to better utilise the cache when compressing TNT together.

I also had this exception

java.lang.NullPointerException: Cannot invoke "net.minecraft...
#

I have a concern that this pr could regress TNT cannon performance because of the removal of the cache in the optimize explosions patch. The TNT cannons used on Factions have large amounts of TNT and Sand upwards into the thousands in the same location. Cannon and Faction servers often disable random TNT spawn velocity as well to better utilise the cache when compressing TNT together.

I also had this exception

java.lang.NullPointerException: Cannot invoke "net.minecraft...
#

I have a concern that this pr could regress TNT cannon performance because of the removal of the cache in the optimize explosions patch. The TNT cannons used on Factions have large amounts of TNT and Sand upwards into the thousands in the same location. Cannon and Faction servers often disable random TNT spawn velocity as well to better utilise the cache when compressing TNT together.
I also had this exception

java.lang.NullPointerException: Cannot invoke "net.minecraft...
errant lagoonBOT
#

Is your feature request related to a problem?

i want run Minecraft server on a old server,but it is too slow to run forge server,but folia is run well on this machine,so i want a core both have folia and forge .

Describe the solution you'd like.

add forge to folia or create a new core for forge and folia

Describe alternatives you've considered.

none

Other

No response

errant lagoonBOT
errant lagoonBOT
#

I have a concern that this pr could regress TNT cannon performance because of the removal of the cache in the optimize explosions patch. The TNT cannons used on Factions have large amounts of TNT and Sand upwards into the thousands in the same location. Cannon and Faction servers often disable random TNT spawn velocity as well to better utilise the cache when compressing TNT together.
I also had this exception

java.lang.NullPointerException: Cannot invoke "net.m...
errant lagoonBOT
#

I did end up testing your claims @Samsuik about it effecting TNT Cannons, and it seems to not be the case. A video is here if you want to see it. ( https://youtu.be/SVdl3NBXATM ) It seems to be fine.

I started building a cannon specifically for testing and I finished last night. Here are the results of my crude testing:

Paper (optimize-explosions): 8.39 tps
Folia (this pr/optimisations branch): 3.94 region tps
Folia: 1.84 region tps

If you would like to test the perform...

errant lagoonBOT
#

I did end up testing your claims @Samsuik about it effecting TNT Cannons, and it seems to not be the case. A video is here if you want to see it. ( https://youtu.be/SVdl3NBXATM ) It seems to be fine.

I started building a cannon specifically for testing and I finished last night. Here are the results of my crude testing:

Paper (optimize-explosions): 8.39 tps
Folia (this pr/optimisations branch): 3.94 region tps
Folia: 1.84 region tps

If you would li...

errant lagoonBOT
errant lagoonBOT
#

After some deep testing I can see a x3-5 more performance on a instant heavy load with huge faction cannons (1000 tnt at a time) and after the first shot it stays at 20 tps, tested on a Intel® Core™ i9-13900 24 Core 64 GB DDR5 RAM compared to the old folia I get around 10-15 tps casually. (some paper config had to be changed in order to have all the tnt work)

Can't wait for chunk (un)load to get fixed !

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Server starting and loading all plugins with any issues

Observed/Actual behavior

errors loading most of the plugins:

container@pterodactyl~ java -version
openjdk version "17.0.8.1" 2023-08-24
OpenJDK Runtime Environment Temurin-17.0.8.1+1 (build 17.0.8.1+1)
OpenJDK 64-Bit Server VM Temurin-17.0.8.1+1 (build 17.0.8.1+1, mixed mode, sharing)
container@pterodactyl~ java --add-modules=jdk.incubator.vector -Xms128M -Xmx61440M -Dterminal.jline=false -Dterminal.an...

errant lagoonBOT
#

Merged to paper 1.20.2

I did end up testing your claims @Samsuik about it effecting TNT Cannons, and it seems to not be the case. A video is here if you want to see it. ( https://youtu.be/SVdl3NBXATM ) It seems to be fine.

I started building a cannon specifically for testing and I finished last night. Here are the results of my crude testing:

Paper (optimize-explosions): 8.39 tps
Folia (this pr/optimisations branch): 3.94 region tps
Folia: 1.84 region tps...
#
[PaperMC/Folia] branch deleted: dev/optimisations
errant lagoonBOT
#

I think you could have a synchronous context running for datapacks that's running on a single thread - while you can't really implement multithreading here, most servers that would use Folia for big server networks won't even use datapacks, while people who just want to get the most bang out of their server would still have compatibility with VanillaTweaks and whatever else they need to run. It's a bit complicated to act on things that are on different threads, you'd need some kind of localiz...

#

except now you'd need to have a tick thread which locks each region from ticking so that it itself can tick once per tick in a global state for the world, which would break the whole "you can have a region tanking performance without killing the entire server" 'feature'

I don't think that that would really be something that would be deemed acceptable to the project

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#
[PaperMC/Folia] New branch created: dev/1.20.2
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[10:54:06 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Cannot read world asynchronously
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:57) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"] at org.bukkit.craftbukkit.v1_19_R3.block.CraftBlock.getNMS(CraftBlock.java:86) ~[folia-1.19.4.jar:git-Folia-"ca3b7ad"]
at org.bukkit.craftbukkit.v1_19_R3.block.CraftBlock.setTypeAndData(CraftBlock.java:20...

#
  1. 1.19.4 is no longer supported
  2. You teleported away, your entity is no longer in that region, and thus are no longer ticked in that region and thus no longer own it. If you wanna do mutations to the world, you need to use the region scheduler to safely do it

How to doing this? I use regionSheduler

I use RegionSheduler, but when I teleport, the old region (owning the blocks) is deleted and a new one is created in the place where I teleported, and I get this error

errant lagoonBOT
#

Stack trace

[13:37:55 ERROR]: Thread Region Scheduler Thread #0 failed main thread check: Cannot read world asynchronously
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:57) ~[folia-1.20.1.jar:git-Folia-"edafbce"]
at org.bukkit.craftbukkit.v1_20_R1.block.CraftBlock.getNMS(CraftBlock.java:84) ~[folia-1.20.1.jar:git-Folia-"edafbce"]
at org.bukkit.craftbukkit.v1_20_R1.block.CraftBlock.getBlockData(CraftBlock.java:17...

errant lagoonBOT
errant lagoonBOT
#
  1. 1.19.4 is no longer supported
  2. You teleported away, your entity is no longer in that region, and thus are no longer ticked in that region and thus no longer own it. If you wanna do mutations to the world, you need to use the region scheduler to safely do it

How to doing this? I use regionSheduler

I use RegionSheduler, but when I teleport, the old region (owning the blocks) is deleted and a new one is created in the place where I teleported, and I get this error

show th...

errant lagoonBOT
errant lagoonBOT
#

Is your feature request related to a problem?

Mods are a huge part of minecraft, mods like create can modify minecraft into a entire new game, having way more content and new experiences.
However since the base minecraft server is singlecore, more than a few players in a complex world is very hard even for the top hardware at the moment.

Describe the solution you'd like.

Since I know Folia won't support forge (already searched), what about fabric or quilt? Or maybe a custom framew...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

[00:13:17] [Region Scheduler Thread #2/ERROR]: Thread Region Scheduler Thread #2 failed main thread check: Cannot remove entity off-main
java.lang.Throwable: null
at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:78) ~[folia-1.20.1.jar:git-Folia-"372d479"]
at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5455) ~[folia-1.20.1.jar:git-Folia-"372d479"]
at net.minecraft.world.entity.Entity.remove(Entity.java:697) ~[folia-1.20.1.jar:git-Folia-"...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Able to run Server#dispatchCommand with a CommandSender provided by Server#createCommandSender(Consumer) and have it succeed

Observed/Actual behavior

Unable to do so,

[14:50:15 WARN]: [example-plugin] Global task for example-plugin v1.0 generated an exception
java.lang.UnsupportedOperationException: Dispatching command for io.papermc.paper.commands.FeedbackForwardingSender@1d47f198
	at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(C...
errant lagoonBOT
#
[PaperMC/Folia] New branch created: fix-command-sender-check
errant lagoonBOT
errant lagoonBOT
#

This patch can limit the spawning of animals. You can try it.

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sattera <wujiaxin752@icloud.com>
Date: Sat, 11 Nov 2023 14:57:57 +0800
Subject: [PATCH] Try fixing animals spawning issue


diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 5caca2a34849189ea42d2699f6d8672e0d7251cb..131dc763c2daee0919f23dc59e0c195e86da29...
errant lagoonBOT
#

Is your feature request related to a problem?

New regions are only created after enormous distances between the players. This is not a huge problem, but we host our Minecraft server on an aarch64 (ARM) system. It's not slow, but it's no longer the fastest hardware in terms of single-core performance. There are times when the TPS drops below 15. Until the threshold for a new region is reached, performance problems usually occur beforehand.

Describe the solution you'd like.

A possibi...

errant lagoonBOT
#

This patch can limit the spawning of animals. You can try it:

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sattera <wujiaxin752@icloud.com>
Date: Sat, 11 Nov 2023 22:20:46 +0800
Subject: [PATCH] Try fixing animals spawning issue


diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
index 58609a0911c4e32b6f...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Stack trace

https://paste.gg/p/anonymous/270e834a3a084d999399605cb7a1dc06

Plugin and Datapack List

[21:10:55 INFO]: Paper Plugins:
[21:10:55 INFO]: - eco, EcoEnchants, HuskHomes, Talismans
[21:10:55 INFO]: Bukkit Plugins:
[21:10:55 INFO]: - AlchemicalArrows, Alchemy, AntiShulkPotion, Astro, AutoMineReset, BetterRTP, BlueSlimeCore, BottledExp, Buyers, ChatEx
[21:10:55 INFO]: Chunky, ChunkyBorder, CmdBlock, CMILib, CombatLogX, CommandPanels, CooldownsX, CrossplatCommands, Cros...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

it got error when i tried to build

Observed/Actual behavior

Task :paper:spigotDecompileJar FAILED
Task :getPaperUpstreamData FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':paper:spigotDecompileJar'.

io.papermc.paperweight.PaperweightException: Execution of 'org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler' failed with exit code 137. Log file: /root/folia/Folia/.gradle/caches/paperweight/...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

spigot.yml
https://paste.denizenscript.com/View/117831
bukkit.yml
https://paste.denizenscript.com/View/117833
paper-world-defaults.yml
https://paste.denizenscript.com/View/117834
paper-global.yml
https://paste.denizenscript.com/View/117835

For extra reference plugins are (non of them affect animal spawning and same plugin jars are using in 1.20.1 folia with https://github.com/PaperMC/Folia/commit/372d479cc173cd9d0f91265ebb4b198354717e47):
[01:48:14 INFO]: Server Plugins (40):
[01:...

errant lagoonBOT
errant lagoonBOT
#

Hello!

Our server has been running on Folia since 1.20.1, and when we updated it to 1.20.2, we had an issue similar to this problem. I would like to share my investigation about that issue.

Checking the changes from 1.20.1 to 1.20.2, I noticed that "Per Player Mob Spawning" feature is back.
Our server was originally running on Paper and that feature was still enabled in paper-world-defaults.yml.

Looking at the mob spawning process (in ServerChunkCache#tickChunks), it resets the ...

#

Hello!

Our server has been running on Folia since 1.20.1, and when we updated it to 1.20.2, we had an issue similar to this problem. I would like to share my investigation about that issue.

Checking the changes from 1.20.1 to 1.20.2, I noticed that "Per Player Mob Spawning" feature is back. Our server was originally running on Paper and that feature was still enabled in paper-world-defaults.yml.

Looking at the mob spawning process (in ServerChunkCache#tickChunks), i...

errant lagoonBOT
#

spigot.yml https://paste.denizenscript.com/View/117831 bukkit.yml https://paste.denizenscript.com/View/117833 paper-world-defaults.yml https://paste.denizenscript.com/View/117834 paper-global.yml https://paste.denizenscript.com/View/117835

For extra reference plugins are (non of them affect animal spawning and same plugin jars are using in 1.20.1 folia with 372d479, extra mob spawn only occur when upd...

errant lagoonBOT
#
[PaperMC/Folia] branch deleted: fix-command-sender-check
errant lagoonBOT
#

This will happen when a plugin teleports a player during the move event handling.
I could add a check for when this happens, but it's improper to invoke teleportations during these events as it's possible that other plugins listening will not be aware of the teleport. It would be inappropriate to try and support such behavior.

The event itself supports setting the destination location as well as cancellation (for about as long as the event has existed!), so there is no reason for plugins...

errant lagoonBOT
#

spigot.yml https://paste.denizenscript.com/View/117831 bukkit.yml https://paste.denizenscript.com/View/117833 paper-world-defaults.yml https://paste.denizenscript.com/View/117834 paper-global.yml https://paste.denizenscript.com/View/117835
For extra reference plugins are (non of them affect animal spawning and same plugin jars are using in 1.20.1 folia with 372d479, extra mob spawn only occur when upd...

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

docker exec -ti mc-test rcon-cli list should run the /list command on the console

Observed/Actual behavior

$ docker exec -ti mc rcon-cli list
Error executing: list (null)

Steps/models to reproduce

Run itzg/minecraft-server:latest image with TYPE: FOLIA, wait for the server to come up and execute above command.

Plugin and Datapack List

No plugins or datapacks. Executing mentions commands not possible due to bug mentioned in this report.

Fo...

#
[PaperMC/Folia] New branch created: build-updates
errant lagoonBOT
#
[PaperMC/Folia] branch deleted: build-updates
errant lagoonBOT
#

Stack trace

https://paste.gg/p/anonymous/2a88d7d07f4649069c6fd898bea3c231

Plugin and Datapack List

Server Plugins (42):
Paper Plugins:
 - HuskHomes
Bukkit Plugins:
 - AllMusic, BedrockPlayerManager, BetterGUI, BetterItemFrame, BetterRTP, CMI, *CMIEInjector, CMILib, CommandWhitelist, CoreProtect
 CrazyCrates, ExtraContexts, FarmControl, floodgate, FramedImage, FreedomChat, GSit, Guilds, LotterySix, LuckPerms
 Marriage, Matrix, MinePay, MultiLogin, PixelVip, Pl...
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Were these creatures spawned after updating to https://github.com/PaperMC/Folia/commit/3843340cba3aac68f5ab54bd8a0cafd2670a9458? (In other words, the creatures that spawned before the fix are not there?)

I created a new server/world and checked out the mob spawn. (with multiple players/regions in the world)
In https://github.com/PaperMC/Folia/commit/7aacf902b0fc917b2874a67f4ebc77077936355d, a large number of creatures spawned such as squids and bats in a short time.
On the other hand, I ...

errant lagoonBOT
errant lagoonBOT
#

I can also confirm mobs spawning is becoming normal now. I don't see that many mobs in chunks that I have cleared the mobs
However, there is no plugin in folia that can directly show and tp admins to chunks that have alot of mobs, the /tps command in folia in only give a region tp, in most of the cases it cannot tp the admin to the mob's location.

After the fix, no more new region have mobs more than 2000, but i still have 2 old folia region with mob number 8000+ and i still unable to fi...

errant lagoonBOT
#

I can also confirm mobs spawning is becoming normal now. I don't see that many mobs in chunks that I have cleared the mobs However, there is no plugin in folia that can directly show and tp admins to chunks that have alot of mobs, the /tps command in folia in only give a region tp, in most of the cases it cannot tp the admin to the mob's location.

After the fix, no more new region have mobs more than 2000, but i still have 2 old folia region with mob number 8000+ and i still unable t...

errant lagoonBOT
errant lagoonBOT
#

I can also confirm mobs spawning is becoming normal now. I don't see that many mobs in chunks that I have cleared the mobs However, there is no plugin in folia that can directly show and tp admins to chunks that have alot of mobs, the /tps command in folia in only give a region tp, in most of the cases it cannot tp the admin to the mob's location.
After the fix, no more new region have mobs more than 2000, but i still have 2 old folia region with mob number 8000+ and i still unable t...

errant lagoonBOT
errant lagoonBOT
#

Expected behavior

Mobs spawn evenly, balanced

Observed/Actual behavior

When you beat a zombie penlin, an unlimited number of them begin to spawn, since all the zombie piglins begin to run up to you, in the locations where they stood before, new zombie piglins spawn cyclically and run to you

Steps/models to reproduce

Go the nether in survival mode
Hit the zombified piglin, in open areas

Plugin and Datapack List

It can be reproduce without plugins, on the clear folia

...

errant lagoonBOT
#

Is your feature request related to a problem?

Mods are a huge part of minecraft, mods like create can modify minecraft into a entire new game, having way more content and new experiences. However since the base minecraft server is singlecore, more than a few players in a complex world is very hard even for the top hardware at the moment.

Describe the solution you'd like.

Since I know Folia won't support forge (already searched), what about fabric or quilt? Or maybe a cu...

errant lagoonBOT
#

Is your feature request related to a problem?

There are many scenarios, such as incompatible plugins, bugs, etc., that can lead to MSPT 1000+, 100% util in a region. The players within the region are unresponsive.

Describe the solution you'd like.

Can we detect and unload these abnormal regions in some way to enhance the stability of Folia?

Describe alternatives you've considered.

An Api or an existing command?

Other

No response

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Expected behavior

teleportAsync teleports display entities to exactly the coordinates I specify as soon as the teleport is done

Observed/Actual behavior

teleportAsync teleports display entities to a random offset from the location, and then an ineterminate amount of time later the display entity has the possibility to snap to to the actual location without me attempting to teleport it again (in fact, another teleportAsync does nothing wrt the display entity being offset wrong...

errant lagoonBOT
errant lagoonBOT
#

Hello, I see that rcon support is marked as not planned. I have only recently started playing with folia, but the lack of rcon immediately makes folia unusable for my regular needs when hosting an MC server.

Especially considering Folia is intended as a higher performance implementation, remote server management seems it would be essential.

errant lagoonBOT
#

Expected behavior

When player build Map art on Minecraft world and use map item to take a picture of the chunk, the map should keep the same at any time.

Observed/Actual behavior

During running of folia server without restart, the art get corrupted and showing some random and wired chunk map images.
image 1

Steps/models to reproduce

build map art on folia server, wait.

Plugin ...

errant lagoonBOT
#
[PaperMC/Folia] New branch created: dev/1.20.4
errant lagoonBOT
#

A lot of commands schedule now onto different contexts, which means when the command finishes synchronously it may not have the resulting command response available - as it has not actually finished execution.
This is a more general problem with the command system, as there is no way to signal and asynchronous completion.

Not sure what I can do to fix that, as it's always been an issue with RCON but it's certainly more noticeable now.

errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
errant lagoonBOT
#

Is your feature request related to a problem?

When using some CDNs (TCP load balancers), I need to use the proxy-protocol-v2 protocol to obtain the real IP address of the client during reverse proxying in order to succeed.

Describe the solution you'd like.

Hopefully, proxy-protocol-v2 compatibility can be achieved through plug-ins or other methods.

Describe alternatives you've considered.

I tried to enable proxy access and install the solution previously used on the Paper p...

errant lagoonBOT
#

Expected behavior

hopper inventory created and opened

Observed/Actual behavior

[20:04:08 WARN]: [MvndiMMO] Entity task for MvndiMMO v1.0 generated an exception
java.lang.IllegalStateException: Scheduling chunk load off-main
        at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:72) ~[folia-1.20.2.jar:git-Folia-"1e5e215"]
        at net.minecraft.server.level.ServerChunkCache.getChunkFutureMainThread(ServerChunkCache.java:310) ~[?:?]
        at net.min...
errant lagoonBOT
#

Expected behavior

I got a map with datapacks (bingo) and expect it to work on folia server.

Observed/Actual behavior

The map get loaded but it doesn't work fine on folia server. The server failed to load mcfunctions like this in the logfile:
`[11:51:13] [ServerMain/ERROR]: Failed to load function flytre:full_init
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on l...

#

Folia does not support all vanilla commands. The disabled commands include the /datapack, /schedule and /function commands. Your datapack looks like its using those and other disabled commands as well as command functions which also do not work on Folia.

As such, this is expected behaviour and not a bug

Vanilla commands expect to be run within a global context, not a limited one like Folia. Its unlikely that command f...