Giter Site home page Giter Site logo

docker-bungeecord's Issues

proxy_protocol option breaks health check

In a Docker environment with a HAProxy the proxy_protocol setting is essential, unfortunately then mc-status does not work anymore. Is there a possibility to extend mc-status with query packets or to implement the protocol adjustments optionally?

If this is the wrong place, I'm happy to create the issue directly in the mc-status github issue area

Clean up old jars following upgrades

If the proxy version changes, the old jar sticks around.
Especially if you allow the container to pull the latest jar on start, this makes some mess.

This is a feature request to clean up following upgrades.

Possible HEALTHCHECK using Dinnerbone/mcstatus

For the sake of consistency, adding an identical (or similar) healthcheck to this image would be a good idea. I'm making this an issue rather than a PR right away because I need to test whether the library works with Bungee proxies. I'm assuming it does, but looking at some of the handshaking code used in Dinnerbone's lib, it's probably a good idea to test it before going to a PR.

[FEAT] Tag published images

Hello,
I make that issue for propose to tag the images when is published.

That is useful for fix version of image without pass the hash like itzg/bungeecord:latest@sha256:fd084c6d9a456226e3c17e2318a47db2fd7842a171709c20dc03b0e0211ff888.

Thanks.

Docker image inconsistency

Why is bungeecord using FROM adoptopenjdk:11-jre-hotspot and server using adoptopenjdk/openjdk11:alpine-jre?

Won't detect variables in Environment

So I wanted to update to latest version of Bungecord so tried ot add the variables to my docker-compose.

mcb-bungee:
container_name: mcb-bungee
image: itzg/bungeecord
ports:
- "25565:25577"
- "127.0.0.1:1030:1025"
volumes:
- "./mcb-bungee/server:/server"
- "./mcb-bungee/plugins:/plugins"
- "./mcb-bungee/config:/config"
environment:
BUNGEE_JOB_ID: "lastStableBuild"
BUNGEE_BASE_URL: "https://ci.md-5.net/job/BungeeCord"
BUNGEE_JAR_URL: "${BUNGEE_BASE_URL}/${BUNGEE_JOB_ID}/artifact/bootstrap/target/BungeeCord.jar"
BUNGEE_JAR: "BungeeCord.jar"
restart: unless-stopped
networks:
- mc
depends_on:
- mcdb

However when the server starts it complains that the variables are not set.

The BUNGEE_BASE_URL variable is not set. Defaulting to a blank string.
The BUNGEE_JOB_ID variable is not set. Defaulting to a blank string.
Recreating mcb-bungee ... done

And then it still complains in the log about beeing outdated.

*** Warning, this build is outdated ***
*** Please download a new build from http://ci.md-5.net/job/BungeeCord ***
*** You will get NO support regarding this build ***
*** Server will start in 10 seconds ***

Java 16 (and eventually Java 17) Image Support

With Mojang's decision to make Minecraft 1.17 require Java 16 or later and servers like Spigot/Paper following suite, Java 16+ will be required for some plugins to continue to function even on Bungeecord. The ViaVersion plugin is already one I have seen give Java version warnings.

This is a feature request to have Java 16+ Images available.

Timeout Reached

I start the container and in the logs I see this:

Downloading https://ci.md-5.net/job/BungeeCord/lastStableBuild/artifact/bootstrap/target/BungeeCord.jar
curl: (28) Timeout was reached
ERROR: failed to download

availableProcessors has to be more than 1

I've tried using the image in docker-compose, though when starting the following comes up:

14:32:00 [SEVERE] Exception in thread "main"
14:32:00 [SEVERE] java.lang.ExceptionInInitializerError
14:32:00 [SEVERE]     at net.md_5.bungee.netty.PipelineUtils.newEventLoopGroup(PipelineUtils.java:123)
14:32:00 [SEVERE]     at net.md_5.bungee.BungeeCord.start(BungeeCord.java:263)
14:32:00 [SEVERE]     at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:62)
14:32:00 [SEVERE]     at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
14:32:00 [SEVERE] Caused by: java.lang.IllegalArgumentException: availableProcessors: 0 (expected: > 0)
14:32:00 [SEVERE]     at io.netty.util.internal.ObjectUtil.checkPositive(ObjectUtil.java:44)
14:32:00 [SEVERE]     at io.netty.util.NettyRuntime$AvailableProcessorsHolder.setAvailableProcessors(NettyRuntime.java:44)
14:32:00 [SEVERE]     at io.netty.util.NettyRuntime$AvailableProcessorsHolder.availableProcessors(NettyRuntime.java:70)
14:32:00 [SEVERE]     at io.netty.util.NettyRuntime.availableProcessors(NettyRuntime.java:98)
14:32:00 [SEVERE]     at io.netty.channel.MultithreadEventLoopGroup.<clinit>(MultithreadEventLoopGroup.java:41)
14:32:00 [SEVERE]     ... 4 more

