Describe the bug
The server does not start and an error gets printed.
To Reproduce
- Run
docker run -it -v ~/minecraft/config:/opt/minecraft/config -v ~/minecraft/worlds:/opt/minecraft/worlds -v ~/minecraft/plugins:/opt/minecraft/plugins -v ~/minecraft/data:/opt/minecraft/data -v ~/minecraft/logs:/opt/minecraft/logs felixklauke/paperspigot:1.16.3
- See error
Expected behavior
The server should start.
Error
System Info: Java 11 (OpenJDK 64-Bit Server VM 11.0.9+11) Host: Linux 4.19.0-12-amd64 (amd64)
Loading libraries, please wait...
2020-11-03 18:16:03,791 main ERROR Cannot access RandomAccessFile java.io.FileNotFoundException: logs/latest.log (Permission denied) java.io.FileNotFoundException: logs/latest.log (Permission denied)
at java.base/java.io.RandomAccessFile.open0(Native Method)
at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:345)
at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:259)
at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:214)
at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:127)
at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory.createManager(RollingRandomAccessFileManager.java:180)
at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory.createManager(RollingRandomAccessFileManager.java:156)
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:112)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:114)
at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getRollingRandomAccessFileManager(RollingRandomAccessFileManager.java:87)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender$Builder.build(RollingRandomAccessFileAppender.java:115)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender$Builder.build(RollingRandomAccessFileAppender.java:52)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229)
at org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537)
at net.minecraft.server.v1_16_R2.Main.<clinit>(Main.java:27)
at org.bukkit.craftbukkit.Main.main(Main.java:276)
2020-11-03 18:16:03,794 main ERROR Unable to inject fields into builder class for plugin type class org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender, element RollingRandomAccessFile. java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$RollingRandomAccessFileManagerFactory@480d3575] unable to create manager for [logs/latest.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager$FactoryData@f1da57d]
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:114)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:114)
at org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager.getRollingRandomAccessFileManager(RollingRandomAccessFileManager.java:87)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender$Builder.build(RollingRandomAccessFileAppender.java:115)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender$Builder.build(RollingRandomAccessFileAppender.java:52)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229)
at org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537)
at net.minecraft.server.v1_16_R2.Main.<clinit>(Main.java:27)
at org.bukkit.craftbukkit.Main.main(Main.java:276)
2020-11-03 18:16:03,797 main ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender for element RollingRandomAccessFile. java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:224)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:130)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229)
at org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:76)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537)
at net.minecraft.server.v1_16_R2.Main.<clinit>(Main.java:27)
at org.bukkit.craftbukkit.Main.main(Main.java:276)
2020-11-03 18:16:03,798 main ERROR Null object returned for RollingRandomAccessFile in Appenders.
2020-11-03 18:16:03,802 main ERROR Unable to locate appender "File" for logger config "root"
[18:16:06 ERROR]: Failed to load properties from file: /opt/minecraft/config/server.properties
[18:16:06 ERROR]: Failed to store properties to file: /opt/minecraft/config/server.properties
[18:16:06 WARN]: Failed to load eula.txt
[18:16:06 INFO]: [STDERR]: You have used the Spigot command line EULA agreement flag.
[18:16:06 INFO]: [STDERR]: By using this setting you are indicating your agreement to Mojang's EULA (https://account.mojang.com/documents/minecraft_eula).
[18:16:06 INFO]: [STDERR]: If you do not agree to the above EULA please stop your server and remove this flag immediately.
[18:16:06 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', name='PROD'
[18:16:06 FATAL]: Failed to start the minecraft server
java.nio.file.AccessDeniedException: /opt/minecraft/worlds/world
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]
at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389) ~[?:?]
at java.nio.file.Files.createDirectory(Files.java:689) ~[?:?]
at java.nio.file.Files.createAndCheckIsDirectory(Files.java:796) ~[?:?]
at java.nio.file.Files.createDirectories(Files.java:782) ~[?:?]
at net.minecraft.server.v1_16_R2.SessionLock.a(SourceFile:35) ~[paper.jar:git-Paper-253]
at net.minecraft.server.v1_16_R2.Convertable$ConversionSession.<init>(Convertable.java:218) ~[paper.jar:git-Paper-253]
at net.minecraft.server.v1_16_R2.Convertable.c(Convertable.java:200) ~[paper.jar:git-Paper-253]
at net.minecraft.server.v1_16_R2.Main.main(Main.java:114) ~[paper.jar:git-Paper-253]
at org.bukkit.craftbukkit.Main.main(Main.java:276) ~[paper.jar:git-Paper-253]
Desktop (please complete the following information):
- OS: Debian
- Version: 10
Additional context
I investigated the problem with a bash shell, and it seems like the /opt/minecraft folder belongs to root, so the server running under the minecraft user can't create the necessary folders. Changing the folder owner to minecraft would probably suffice to fix this issue.
Describe the bug
The server does not start and an error gets printed.
To Reproduce
docker run -it -v ~/minecraft/config:/opt/minecraft/config -v ~/minecraft/worlds:/opt/minecraft/worlds -v ~/minecraft/plugins:/opt/minecraft/plugins -v ~/minecraft/data:/opt/minecraft/data -v ~/minecraft/logs:/opt/minecraft/logs felixklauke/paperspigot:1.16.3Expected behavior
The server should start.
Error
Desktop (please complete the following information):
Additional context
I investigated the problem with a bash shell, and it seems like the /opt/minecraft folder belongs to root, so the server running under the minecraft user can't create the necessary folders. Changing the folder owner to minecraft would probably suffice to fix this issue.