SlimeDog / NetworkInterceptor

Monitor and block outgoing network connections
The Unlicense
37 stars 5 forks source link

Folia compatibility #45

Closed SlimeDog closed 1 year ago

SlimeDog commented 1 year ago

🚩 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:

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
SlimeDog commented 1 year ago

Re-open when Folia is ready for primetime.