docker-compose.yml:

version: '3.8'

services:
  lobby:
    image: itzg/minecraft-server:adopt11
    volumes:
      - ./lobby:/data
    environment:
      - TYPE=SPIGOT
      - VERSION=Spigot-1.8.8-R0.1-SNAPSHOT-latest
      - EULA=TRUE
      - ONLINE_MODE=FALSE
    restart: always
  bungeecord:
    image: itzg/bungeecord
    ports:
     - 25565:25577
#    environment:
#      - MEMORY=1028m
    volumes:
      - ./bungeecord:/server
    restart: always
    deploy:
      resources:
        limits:
          cpus: '1'

Thanks in advance :)

Plugin crashes on latest container release

Dear itzg,

I just pulled your latest bungeecord container from docker hub, running waterfall. https://hub.docker.com/layers/itzg/bungeecord/latest/images/sha256-87ec2c830b1dc393b8cbd35d19dc9add305a9c38cf7f0426ea0b2f9acd1b9281

I am now unable to run PLAN, it throws the error below. Reverting the container to the the version before the latest solves the issue.

Exception encountered when loading plugin: Plan
java.lang.UnsatisfiedLinkError: sun.management.OperatingSystemImpl.getSystemCpuLoad()D
        at sun.management.OperatingSystemImpl.getSystemCpuLoad(Native Method) ~[?:1.8.0_212]
        at com.djrapitops.plan.gathering.SystemUsage.getAverageSystemLoad(SystemUsage.java:59) ~[?:?]
        at com.djrapitops.plan.gathering.timed.SystemUsageBuffer.warmUp(SystemUsageBuffer.java:51) ~[?:?]
        at com.djrapitops.plan.gathering.timed.SystemUsageBuffer.<init>(SystemUsageBuffer.java:47) ~[?:?]
        at com.djrapitops.plan.gathering.timed.SystemUsageBuffer_Factory.newInstance(SystemUsageBuffer_Factory.java:25) ~[?:?]
        at com.djrapitops.plan.gathering.timed.SystemUsageBuffer_Factory.get(SystemUsageBuffer_Factory.java:17) ~[?:?]
        at com.djrapitops.plan.gathering.timed.SystemUsageBuffer_Factory.get(SystemUsageBuffer_Factory.java:6) ~[?:?]
        at plan.dagger.internal.DoubleCheck.get(DoubleCheck.java:47) ~[?:?]
        at com.djrapitops.plan.gathering.timed.ProxyTPSCounter_Factory.get(ProxyTPSCounter_Factory.java:47) ~[?:?]
        at com.djrapitops.plan.gathering.timed.ProxyTPSCounter_Factory.get(ProxyTPSCounter_Factory.java:12) ~[?:?]
        at plan.dagger.internal.DoubleCheck.get(DoubleCheck.java:47) ~[?:?]
        at plan.dagger.internal.SetFactory.get(SetFactory.java:126) ~[?:?]
        at plan.dagger.internal.SetFactory.get(SetFactory.java:37) ~[?:?]
        at com.djrapitops.plan.TaskSystem_Factory.get(TaskSystem_Factory.java:30) ~[?:?]
        at com.djrapitops.plan.TaskSystem_Factory.get(TaskSystem_Factory.java:9) ~[?:?]
        at plan.dagger.internal.DoubleCheck.get(DoubleCheck.java:47) ~[?:?]
        at com.djrapitops.plan.PlanSystem_Factory.get(PlanSystem_Factory.java:120) ~[?:?]
        at com.djrapitops.plan.PlanSystem_Factory.get(PlanSystem_Factory.java:28) ~[?:?]
        at plan.dagger.internal.DoubleCheck.get(DoubleCheck.java:47) ~[?:?]
        at com.djrapitops.plan.DaggerPlanBungeeComponent.system(DaggerPlanBungeeComponent.java:767) ~[?:?]
        at com.djrapitops.plan.PlanBungee.onEnable(PlanBungee.java:71) ~[?:?]
        at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:300) ~[Waterfall-1.16-403.jar:git:Waterfall-Bootstrap:1.16-R0.5-SNAPSHOT:7395ab3:403]
        at net.md_5.bungee.BungeeCord.start(BungeeCord.java:289) ~[Waterfall-1.16-403.jar:git:Waterfall-Bootstrap:1.16-R0.5-SNAPSHOT:7395ab3:403]
        at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:62) ~[Waterfall-1.16-403.jar:git:Waterfall-Bootstrap:1.16-R0.5-SNAPSHOT:7395ab3:403]
        at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[Waterfall-1.16-403.jar:git:Waterfall-Bootstrap:1.16-R0.5-SNAPSHOT:7395ab3:403]

Plugins folder only copy newer files

if [ -d /plugins ]; then
    echo "Copying BungeeCord plugins over..."
    cp -r /plugins $BUNGEE_HOME
fi

