Giter Site home page Giter Site logo

docker-spigot's Introduction

Minecraft server SPIGOT on Ubuntu 20.04 with Java (Eclipse Adoptium) 8/11/16/17/18/20/21

NOW works with Minecraft 1.20

This is a major change in logic to build the correct version of spigot so some combination of conditions may not compile correctly. Please make an issue so I can correct it. There will be another build shortly with another feature

Java bug on version 1.17 with 1 core add -e OTHER_JAVA_OPTS=-Djava.util.concurrent.ForkJoinPool.common.parallelism=1 as workaround

This docker image builds and runs the spigot version of minecraft.

If the spigot.jar is not found in the minecraft directory the system pulls down BuildTool and builds a new spigot.jar from the latest released minecraft.jar

Each time the container is started the presence of the file /minecraft/spigot.jar, if the file is missing a build of spigot.jar is started.

The spigot daemon is started with supervisord, see my Ubuntu container for a more detailed description of my implementation of an init-process in ubuntu, see nimmis/ubuntu

What's new is

  • Possibility to change spigot versions i running containers
  • Detects version if mc-directory already has a precompiled version active
  • Adjust java version depending of MC version, downloads additional java version if needed
  • Support for Minecraft version 1.20
  • Support for legacy 1.8 (from 1.8.3) with java 8 (use on you own risk)

Why not a precompiled version of spigot is included

Due to legal reasons you can build it yourself but you can't redistribute the finished jar file.

Starting the container

To run the latest stable version of this docker image run

docker run -d -p 25565:25565 -e EULA=true nimmis/spigot

the parameter

-e EULA=true

The is because Mojang now requires the end user to access their EULA, located at https://account.mojang.com/documents/minecraft_eula, the be able to start the server.

the parameter

-p 25565:25565

specifies on which external port the internal 25565 should be connected, in this case the same. If you only type -p 25565 it will connect to a random port on the machine.

Giving the container a name

To make it easier to handle you container you can give it a name instead of the long number that's normally given to it, add a

--name spigot

to the run command to give it the name minecraft, then you can start it easier with

docker start spigot
docker stop spigot

First time run

This will take a couple of minutes depending on computer and network speed. It will pull down the selected version on BuildTools and build a spigot.jar from the selected minecraft version. This is done in numerous steps so be patient.

You can follow the output from the compilation with this command (assuming that you gave the container the name spigot)

docker logs -f spigot
*** open logfile
*** Run files in /etc/my_runonce/
*** Running /etc/my_runonce/00_dump_info.sh...
Build of nimmis/spigot:latest, date: 2021-12-06T12:54:26Z
Build of nimmis/ubuntu:20.04, date: 2021-07-04T09:06:36Z
*** Running /etc/my_runonce/50_set_timezone...
timezone not set, trying to autodetect
external ip is 95.192.***.***
timezone should be Europe/Stockholm
setting timezone to Europe/Stockholm
*** Running /etc/my_runonce/90_autorestart...
*** Run files in /etc/my_runalways/
*** Running /etc/my_runalways/00_minecraft_owner...
missmatch between directory owner and minecraft user
Changed owner of minecraft to UID 0
*** Running /etc/my_runalways/10_set_mc_version...
*** Running /etc/my_runalways/50_do_build_spigot...
checking 1.18
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  135k  100  135k    0     0   436k      0 --:--:-- --:--:-- --:--:--  434k
Setting version to 1.18
set java version to 17
Building spigot version (1.18) jar file, be patient

Once the compilation completes the server will start and you will see something like

Success! Everything completed successfully. Copying final .jar files now.
Copying spigot-1.18-R0.1-SNAPSHOT-bootstrap.jar to /build-mc/./spigot-1.18.jar
Saved as ./spigot-1.18.jar
Successfull build of spigot version 1.18
Setting 1.18 as current spigot version
*** Running /etc/my_runalways/85_fix_startsh...
start.sh missing, creating link for /minecraft/start.sh
*** Running /etc/my_runalways/90_eula...
*** Booting supervisor daemon...
*** Supervisor started as PID 781
*** Started processes via Supervisor......
crond                            RUNNING   pid 783, uptime 0:00:04
spigot                           RUNNING   pid 784, uptime 0:00:04
syslog-ng                        RUNNING   pid 785, uptime 0:00:03

you can then exit from the log with CTRL-C

Selecting version to compile

You can now change the minecraft version after you started the container the first time.

defining version on first start

If you don't specify this parameter it will check the minecraft directory in the container to see if there is a previous compiled version linked. If so the container will use that version.

If no version of spigot is linked (like first time) it will always compile the latest version but if you want a specific version you can specify it by adding

-e SPIGOT_VER=<version>

where is the version you would like to use, to build it with version 1.18 add

-e SPIGOT_VER=1.18

to the docker run line.

change version in a running container

There is a command to change minecraft version in a running container

docker exec -it spigot set_mc_ver <version>

when the command is executed it will check if there is a compiled version already in the minecraft folder, if not it will build it.

It first stops the running minecraft, changes java version if needed (download if missing), compiles a new spigot if needed and then starts minecraft again.

It is not recommended to downgrade version as the world-information is not backwards compatible.

versions available

Please check the web page for BuildTools to get the latest information.

setup memory to use

There are two environment variables to set maximum and initial memory for spigot.

MC_MAXMEM

Sets the maximum memory to use m for MB or g for GB, defaulting to 1 GB. To set the maximum memory to 2 GB add this environment variable

-e MC_MAXMEM=2g

MC_MINMEM

Sets the initial memory reservation used, use m for MB or g for GB, if this parameter is not set, it is set to MC_MAXMEM. To set the initial size to 512 MB

-e MC_MINMEM=512m

SPIGOT_AUTORESTART

This variable controls the behavior of the container when the stop command is issued inside minecraft

-e SPIGOT_AUTORESTART=yes

Which is the default behavior and does not need to be specified, the minecraft server will autostart if the stop command is issued.

-e SPIGOT_AUTORESTART=no

If the stop command is issued the minecraft server will stay down until the container is restarted or the command mc_start is issued

OTHER_JAVA_OPS

Allows adding other Java options when starting minecraft

-e OTHER_JAVA_OPS=

look at the last output from the spigot server

To get an output of the latest events from the spigot server type

docker exec spigot mc_log

and you will see the last 10 lines from the output, this is what you will see after startup

Abort with CTRL-C
[13:02:15 INFO]: Zombie Aggressive Towards Villager: true
[13:02:15 INFO]: Experience Merge Radius: 3.0
[13:02:15 INFO]: Preparing start region for level 0 (Seed: 506255305130990210)
[13:02:16 INFO]: Preparing spawn area: 22%
[13:02:17 INFO]: Preparing spawn area: 99%
[13:02:17 INFO]: Preparing start region for level 1 (Seed: 506255305130990210)
[13:02:18 INFO]: Preparing spawn area: 95%
[13:02:18 INFO]: Preparing start region for level 2 (Seed: 506255305130990210)
[13:02:18 INFO]: Server permissions file permissions.yml is empty, ignoring it
[13:02:18 INFO]: Done (3.650s)! For help, type "help" or "?"

It will continue to output everything from the console until you press CTRL-C

sending commands to the server console

You don't need to have an interactive container to be able to send commands to the console. To send a command to set the time to day you type

docker exec spigot mc_send "time set day"

If this was the first command issued after a start the output should look like

