Minecraft Java + Bedrock Server Together – Geyser + Floodgate

Minecraft Geyser + Floodgate Paper Minecraft Server
Minecraft Geyser + Floodgate Paper Minecraft Server

This is a new Docker container to automatically set up and run a Minecraft server that both Java and Bedrock players can connect to! This allows everyone to play on your server no matter which edition of Minecraft you are using. It uses the Geyser and Floodgate plugins to accomplish this.

Since it uses the Paper Minecraft server it also supports any additional plugins that are compatible with Paper / Spigot. This gives you the ability to do many things that are currently impossible to do in Bedrock if you are hosting the official Bedrock dedicated server.

It is fully compatible with my Paper Minecraft Java Server Container and you can swap between these two containers without changing any configuration.

The official GitHub page is located here.

The Docker Hub page for the container is located here.

It’s now possible to convert your worlds between Bedrock and Java versions. Check out my guide on Chunker here for more information.

Features

  • Sets up fully operational Minecraft server that allows both Java and Bedrock clients to connect
  • Runs the highly efficient “Paper” Minecraft server
  • Runs Geyser to allow Bedrock clients to connect and Floodgate to allow them to authenticate with their Bedrock credentials to a Java server
  • Plugin support for Paper / Spigot / Bukkit
  • Uses named Docker volume for safe and easy to access storage of server data files (which enables more advanced Docker features such as automatic volume backups)
  • Installs and configures OpenJDK 18
  • Automatic backups to minecraft/backups when server restarts
  • Full logging available in minecraft/logs folder
  • Updates automatically to the latest version when server is started
  • Runs on all Docker platforms including Raspberry Pi

Usage

First you must create a named Docker volume. This can be done with:

docker volume create yourvolumename

Now you may launch the server and open the ports necessary with one of the following Docker launch commands.

With default ports:

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

With custom ports:

docker run -it -v yourvolumename:/minecraft -p 12345:12345 -e Port=12345 -p 54321:54321/udp -p 54321:54321 -e BedrockPort=54321 --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

With a custom Minecraft version (add -e Version=1.X.X, must be present on Paper’s API servers to work):

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e Version=1.17.1 --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

With a maximum memory limit in megabytes (optional, prevents crashes on platforms with limited memory, -e MaxMemory=2048):

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e MaxMemory=2048 --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

Using a custom timezone:

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e TZ="America/Denver" --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

Skipping backups on a certain folder:

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e NoBackup="plugins" --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

Skipping permissions check:

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e NoPermCheck="Y" --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

Change number of backups:

docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e BackupCount=1 --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

Configuration / Accessing Server Files

The server data is stored where Docker stores your volumes. This is typically a folder on the host OS that is shared and mounted with the container. I’ll give the usual locations here but if you’re having trouble just do some Googling for your exact platform and you should find where Docker is storing the volume files.

You can find your exact path by typing:

docker volume inspect yourvolumename

This will give you the fully qualified path to your volume like this:

{
        "CreatedAt": "2022-05-09T21:08:34-06:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/yourvolumename/_data",
        "Name": "yourvolumename",
        "Options": {},
        "Scope": "local"
}

On Linux it’s typically available at:

/var/lib/docker/volumes/yourvolumename/_data

On Windows it’s at

C:\ProgramData\DockerDesktop

but may be located at something more like

\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\

if you are using WSL (Windows Subsystem for Linux).


On Mac it’s typically

~/Library/Containers/com.docker.docker/Data/vms/0/

If you are using Docker Desktop on Mac then you need to access the Docker VM with the following command first:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

You can then normally access the Docker volumes using the path you found in the first step with docker volume inspect.

Most people will want to edit server.properties. You can make the changes to the file and then restart the container to make them effective.
Backups are stored in the “backups” folder
Log files with timestamps are stored in the “logs” folder.

Plugin Support for Paper / Spigot / Bukkit

This is a “Paper” Minecraft server which has plugin compatibility with Paper / Spigot / Bukkit.

Installation is simple. There is a “plugins” folder on your Docker named volume.

Navigate to your server files on your host operating system (see accessing server files section if you don’t know where this is) and you will see the “plugins” folder.

You just need to drop the extracted version of the plugin (a .jar file) into this folder and restart the container. That’s it!

Some plugins have dependencies so make sure you read the installation guide first for the plugin you are looking at.