Add a -u update flag to the operation to avoid overwrites in this scenerio:

  1. initialize container
  2. plugins copied over
  3. saved user-generated data to plugins folder
  4. container restarts
  5. plugins folder copied over and overwrite all the data

Java version tags

I'd love for tags like on itzg/minecraft-server for specific Java versions, as some of my plugins require Java 11+.

Running non-root, curl return error

Hey guys,

I'm trying to start the container with a non-root user, so I made this command:

docker run -it -v ~/data_bungee:/server --user $(id -u) itzg/bungeecord

But CURL return an error while downloading the initial .jar:

Downloading https://ci.md-5.net/job/BungeeCord/lastStableBuild/artifact/bootstrap/target/BungeeCord.jar
curl: (23) Failed writing body (0 != 744)
ERROR: failed to download

It's weird because itzg/minecraft-server works perfectly fine with the same command.

Helm chart

Hey, any chance of a helm chart for this one?

Thanks

Option to download plugins via url

It would be great if the bungeecord image would have the same support for the "-e MODS=" parameter included in the minecraft server image just for the plugin folder.
In addition the override parameter would be helpful as well.

Thanks

Access bungeecord console

Is there any way to get access to the bungeecord console? With the minecraft container this is possible with rcon-cli as you know but this is not working for bungeecord.

Thanks in advance.

Connection limit

I'm using this image in pair with itzg/minecraft-server and I can't have more than 10 users connected to one BungeeCord container. When I'm having 2 BungeeCord instances leading to one PaperSpigot server, I can have 20 players connected to it. I'm also using Docker's internal bridge network to make contact between these containers. Here's a screenshot of this problem:
image

Feature request: copy `waterfall.yml`, `modules.yml` and `server-icon.png` from /config to /server if exists.

We are trying to use this docker image for a Waterfall server. We want to be able to customize settings in waterfall.yml, modules.yml as well as uploading a server-icon.png to the container. But it seems that the startup script only copy 'config.yml' from volume /config to /server.

Can we have the ability to copy waterfall.yml, modules.yml and server-icon.png to /server if it is exists in the /config volume please? Thanks!

(P.S. we can do a PR on this if preferred)

BungeeCord can't see Users real IP Adress

Hey there,

I am using your image for my networks BungeeCord instance and I'd like that bungeecord can see the real IP adress of the User for banning reasons and that stufft.

I already tried to disable the userland-proxy but this didn't solve the problem.
All users are still connecting from the same IP: 10.0.0.2 in my case

nginx fore example sees the users real ip

could you fix this or is this a "BungeeCord in a container" problem?

Could not connect to default server with docker compose

I had checked #13 but my situation is a bit different from that case.

I tried to use docker compose so that I can do quick start-ups. Before that I was using docker compose for servers exposing port to the machine network and start bungee manually without docker, and everything works. After moving bungee into docker compose, user start to fail connecting to servers via bungee.

I noticed that the address in config.yml should different from localhost:port when bungee is in docker environment.
image
And I did make a change to that but it still not works.

Since docker compose would give containers a generated name rather than container name in docker-compose.yml. For example, my compose config is in /mc/pc and the content is pasted below.

version: '3.7'

services:
  lobby:
    image: itzg/minecraft-server
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      MAX_MEMORY: "4G"
      VERSION: "1.15.2"
      USE_AIKAR_FLAGS: "TRUE"
    volumes:
      - /mc/pc/lobby:/data
    command: --noconsole
    restart: always

  bungee:
    image: itzg/bungeecord
    ports:
      - 25565:25577
    volumes:
      - /mc/pc/bungee/server:/server
    restart: always
    links:
      - lobby

image
The lobby container is now named pc_lobby_1 but not lobby.

So I tried both

servers:
  lobby:
    motd: ...
    address: lobby:20000
    restricted: false

and

servers:
  lobby:
    motd: ...
    address: pc_lobby_1:20000
    restricted: false

The first config show a same error when attempt to connect server locally, and the second one crashes the bungee server directly:

image

I'm not sure if I had provided enough message, if any other config file is required to trace the issue I could paste them below.

Thanks in advanced!

Unhealthy Container

I am able to connect to the Waterfall proxy and the two servers connected to it. However I started getting an Unhealthy Container notification.

failed to ping localhost:25577 : json: cannot unmarshal number -1 into Go struct field Version.version.protocol of type uint

Proxy unable to bridge connection to minecrafter-server container

Sorry in advance for the text wall. I wanted to include logs and configs up front.

I've been trying for a couple days now to get the bungeecord proxy to connect the backend spigot server. When running the jar files directly on the host, or in the VM, I'm able to connect without issue. However, when containerized, the proxy doesn't seem to be able to reach the mc server.

I am able to connect to the containerized mc server directly in either env. So that at least is working.

Notice that the minecraft logs don't indicate connection activity. That makes me think that I'm either missing something in the configs, or am misunderstanding something to do with docker networking.

