Giter Site home page Giter Site logo

cubxity / docker-minecraft-server Goto Github PK

View Code? Open in Web Editor NEW
16.0 2.0 0.0 693 KB

Docker images for Minecraft server

License: MIT License

Shell 48.22% Dockerfile 51.78%
docker-images dockerfiles docker minecraft papermc tuinity minecraft-server docker-image airplane purpur hacktoberfest

docker-minecraft-server's Introduction

License Issues Discord

docker-minecraft-server

Lightweight Docker/container images for Paper-based Minecraft servers.

Running

NOTE: By running the following command, you accept Minecraft's EULA.

WARNING: The following container is ephemeral, meaning any changes made to it will be discarded.

$ docker run --rm -it \
  -e EULA=true \
  -e JVM_OPTS_EXTRA=--add-modules=jdk.incubator.vector \
  -p 25565:25565 \
  ghcr.io/cubxity/minecraft-server:pufferfish-1.19-temurin17-jammy

Note: JVM_OPTS_EXTRA=--add-modules=jdk.incubator.vector is only required for Pufferfish.

  • --rm removes the container on exit
  • -i keeps STDIN open
  • -t allocates a pseudo-TTY
  • -e EULA=true sets the EULA environment variable to true, signifying EULA agreement
  • -p 25565:25565 publish container port 25565 to the host on 0.0.0.0:25565

This image makes use of Aikar's flags by default. The data directory can be found at /data.

Environment Variables

  • MEMORY defaults to 1G
  • INIT_MEMORY Initial memory to allocate to the JVM. Defaults to MEMORY
  • MAX_MEMORY Maximum memory to allocate to the JVM. Defaults to MEMORY
  • JVM_XX_OPTS -XX JVM argument overrides
  • JVM_OPTS JVM arguments (mainly memory) overrides
  • D_OPTS JVM properties overrides
  • JVM_XX_OPTS_EXTRA -XX JVM argument to append
  • JVM_OPTS_EXTRA JVM arguments to append
  • D_OPTS_EXTRA JVM properties to append
  • EULA Signifies that you accept Minecraft's EULA. Accept by setting this variable totrue.

Implementation can be found in start.sh.

Tips: Set environment JVM_OPTS_EXTRA=--add-modules=jdk.incubator.vector to enable vector module for Pufferfish.

Image Variants

This repository provides Eclipse Temurin based container images for Pufferfish, Purpur, and Paper.

⚠️ AdoptOpenJDK (adopt*) and OpenJDK (java*) variants are deprecated in favor of Eclipse Temurin. Support for non-LTS versions may be dropped at any time.

⚠️ Airplane is discontinued. Please use Pufferfish, Paper, or Purpur instead.

Eclipse Temurin Alpine (temurin*-alpine)

Supports linux/amd64.

This image is based on Eclipse Temurin's Alpine image. The image format is suffixed with -temurin<version>-alpine.

Examples:

  • pufferfish-1.19-temurin17-alpine
  • pufferfish-1.19-34-temurin17-alpine

Eclipse Temurin Ubuntu Jammy (temurin*-jammy)

Supports linux/amd64 and linux/arm64.

This image is based on Eclipse Temurin's Ubuntu Jammy Jellyfish image. The image format is suffixed with -temurin<version>-jammy.

Examples:

  • pufferfish-1.19-temurin17-jammy
  • pufferfish-1.19-34-temurin17-jammy

docker-minecraft-server's People

Contributors

cubxity avatar dejaydev avatar

Stargazers

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

Watchers

 avatar  avatar

docker-minecraft-server's Issues

Add Pufferfish

Airplane is not available for 1.18.

I propose as a replacement Pufferfish is added. Pufferfish contains Airplane patches among other useful features such as Sentry error reporting.

HTTP connections SEGFAULT

Upstream issue: #520.

The issue seems to be introduced in a recent update to the alpine image.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f00b92a501c, pid=1, tid=60
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.2+7) (build 15.0.2+7)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.2+7, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [libc.so.6+0xe801c]
[error occurred during error reporting (printing problematic frame), id 0xb, SIGSEGV (0xb) at pc=0x00007f00b923e980]

# Core dump will be written. Default location: /data/core
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Xms2G -Xmx3500M -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true /server.jar

Host:
[error occurred during error reporting (printing summary machine and OS info), id 0xb, SIGSEGV (0xb) at pc=0x00007f00b923e980]

Time: Sun Feb 28 07:54:53 2021 Europe elapsed time: 22.584247 seconds (0d 0h 0m 22s)

---------------  T H R E A D  ---------------

Current thread (0x00007f0080e9b8a0):  JavaThread "Thread-10" [_thread_in_native, id=60, stack(0x00007f0034d64000,0x00007f0034e65000)]

Stack: [0x00007f0034d64000,0x00007f0034e65000],  sp=0x00007f0034e62620,  free space=1017k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0xe801c]
[error occurred during error reporting (printing native stack), id 0xb, SIGSEGV (0xb) at pc=0x00007f00b923e980]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.net.Inet4AddressImpl.lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress;+0 [email protected]
j  java.net.InetAddress$PlatformNameService.lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress;+4 [email protected]
j  java.net.InetAddress.getAddressesFromNameService(Ljava/lang/String;Ljava/net/InetAddress;)[Ljava/net/InetAddress;+8 [email protected]
j  java.net.InetAddress$NameServiceAddresses.get()[Ljava/net/InetAddress;+40 [email protected]
j  java.net.InetAddress.getAllByName0(Ljava/lang/String;Ljava/net/InetAddress;ZZ)[Ljava/net/InetAddress;+207 [email protected]
j  java.net.InetAddress.getAllByName(Ljava/lang/String;Ljava/net/InetAddress;)[Ljava/net/InetAddress;+391 [email protected]
j  java.net.InetAddress.getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;+2 [email protected]
j  java.net.InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress;+1 [email protected]
j  java.net.InetSocketAddress.<init>(Ljava/lang/String;I)V+15 [email protected]
j  sun.net.NetworkClient.doConnect(Ljava/lang/String;I)Ljava/net/Socket;+92 [email protected]
j  sun.net.www.http.HttpClient.openServer(Ljava/lang/String;I)V+4 [email protected]
j  sun.net.www.http.HttpClient.openServer()V+114 [email protected]
j  sun.net.www.http.HttpClient.<init>(Ljava/net/URL;Ljava/net/Proxy;I)V+120 [email protected]
j  sun.net.www.http.HttpClient.New(Ljava/net/URL;Ljava/net/Proxy;IZLsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;+281 [email protected]
j  sun.net.www.http.HttpClient.New(Ljava/net/URL;Ljava/net/Proxy;ILsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;+5 [email protected]
j  sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Ljava/net/URL;Ljava/net/Proxy;I)Lsun/net/www/http/HttpClient;+4 [email protected]
j  sun.net.www.protocol.http.HttpURLConnection.plainConnect0()V+380 [email protected]
j  sun.net.www.protocol.http.HttpURLConnection.plainConnect()V+71 [email protected]
j  sun.net.www.protocol.http.HttpURLConnection.connect()V+20 [email protected]
j  net.coreprotect.thread.CheckUpdate.run()V+396
j  java.lang.Thread.run()V+11 [email protected]
v  ~StubRoutines::call_stub

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.