A popular place to get plugins is: dev.bukkit.org

Troubleshooting Note – Oracle Virtual Machines

A very common problem people have with the Oracle Virtual Machine tutorials out there that typically show you how to use a free VM is that the VM is much more difficult to configure than just about any other product / offering out there.

It is because there are several steps you need to take to open the ports on the Oracle VM. You need to both:

  • Set the ingress ports (TCP/UDP) in the Virtual Cloud Network (VCN) security list
  • *and* set the ingress ports in a Network Security Group assigned to your instance

Both of these settings are typically required before you will be able to connect to your VM instance. This is purely configuration related and has nothing to do with the script or the Minecraft server itself.

I do not recommend this platform due to the configuration difficulty but the people who have gone through the pain of configuring an Oracle VM have had good experiences with it after that point. Just keep in mind it’s going to be a rough ride through the configuration for most people.

Troubleshooting Note – Hyper-V

There is a weird bug in Hyper-V that breaks UDP connections on the Minecraft server. The easy workaround for this is that you have to use a Generation 1 VM with the Legacy LAN network driver.

There is a second fix that was shared by bpsimons here. For that fix you need to install ethtool first with sudo apt install ethtool. Next in your /etc/network/interfaces file add “offload-tx off” to the bottom as the issue appears to be with TX offloading.

Here’s an example:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
offload-tx off

This can also be done non-persistently with the following ethtool command:

ethtool -K eth0 tx off

Additional Support

The comments section right here is the best place for support. The second best place is the GitHub issues section.

I will add additional documentation based on what problems people are running into / questions people are asking because right now I’m not really sure what those will be yet. Definitely let me know if you need any of these things!