In both environments, I get this when connecting to containerized bungeecord:
disconnected with: Could not connect to a default or fallback server, please try again later: io.netty.channel.AbstractChannel$AnnotatedConnectException

In both cases, the minecraft GUI shows that it can see the bungeecord server.

Things I've tried

  • changing the minecraft server ports in server.properties and corresponding values in config.yaml
  • changing the port that bungeecord listens on and the corresponding docker port
  • starting bungeecord before minecraft, and vice versa
  • setting server.properties/server-ip= to localhost and the IP of the vm.
  • exposing the minecraft ports, hoping that bungeecord can reach them.
  • running the docker-compose.yml example

Env 1:
Mac OS X (Mojave 10.14.6)
Docker Desktop CE 2.1.0.4

Env 2:
Ubuntu 19.10 (VM, using mhost network)
Docker 19.03.2

Image Versions:

itzg/minecraft-server   latest              9a49bf0206ad        13 days ago         333MB
itzg/bungeecord         latest              24a259c44966        8 weeks ago         86.6MB

Commands, in seperate tmux panes:
bungeecord:

docker run -it -v $(pwd)/bg/server:/server -v $(pwd)/bg/config:/config -p 25565:25577 itzg/bungeecord

minecraft:

docker run --name mc -v $(pwd)/mc:/data -e TYPE=SPIGOT -e VERSION=1.14.4 -e EULA=TRUE -e ONLINE_MODE=FALSE itzg/minecraft-server --noconsole

Configs

bungeecord

connection_throttle_limit: 3
disabled_commands:
- disabledcommandhere
online_mode: true
log_commands: false
network_compression_threshold: 256
listeners:
- query_port: 25577
  motd: '&1Another Bungee server'
  tab_list: GLOBAL_PING
  query_enabled: false
  proxy_protocol: false
  forced_hosts:
    pvp.md-5.net: pvp
  ping_passthrough: false
  priorities:
  - lobby
  bind_local_address: true
  host: 0.0.0.0:25577
  max_players: 1
  tab_size: 60
  force_default_server: false
connection_throttle: 4000
groups:
  md_5:
  - admin
log_pings: true
player_limit: -1
prevent_proxy_connections: false
forge_support: false
stats: 4d8c17c3-1f85-4451-b656-5bad3dea0878
permissions:
  default:
  - bungeecord.command.server
  - bungeecord.command.list
  admin:
  - bungeecord.command.alert
  - bungeecord.command.end
  - bungeecord.command.ip
  - bungeecord.command.reload
ip_forward: false
timeout: 30000
servers:
  lobby:
    motd: '&1Just another BungeeCord - Forced Host'
    address: localhost:25565
    restricted: false

minecraft

#Minecraft server properties
#Tue Dec 10 21:23:25 GMT 2019
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=true
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
debug=false
texture-pack=
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=minecraft
generate-structures=true
online-mode=false
max-build-height=256
level-seed=
use-native-transport=true
prevent-proxy-connections=false
motd=A Spigot Minecraft Server powered by Docker
enable-rcon=true

Logs

BungeeCord Logs

