AvarionMC / graves

GNU General Public License v3.0
26 stars 4 forks source link

Breaks all installed plugins #56

Closed rusticrooster closed 3 months ago

rusticrooster commented 3 months ago

Checks

Version

4.9.4

Server version

1.21

Plugin list

ActionHealth, AuraSkills, ChestShop, ChestSort, Citizens, Dynmap, EssentialsX, EssentialsXChat, EssentialsXSpawn, GSit, LuckPerms, MOTD, OnePlayerSleep, PlaceholderAPI, PlayerWarps, ProtocolLib, TimeIsMoney, UltimateTimber, Vault, veinminer, worldedit, worldguard

Expected behavior

I expect the plugin to either be installed and working successfully (green in the plugin list) or stop working and give an alert or notice to the user (red on the plugin list) leaving all other plugins working and intact.

Actual behavior

Add Graves-4.9.4.jar to the plugins folder. Restart the server and run /plugins. The result message shows "Server Plugins (0): "

Stacktrace if applicable (no screenshots!)

[13:08:26] [ServerMain/INFO]: [bootstrap] Running Java 21 (OpenJDK 64-Bit Server VM 21.0.2+13-LTS; Eclipse Adoptium Temurin-21.0.2+13) on Linux 6.6.32-production+truenas (amd64)
[13:08:26] [ServerMain/INFO]: [bootstrap] Loading Paper 1.21-107-master@aa36ae6 (2024-07-21T10:39:28Z) for Minecraft 1.21
[13:08:26] [ServerMain/INFO]: [PluginInitializerManager] Initializing plugins...
[13:08:26] [ServerMain/ERROR]: [EntrypointUtil] Failed to take hash of file 'plugins/Graves-4.9.4.jar'
java.lang.RuntimeException: Failed to take hash of file 'plugins/Graves-4.9.4.jar'
    at io.papermc.paper.util.Hashing.sha256(Hashing.java:46) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at java.base/java.util.HashMap.computeIfAbsent(Unknown Source) ~[?:?]
    at io.papermc.paper.pluginremap.RemappedPluginIndex.lambda$getAllIfPresent$0(RemappedPluginIndex.java:100) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.pluginremap.RemappedPluginIndex.lambda$getAllIfPresent$1(RemappedPluginIndex.java:108) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at java.base/java.util.stream.MatchOps$1MatchSink.accept(Unknown Source) ~[?:?]
    at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source) ~[?:?]
    at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source) ~[?:?]
    at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source) ~[?:?]
    at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
    at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source) ~[?:?]
    at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source) ~[?:?]
    at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
    at java.base/java.util.stream.ReferencePipeline.anyMatch(Unknown Source) ~[?:?]
    at io.papermc.paper.pluginremap.RemappedPluginIndex.getAllIfPresent(RemappedPluginIndex.java:108) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.pluginremap.PluginRemapper.rewritePluginDirectory(PluginRemapper.java:185) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.prepareContext(DirectoryProviderSource.java:42) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.prepareContext(DirectoryProviderSource.java:17) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(EntrypointUtil.java:14) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.plugin.PluginInitializerManager.load(PluginInitializerManager.java:113) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at net.minecraft.server.Main.main(Main.java:122) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paper.PaperBootstrap.boot(PaperBootstrap.java:21) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at org.bukkit.craftbukkit.Main.main(Main.java:287) ~[paper-1.21.jar:1.21-107-aa36ae6]
    at io.papermc.paperclip.Paperclip.lambda$main$0(Paperclip.java:42) ~[app:?]
    at java.base/java.lang.Thread.run(Unknown Source) ~[?:?]
Caused by: java.io.FileNotFoundException: plugins/Graves-4.9.4.jar (Permission denied)
    at java.base/java.io.FileInputStream.open0(Native Method) ~[?:?]
    at java.base/java.io.FileInputStream.open(Unknown Source) ~[?:?]
    at java.base/java.io.FileInputStream.<init>(Unknown Source) ~[?:?]
    at com.google.common.io.Files$FileByteSource.openStream(Files.java:134) ~[guava-32.1.2-jre.jar:?]
    at com.google.common.io.Files$FileByteSource.openStream(Files.java:122) ~[guava-32.1.2-jre.jar:?]
    at com.google.common.io.ByteSource.copyTo(ByteSource.java:256) ~[guava-32.1.2-jre.jar:?]
    at com.google.common.io.ByteSource.hash(ByteSource.java:340) ~[guava-32.1.2-jre.jar:?]
    at io.papermc.paper.util.Hashing.sha256(Hashing.java:44) ~[paper-1.21.jar:1.21-107-aa36ae6]
    ... 24 more
