🚩 We should do nothing until Folia reached a stage where the core functionality isn't bug fix du jour, and core plugins -- ProtocolLib, Vault, PlaceholderAPI, LuckPerms, etc. -- have been updated to actual releases. I'm not going to build all the prerequisites from branched dev sources.
If Folia becomes a significant number of servers that we need to support:
[ ] Add folia-supported: true to plugin.yml
[ ] Verify plugin operation
[ ] Fix any errors
[ ] Post compatibility
[ ] SpigotMC
[ ] Hangar
[ ] README.md
Since this plugin does not manipulate chunks, operating through the global region thread should be relatively simple. An example of how to perform this magic may be found here.
NetworkInterceptor was tested with a manually-edited plugin.jar on a manually-built Folia instance.
> version
[06:40:49 INFO]: Checking version, please wait...
[06:40:50 INFO]: This server is running Folia version git-Folia-"5b74945" (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) (Git: 5b74945)
You are running the latest version
Errors were encountered on server start-up
[06:38:04] [Server thread/INFO]: [NetworkInterceptor] Using blocking strategy allow
[06:38:04] [Server thread/INFO]: [NetworkInterceptor] Using a mapping blocker with timer of 1000ms
[06:38:04] [Server thread/INFO]: [NetworkInterceptor] Using file logger
[06:38:04] [Server thread/INFO]: [NetworkInterceptor] Truncating old log file
[06:38:04] [Server thread/INFO]: [NetworkInterceptor] Interceptors: [security-manager, proxy-selector]
[06:38:05] [Server thread/INFO]: [NetworkInterceptor] [ProxySelectorInterceptor] Replacing 'sun.net.spi.DefaultProxySelector' selector with logged variant.
[06:38:05] [Server thread/INFO]: [NetworkInterceptor] bStats metrics enabled
[06:38:05] [Server thread/INFO]: [NetworkInterceptor] Loading server plugin NetworkInterceptor v3.3.3
[06:38:05] [Server thread/INFO]: [NetworkInterceptor] Enabling NetworkInterceptor v3.3.3
[06:38:05] [Server thread/ERROR]: Error occurred while enabling NetworkInterceptor v3.3.3 (Is it up to date?)
java.lang.UnsupportedOperationException: null
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.handle(CraftScheduler.java:536) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:236) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:212) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at org.bukkit.craftbukkit.v1_19_R3.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:176) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at me.lucko.networkinterceptor.NetworkInterceptor.runTaskLater(NetworkInterceptor.java:132) ~[NetworkInterceptor-3.3.3-folia.jar:?]
at me.lucko.networkinterceptor.plugin.PluginOptions.searchForPlugins(PluginOptions.java:31) ~[NetworkInterceptor-3.3.3-folia.jar:?]
at me.lucko.networkinterceptor.common.CommonNetworkInterceptor.onEnable(CommonNetworkInterceptor.java:69) ~[NetworkInterceptor-3.3.3-folia.jar:?]
at me.lucko.networkinterceptor.NetworkInterceptor.pluginEnabled(NetworkInterceptor.java:65) ~[NetworkInterceptor-3.3.3-folia.jar:?]
at me.lucko.networkinterceptor.core.impl.SlimeDogCore.onEnable(SlimeDogCore.java:64) ~[NetworkInterceptor-3.3.3-folia.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:279) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:192) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[folia-api-1.19.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:631) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:542) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:274) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1191) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:348) ~[folia-1.19.4.jar:git-Folia-"5b74945"]
at java.lang.Thread.run(Thread.java:1623) ~[?:?]
[06:38:05] [Server thread/INFO]: [NetworkInterceptor] Disabling NetworkInterceptor v3.3.3
🚩 We should do nothing until Folia reached a stage where the core functionality isn't bug fix du jour, and core plugins -- ProtocolLib, Vault, PlaceholderAPI, LuckPerms, etc. -- have been updated to actual releases. I'm not going to build all the prerequisites from branched dev sources.
If Folia becomes a significant number of servers that we need to support:
folia-supported: true
to plugin.ymlSince this plugin does not manipulate chunks, operating through the global region thread should be relatively simple. An example of how to perform this magic may be found here.
NetworkInterceptor was tested with a manually-edited
plugin.jar
on a manually-built Folia instance.Errors were encountered on server start-up