406 thoughts on “Minecraft Java + Bedrock Server Together – Geyser + Floodgate”

  1. Avatar for Theron Wilson

    Is it possible to change the install location? Its a huge hassle going to /var/lib/docker. I would like to install it to etc/home/user/minecraft

    1. Avatar for James A. Chambers

      Hey Theron,

      Sure. It uses normal Docker paths. Therefore if you wanted to use a custom location like that you’d do the same thing as with any Docker container:

      -v /etc/home/user/minecraft:/minecraft

      It’s probably not going to be as convenient as you are expecting since the files aren’t going to be owned by whatever user’s folder you’re putting this in. If they were the server would crash since Docker won’t be running as that user. If you want to put them in some other user’s folder though you can do that (or put them anywhere). They won’t belong to them still though which actually seems messier to me than just typing:

      sudo su
      cd /var/lib/docker/volumes/yourvolumename/_data

      Does that actually take you more than about 10-15 seconds? Why? How? Are you changing directories one at a time or something instead of doing it all in one step? Does the root user have some crazy 20+ alphanumeric + a bunch of symbols in the password you don’t have memorized? How is this a problem?

      You’d still need to sudo su and become root to do anything with them and changing the installation path won’t eliminate that requirement. If having to sudo is what you are really trying to get rid of here (and I assume it is because typing cd /var/lib/docker is not that hard especially compared to typing sudo su and entering the root password) this won’t help with that. You need a less secure configuration if becoming su and changing directories are that much of a burden here.

      If you don’t want Docker to manage the files then you’d probably just want to use the old standalone version and then install the Geyser plugin yourself to the plugins folder. That one will let you run it as a normal user. It’s much less secure of a configuration than letting Docker handle it but it will let you avoid having to sudo to edit the files or having to type cd /var/lib/docker. This sounds like what you want. I don’t recommend it to say the least (which is why I made this actually secure version after the log4j hacks and am not adding any more features to the standalone one).

      This is basically the definition of trading all of your security away for slight convenience. You should look up the log4j exploit videos on YouTube though and think really long and hard about this. There’s a reason everything is isolated. If you want to trade that away for a slightly easier path to type in then those options are definitely available.

      I’m sure it seems very convenient to people until their server (and entire machine) is exploited/hacked. Until it has happened to you though it’s pretty hard to try to explain to someone that leaving it in a secure sandboxed configuration actually was the more convenient option all along. The best I can do is refer people to look up the log4j exploit videos on Minecraft servers because if people understood the threat I’d get a lot more posts asking how they can harden the server even *more* rather than try to eliminate all the security so they don’t have to sudo or cd.

      It’s literally the way it is so that if your server gets exploited the attacker gets nowhere on the host machine and is stuck in a sandbox. It’s only been a little over a year since the last major hack and it was *bad*. The people running the Docker container would have still had their server exploited but since it’s sandboxed their machine itself would have been safe. Recovery would be as simple as restoring a backup.

      The people not running Docker? Entirely compromised to the point of needing an entire machine reimage and there’s montages of it all over the internet from the last major hack. No one knows when the next one will be but if you’re running it securely inside Docker (as intended) you’re protected in a way that standalone or weak/mixed permissions never will be (even from undiscovered 0-day exploits because the security is in the Docker/containerization model itself by isolating it from everything else on the system).

      Hopefully that helps!

      1. Avatar for Theron Wilson

        Hey thanks for the reply. I heavily appreciate you being concerned with everyone’s security. I’ve just decided to deal with the inconvenience. I was using WinSCP to move and transfer files because thats the easiest for me, but the permissions on the folders prevented me from entering/editing. So everytime I would have to run sudo chmod -R +777 on every directory until I reached the one I wanted to get to. There is probably a much easier way and I’m just stupid, but its worked for me. Actually, I ran into a new problem. I am using a plugin that is incompatible with ViaVersion. Is there anyway to remove ViaVersion? Everytime I try to remove it, it comes back. Thanks

        1. Avatar for James A. Chambers

          Hey Theron,

          Welcome back! So I got your GitHub issue and just added this in. It’s:

          -e NoViaVersion=y

          That will disable the plugin since my understanding is you are having compatibility issues with another plugin. Hopefully that helps!

  2. Avatar for Peter

    Hi again James,
    I hope your interviews went well.
    I understand that it’s not worth your while at the moment to add forge support.
    Maybe you can just help me debug getting the existing container up and running on the NAS? I seem to be going round and round in circles with the same error related to volumes.
    Will try to email details to your paypal email, but in case thay isn’t monitored / doesn’t work, please let me know. You should be able to email me or dm through my profile.
    Thanks!

  3. Avatar for TonyK

    Greetings, loving this server, thank you!

    Been running it for a while, and I just noticed this is popping up at startup:

    Starting org.bukkit.craftbukkit.Main
    *** Warning, you've not updated in a while! ***
    *** Please download a new build as per instructions from https://papermc.io/downloads ***

    Instructions appear simple enough, download new paper jar and replace. Only problem is I can’t seem to find the paper jar file on my install. I’ve been all through the volume and don’t know where to find it. Looking through the rest of the events, looks like I’m still on 1.19.2 (and a snapshot version of 1.19.2), but latest is 1.19.4. Is it perhaps a setting that I haven’t set to auto-update?

    [13:19:59 INFO]: This server is running Paper version git-Paper-307 (MC: 1.19.2) (Implementing API version 1.19.2-R0.1-SNAPSHOT) (Git: 476ef25)

    1. Avatar for James A. Chambers

      Hey TonyK,

      You can either do a:

      docker pull 05jchambers/legendary-minecraft-geyser-floodgate:latest

      Or you can do:

      -e Version=1.19.4

      The version is always within your control basically. If you pull the latest as in my first example it will change the default version to 1.19.4. You can always set it yourself with -e Version=1.19.4 though.

      Paper Minecraft 1.19.2 hasn’t been updated since December of 2022 which is why you are getting the notice. If you click 1.19.2 on the side you’ll see the last update was December of 2022 and you’ll see a big red “Legacy builds are not supported. Proceed at your own risk!”. That version is no longer supported by Paper and is considered a “legacy” version.

      You can update it at any time though by setting the Version to something other than the default or pulling an update to the Docker container (which will change the default that is put in if you don’t specify a -e Version=1.19.4).

      The only requirement is that the version actually exists on the Paper Minecraft servers. That means that when 1.20 comes out if you try to set -e Version=1.20 before the Paper Minecraft team has released that version (which doesn’t release at the same time as vanilla) then it wouldn’t work. The second you see it on that web site though I linked earlier it will work.

      Hopefully that helps!

          1. Avatar for João Grazina

            Hi James,

            You’ve been very patient with all of these folks, but rest assured you have lots of smiling kids on this end!
            I’m having the same predicament as Tony here. It did work with the -e Version 1.19.4 flag, but once I remove it, it falls back to 1.19.3.

            Now, I was able to check the versions folder, deleted the 1.19.3, and when launching with the flag, it updated the version_history.json to the current being 1.19.4.
            As soon as I remove the flag, it automatically upgrades (or in this case downgrades) to 1.19.3.

            The only reason I noticed this was because I wanted to op all the kids so they had all infinite effects and play super-heroes, and realised I wasn’t running the container with -it, so I restarted it and it started complaining their world was written in a newer version, a bunch of exceptions and an empty world with kids falling in the void.

            Could it be that somehow the “:latest” was moved back from 1.19.4 somehow?

            Thanks in advance for your help … and thanks anyway, if you don’t have time to reply!
            João

            1. Avatar for James A. Chambers

              Hey João,

              Welcome and thanks for the kind words, I’m so glad things are going well! So the main reason for this is likely that you need to pull the latest version of the container. This can be done with:

              sudo docker pull 05jchambers/legendary-minecraft-geyser-floodgate:latest

              To explain why the reason it’s working when you specify the version is that if there is no given version it falls back to the default. If the default in your container version is 1.19.3 then that’s why that keeps coming back. Pulling the latest should turn it back to 1.19.4.

              Hopefully that helps!

              1. Avatar for João Grazina

                Hey James,
                I got it to work indeed, without the -e Version flag. However, i had to pull from the repository without the :latest

                sudo docker pull 05jchambers/legendary-minecraft-geyser-floodgate

                Same for the new 1.20 version.

                Thanks again for your support!
                Kid’s are now building japanese gardens! 😂

              2. Avatar for James A. Chambers

                Hey Joao,

                That’s really interesting, I wonder why it didn’t want to work with the :latest tag! I’m very glad you got it working well though. The Japanese gardens actually sound pretty interesting / creative!

                Take care!

  4. Avatar for Michael

    Hello,
    everything is working fine on Rasberry Pi 4. The kids are playing on a Nintendo Switch. Therefore I have to modifie the DNS-Server in the switch to use a Bedrock connect server for connecting to private servers. Can I add my own Bedrock Connect DNS Server in this container, use another container for the bedrock connect server or does this will cause new conflicts by using the same port?

    1. Avatar for James A. Chambers

      Hey Michael,

      Great question! You can run 20 of them if you’d like. It doesn’t matter.

      Every single one of them will need different ports though for sure. You can never share ports. It won’t even start otherwise and that has nothing to do with the container. It takes exclusive use of whatever ports you assign. This includes the Bedrock port.

      -p 12345:12345/udp -e BedrockPort=12345

      If all of the ports are different you can have as many as you would like. This would be the same whether you are using the container or not basically. There is no such thing as port sharing for Minecraft. All of your Java ports will need to be different as well for each server or you’ll get the exact same errors.

      You can have your own special connect server but it won’t share ports with other servers. If you want that to be your default connect port then that’s the one you should set to the default port. Everything else will be behind a different port which is how the large servers that do this work as well unless you use some sort of additional plugin/system.

      This is covered in the documentation under “with custom ports”. That will show you the entire command you’ll need to use and it’s a nasty one. If you don’t include the -p 12345:12345/udp and the -e BedrockPort=12345 (and the exact same thing for the Java port but without the /udp) it won’t work. See the custom ports section for a working example and modify the ports in that example as needed. You can do that over and over again until your system runs out of resources.

      This seems like a standalone application and not a plugin. That means you won’t be able to use Paper/Bukkit/Spigot’s plugin system to accomplish this. You’ll need to self host that as described in the README or use one of the public instances. It would require it’s own Docker container to run this as it is not a plugin.

      It doesn’t seem like it’s necessary to self-host this. The developer seems to be discouraging it and asks for donations at the bottom to be used “toward the main instance”. Is there some reason you can’t use that? The developer of this application would be the one who would Dockerize it but it seems like their efforts are mostly going toward hosting a public one. They do let you self-host but it won’t be anything fancy. You’ll literally just type java -jar to run that standalone if you wanted to self-host it.

      Although it does seem like if you don’t self-host it your server might be on a public list. You probably don’t want that so I see your conundrum here. If that is the issue then your best bet is to use this tool as described in the README with just typing java -jar and running it that way. It’s not a plugin unfortunately.

      Have you tried this by chance? According to Apex Hosting you don’t need anything like this to do this. You just change the DNS servers on the Switch to 104.238.130.180 as the primary apparently (and 8.8.8.8 as the backup which is Google public DNS). This is probably just some hacked DNS server that will tell Bedrock whatever it wants to hear. No mention of requiring any tool like this so I’d really encourage you to try just setting the DNS servers to that instead and ditch the tool altogether. That article even includes Java servers running Geyser so from what I can tell none of that is necessary. Just use the hacked DNS server instead.

      Hopefully that helps!

      1. Avatar for Michael

        Hello James;
        Thank you for your great support! The idea of having my own DNS server came to me so that the children on the PC and the IOS tablet cannot use the public Bedrock servers, but only our own. I could edit the hosts file on a PC, but I don’t know how to do that on a tablet.
        Other questions:
        My daughter loves dogs. So I was looking for a plugin/mod/addon and found something called “better dogs”. It is offered as a texture pack or as a resource pack. The children play with the Bedrock Edition, but I have your Java server with Geyser as the server. Now I’m not sure if I can install this extension.
        In the Server.Properties I can specify texture packs. Now, when I join the Java server with a Bedrock client, does it offer me to install the package, or does it not work that way?
        For an update of the Docker container I would have to enter the pull command as described by Tonyk and it finds the correct container on its own? Or do I have to give all the arguments like port, version and volume again?
        The backups are now stored on my server. With a 500GB SSD, this shouldn’t be a problem in terms of space. But if I don’t need these automatic backups, could I deactivate them with which command?
        Best regards
        Michael

        1. Avatar for Michael

          Also, can I specify multiple texture packs in the file, or do I need to install Optifine on the client? It would probably be possible on the PC, but probably not on the Ipad and the Switch.

        2. Avatar for James A. Chambers

          Hey Michael,

          Welcome back! You can limit or eliminate the backups with:

          -e BackupCount=1 or -e BackupCount=0

          As far as using resource packs within Bedrock check out this post here.

          Also see the Geyser frequently asked questions:

          You can add Bedrock resource packs to your Geyser installation in the packs folder of wherever the Geyser config is located. Bedrock clients will automatically download and load those resource packs. There is currently no automatic Java-to-Bedrock resource pack conversion, but you can convert any Java resource pack to Bedrock using this tool and add that to your server. The converter currently only works with packs up until 1.17; you will need to use another converter, or, convert the pack yourself

          The mod you are installing seems to be for Fabric/Forge I’ll caution. This is not a Fabric or Forge server. This is a Paper / Spigot / Bukkit server basically. From the Better Dogs page:

          This resource pack works for minecraft versions 1.19.3 and below down to version 1.8.9.
          This resource pack requires Optifine(Forge) OR Fabric with the mods listed in the spoiler below to work.

          Since this is a totally different server stack I wouldn’t expect it to work. If it was just a resource/behavior pack it would probably be fine. If it needs Forge or Fabric though like it’s saying that’s not what this server is.

          People have asked me to make a Forge version before but I’ve covered that I’m really not interested in making/supporting more variants of these servers than I already am at this time. It’s a fruitless endeavor other than helping people out (rewarding on a feel-good level but it doesn’t pay the bills) and I’m all out of money/time to keep giving away basically. I was asked this only 19 days ago and gave a pretty detailed response on this.

          You could try running the Geyser conversion tool and setting up the resource/behavior pack as I linked to earlier but the page seems to say pretty clearly this is for Forge/Fabric and not Paper/Spigot/Bukkit. You are also correct that there is no Forge for Bedrock or any way to install client-side mods like that (outside of resource/behavior packs).

          Hopefully that helps!

          1. Avatar for Michael

            Hello James,
            I am very sorry that I understand so little about it, as I have to relearn everything. I thought there were only two versions of servers, Bedrock and Java. Now I realize that every fork has its peculiarity. I didn’t want you to start something new. I’m very happy with the current container, but would like to learn what I can modify and how. I didn’t realize that Forge or Fabric is another fork of Server
            Do I have to enter the command to end the backup function separately in the server console or where do I enter the command?

            1. Avatar for James A. Chambers

              Hey Michael,

              No worries at all! It might seem complex but the Paper Minecraft server is probably the most popular one. It’s actually compatible with Paper / Spigot / Bukkit plugins.

              For example all of the plugins here will work as long as they’ve been updated for the version of Minecraft that you’re running.

              All of these plugins here from Spigot will also work.

              These are much easier to use than the resource packs. All you do is download the .jar file and drop it in your plugins folder. I think just knowing where to get them makes a big difference. There’s something like 59,000 plugins on the Spigot site and probably even more on Bukkit.

              Some of them *might* require some resource packs. That should be possible to make work though as per my previous post. If it’s a Paper / Spigot / Bukkit plugin and you run the Bedrock conversion script on a resource pack it should work theoretically on both editions.

              Great question about the backup function. So this is an environment variable. The place you enter it is when you start the server. In the usage section I added this example:

              docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 -e BackupCount=1 --restart unless-stopped 05jchambers/legendary-minecraft-geyser-floodgate:latest

              There are a bunch more of these in the “Usage” section as well. All of these variables slightly tweak the behavior of the container. That should take care of the backups for sure. Thanks so much for sending a donation, I saw that this morning! It helps a lot (especially right now). You’re absolutely welcome any time and thank you!

              Hopefully that helps!

              1. Avatar for Michael

                Hello James,
                the server starts automatic at boot. So do I have to stop the server and then run the command with BackupCount=1? I´ve got some error massages in the server console. I´ve sent a screenshot of the masseges in Serverconsole to your email. PErhaps you can have a look.
                Best regards

              2. Avatar for James A. Chambers

                Hey Michael,

                Yes, the server needs to be stopped and restarted. You do this with:

                docker container ls
                docker container stop xxx

                While you have the server stopped go into your plugins folder and start deleting things. There are a bunch of incompatible plugins installed it looks like.

                Did you install ViaVersion yourself manually? It’s not updated. I just restarted my server and I have ViaVersion 4.6.3. This updates automatically so something seems wrong here like maybe you did a manual install before I added automatic updates to it from the container? Can you try a:

                sudo docker pull 05jchambers/legendary-minecraft-geyser-floodgate:latest

                Again, do not attempt any of this with the server open. You must close it first as per my earlier steps or none of this will do anything. It’s normal for ViaVersion to say there aren’t any compatible versions with 1.19.4. That’s because no newer versions exist yet. ViaVersion will only come into play when people are running something like 1.19.5 or 1.20 trying to connect to a 1.19.4 server for example. Since no such version currently exists it’s expected to get that warning for now. You should definitely have the latest 4.6.3 version though unless something is wrong or a manual install was done.

                The notice regarding running the server as root is wrong/obsolete. It’s running inside Docker. It’s completely isolated. The server is just too stupid to realize it’s running in a sandbox using Docker. It thinks it’s really running as root. It’s running as root inside of a fake isolated system within Docker which is far more secure than running it as a regular user. The server just has no idea what Docker is and it probably never will. It’s safe to ignore this.

                All of your other warnings are related to plugins. There’s nothing I can do about that. You need to read each message and do what it’s telling you to do for the plugins. For example you sent me highlighted:

                [Multiverse-Core] Buscript failed to load! The script command w
                ill be disabled! If you would like not to see this message, use `/mv conf enable
                buscript false` to disable Buscript from loading.

                First off the thing in the brackets [] tells you what is raising the warning. This time it’s the Multiverse-Core plugin. This message literally tells you how to solve it. If you want to eliminate that warning then type in /mv conf enable buscript false. If you type it directly in the console then just leave the / off the front of the command such as “mv conf enable buscript false”. I’ve literally never seen that warning before but it’s telling you what to do. Your other option is to stop using that plugin.

                Your “Essentials” plugin says it’s not compatible with this version. That should be deleted. You have that highlighted in red. You can also check for updates for it but it’s telling you that the version of Essentials you have installed does not support Minecraft 1.19.4. It should be removed.

                Same thing with TNTTweaks. I went to their plugin site here. This plugin doesn’t even support Minecraft 1.19. You can see in the listed versions it doesn’t support 1.19 at all let alone 1.19.4. This plugin should be deleted or you can contact the author and ask them to update it for 1.19.4.

                You have multiple TNT plugins installed. It looks like one of them is working. You just need to go through each warning you’ve sent to me here and follow what it says. I’ve never seen or used any of these plugins. Most of them don’t look compatible with modern Minecraft and should just be deleted. There are tons of plugins out there that have been abandoned and are never updated and you seem to have a lot of them installed here. Go into the plugins folder and start deleting all of this stuff that is giving you warnings and it should clean it up quite a bit here.

                Hopefully that helps!

              3. Avatar for Michael

                Hello James,
                You asked, if I Did install ViaVersion yourself manually? No! And pulling I get the massage “Your Image is up to date!” May the error is caused by an incompatible Plugin. Now the server is running fine. Can you explain, why mutliverse core as plugin for Java Servers is working also for the joined bedrock clients? With the EssentialX plugin, version 2.19.7, which is released for 1.19, still gave the error: you are running an unsupported server. Now I have taken a DEV Build 2.20. This runs without errors.
                To install resource packs for Bedrock, I should load the pack into Geyser’s packs folder. So it just adds one folder named pack, or do I have to add the subfolders? Do I then have to add a JSON file with the UUID and the version to activate the pack?
                At the moment I’m still trying desperately to install a special TNT pack (https://mcpedl.com/more-tnt-add-on/). Are my efforts in vain? After unpacking, this has a resource pack and a behavior pack. Do these two have to be in Geyser’s Packs folder for the addon to run?
                In some articles it says only tested up to version 1.18 and it still needs a datapack. If that’s true, could I run your server with version 1.18 to test this?
                Best regards

              4. Avatar for James A. Chambers

                Hey Michael,

                ViaVersion is a part of the container. It will let people connect when updates are released and haven’t been released for Paper Minecraft. That one will automatically install and update itself.

                For the Bedrock resource packs I honestly have no idea. I’d have to refer you to the Geyser FAQ about Bedrock resource packs again:

                How can I have Bedrock players load resource packs?

                You can add Bedrock resource packs to your Geyser installation in the packs folder of wherever the Geyser config is located. Bedrock clients will automatically download and load those resource packs. There is currently no automatic Java-to-Bedrock resource pack conversion, but you can convert any Java resource pack to Bedrock using this tool and add that to your server. The converter currently only works with packs up until 1.17; you will need to use another converter, or, convert the pack yourself

                I don’t recommend using these. It’s going to have all kinds of problems but it’s theoretically possible. You can’t just drop them in there though. They need to be converted. Anything that isn’t working probably needs to be posted to the Geyser team on their GitHub issues page.

                I’ve never attempted to do this nor would I. It looks half-baked to me to try and use these. It says the converter only works with resource packs up to 1.17 so the converter they are linking to probably isn’t going to work. They refer to “other converters”. I don’t know what those would be. You’re trying to do things beyond my knowledge here.

                Bedrock-specific resource packs is probably the hardest possible way to do this. I can’t help you get this to work because I’d never even attempt it. I’d find a plugin that does what I want rather than resort to Bedrock resource packs.

                For the version you can always change the version with:

                -e Version=1.18

                From what I’m reading you will have to go even older than that to use the converter tool that Geyser links to. It says 1.17 and not 1.18. It sounds like that should theoretically work. You’ll have to start a fresh server to test this because your server is going to have a bunch of features in it that 1.17 won’t understand and it will crash. Alternatively you could use Chunker to convert the world to the old 1.17 format.

                My advice would be to not bother with the resource packs. If it needs a resource pack then I would just disqualify it as a pretty terribly designed add-on and find another way. You mentioned that you were surprised that some of your Java plugins work on Bedrock. Basically *all* of your Java plugins will work on Bedrock. None of the Bedrock-specific stuff will work on Java though. It doesn’t go both ways. Java = good and compatible. Bedrock = bad and incompatible. If it’s Bedrock-specific then it should generally be avoided.

                Bedrock is Microsoft’s version of Minecraft basically. It has a fancy marketplace with all of these add-ons to try to provide a Microsoft ($$$) alternative to the Java modding scene. It’s not meant to play nice with Java and it never will. I avoid the Bedrock ecosystem like the plague for the most part because I understand why it exists and that it’s not meant to be your friend. The Java version is the original Minecraft version and predates Microsoft even buying the game. I understand that to play on Switch / consoles / etc. that you have to use Bedrock which is why this container is my preference for that. For heavy client-side modding though for Bedrock you are going to have to do it Microsoft’s way.

                I hate to say it but if you feel you must use these type of Bedrock resource packs and add-ons you should probably switch back to the Bedrock server. I’ve never had any trouble avoiding using any of these at all. There’s always a Paper / Bukkit / Spigot plugin that will do a similar thing to what I want. If it’s stuff that needs a bunch of new graphics and things like that put in then it’s going to be very hard to do this with Geyser. I’d consider that the heavy modding scene and that will probably need the proper Bedrock server.

                I still maintain that version for people who want to do things like this. It sounds like you aren’t going to be able to do what you want with this version though to me. You’re trying to do deep behavior pack and resource pack mods that are Bedrock-specific as well as new graphics and all of that. If you can even get this working through Geyser it wouldn’t work for Java clients. I think you just want to mod the game too heavily by the sound of it and are going to have to switch back to Bedrock if you want all of these to work correctly. If I had a gun to my head and had to install the specific mods you are trying to use I would not use Geyser for this and would use my Bedrock container.

                To put this a different way the way to think about this container is you are running a *Java* server that Bedrock clients can connect to. That’s why installing the Java plugins will work on both editions. This doesn’t go both ways though. You don’t generally get to use Bedrock resource packs/mods even though it’s theoretically possible (there’s a lot of caveats not the least of which seems to be you need to be running a much older version). You aren’t running a Bedrock server so you shouldn’t be installing Bedrock mods/plugins/resource packs. If you need to use Bedrock-specific resource packs/mods then you need to be running the Bedrock server.

                Hopefully that helps!

  5. Avatar for elborderas

    Hi,
    It seems that my kid’s devices have updated to a beta version (1.19.80.22) and now cannot connect to my server:

    Outdated Geyser proxy! This server supports the following Bedrock versions: 1.19.30/1.19.31, 1.19.40/1.19.41, 1.19.50/1.19.51, 1.19.60, 1.19.62, 1.19.70/1.19.71

    Is there a way I can fix this?

    Thanks

    1. Avatar for James A. Chambers

      Hey elborderas,

      They need to unenroll from the beta. This can take some time. I believe the way you unenroll is with the Xbox insider app.

      You can also try updating to the latest version of the container. The latest version of the container has ViaVersion which should let newer versions online. You can try pulling the latest version and see if ViaVersion takes care of it.

      The beta might be too new though. It’s really a pain to remove it. After you unenroll it may be several hours before the client downgrades back to the normal version. I believe you need the Xbox Insider app to unenroll. It’s not that easy to enroll in this accidentally.

      Hopefully that helps!

      1. Avatar for elborderas

        Thanks.
        I did pull the latest version of the container which has ViaVersion but it didn’t work with the beta.

        The app was in Android so i uninstalled the App, unenrolled from the Beta program and installed again. I believe they are now in 1.19.71 and it works.

        Probably the beta is too new

        1. Avatar for James A. Chambers

          Hey elborderas,

          Thanks for confirming you already had ViaVersion. I was about 50/50 on whether that would be able to take care of it. It’s also possible ViaVersion will add support for one of those newer betas in an update shortly. That’s especially likely if you think they may have already had the beta installed for a while. It probably means a new beta came out and ViaVersion hasn’t added support for the newest one yet.

          That’s a pretty fast unenroll, that’s great news! Thanks again for confirming. Enjoy and take care!

          1. Avatar for elborderas

            Thanks for taking care, like always. I did see some errors or warnings when starting the container around ViaVersion but that may be expected. I didn’t manage to capture the logs. I’ll check next time I restart the container, in case it helps

  6. Avatar for Tom Salmon

    Hello James.

    Id like to run the latest minecraft snapshot on the server.
    Is this possible ? If so, how pls.

    Thanks

    Tom

    1. Avatar for James A. Chambers

      Hey Tom,

      No this is not possible. There’s no Paper Minecraft server for the snapshots. Those are vanilla only which means every feature this container has wouldn’t work. There’d be no Geyser or Floodgate or anything like that. All of the configuration wouldn’t work as well.

      Hopefully that helps!

    1. Avatar for James A. Chambers

      Hey Edward,

      Don’t sweat it at all! The good news is that this is fixed now once and for all. It won’t happen next update because ViaVersion is permanently implemented now specifically for this reason.

      Enjoy and take care!

Leave a Comment

Your email address will not be published. Required fields are marked *

Type here..

Exit mobile version