[13:08:26] [ServerMain/INFO]: [PluginInitializerManager] Initialized 0 plugins
[13:08:28] [ServerMain/INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[13:08:28] [ServerMain/INFO]: Loaded 1290 recipes
[13:08:28] [ServerMain/INFO]: Loaded 1399 advancements
[13:08:28] [Server thread/INFO]: Starting minecraft server version 1.21
[13:08:28] [Server thread/INFO]: Loading properties
[13:08:28] [Server thread/INFO]: This server is running Paper version 1.21-107-master@aa36ae6 (2024-07-21T10:39:28Z) (Implementing API version 1.21-R0.1-SNAPSHOT)
[13:08:29] [Server thread/INFO]: [spark] This server bundles the spark profiler. For more information please visit https://docs.papermc.io/paper/profiling
[13:08:29] [Server thread/INFO]: Server Ping Player Sample Count: 12
[13:08:29] [Server thread/INFO]: Using 4 threads for Netty based IO
[13:08:29] [Server thread/WARN]: [!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future.
    We recommend migrating to the spark profiler.
    For more information please visit: https://github.com/PaperMC/Paper/discussions/10565
[13:08:29] [Server thread/INFO]: [ChunkTaskScheduler] Chunk system is using 1 I/O threads, 1 worker threads, and population gen parallelism of 1 threads
[13:08:29] [Server thread/INFO]: Default game type: SURVIVAL
[13:08:29] [Server thread/INFO]: Generating keypair
[13:08:29] [Server thread/INFO]: Starting Minecraft server on *:25535
[13:08:29] [Server thread/INFO]: Using epoll channel type
[13:08:29] [Server thread/INFO]: Paper: Using libdeflate (Linux x86_64) compression from Velocity.
[13:08:29] [Server thread/INFO]: Paper: Using OpenSSL 3.0.x (Linux x86_64) cipher from Velocity.
[13:08:29] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[13:08:29] [Server thread/INFO]: Preparing level "World One"
[13:08:30] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[13:08:30] [Server thread/INFO]: Time elapsed: 688 ms
[13:08:30] [Server thread/INFO]: Preparing start region for dimension minecraft:the_nether
[13:08:30] [Server thread/INFO]: Time elapsed: 281 ms
[13:08:30] [Server thread/INFO]: Preparing start region for dimension minecraft:the_end
[13:08:31] [Server thread/INFO]: Time elapsed: 91 ms
[13:08:31] [Server thread/INFO]: [spark] Starting background profiler...
[13:08:31] [Server thread/INFO]: Done preparing level "World One" (1.420s)
[13:08:31] [Server thread/INFO]: Starting GS4 status listener
[13:08:31] [Server thread/INFO]: Thread Query Listener started
[13:08:31] [Server thread/INFO]: Starting remote control listener
[13:08:31] [Query Listener #1/INFO]: Query running on 0.0.0.0:25565
[13:08:31] [Server thread/INFO]: Thread RCON Listener started
[13:08:31] [Server thread/INFO]: RCON running on 0.0.0.0:25575
[13:08:31] [Server thread/INFO]: Running delayed init tasks
[13:08:31] [Server thread/INFO]: Done (5.108s)! For help, type "help"
[13:08:31] [Server thread/INFO]: Timings Reset
[13:08:46] [User Authenticator #0/INFO]: UUID of player rarerooster is 064e4348-ab1e-4379-aff3-547dfedca3ff
[13:08:47] [Server thread/INFO]: rarerooster joined the game
[13:08:47] [Server thread/INFO]: rarerooster[/192.168.50.241:62538] logged in with entity id 368 at ([World One]-3529.0825211748597, 66.5625, 1651.795060923063)
[13:08:50] [Server thread/INFO]: rarerooster issued server command: /plugins

Additional information

No response

svaningelgem commented 3 months ago

Thanks for the report. However, it looks to me like this is a download-error?

You have this line: [13:08:26] [ServerMain/ERROR]: [EntrypointUtil] Failed to take hash of file 'plugins/Graves-4.9.4.jar'

So I'm assuming you copied the file as root, and your server isn't running as root. Hence cannot read the file (but can read the filename).

Can you verify that assumption?

rusticrooster commented 3 months ago

Permissions were the issue. Not an issue related to the plugin.