[13:02:15 INFO]: Zombie Aggressive Towards Villager: true
[13:02:15 INFO]: Experience Merge Radius: 3.0
[13:02:15 INFO]: Preparing start region for level 0 (Seed: 506255305130990210)
[13:02:16 INFO]: Preparing spawn area: 22%
[13:02:17 INFO]: Preparing spawn area: 99%
[13:02:17 INFO]: Preparing start region for level 1 (Seed: 506255305130990210)
[13:02:18 INFO]: Preparing spawn area: 95%
[13:02:18 INFO]: Preparing start region for level 2 (Seed: 506255305130990210)
[13:02:18 INFO]: Server permissions file permissions.yml is empty, ignoring it
[13:02:18 INFO]: Done (3.650s)! For help, type "help" or "?"
[13:12:35 INFO]: Set the time to 1000

It will continue to output everything from the console until you press CTRL-C

using the minecraft op command

To make yourself operator in the game use mc_send command, for example give the user myuser op use the command.

docker exec spigot mc_send op myuser

using the minecraft stop command

By default the minecraft server will automatically restart on a stop inside the minecraft application. You can override this behavior by using

-e SPIGOT_AUTORESTART=no

This will prevent the server automatically restarting and minecraft has to be started again with the mc_start command

starting and stopping the server

To stop the server but not the container do

docker exec spigot mc_stop

To start it after being stopped do

docker exec spigot mc_start

Finally to restart it do

docker exec spigot mc_restart

stopping the container

When the container is stopped with the command

docker stop spigot

the spigot server is shutdown nicely with a console stop command to give it time to save everything before stopping the container. If you look in the output from the server you will see something like

[13:01:51 INFO]: Stopping the server
[13:01:51 INFO]: Stopping server
[13:01:51 INFO]: Saving players
[13:01:51 INFO]: nimmis lost connection: Server closed
[13:01:51 INFO]: nimmis left the game.
[13:01:51 INFO]: Saving worlds
[13:01:51 INFO]: Saving chunks for level 'world'/Overworld
[13:01:51 INFO]: Saving chunks for level 'world_nether'/Nether
[13:01:51 INFO]: Saving chunks for level 'world_the_end'/The End

Having the minecraft files on the host machine

If you delete the container all your files in minecraft will be gone. To save them where it's easier to edit and do a backup of the files you can attach a directory from the host machine (where you run the docker command) and attach it to the local file system in the container. The syntax for it is

-v /host/path/to/dir:/container/path/to/dir

To attach the minecraft directory in the container to directory /home/nimmis/mc-srv you add

-v /home/nimmis/mc-srv:/minecraft

problems with external mounted volumes

When a external volume is mounted the UID of the owner of the volume may not match the UID of the minecraft user (1000). This can result in problems with write/read access to the files.

To address this problem a check is done between UID of the owner of /minecraft and the UID of the user minecraft. If there is a mismatch the UID of the minecraft user is changed to match the UID of the directory.

If you don't want to do this and want to manually set the UID of the minecraft user there is a variable named SPIGOT_UID which defines the minecraft user UID, adding

-e SPIGOT_UID=1132

sets the minecraft user UID to 1132.

Other commands available to container

The syntax is

docker exec -ti <spigot container name> <command> <paramaters>

command: get_mc_versions

If you get minecraft version not found and it is a version released after to started the container the first time. You need to update the list of available versions, do

docker exec -it <spigotverson> get_mc_versions

and you should get an output simular to

docker exec -it spigot get_mc_versions
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
100  135k  100  135k    0     0   498k      0 --:--:-- --:--:-- --:--:--  498k

and the versionlist is updated.

Old versions news

  • Updated java version to 17 which is a LTS version
  • Adopt moved to Eclipe Foundation and changed name to Adoptium
  • Updated java version to 16 to compile minecraft 1.17
  • Switched to Adopt OpenJDK
  • Fix for problem introduced during fall of 2017 for both Windows 10 and MacOS versions of docker, failed to build new versions of spigot
  • Autodetection of timezone if container has access to internet
  • adjust minecraft user UID to match mounted volume
  • selectable memory size for the Java process
  • selectable spigot version
  • do a nice shutdown of the server when the docker stop command is issued
  • docker accessible commands to
    • start/stop/restart the spigot server
    • send console commands to the server
    • look at console output from the server

Issues