20:57:32 [INFO] Using mbed TLS based native cipher.
20:57:32 [INFO] Using zlib based native compressor.
20:57:32 [INFO] Enabled BungeeCord version git:BungeeCord-Bootstrap:1.14-SNAPSHOT:70038c9:1425
20:57:32 [INFO] Not on Windows, attempting to use enhanced EpollEventLoop
20:57:32 [INFO] Epoll is working, utilising it!
20:57:32 [INFO] Discovered module: ModuleSpec(name=cmd_alert, file=modules/cmd_alert.jar, provider=JenkinsModuleSource())
20:57:32 [INFO] Discovered module: ModuleSpec(name=cmd_find, file=modules/cmd_find.jar, provider=JenkinsModuleSource())
20:57:32 [INFO] Discovered module: ModuleSpec(name=cmd_list, file=modules/cmd_list.jar, provider=JenkinsModuleSource())
20:57:32 [INFO] Discovered module: ModuleSpec(name=cmd_send, file=modules/cmd_send.jar, provider=JenkinsModuleSource())
20:57:32 [INFO] Discovered module: ModuleSpec(name=cmd_server, file=modules/cmd_server.jar, provider=JenkinsModuleSource())
20:57:32 [INFO] Discovered module: ModuleSpec(name=reconnect_yaml, file=modules/reconnect_yaml.jar, provider=JenkinsModuleSource())
20:57:32 [INFO] Attempting to update plugin from null to ModuleVersion(build=1425, git=70038c9)
20:57:32 [INFO] Attempting to Jenkins download module cmd_alert v1425
20:57:32 [INFO] Download complete
20:57:32 [INFO] Attempting to update plugin from null to ModuleVersion(build=1425, git=70038c9)
20:57:32 [INFO] Attempting to Jenkins download module cmd_find v1425
20:57:33 [INFO] Download complete
20:57:33 [INFO] Attempting to update plugin from null to ModuleVersion(build=1425, git=70038c9)
20:57:33 [INFO] Attempting to Jenkins download module cmd_list v1425
20:57:33 [INFO] Download complete
20:57:33 [INFO] Attempting to update plugin from null to ModuleVersion(build=1425, git=70038c9)
20:57:33 [INFO] Attempting to Jenkins download module cmd_send v1425
20:57:33 [INFO] Download complete
20:57:33 [INFO] Attempting to update plugin from null to ModuleVersion(build=1425, git=70038c9)
20:57:33 [INFO] Attempting to Jenkins download module cmd_server v1425
20:57:33 [INFO] Download complete
20:57:33 [INFO] Attempting to update plugin from null to ModuleVersion(build=1425, git=70038c9)
20:57:33 [INFO] Attempting to Jenkins download module reconnect_yaml v1425
20:57:33 [INFO] Download complete
20:57:33 [INFO] Loaded plugin reconnect_yaml version git:reconnect_yaml:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Loaded plugin cmd_find version git:cmd_find:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Loaded plugin cmd_server version git:cmd_server:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Loaded plugin cmd_alert version git:cmd_alert:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Loaded plugin cmd_send version git:cmd_send:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Loaded plugin cmd_list version git:cmd_list:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [WARNING] Forced host server pvp is not defined
20:57:33 [INFO] Enabled plugin reconnect_yaml version git:reconnect_yaml:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Enabled plugin cmd_find version git:cmd_find:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Enabled plugin cmd_server version git:cmd_server:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Enabled plugin cmd_alert version git:cmd_alert:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Enabled plugin cmd_send version git:cmd_send:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Enabled plugin cmd_list version git:cmd_list:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
20:57:33 [INFO] Listening on /0.0.0.0:25577
20:57:41 [INFO] [/192.168.119.1:61423] <-> InitialHandler has connected
20:57:48 [WARNING] [/192.168.119.1:61423] <-> InitialHandler - NativeIoException: readAddress(..) failed: Connection reset by peer
20:57:48 [INFO] [/192.168.119.1:61432] <-> InitialHandler has connected
20:57:49 [INFO] [JonOfArabia] disconnected with: §cCould not connect to a default or fallback server, please try again later: io.netty.channel.AbstractChannel$AnnotatedConnectException
20:57:49 [INFO] [JonOfArabia] -> UpstreamBridge has disconnected
21:21:23 [INFO] Using mbed TLS based native cipher.
21:21:23 [INFO] Using zlib based native compressor.
21:21:23 [INFO] Enabled BungeeCord version git:BungeeCord-Bootstrap:1.14-SNAPSHOT:70038c9:1425
21:21:23 [INFO] Not on Windows, attempting to use enhanced EpollEventLoop
21:21:23 [INFO] Epoll is working, utilising it!
21:21:23 [INFO] Discovered module: ModuleSpec(name=cmd_alert, file=modules/cmd_alert.jar, provider=JenkinsModuleSource())
21:21:23 [INFO] Discovered module: ModuleSpec(name=cmd_find, file=modules/cmd_find.jar, provider=JenkinsModuleSource())
21:21:23 [INFO] Discovered module: ModuleSpec(name=cmd_list, file=modules/cmd_list.jar, provider=JenkinsModuleSource())
21:21:23 [INFO] Discovered module: ModuleSpec(name=cmd_send, file=modules/cmd_send.jar, provider=JenkinsModuleSource())
21:21:23 [INFO] Discovered module: ModuleSpec(name=cmd_server, file=modules/cmd_server.jar, provider=JenkinsModuleSource())
21:21:23 [INFO] Discovered module: ModuleSpec(name=reconnect_yaml, file=modules/reconnect_yaml.jar, provider=JenkinsModuleSource())
21:21:23 [INFO] Loaded plugin reconnect_yaml version git:reconnect_yaml:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Loaded plugin cmd_find version git:cmd_find:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Loaded plugin cmd_server version git:cmd_server:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Loaded plugin cmd_alert version git:cmd_alert:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Loaded plugin cmd_send version git:cmd_send:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Loaded plugin cmd_list version git:cmd_list:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [WARNING] Forced host server pvp is not defined
21:21:23 [INFO] Enabled plugin reconnect_yaml version git:reconnect_yaml:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Enabled plugin cmd_find version git:cmd_find:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Enabled plugin cmd_server version git:cmd_server:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Enabled plugin cmd_alert version git:cmd_alert:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Enabled plugin cmd_send version git:cmd_send:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:23 [INFO] Enabled plugin cmd_list version git:cmd_list:1.14-SNAPSHOT:70038c9:1425 by SpigotMC
21:21:24 [INFO] Listening on /0.0.0.0:25577
21:21:32 [INFO] [/192.168.119.1:63272] <-> InitialHandler has connected
21:21:33 [INFO] [/192.168.119.1:63276] <-> InitialHandler has connected
21:21:34 [INFO] [JonOfArabia] disconnected with: §cCould not connect to a default or fallback server, please try again later: io.netty.channel.AbstractChannel$AnnotatedConnectException
21:21:34 [INFO] [JonOfArabia] -> UpstreamBridge has disconnected