If you have any problems with or questions about this image, please contact us by submitting a ticket through a GitHub issue

  1. Look to see if someone already filled the bug, if not add a new one.
  2. Add a good title and description with the following information.
  • if possible an copy of the output from cat /etc/BUILDS/* from inside the container
  • any logs relevant for the problem
  • how the container was started (flags, environment variables, mounted volumes etc)
  • any other information that can be helpful

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Future features

  • automatic backup
  • plugins
  • more....

docker-spigot's People

Contributors

0xbaddcafe avatar argonqq avatar birkhofflee avatar cschank avatar jzillioux avatar nikdro avatar nimmis avatar penut85420 avatar scratchcat1 avatar serpi90 avatar weihao avatar zjuchenyuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-spigot's Issues

Running Docker on QNAP NAS

Installing on QNAP NAS in Container Station completed. Minecraf Server works. Don't know in which directory I should write my commands and don't know where my files are too. Perhabs you write a manual about it. I would appreciate it, but if you don't do that it doesn't matter, your docker is really nice.

Minecraft 1.18 won't build with Java 16

When trying to build the newest Spigot version for MC 1.18 the container log shows this error message:

Found version,
{,
	"name": "3339",,
	"description": "Jenkins build 3339",,
	"refs": {,
		"BuildData": "8814411100e91e323a23a9a6355fa7d28e091054",,
		"Bukkit": "f023e77ad7343fa11812d3118efc956b67cdd242",,
		"CraftBukkit": "581df1846f2b3e09b20e71fd44851f3e68f1f7db",,
		"Spigot": "3c40a6c908b0a67b05ebf8f5268d64838e117d41",
	},,
	"toolsVersion": 138,,
	"javaVersions": [61, 61],
},
,
*** The version you have requested to build requires Java versions between [Java 17, Java 17], but you are using Java 16,
*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release.,
cp: cannot stat '/build-mc/Spigot/Spigot-Server/target/spigot-*.jar': No such file or directory,
*** Running /etc/my_runalways/85_fix_startsh...,
*** Running /etc/my_runalways/90_eula...,
*** Booting supervisor daemon...,
*** Supervisor started as PID 146,
*** Started processes via Supervisor......,
crond                            RUNNING   pid 148, uptime 0:00:04,
spigot                           BACKOFF   Exited too quickly (process log may have details),
syslog-ng                        RUNNING   pid 150, uptime 0:00:04

Suggestion

Maybe you can change spigot_init.sh to start.sh because that's the standard .sh file what Spigot will use for restarting the server when it crashes.

Source:
spigot.yml
restart-on-crash: true
restart-script: ./start.sh

Server type option.

This is an enhancement to the docker image, not a issue.

I would like to see an option to change the server type on container creation. What it does is simply check for the jar file, if it exists, it does nothing. If it doesn't exist the container will use the server type you specify on container creation. (ex. vanilla or spigot) this allows you to download the latest vanilla Minecraft jar (to skip spigot.jar build) or build the spigot jar.

Build doesn't work

*** Log: Rebuilding Forked projects....
fatal: ambiguous argument '': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'upstream/upstream': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Resolve operation not in progress, we are not resuming.
/usr/lib/git-core/git-am: 209: /usr/lib/git-core/git-am: cannot open /minecraft/build/Spigot/-Patches/*.patch: No such file
Error compiling Spigot. Please check the wiki for FAQs.
If this does not resolve your issue then please pastebin the entire BuildTools.log.txt file when seeking support.
java.lang.RuntimeException: Error running command, return status !=0: [/bin/sh, applyPatches.sh]
	at org.spigotmc.builder.Builder.runProcess(Builder.java:552)
	at org.spigotmc.builder.Builder.main(Builder.java:434)
cp: cannot stat '//minecraft/build/Spigot/Spigot-Server/target/spigot-*.jar': No such file or directory
*** Log: Resetting  to ...
*** Log: error: Could not remove config section 'remote.upstream'
*** Log:   Applying patches to ...
*** Log:   Something did not apply cleanly to .
*** Log:   Please review above details and finish the apply then
*** Log:   save the changes with rebuildPatches.sh
*** Running /etc/my_runalways/eula...
*** Running /etc/rc.local...
*** Booting supervisor daemon...
*** Supervisor started as PID 486
2016-12-02 04:33:41,481 CRIT Set uid to user 0
*** Started processes via Supervisor......
crond                            RUNNING    pid 490, uptime 0:00:04
spigot                           BACKOFF    Exited too quickly (process log may have details)
syslog-ng                        RUNNING    pid 489, uptime 0:00:04

Does not work with prebuild jar

Atempting to start a new container with spigot.jar already inside produces this in logs:

*** open logfile
*** Run files in /etc/my_runonce/
*** Running /etc/my_runonce/set_timezone...
*** Run files in /etc/my_runalways/
*** Running /etc/my_runalways/do_build_spigot...
--2016-05-10 12:23:06-- https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
Resolving hub.spigotmc.org (hub.spigotmc.org)... *** Log: Setting version to latest
*** Log: Building spigot version (latest) jar file, be patient
failed: Name or service not known.
wget: unable to resolve host address 'hub.spigotmc.org'
Error: Invalid or corrupt jarfile BuildTools.jar
cp: cannot stat '//minecraft/build/Spigot/Spigot-Server/target/spigot-.jar': No such file or directory
*
* Running /etc/my_runalways/eula...
*** Running /etc/rc.local...
*** Booting supervisor daemon...
*** Supervisor started as PID 44
2016-05-10 12:23:52,432 CRIT Set uid to user 0
*** Started processes via Supervisor......
crond RUNNING pid 48, uptime 0:00:04
spigot BACKOFF Exited too quickly (process log may have details)
syslog-ng RUNNING pid 47, uptime 0:00:04

Spigot does not start, Exited too quickly (process log may have details).

Hey

I am running:

  • Fedora Linux 35
  • Docker 20.10.11

Container created using:
docker run -e SPIGOT_VER=1.18 -e EULA=TRUE -d -p 25565:25565 -v /home/minecraft/spigot-server-1.18:/minecraft --name spigot-mc nimmis/spigot

Which builds fine but ends up throwing the following:

2022-01-07T17:33:03.084380545Z *** open logfile
2022-01-07T17:33:03.084612188Z *** Run files in /etc/my_runonce/
2022-01-07T17:33:03.084897275Z *** Run files in /etc/my_runalways/
2022-01-07T17:33:03.085343613Z *** Running /etc/my_runalways/00_minecraft_owner...
2022-01-07T17:33:05.092976502Z *** Running /etc/my_runalways/10_set_mc_version...
2022-01-07T17:33:07.099947032Z *** Running /etc/my_runalways/50_do_build_spigot...
2022-01-07T17:33:07.106328442Z checking 1.18
2022-01-07T17:33:07.108096634Z Setting version to 1.18
2022-01-07T17:33:07.112329769Z Current running version is 1.18
2022-01-07T17:33:07.112357581Z Alredy running 1.18, aborting update
2022-01-07T17:33:07.114592697Z set java version to 17
2022-01-07T17:33:09.110869424Z *** Running /etc/my_runalways/85_fix_startsh...
2022-01-07T17:33:11.120437742Z *** Running /etc/my_runalways/90_eula...
2022-01-07T17:33:13.128175172Z *** Booting supervisor daemon...
2022-01-07T17:33:13.128478043Z *** Supervisor started as PID 41
2022-01-07T17:33:18.332753897Z *** Started processes via Supervisor......
2022-01-07T17:33:18.332775544Z crond                            RUNNING   pid 43, uptime 0:00:04
2022-01-07T17:33:18.332778497Z spigot                           BACKOFF   Exited too quickly (process log may have details)
2022-01-07T17:33:18.332782697Z syslog-ng                        RUNNING   pid 45, uptime 0:00:04

I thought my issue was related to #25 since etc/init.d/minecraft_server still uses

getPID() {
  local PID
  PID=$( ps -f -u $MC_USER | grep "$MC_PROC" | grep -v "sh -c" |  grep -v grep | awk '{print $2}' )
  printf "%d\n" $PID
}

I changed grep "$MC_PROC" to grep "/usr/bin/java" but unfortunately this does not fix it for me.

Running the container doesn't create anything besides:

[root@oasis spigot-server-1.18]# ls -ltr
total 65972
lrwxrwxrwx. 1 root root       23 Jan  7 17:33 start.sh -> /usr/local/bin/mc_start
-rw-r--r--. 1 root root 67548672 Jan  7 18:09 spigot-1.18.jar
lrwxrwxrwx. 1 root 1000       26 Jan  7 18:19 spigot.jar -> /minecraft/spigot-1.18.jar
-rw-r--r--. 1 root root       10 Jan  7 18:19 eula.txt

Hope you can help me, thanks in advance.

wget not found

While running your Dockerfile, I get the following:

/spigot_init.sh: line 18: wget: command not found
Error: Unable to access jarfile BuildTools.jar
cp: cannot stat '//minecraft/build/Spigot/Spigot-Server/target/spigot-1.8*.jar': No such file or directory
Error: Unable to access jarfile spigot.jar

Apparently the wget was not included in your ubuntu build?

Minecraft 1.17 Support

Minecraft 1.17 requires Java 16, so Spigot for 1.17 cannot be built in the current docker image. I was able to get around this for now by running

apt install openjdk16-jdk

in the running docker container.

Java Version 8 not supported - Error during installation of latest version of spigot

Hi,
tried to set up a new world. Deleted my local directory and started the container with:
docker run -d -p 16566:25565 -e EULA=true --name spigot -v /media/MC/spigot:/minecraft nimmis/spigot

Error message:
...
Attempting to build version: 'latest' use --rev to override
Found version
{
"name": "3284",
"description": "Jenkins build 3284",
"refs": {
"BuildData": "a4785704979a469daa2b7f6826c84e7fe886bb03",
"Bukkit": "d32e3c764edd6a449ddd220720185d266c2193f9",
"CraftBukkit": "0ebef35c7273aec7fbeb76e3e4f8ac18eda858c7",
"Spigot": "38929296b008a62a7a8532c46550aa493e2246a8"
},
"toolsVersion": 128,
"javaVersions": [60, 61]
}

*** The version you have requested to build requires Java versions between [Java 16, Java 17], but you are using Java 8
*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release.
cp: cannot stat '/minecraft/build/Spigot/Spigot-Server/target/spigot-*.jar': No such file or directory
*** Running /etc/my_runalways/90_eula...
*** Running /etc/rc.local...
*** Booting supervisor daemon...
*** Supervisor started as PID 94
2021-11-22 10:19:29,670 CRIT Set uid to user 0
*** Started processes via Supervisor......
crond RUNNING pid 98, uptime 0:00:04
spigot BACKOFF Exited too quickly (process log may have details)
syslog-ng RUNNING pid 97, uptime 0:00:04

OS/Docker Versions:
Docker version 17.05.0-ce, build 89658be
Description: Ubuntu 20.04.3 LTS

Did I made an obvious mistake (It's some time now since I created a new container)?

Server fails to start

Host OS: CentOS 7 kernel 3.10.0-693.5.2.el7.x86_64 (setenforce 0)
Docker version 1.12.6, build 85d7426/1.12.6

Container created using:

root@host# docker run -d -p 25565:25565 -e EULA=true --name spigot -v /srv/spigot-data/:/minecraft nimmis/spigot

Builds fine, but when it's supposed to start:

dockerd-current[21038]: *** open logfile
dockerd-current[21038]: *** Run files in /etc/my_runonce/
dockerd-current[21038]: *** Run files in /etc/my_runalways/
dockerd-current[21038]: *** Running /etc/my_runalways/00_minecraft_owner...
dockerd-current[21038]: *** Running /etc/my_runalways/50_do_build_spigot...
dockerd-current[21038]: Setting version to latest
dockerd-current[21038]: *** Running /etc/my_runalways/90_eula...
dockerd-current[21038]: *** Running /etc/rc.local...
dockerd-current[21038]: *** Booting supervisor daemon...
dockerd-current[21038]: *** Supervisor started as PID 30
dockerd-current[21038]: 2017-12-05 23:11:50,175 CRIT Set uid to user 0
dockerd-current[21038]: *** Started processes via Supervisor......
dockerd-current[21038]: crond                            RUNNING   pid 34, uptime 0:00:04
dockerd-current[21038]: spigot                           BACKOFF   Exited too quickly (process log may have details)
dockerd-current[21038]: syslog-ng                        RUNNING   pid 33, uptime 0:00:04
dockerd-current[21038]: 

No logs (or other files beside JAR) are generated, so I'd assume that java never starts.

Surprisingly enough, the following works:

root@host# docker exec -it spigot /bin/bash
root@container# /etc/init.d/minecraft_server status
spigot.jar is not running
root@container# /etc/init.d/minecraft_server start 
Starting minecraft server as user minecraft...Started
root@container# /etc/init.d/minecraft_server status
spigot.jar is running with PID 454

Please let me know what other outputs you might need for troubleshooting.

Issue with spigot container when using external volume

I installed nimmis/spigot Docker image on my Synology Diskstation and attached a specific volume to the container in order to save my Spigot server configuration.

Here is the volume attached :
admin@DiskStation415:~/Minecraft_Docker$ ll
total 22224
drwxrwxrwx+ 5 minecraft root 4096 Dec 18 11:09 .
drwxr-xr-x 38 root root 4096 Dec 17 03:30 ..
-rwxrwxrwx+ 1 minecraft users 1241 Dec 16 17:27 bukkit.yml
drwxrwxrwx+ 3 minecraft root 4096 Dec 16 17:14 @eadir
-rwxrwxrwx+ 1 minecraft users 10 Dec 18 11:09 eula.txt
drwxrwxrwx+ 2 minecraft users 4096 Dec 16 17:38 logs
lrwxrwxrwx+ 1 admin users 17 Dec 17 11:19 minecraft.jar -> spigot-latest.jar
drwxrwxrwx 8 minecraft users 4096 Dec 15 19:26 Mission QUOTAR
-rwxrwxrwx+ 1 minecraft users 816 Dec 17 11:19 server.properties
lrwxrwxrwx+ 1 admin users 17 Dec 18 11:09 spigot.jar -> spigot-latest.jar
-rwxrwxrwx+ 1 minecraft root 22715741 Dec 16 17:30 spigot-latest.jar
-rwxrwxrwx+ 1 minecraft users 3494 Dec 16 17:27 spigot.yml
lrwxrwxrwx 1 admin users 36 Dec 17 11:50 world -> /volume3/@appstore/Craftbukkit/world

Here is the error and what is see in the stdout log file:
root@nimmis-spigot:/var/log# cd supervisor
root@nimmis-spigot:/var/log/supervisor# ll
total 16
drwxr-xr-x 2 root root 4096 Dec 18 10:20 ./
drwxrwxr-x 11 root syslog 4096 Dec 16 14:17 ../
-rw------- 1 root root 0 Dec 18 10:20 crond-stderr---supervisor-3fpkPL.log
-rw------- 1 root root 0 Dec 18 10:20 crond-stdout---supervisor-Fu76im.log
-rw------- 1 root root 0 Dec 18 10:20 spigot-stderr---supervisor-9MuQsv.log
-rw------- 1 root root 444 Dec 18 10:20 spigot-stdout---supervisor-CS7fPp.log
-rw-r--r-- 1 root root 329 Dec 18 10:20 supervisord.log
-rw------- 1 root root 0 Dec 18 10:20 syslog-ng-stderr---supervisor-bgVunt.log
-rw------- 1 root root 0 Dec 18 10:20 syslog-ng-stdout---supervisor-7EcwH8.log
root@nimmis-spigot:/var/log/supervisor# tail -f spigot-stdout---supervisor-CS7fPp.log
Starting minecraft server as user minecraft...the user minecraft has not write access to directory /minecraft/
Starting minecraft server as user minecraft...the user minecraft has not write access to directory /minecraft/
Starting minecraft server as user minecraft...the user minecraft has not write access to directory /minecraft/
Starting minecraft server as user minecraft...the user minecraft has not write access to directory /minecraft/
^C
root@nimmis-spigot:/var/log/supervisor# ll /minecraft
total 22224
drwx------ 5 1035 root 4096 Dec 18 10:09 ./
drwxr-xr-x 60 root root 4096 Dec 18 10:20 ../
drwxrwxrwx 3 1035 root 4096 Dec 16 16:14 @eaDir/
drwxrwxrwx 8 1035 users 4096 Dec 15 18:26 Mission QUOTAR/
-rwx------ 1 1035 users 1241 Dec 16 16:27 bukkit.yml*
-rwx------ 1 1035 users 10 Dec 18 10:09 eula.txt*
drwx------ 2 1035 users 4096 Dec 16 16:38 logs/
lrwxrwxrwx 1 1024 users 17 Dec 17 10:19 minecraft.jar -> spigot-latest.jar*
-rwx------ 1 1035 users 816 Dec 17 10:19 server.properties*
-rwx------ 1 1035 root 22715741 Dec 16 16:30 spigot-latest.jar*
lrwxrwxrwx 1 1024 users 17 Dec 18 10:09 spigot.jar -> spigot-latest.jar*
-rwx------ 1 1035 users 3494 Dec 16 16:27 spigot.yml*
lrwxrwxrwx 1 1024 users 36 Dec 17 10:50 world -> /volume3/@appstore/Craftbukkit/world

How can I match my host minecraft user and the container minecraft user?

enter the console

first of all, thank you very much. Its just awsome how easy this project is making admins life ;)
but one thing is just a bit of a hassle: to use the console. Is it possible somehow to return to the console instead of just using "mc_start" and so on? Just like with using screen i would love to somehow get into the server console.

How to run in a different port?

I am new to dockerizing Minecraft servers, therefore this is the first time I am using this image.

The thing is that I want to run the Spigot server in a port other than the default 25565 since I am running a BungeeCord server. This works fine under my Windows setup, but I can't find a way to make the spigot server run in a different port inside docker.

I tried setting the port to 25566 when first running the container (25566:25566 since I need to run several containers for Minecraft).

It seems to compile the default latest Spigot version just fine (1.17.1 at the moment), but the server appears to be offline in the game.

Given that it is running (I think so?), I guess this is a problem related to changing the docker port for the container.

Attaching the compilation and execution output/log.

Edit: I have not configured or changed anything in the container, I was just testing execution for the first time. And an unrelated question is there a way to auto compile a newer version of Spigot in the container or do I have to manually compile it and then upload it to the container? Thanks in advance.

Compilation: https://pastebin.com/3BdYcgmj
Execution: https://pastebin.com/8tWaYkt8

BuildTools fails (You must run this jar through bash (msysgit))

After a long debugging session I finally found out that BuildTools failed, which is why I got the following failed startup:

crond                            RUNNING   pid 288, uptime 0:00:04
spigot                           BACKOFF   Exited too quickly (process log may have details)
syslog-ng                        RUNNING   pid 292, uptime 0:00:04

I saw that BuildTools didn't produce a jar, so I tried running it manually. After this unhelpful print of You must run this jar through bash (msysgit), I decided to download it's source and print the exception it catches just before printing that line:

root@ab60c1941b21:/build-mc# java -jar BuildTools.jar
Loading BuildTools version: git-BuildTools-unknown-unknown (#-1)
Java Version: Java 17
Current Path: /build-mc/.
This command is not for general use and should only be run as the result of a call to
ProcessBuilder.start() or Runtime.exec() in a java application
java.io.IOException: Cannot run program "sh" (in directory "."): error=0, Failed to exec spawn helper: pid: 731, exit value: 1
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
	at org.spigotmc.builder.Builder.runProcess0(Builder.java:984)
	at org.spigotmc.builder.Builder.runProcess(Builder.java:924)
	at org.spigotmc.builder.Builder.main(Builder.java:197)
	at org.spigotmc.builder.Bootstrap.main(Bootstrap.java:27)
Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 731, exit value: 1
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
	at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
	... 5 more
You must run this jar through bash (msysgit)

This seems to be an OpenJDK issue on Linux for which the java option -Djdk.lang.Process.launchMechanism=vfork provides a workaround. See: https://stackoverflow.com/a/61325264

My local scenario also seems to not execute BuildTools successfully with 1G of memory, as the process just stalls after some time. By increasing memory, I at least get to yet another error:

Exception in thread "main" org.eclipse.jgit.errors.RepositoryNotFoundException: repository not found: /build-mc/Bukkit
	at org.eclipse.jgit.lib.BaseRepositoryBuilder.build(BaseRepositoryBuilder.java:627)
	at org.eclipse.jgit.api.Git.open(Git.java:93)
	at org.eclipse.jgit.api.Git.open(Git.java:73)
	at org.spigotmc.builder.Builder.main(Builder.java:371)
	at org.spigotmc.builder.Bootstrap.main(Bootstrap.java:27

Has anybody else encountered these issues too? Seems like I'm really out of luck on this one. But to be fair, BuildTools is just really badly written software, so I was not at all surprised about encountering stupid issues like these.

Build spigot jar in docker build as opposed to docker run

With the risk of labouring the obvious: the nature of a docker image is that it is build in the docker build command and run with the docker run command. Building the jar in the spigot_init shell script in docker run is against the nature of docker and will confuse people.

Including the build of the spigot.jar in a separate image build simplifies updating the jar.

Unable to resolve hub.spigotmc.org

Not sure if this is a config issue on my side, but my install can't resolve hub.spigotmc.org. I am able to resolve that address from the host machine.

*** Running /etc/my_runalways/do_build_spigot...
*** Log: Setting version to latest
*** Log: Building spigot version (latest) jar file, be patient
*** Log: Setting version to latest
*** Log: Building spigot version (latest) jar file, be patient
--2016-04-25 02:39:05-- https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
Resolving hub.spigotmc.org (hub.spigotmc.org)... *** Log: Setting version to latest
*** Log: Building spigot version (latest) jar file, be patient
failed: Name or service not known.
wget: unable to resolve host address 'hub.spigotmc.org'
Error: Invalid or corrupt jarfile BuildTools.jar
cp: cannot stat '//minecraft/build/Spigot/Spigot-Server/target/spigot-*.jar': No such file or directory

Spigot server runs out of memory after a few hours

When I am running the server for a few hours, it gets automatically closed. In the logs/latest.log I can see the last lines that are written like so:

[14:36:29] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:29] [Spigot Watchdog Thread/ERROR]: The server has stopped responding! This is (probably) not a Spigot bug.
[14:36:29] [Spigot Watchdog Thread/ERROR]: If you see a plugin in the Server thread dump below, then please report it to that author
[14:36:29] [Spigot Watchdog Thread/ERROR]: 	 *Especially* if it looks like HTTP or MySQL operations are occurring
[14:36:29] [Spigot Watchdog Thread/ERROR]: If you see a world save or edit, then it means you did far more than your server can handle at once
[14:36:29] [Spigot Watchdog Thread/ERROR]: 	 If this is the case, consider increasing timeout-time in spigot.yml but note that this will replace the crash with LARGE lag spikes
[14:36:29] [Spigot Watchdog Thread/ERROR]: If you are unsure or still think this is a Spigot bug, please report to https://www.spigotmc.org/
[14:36:29] [Spigot Watchdog Thread/ERROR]: Be sure to include ALL relevant console errors and Minecraft crash reports
[14:36:29] [Spigot Watchdog Thread/ERROR]: Spigot version: 3551-Spigot-14a2382-9a8e080 (MC: 1.19)
[14:36:29] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:30] [Spigot Watchdog Thread/ERROR]: Server thread dump (Look for plugins here before reporting to Spigot!):
[14:36:30] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:30] [Spigot Watchdog Thread/ERROR]: Current Thread: Server thread
[14:36:30] [Spigot Watchdog Thread/ERROR]: 	PID: 29 | Suspended: false | Native: false | State: RUNNABLE
[14:36:30] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.google.common.collect.Iterators$5.computeNext(Iterators.java:668)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:146)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:141)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.Iterator.forEachRemaining(Iterator.java:132)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteHash.d(SourceFile:101)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteBlock.a(SourceFile:253)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteBlock.a(SourceFile:67)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteBlock$$Lambda$4532/0x0000000801661f98.apply(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.serialization.Encoder$1.encode(Encoder.java:25)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.serialization.Codec$2.encode(Codec.java:76)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.ChunkRegionLoader.a(ChunkRegionLoader.java:397)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:915)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.lambda$19(PlayerChunkMap.java:569)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap$$Lambda$5985/0x0000000801abe330.accept(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.b(PlayerChunkMap.java:542)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:511)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.ChunkProviderServer.a(ChunkProviderServer.java:390)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.s(MinecraftServer.java:894)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.dedicated.DedicatedServer.s(DedicatedServer.java:697)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.v(MinecraftServer.java:1046)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:291)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer$$Lambda$4286/0x0000000801434248.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Entire Thread Dump:
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Reference Handler
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 2 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.Reference.processPendingReferences(Reference.java:253)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:215)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Finalizer
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 3 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Object.wait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:172)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Signal Dispatcher
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 4 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Notification Thread
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 12 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Common-Cleaner
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 13 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Object.wait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:140)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:162)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: DestroyJavaVM
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 15 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Timer hack thread
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 21 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.sleep(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.SystemUtils$9.run(SourceFile:845)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-1
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 22 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1724)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-2
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 23 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.lighting.LightEngineStorage.a(SourceFile:244)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.lighting.LightEngineLayer.a(SourceFile:186)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.lighting.LightEngine.a(SourceFile:72)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.LightEngineThreaded.e(SourceFile:188)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.LightEngineThreaded.a(SourceFile:107)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.LightEngineThreaded$$Lambda$4555/0x000000080166d448.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.ChunkTaskQueueSorter.b(SourceFile:62)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.ChunkTaskQueueSorter$$Lambda$4570/0x000000080166f7e8.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.h(SourceFile:91)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.a(SourceFile:146)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.run(SourceFile:102)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-3
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 24 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1724)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-4
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 25 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1724)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-5
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 26 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.lighting.LightEngineStorage.a(SourceFile:244)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.lighting.LightEngineLayer.a(SourceFile:186)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.lighting.LightEngine.a(SourceFile:63)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.LightEngineThreaded.e(SourceFile:188)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.LightEngineThreaded.a(SourceFile:107)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.LightEngineThreaded$$Lambda$4555/0x000000080166d448.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.ChunkTaskQueueSorter.b(SourceFile:62)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.ChunkTaskQueueSorter$$Lambda$4570/0x000000080166f7e8.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.h(SourceFile:91)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.a(SourceFile:146)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.run(SourceFile:102)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-6
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 27 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1724)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Worker-Main-7
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 28 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1724)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Server thread
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 29 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.google.common.collect.Iterators$5.computeNext(Iterators.java:668)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:146)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:141)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.Iterator.forEachRemaining(Iterator.java:132)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteHash.d(SourceFile:101)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteBlock.a(SourceFile:253)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteBlock.a(SourceFile:67)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.DataPaletteBlock$$Lambda$4532/0x0000000801661f98.apply(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.serialization.Encoder$1.encode(Encoder.java:25)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.serialization.Codec$2.encode(Codec.java:76)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.serialization.Encoder.encodeStart(Encoder.java:14)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.ChunkRegionLoader.a(ChunkRegionLoader.java:397)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:915)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.lambda$19(PlayerChunkMap.java:569)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap$$Lambda$5985/0x0000000801abe330.accept(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.b(PlayerChunkMap.java:542)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.PlayerChunkMap.a(PlayerChunkMap.java:511)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.level.ChunkProviderServer.a(ChunkProviderServer.java:390)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.s(MinecraftServer.java:894)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.dedicated.DedicatedServer.s(DedicatedServer.java:697)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.v(MinecraftServer.java:1046)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:291)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer$$Lambda$4286/0x0000000801434248.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: TerminalConsoleWriter
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 33 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		com.mojang.logging.LogQueues.getNextLogEvent(LogQueues.java:41)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		org.bukkit.craftbukkit.v1_19_R1.util.TerminalConsoleWriterThread.run(TerminalConsoleWriterThread.java:31)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Server console handler
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 32 | Suspended: false | Native: true | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Thread is waiting on monitor(s):
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		Locked on:[email protected]/java.io.BufferedInputStream.read(BufferedInputStream.java:263)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		Locked on:jline.internal.InputStreamReader.read(InputStreamReader.java:261)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		Locked on:jline.internal.InputStreamReader.read(InputStreamReader.java:198)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.FileInputStream.readBytes(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.FileInputStream.read(FileInputStream.java:276)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.BufferedInputStream.fill(BufferedInputStream.java:244)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.BufferedInputStream.read(BufferedInputStream.java:263)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:248)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.internal.InputStreamReader.read(InputStreamReader.java:261)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.internal.InputStreamReader.read(InputStreamReader.java:198)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2145)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.console.ConsoleReader.readLineSimple(ConsoleReader.java:3183)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.console.ConsoleReader.readLine(ConsoleReader.java:2333)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.console.ConsoleReader.readLine(ConsoleReader.java:2269)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		jline.console.ConsoleReader.readLine(ConsoleReader.java:2257)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.server.dedicated.DedicatedServer$1.run(DedicatedServer.java:124)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Java2D Disposer
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 34 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Object.wait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.java2d.Disposer.run(Disposer.java:145)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Spigot Watchdog Thread
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 36 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.management.ThreadImpl.dumpThreads0(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:521)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:509)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		org.spigotmc.WatchdogThread.run(WatchdogThread.java:90)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Spigot Metrics Thread
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 37 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Object.wait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.TimerThread.mainLoop(Timer.java:563)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.TimerThread.run(Timer.java:516)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Netty Epoll Server IO #0
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 38 | Suspended: false | Native: true | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:209)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:202)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:294)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:351)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: bStats-Metrics
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 47 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Timer-0
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 50 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Object.wait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.TimerThread.mainLoop(Timer.java:563)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.TimerThread.run(Timer.java:516)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Netty Epoll Server IO #1
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 51 | Suspended: false | Native: true | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:209)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:202)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:294)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:351)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Netty Epoll Server IO #2
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 53 | Suspended: false | Native: true | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:209)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:202)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:294)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:351)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Netty Epoll Server IO #3
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 54 | Suspended: false | Native: true | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:209)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.Native.epollWait(Native.java:202)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:294)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:351)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: pool-4-thread-1
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 66 | Suspended: false | Native: false | State: WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: IO-Worker-89
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 220 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Thread is waiting on monitor(s):
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		Locked on:net.minecraft.world.level.chunk.storage.RegionFile.a(RegionFile.java:328)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileDispatcherImpl.pwrite0(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileDispatcherImpl.pwrite(FileDispatcherImpl.java:68)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:130)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.IOUtil.write(IOUtil.java:97)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.IOUtil.write(IOUtil.java:67)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileChannelImpl.writeInternal(FileChannelImpl.java:854)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:840)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.RegionFile.a(RegionFile.java:328)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.RegionFile$ChunkBuffer.close(RegionFile.java:439)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:240)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.FilterOutputStream.close(FilterOutputStream.java:188)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.FilterOutputStream.close(FilterOutputStream.java:188)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.RegionFileCache.a(RegionFileCache.java:155)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.IOWorker.a(SourceFile:260)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.IOWorker.a(SourceFile:250)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.IOWorker$$Lambda$4504/0x000000080165da30.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.PairedQueue$b.run(SourceFile:59)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.h(SourceFile:91)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.a(SourceFile:146)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.run(SourceFile:102)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: IO-Worker-101
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 239 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1061)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: Async Chat Thread - #31
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 241 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1061)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: process reaper
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 247 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1061)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: IO-Worker-102
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 251 | Suspended: false | Native: false | State: TIMED_WAITING
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/jdk.internal.misc.Unsafe.park(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1061)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:31] [Spigot Watchdog Thread/ERROR]: Current Thread: IO-Worker-103
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	PID: 252 | Suspended: false | Native: false | State: RUNNABLE
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Thread is waiting on monitor(s):
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		Locked on:net.minecraft.world.level.chunk.storage.RegionFile.a(RegionFile.java:328)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 	Stack:
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileDispatcherImpl.pwrite0(Native Method)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileDispatcherImpl.pwrite(FileDispatcherImpl.java:68)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:130)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.IOUtil.write(IOUtil.java:97)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.IOUtil.write(IOUtil.java:67)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileChannelImpl.writeInternal(FileChannelImpl.java:854)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:840)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.RegionFile.a(RegionFile.java:328)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.RegionFile$ChunkBuffer.close(RegionFile.java:439)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:240)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.FilterOutputStream.close(FilterOutputStream.java:188)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.io.FilterOutputStream.close(FilterOutputStream.java:188)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.RegionFileCache.a(RegionFileCache.java:155)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.IOWorker.a(SourceFile:260)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.IOWorker.a(SourceFile:250)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.world.level.chunk.storage.IOWorker$$Lambda$4504/0x000000080165da30.run(Unknown Source)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.PairedQueue$b.run(SourceFile:59)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.h(SourceFile:91)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.a(SourceFile:146)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		net.minecraft.util.thread.ThreadedMailbox.run(SourceFile:102)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[14:36:31] [Spigot Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)
[14:36:31] [Spigot Watchdog Thread/ERROR]: ------------------------------
[14:36:56] [Worker-Main-4/ERROR]: Caught exception in thread Thread[Worker-Main-4,5,main]
java.lang.OutOfMemoryError: Java heap space

I am using the following plugins:
https://dev.bukkit.org/projects/essentialsx
https://dev.bukkit.org/projects/openinv
https://www.spigotmc.org/resources/groupmanager.38875/

The server runs in a docker which runs on a Linux Ubuntu Debian 20.04 LTS machine. The host has 16GB RAM and nothing else runs on that server, so it could use the full 16GB. I haven't changed any memory settings, so all is default.

How can I fix the Java heap space error?

Plan to support PaperMC

Does this project has the plan to support PaperMC that Spigot fork?

Some repository (ex: https://github.com/mtoensing/Docker-Minecraft-PaperMC-Server) that support PaperMC already exists, but these must open to console for control server and issue commands. It make difficult to use docker-compose. I like the pattern of this project to issue command like docker exec spigot mc_log .

I hope to consider about it. Thanks.

"/restart" command shuts down the server

Server log:

[19:21:09 INFO]: PLAYER_NAME issued server command: /restart
[19:21:09 INFO]: Startup script './start.sh' does not exist! Stopping server.
[19:21:09 INFO]: Stopping server
[19:21:10 INFO]: Saving players
[19:21:11 INFO]: Saving worlds

Afterwards, the server is stopped instead of restarting. The container keeps running.

Cannot select version to compile

Tried "-e SPIGOT_VER XX" where XX was many variations, like 1.8, 1.9.2, etc. all of them end up in failing

Unable to find image '1.8:latest' locally
docker: Error response from daemon: repository 1.8 not found: does not exist or no pull access.
See 'docker run --help'.

First Start fails on timezone setting

First run / every run failes because the system trys to set a timezone that is neither setable by user or available ( as it seems )

Fun Fact, the called file /etc/my_runonce/50_set_timezone , causing the problem is nowhere to be found in the github repo here.

root@Datenspeicher:/sharedfolders/gameservers/minecraft# docker logs -f spigot
*** open logfile
*** Run files in /etc/my_runonce/
*** Running /etc/my_runonce/00_dump_info.sh...
Build of nimmis/java:openjdk-8-jdk, date: 2018-01-03T16:00:21Z
Build of nimmis/spigot:latest, date: 2018-01-03T16:11:22Z
Build of nimmis/ubuntu:16.04, date: 2018-01-03T14:58:34Z
*** Running /etc/my_runonce/50_set_timezone...
timezone not set, trying to autodetect
external ip is xx.xxx.xx.xxx
Timezone Europe/Berlin not available on time system
*** /etc/my_runonce/50_set_timezone failed with status 1

*** Killing all processes...

Specific Additional Java Opts

Hi it appears that you abstract the java opts such as xmx. I want to pass in some custom arguments. Could you explain how to properly do that with your image?

These are what I'm trying to do:

-XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=4M -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=50 -XX:+AggressiveOpts

How to upgrade to 2.13

Probably a dumb question that's not specific to your image but how do i update the image from 2.12 to 2.13 or to any new version going forward?

Version

Fetches and compiles latest correctly., but then attempts to copy /target/spigot-1.8.*.jar
As currently this is on 1.10.x, this fails.
(Editing /spigot_init.sh works...)

Typo in README

Sorry to report this, but this just cost me an hour (shame on me).

The line:
Need -e SPIGOT_VERSION=1.18
tells everyone to add SPIGOT_VERSION to their startup-environment, when in fact it's
SPIGOT_VER=1.18
you're listening to in your script.

Different Jar Name

This isn't an issue (I can't add the feature request label on this issue), I would just like to request you make the versions from now on use server.jar instead of spigot.jar. It would be much nicer looking when I run a different version server in this. Sometimes I run vanilla or forge on this and it doesn't look right when I need to name the .jar file spigot.jar when its actually forge.

Note: If you do this and change the jar name to server.jar, can you release an update right after its changed so I can use this? Thanks!

Mounting persistent world data when server alive

Hi thank you for making this container,

i want to know the possibilities of backing up my current world,
because the server already running like 1 weeks and for running -v command, it means i must run a new container

please help thank you

Update to Java 21, 22 - Spigot-Version 1.20.5

Please update the java version for the spigot version 1.20.5

Console-Output:
`*** The version you have requested to build requires Java versions between [Java 21, Java 22], but you are using Java 20

*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release.`

Running container on Raspberry Pi 4 results in 'image does not match host platform' error

Hello developers,

First of all, thanks for putting the effort in making this available for the public! :-)
I do have a question, however. Would it be possible to publish images for multiple architectures?

It would be beneficial for me, because then I can containerize Minecraft quite easily on my Raspberry Pi 4 8GB.
I tried to clone this git, and just do docker build ., but that didn't work, see log [1]. I also attempted to use another base image (e.g. ubuntu:20.04 or debian:stretch); that resulted in the following error, where I got a bit stuck too: /bin/sh: 1: cannot create /etc/BUILDS/spigot: Directory nonexistent
I tink this link could help in getting a multi-arch build: https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/

I would love to hear from you!
And if there is something I can do, to make things easier - please let me know.

Output of docker version:

mikki@rpi4:~/ $ docker version
Client: Docker Engine - Community
 Version:           20.10.9
 API version:       1.41
 Go version:        go1.16.8
 Git commit:        c2ea9bc
 Built:             Mon Oct  4 16:06:55 2021
 OS/Arch:           linux/arm
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.9
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.8
  Git commit:       79ea9d3
  Built:            Mon Oct  4 16:04:47 2021
  OS/Arch:          linux/arm
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

[1]

Sending build context to Docker daemon  155.6kB
[WARNING]: Empty continuation line found in:
    RUN apt-get update &&     apt-get -y dist-upgrade &&     printf "Build of nimmis/spigot:latest, date: %!s(MISSING)\n"  `date -u +"%!Y(MISSING)-%!m(MISSING)-%!d(MISSING)T%!H(MISSING):%!M(MISSING):%!S(MISSING)Z"` > /etc/BUILDS/spigot &&     apt-get install -y wget git &&     /usr/sbin/useradd -s /bin/bash -d /minecraft -m minecraft &&     apt-get install -y locales &&     sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen &&     export CNAME=$(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2) &&     apt-get install -y wget apt-transport-https gnupg &&     wget https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public &&     gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --import public &&     gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --export --output adoptopenjdk-archive-keyring.gpg &&     rm public adoptopenjdk-keyring.gpg &&     mv adoptopenjdk-archive-keyring.gpg /usr/share/keyrings &&     echo "deb [signed-by=/usr/share/keyrings/adoptopenjdk-archive-keyring.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb $CNAME main" |       tee /etc/apt/sources.list.d/adoptopenjdk.list &&     apt-get update &&     apt-get install -y adoptopenjdk-$JAVA_VERSION_MAJOR-$JAVA_OPT$JAVA_TYPE &&     ln -s /usr/lib/jvm/adoptopenjdk-$JAVA_VERSION_MAJOR-$JAVA_OPT$JAVA_TYPE-amd64 /usr/lib/jvm/default-jvm &&     apt-get clean all
[WARNING]: Empty continuation lines will become errors in a future release.
Step 1/8 : FROM nimmis/ubuntu:20.04
 ---> 98b0d17081a9
Step 2/8 : MAINTAINER nimmis <[email protected]>
 ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
 ---> Running in a574de2885d7
Removing intermediate container a574de2885d7
 ---> 6cff0391ddc2
Step 3/8 : ENV SPIGOT_HOME=/minecraft     SPIGOT_VER=latest     SPIGOT_AUTORESTART=yes     MC_MAXMEM=     MC_MINMEM=     OTHER_JAVA_OPS=     LANG=en_US.UTF-8     LANGUAGE=en_US:en     LC_ALL=en_US.UTF-8
 ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
 ---> Running in e33fbaafae33
Removing intermediate container e33fbaafae33
 ---> e41b5ed6262f
Step 4/8 : ENV DEBIAN_FRONTEND noninteractive
 ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
 ---> Running in 0a4a4eb11fae
Removing intermediate container 0a4a4eb11fae
 ---> 12a8afccae9a
Step 5/8 : ENV JAVA_VERSION_MAJOR=16     JAVA_TYPE=""     JAVA_OPT=hotspot     JAVA_HOME=/usr/lib/jvm/default-jvm     PATH=${PATH}:/usr/lib/jvm/default-jvm/bin/
 ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
 ---> Running in 5184193f7f75
Removing intermediate container 5184193f7f75
 ---> 047c1961a9bc
Step 6/8 : COPY rootfs /
 ---> c08583714553
Step 7/8 : RUN apt-get update &&     apt-get -y dist-upgrade &&     printf "Build of nimmis/spigot:latest, date: %s\n"  `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/spigot &&     apt-get install -y wget git &&     /usr/sbin/useradd -s /bin/bash -d /minecraft -m minecraft &&     apt-get install -y locales &&     sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen &&     export CNAME=$(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2) &&     apt-get install -y wget apt-transport-https gnupg &&     wget https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public &&     gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --import public &&     gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --export --output adoptopenjdk-archive-keyring.gpg &&     rm public adoptopenjdk-keyring.gpg &&     mv adoptopenjdk-archive-keyring.gpg /usr/share/keyrings &&     echo "deb [signed-by=/usr/share/keyrings/adoptopenjdk-archive-keyring.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb $CNAME main" |       tee /etc/apt/sources.list.d/adoptopenjdk.list &&     apt-get update &&     apt-get install -y adoptopenjdk-$JAVA_VERSION_MAJOR-$JAVA_OPT$JAVA_TYPE &&     ln -s /usr/lib/jvm/adoptopenjdk-$JAVA_VERSION_MAJOR-$JAVA_OPT$JAVA_TYPE-amd64 /usr/lib/jvm/default-jvm &&     apt-get clean all
 ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
 ---> Running in ce08eb4ac89a
standard_init_linux.go:228: exec user process caused: exec format error
The command '/bin/sh -c apt-get update &&     apt-get -y dist-upgrade &&     printf "Build of nimmis/spigot:latest, date: %s\n"  `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /etc/BUILDS/spigot &&     apt-get install -y wget git &&     /usr/sbin/useradd -s /bin/bash -d /minecraft -m minecraft &&     apt-get install -y locales &&     sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen &&     export CNAME=$(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2) &&     apt-get install -y wget apt-transport-https gnupg &&     wget https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public &&     gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --import public &&     gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --export --output adoptopenjdk-archive-keyring.gpg &&     rm public adoptopenjdk-keyring.gpg &&     mv adoptopenjdk-archive-keyring.gpg /usr/share/keyrings &&     echo "deb [signed-by=/usr/share/keyrings/adoptopenjdk-archive-keyring.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb $CNAME main" |       tee /etc/apt/sources.list.d/adoptopenjdk.list &&     apt-get update &&     apt-get install -y adoptopenjdk-$JAVA_VERSION_MAJOR-$JAVA_OPT$JAVA_TYPE &&     ln -s /usr/lib/jvm/adoptopenjdk-$JAVA_VERSION_MAJOR-$JAVA_OPT$JAVA_TYPE-amd64 /usr/lib/jvm/default-jvm &&     apt-get clean all' returned a non-zero code: 1

wrong version on older spigot version (>1.12)

the container download java 11 instead of 8 or 7 on older version

console error

...
OpenJDK Runtime Environment Temurin-11.0.13+8 (build 11.0.13+8)
OpenJDK 64-Bit Server VM Temurin-11.0.13+8 (build 11.0.13+8, mixed mode)
Attempting to build version: '1.8.8' use --rev <version> to override
Found version
{
        "name": "582a",
        "description": "Jenkins build 582a (hotfix 2)",
        "refs": {
                "BuildData": "838b40587fa7a68a130b75252959bc8a3481d94f",
                "Bukkit": "01d1820664a5f881665b84b28871dadd132deaef",
                "CraftBukkit": "741a1bdf3db8c4d5237407df2872d9857427bfaf",
                "Spigot": "21fe7077d9140e0f9db01587a39c2ffec29e3ec8"
        }
}

*** The version you have requested to build requires Java versions between [Java 7, Java 8], but you are using Java 11
*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release.
cp: cannot stat '/build-mc/spigot-*.jar': No such file or directory
ls: cannot access '//minecraft/spigot.jar': No such file or directory
BUILD FAILED: spigot version 1.8.8 failed (continue running version ) 
...

potential solution (not tested)

the set_mc_ver file set java 11 for older version,
it should do more check to use to correct version of java on old version

Server does not restart on "/stop"

The server will not restart automatically once it has stopped. Perhaps this is intended behavior; if so, how can I change it so it does restart?

I have tried adding autorestart=true in /etc/supervisor/conf.d/spigot.conf with no luck.

Invalid initial heap size: -Xms

root@kianda-vps:~# docker exec 9276bf483cdf mc_log
Abort with CTRL-C
Invalid initial heap size: -Xms
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

How can I fix this? Thanks!

How to install plugins

How do u do the plugins? I have made the server already but Idk where the plugins folder is

`mc_stop` seems not working

When execute mc_stop it prints spigot: stopped and can't execute mc_stop again, but clients can login server and do not regenerate files like world or server.properties when execute mc_start.

Cannot read logs

Guess there is a double "//" there.

$ docker exec mc-spigot mc_log
Abort with CTRL-C
tail: cannot open '/minecraft//output.con' for reading: No such file or directory
tail: no files remaining

--forceUpgrade

Is there a built-in way to start a world with "--forceUpgrade" to be able to upgrade my world(s) for newer spigot versions in one go?

Licensing

There exists no licensing for this. Could you put this available under the MIT license?

Error response from daemon: oci runtime error

When I try to create a new container with the following command

docker run -d -p 25565:25565 -e EULA=true nimmis/spigot -e MC_MAXMEM=3g -3 MC_MINMEM=512m -v /var/www/docker/minecraft:/minecraft -e SPIGOT_UID=1001

I get this error message.

docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"-e\": executable file not found in $PATH".

Has anyone run into the same / a similar problem?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.