Minecraft Logs

[21:23:29] [Server thread/INFO]: Starting minecraft server version 1.14.4
[21:23:29] [Server thread/INFO]: Loading properties
[21:23:29] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-9de398a-9c887d4 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
[21:23:29] [Server thread/INFO]: Console input is disabled due to --noconsole command argument
[21:23:29] [Server thread/INFO]: Server Ping Player Sample Count: 12
[21:23:29] [Server thread/INFO]: Using 4 threads for Netty based IO
[21:23:29] [Server thread/INFO]: Debug logging is disabled
[21:23:29] [Server thread/INFO]: Default game type: SURVIVAL
[21:23:29] [Server thread/INFO]: Generating keypair
[21:23:30] [Server thread/INFO]: Starting Minecraft server on *:25565
[21:23:30] [Server thread/INFO]: Using epoll channel type
[21:23:30] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[21:23:30] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware.
[21:23:30] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[21:23:30] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[21:23:30] [Server thread/INFO]: Preparing level "world"
[21:23:30] [Server thread/INFO]: Reloading ResourceManager: Default, bukkit
[21:23:32] [Server thread/INFO]: Loaded 6 recipes

<Omitting world settings, doesn't look relevant>

[21:24:02] [Server thread/INFO]: Time elapsed: 1163 ms
[21:24:02] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[21:24:02] [Server thread/INFO]: Done (32.038s)! For help, type "help"
[21:24:02] [Server thread/INFO]: Starting remote control listener
[21:24:02] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575

Docker-compose lost prefix in logging.

bungeecord1    | WARNING: An illegal reflective access operation has occurred
bungeecord1    | WARNING: Illegal reflective access by us.myles.ViaVersion.bungee.platform.BungeeViaInjector (file:/server/plugins/ViaVersion-3.2.2-SNAPSHOT.jar) to field java.lang.reflect.Field.modifiers
bungeecord1    | WARNING: Please consider reporting this to the maintainers of us.myles.ViaVersion.bungee.platform.BungeeViaInjector
bungeecord1    | WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
bungeecord1    | WARNING: All illegal access operations will be denied in a future release
survival_1     | [00:51:09 INFO]:         __
survival_1     | [00:51:09 INFO]:   |    |__)   LuckPerms v5.3.3
survival_1     | [00:51:09 INFO]:   |___ |      Running on Bukkit - Paper
survival_1     | [00:51:09 INFO]:
survival_1     | [00:51:09 INFO]: [LuckPerms] Loading configuration...
lobby2_1       | [00:51:09 INFO]: [LuckPerms] Loading storage provider... [MYSQL]
00:51:09 [INFO] [ViaVersion] Loading 1.16 -> 1.16.2 mappings...
00:51:09 [INFO] [ViaVersion] ViaVersion detected server version: 1.8.x (47)
00:51:09 [INFO] Enabled plugin ViaVersion version 3.2.2-SNAPSHOT by _MylesC, creeper123123321, Gerrygames, KennyTV, Matsv
00:51:09 [INFO] Enabled plugin cmd_server version git:cmd_server:1.16-R0.5-SNAPSHOT:d49e97c:1575 by SpigotMC
00:51:09 [INFO] Enabled plugin cmd_alert version git:cmd_alert:1.16-R0.5-SNAPSHOT:d49e97c:1575 by SpigotMC
00:51:09 [INFO] Enabled plugin cmd_send version git:cmd_send:1.16-R0.5-SNAPSHOT:d49e97c:1575 by SpigotMC
lobby1_1       | [00:51:09 INFO]: [FancyCropTrample] Loading FancyCropTrample v1.2.2
lobby1_1       | [00:51:09 INFO]: [VoidGenerator] Loading VoidGenerator v1.7.0
lobby1_1       | [00:51:09 INFO]: Server permissions file permissions.yml is empty, ignoring it
lobby1_1       | [00:51:09 INFO]: [LuckPerms] Enabling LuckPerms v5.3.3
lobby2_1       | [00:51:09 INFO]: [me.lucko.luckperms.lib.hikari.HikariDataSource] luckperms-hikari - Starting...
lobby2_1       | [00:51:09 INFO]: [me.lucko.luckperms.lib.hikari.HikariDataSource] luckperms-hikari - Start completed.
00:51:10 [INFO] [ServerManager] Couldn't check for an update
00:51:10 [INFO] [ServerManager] You're on the latest version!
00:51:10 [INFO] [ViaVersion] Finished mapping loading, shutting down loader executor!
00:51:10 [INFO] [ServerManager] Couldn't check for an update
00:51:10 [INFO] [ServerManager] You're on the latest version!

As you can see, when running bungee docker image as service, it is not prepending container names to the logs.

  bungeecord1: # does not label the logs
    image: itzg/bungeecord
    container_name: "bungeecord1" # does not label the logs
    ports:
      - "25566:25565"
      # - "19132:19132/udp"
    volumes:
      - "./bungeecord/plugins:/plugins/:ro" # <-
      - "./bungeecord/config:/config/:ro"
    environment: 
      MEMORY: "4096m"
    restart: always
    depends_on:
      - "redis"
      - "db"

Can't connect to paper lobby server

I can't join my server made on dockers, I have linux mint as core with docker, docker compose and cockpit.

As proxy I use Velocity becose of simple setup.
I have one server cur. it is Paper 1.16.1
code - yml(with removed Unique IDs)

Sorry for this down but it made yml code crazy there.

{
# Config version. Do not change this
config-version = "1.0"

# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
bind = "0.0.0.0:25577"

# What should be the MOTD? This gets displayed when the player adds your server to
# their server list. Legacy color codes and JSON are accepted.
motd = "&3A PerCraft Network"

# What should we display for the maximum number of players? (Velocity does not support a cap
# on the number of players online.)
show-max-players = 100

# Should we authenticate players with Mojang? By default, this is on.
online-mode = true

# Should we forward IP addresses and other data to backend servers?
# Available options:
# - "none":   No forwarding will be done. All players will appear to be connecting from the
#             proxy and will have offline-mode UUIDs.
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this if
#             you run servers using Minecraft 1.12 or lower.
# - "modern": Forward player IPs and UUIDs as part of the login process using Velocity's 
#             native forwarding. Only applicable for Minecraft 1.13 or higher.
player-info-forwarding-mode = "LEGACY"

# If you are using modern IP forwarding, configure an unique secret here.
forwarding-secret = ""

# Announce whether or not your server supports Forge. If you run a modded server, we
# suggest turning this on.
announce-forge = false

[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
lobby = "lobby:25566"

# In what order we should try servers when a player logs in or is kicked from aserver.
try = [
  "lobby"
]

[forced-hosts]
# Configure your forced hosts here.
"lobby.percraft.otzo.com" = [
  "lobby"
]

[advanced]
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256

# How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6.
compression-level = -1

# How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 2000

# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 5000

# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000

# Enables compatibility with HAProxy.
proxy-protocol = false

[query]
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = true

# If query is enabled, on what port should the query protocol listen on?
port = 25577

# This is the map name that is reported to the query services.
map = "Velocity"

# Whether plugins should be shown in query response by default or not
show-plugins = false

[metrics]
# Whether metrics will be reported to bStats (https://bstats.org).
# bStats collects some basic information, like how many people use Velocity and their
# player count. We recommend keeping bStats enabled, but if you're not comfortable with
# this, you can turn this setting off. There is no performance penalty associated with
# having metrics enabled, and data sent to bStats can't identify your server.
enabled = true

# A unique, anonymous ID to identify this proxy with.
id = ""

log-failure = true
}

All runs with no errors but I can't join server it gives error "Unable to conect to lobby. Try again later."

Player visibility issues

I've just finished getting all setup with itzg/bungeecord and itzg/minecraft-server, however when clients connect via Bungee they are invisible. Other entities/actions work fine, can throw items and they show up on both clients, destroy/place blocks, etc.

Could this be an issue relating to the Docker images, or perhaps an issue with Bungee/Paper. I have tried both BungeeCord and Waterfall, have not yet swapped away from Paper.

I have a VPN setup inside the Docker swarm network, which allows me to direct connect to the MC servers, upon doing this both clients are visible. If 1 client is connected to Bungee and 1 to Paper, both clients are visible. If both clients are connected via Bungee, both are invisible.

Edit: Also tried with standard Spigot, same issue.
Edit 2: Removed all plugins from the Paper server and still experiencing the same issue

container not listening to provided container

Hi,
So we have managed to get bungeecord working on 25565, however.. it seems like it's just running not caring about when we change the config and doesn't really load the plugins in bungeecord. It's all simply just default.
This is our docker-compose-yml:
https://justpaste.it/7gbgy

Could you help us with this? Thanks

Repo does not exist

Forgive me if I'm missing something that's much more simple. As of about 24 hours ago, the repo [itzg/docker-bungeecord:latest] does not appear to exist. The same issue does not appear with the itzg/minecaft-server image. Both of which are awesome.

Unable to find image 'itzg/docker-bungeecord:latest' locally
docker: Error response from daemon: pull access denied for itzg/docker-bungeecord, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

Keeping all branches in sync

For example, the java8 branch does not yet have the correct permissions set for health.sh. The same is true for the README changes. Is this handled with the tags/releases and docker-versions-create.sh?

Support for environment variable passthrough

Hi,

I'm currently using itzg/minecraft-server to host my MC servers, which has the ability to passthrough environment variables like so:

minecraft:
  image: itzg/minecraft-server
  restart: always
  environment:
    EULA: "true"
    ONLINE_MODE: "false"
    TYPE: PAPER
    VERSION: 1.16.1
    MEMORY: 6G
    VAULT_TOKEN: ~
    MONGO_VAULT_CREDENTIAL: ~
    REDIS_VAULT_CREDENTIAL: ~
    MAX_PLAYERS: 200
    ALLOW_NETHER: "false"
    GENERATE_STRUCTURES: "false"
    USE_AIKAR_FLAGS: "true"
  volumes:
    - /data/minecraft/plugins:/plugins
  networks:
    - myNetwork
  deploy:
    mode: replicated
    replicas: 1

Note that, VAULT_TOKEN, MONGO_VAULT_CREDENTIAL and REDIS_VAULT_CREDENTIAL are all set on the Minecraft server.

When doing the same using itzg/bungeecord, the environment variables are not passed through to the app, like this:

bungeecord:
  image: itzg/bungeecord
  restart: always
  ports:
    - "25565:25577"
  environment:
    TYPE: WATERFALL
    MEMORY: 2G
    VAULT_TOKEN: ~
    MONGO_VAULT_CREDENTIAL: ~
    REDIS_VAULT_CREDENTIAL: ~
  volumes:
    - /data/bungeecord/plugins:/plugins
    - /data/bungeecord/config:/config
    - /data/bungeecord/server:/server
  networks:
    - myNetwork
  deploy:
    mode: replicated
    replicas: 1

The same environment variables are not set, or at the very least, they are not visible in System#getenv() and are null in System#getenv(String)

Is this intentional/something Bungee related? I've looked through the Dockerfile and haven't spotted anything that sticks out in terms of scraping the environment variables out, nor is there any documentation of a prefix that is required to pass through.

Error on startup using Velocity

When starting the container I het the following in the log: Warning: Illegal date format for -z, --time-cond (and not a file name). This is the first part of the debug log containing the error

[init] Resolving type given VELOCITY,
[init] Downloading https://versions.velocitypowered.com/download/latest.jar,
+ extraCurlArgs=(-v),
+ log 'Resolving type given VELOCITY',
+ echo '[init] Resolving type given VELOCITY',
+ case "${TYPE^^}" in,
+ : latest,
+ BUNGEE_JAR_URL=https://versions.velocitypowered.com/download/latest.jar,
+ BUNGEE_JAR=/server/Velocity-latest.jar,
+ isTrue true,
+ local value=true,�,
=,
+ case ${value} in,
+ result=0,
+ return 0,
+ '[' -f /server/Velocity-latest.jar ']',
+ zarg='-z '\''/server/Velocity-latest.jar'\''',
+ log 'Downloading https://versions.velocitypowered.com/download/latest.jar',
+ echo '[init] Downloading https://versions.velocitypowered.com/download/latest.jar',
+ curl -o /server/Velocity-latest.jar -z ''\''/server/Velocity-latest.jar'\''' -fsSL  https://versions.velocitypowered.com/download/latest.jar,
Warning: Illegal date format for -z, --time-cond (and not a file name). ,
Warning: Disabling time condition. See curl_getdate(3) for valid date syntax.,
+ '[' -d /plugins ']',
+ [[ -n '' ]],
+ [[ -n '' ]],

Error starting container

Hi, just tried the latest (saw you pushed 4 hours ago or so), and getting the following error:

ERROR: for bungeecord Cannot start service bungeecord: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/usr/bin/run-bungeecord.sh": permission denied: unknown

Is this a permissions issue during the build of the docker container?

EDIT: I built the image locally after setting +x on run-bungeecord.sh and it at least starts up now, though it's saying that it's unhealthy. Looking into it.

EDIT2: It's working, depite the "unhealthy" message in docker ps

403 on download core

Error 403 appears when downloading bungeecord. I requested it through curl, it turned out to ask to pass a captcha.
image

Unable to setup proxy using own jar

Hi, I'm trying to setup my proxy using custom jar. Currently I'm getting error:

proxy_1  | Resolving type given CUSTOM
proxy_1  | Using custom server jar at proxy.jar ...
proxy_1  | Downloading proxy.jar
proxy_1  | curl: (6) Could not resolve host: proxy.jar
proxy_1  | ERROR: failed to download

with docker-compose.yml:

  proxy:
    stdin_open: true
    tty: true
    image: itzg/bungeecord
    ports:
      - '25565:25565'
    volumes:
      - './bungee-vol:/server'
    environment:
      TYPE: "CUSTOM"
      BUNGEE_JAR_URL: "proxy.jar"
      MEMORY: "2G"

With minecraft-server custom jar works perfectly fine.

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.