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 Edward

    Hello! Can’t thank you enough for this amazing docker container. I’ve been semi-successfully implementing it, but there was a recent update to 19.4 and my server is no longer accessible. I’ve restarted it several times over the last few days hoping there would be an update that would allow me to connect, I’m just wondering if I just need to keep waiting. This is the server error I’m seeing:
    *[Geyser-Spigot] Your server software does not support the Java version that Geyser requires (1.19.4). Please install ViaVersion or update your server software!*

    It’s running on a Mac mini, fyi.

    Thanks again!

  2. Avatar for Peter

    Thanks for this container, great work!
    I’m trying to replace my NAS hosted docker bedrock servers with forge server for my son to play from his Xbox. So this cross-platform container would be great if updated to forge. Is that possible? I’m struggling to find a cross-play docker container with forge pre-loaded. Thanks

    1. Avatar for James A. Chambers

      Hey Peter,

      I could probably make it in 30 minutes but I already have 4 containers to maintain. Every once in a while people will chip in a $5 donation but I’m about to go back to work. I’ve been working full-time on the web site for the past 2 years. I thought these projects would help but they haven’t. They don’t bring in any money. Meanwhile I just paid my gas bill of $160 and my electric bill of $180 this morning and I’m just looking at it like, what am I doing? I have several interviews scheduled next week.

      I made the Purpur container for a $200 donation. That’s the only reason the Purpur variant even exists. That $200 represents most of the money I’ve ever made off making these containers. That’s probably more than all other donations combined over the years. I do have 2 GitHub sponsors (one of which is the original Purpur donor). That’s about $30 a month. If I had 20-30 instead I might have been able to make this work to be honest with you. At this point with nearly 10k pulls on all of the different containers I can safely say that’s not going to happen. It’s literally 1 in 10,000 people would sponsor.

      That’s probably why nobody makes them. I won’t be making any more any time soon. If I make them it will be after I have changed jobs and just want to build up my project experience. Even that’s a pretty weak case though. I have 4 Minecraft containers already, is anyone going to be impressed by 5? There’s nothing in it for me. That’s why I don’t make one and probably why nobody else does either.

      To be clear the containers are free. I am not asking for money for them. I definitely thought if they were popular though that maybe some opportunities would arrive that would make it work. They didn’t. I’m not looking to take on more of these. These were an absolute failure as far as me trying to become an independent web master / creator. I’m now left wondering where I’d be at if I didn’t put my time / energy into these free projects and just wrote more content instead. I truly didn’t understand how big an open source project has to be to be able to bring in *anything* whatsoever. If I had I would have known I needed another 2-3 years worth of funds to try to do this (and knowing that I wouldn’t have chosen this path period).

      At this point my price to make it would be thousands. I simply am not in a position to make this stuff for free for whoever wants it anymore. Once I’m working again for a while I might make more just because I feel like it and for my own reputation but you have to understand that is *all* that I get from making these. Reputation. I don’t need reputation right now though. I need money and this is not a profitable endeavor. The IT jobs I’m looking at are about 70-80K per year and my independent earnings last year were something like 30K (none of it from these projects).

      For the few people that sent $5 recently you honestly have no idea how much that helps in this moment. Understand though that you are a precious few indeed. If I thought this would scale by making more containers I would have done so. That was the original plan. It just really doesn’t. To scale this to even a few hundred dollars a month they’d have to be what, 50x-100x bigger than they are now? Even with people’s existing generosity we are talking about $15 for this update. Do the math on how much we’d have to scale that to even pay my electric and gas bill I mentioned earlier. It’s not going to happen. I don’t need tens of thousands of pulls for this project to make any sense given the numbers I just shared. I need millions. That 1 in 10,000 number of people willing to sponsor/donate would work with millions of pulls.

      That’s not even taking into account that I actually have to *pay* $60 a year for that Docker account. Fortunately people’s donations have covered that. They’ll cover the $60/year. That’s about it though. The Purpur donation for $200 paid for 3 years of Docker hosting for all of the containers. That’s why I made a whole container for that donation. I wouldn’t do it again though for $200. I’ll be maintaining that version for years if not forever now for nothing. I didn’t pick up any additional sponsors really from the Purpur version and I doubt I would from the Forge version either. Hopefully you can see why maintaining a 5th version for nothing not only doesn’t appeal to me but it would arguably be self-destructive if I made it at this point. More time, more responsibility, more issues, more problems, zero additional money or benefit.

      To be clear I wasn’t expecting it to make very much money. I didn’t need it to make very much though. I figured I could maybe get it up to a dozen sponsors and have GitHub double their contributions to make it maybe like a few hundred dollars per month. I was so, so, so far off from even how hard it is to do that. There’s very few people out there willing to do that and the people that are in that position almost always give their money to people who don’t need it on GIANT projects instead in my experience. That few extra hundred dollars per month though would have basically made my subsidy funds probably last through the end of the year but it’s already game over.

      These are very much *me* problems here. I’ll be alright. I’ll be working a normal job and I’ll still make my independent money on the side so my attitude might change dramatically when I just have a bunch of money again. I just wanted to explain why this makes absolutely no sense to me to pursue at this time. I think I’d rather make these on the side for free like I have been but that’s a luxury. It always was a luxury. I just didn’t realize it and that there really is no money to be made doing anything like this. Not even a little. Thousands of servers isn’t enough.

      I think what I’m saying is that I would love to but I can’t. I’ve got to go in a completely different direction or I’m going to lose everything. I already view making them as a mistake at this point because like I said if I had just made content instead I may be in a lot better shape here because the return on these is 0 or less. It actually cost me a lot of money and time and I’m out of both to give away. Check back with me 6 months to a year from now and I very much might feel like making one of these on a weekend.

      Unfortunately to get that privilege back I will have to give up my independence and work for some company again. I know it’s going to be a tough adjustment after being independent for two years. I’m absolutely dreading it and I can’t imagine I will be in the mood to do stuff like this again any time soon as it left a pretty bitter taste in my mouth and arguably is a big part of the reason I didn’t make enough content fast enough to stay independent before I ran out of the money that I had saved to subsidize building the business. I really wish I had the few months I published all of these containers over back and had been publishing articles that whole time. That was precious time / money / opportunity that is gone.

      In other words the things that are better about my web site (such as no ads and data harvesting) and projects such as the Minecraft containers are exactly why I couldn’t make enough money to sustain it as a job. I’d need to start collecting your data, serving ads, paywalling features (or making a “premium” version) and all sorts of other things like everyone else does and I’ve just never been willing to do that.

      There is no reward for turning down that dirty money though other than how I feel about myself. Having principles is very expensive. Let’s be honest here and recognize that almost nobody is going to sponsor or donate. I really kind of understand why other people/sites/projects operate the way they do even though I look down on it and would literally rather go take a job somewhere else than compromise those principles. They wouldn’t exist otherwise just like this Forge version won’t exist any time soon because I understand that now. These containers are a bit of an anomaly because they only exist because I didn’t understand how stupid and unsustainable of a model it was.

      I also want to make clear that I’m not angry with anyone using the container over this or trying to shame anyone. This isn’t about any one individual or their circumstances. If people don’t have money to donate / support I can completely understand that. I don’t either as I’ve just explained. I’m talking about the overall numbers and the statistics. I’m talking about 2 sponsors over about 25,000 pulls on the container. Those are the numbers that are so harrowing where it’s like, okay I’m already pretty big, but I would need to be 50x-100x bigger for this to even pay a couple of my bills each month. It’s the scale of how bad it really is that is shocking to me and just how unsustainable that is. If *that* many people can’t or won’t sponsor / donate to the point where it’s 1 in 10,000 that becomes insurmountable. The only way that works for me is if I go back to work and let them just grow in the background and forget about them (other than maintaining them) which is pretty much exactly what I am going to have to do.

      Hopefully that helps explain it!

  3. Avatar for DeltaGemini

    It’s working great so far, but I’m wondering if the default install method noted above will automatically update to the latest version of Paper? I’ve been getting an error after my phone updated my Bedrock client to 1.19.4 that the server was still on 1.19.3. i can see that Paper only has beta support for 1.19.4, so maybe that’s why my server isn’t updating?

    Also, I’d like to run dynmap which requires port 8123 exposed. Can I just publish a new network port for it, or would I need additional configuration?

    Many, many thanks for the image and the help!

    1. Avatar for James A. Chambers

      Hey DeltaGemini,

      No, it won’t update major Minecraft revisions automatically. This is controlled by your settings. Just pull the container again with:

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

      That will just update the default version it’s using though. You don’t even need to update necessarily. You can change versions any time to anything you want by just using:

      -e Version=1.19.4

      As long as it’s on the Paper Minecraft servers it will work just fine. You never need to wait for updates. You can also run older versions if you would like. That’s actually very common which is why this is just a setting.

      In other words you’re just talking about the default settings. This is completely within your control without updating. The server isn’t stored in the container. It’s stored in your volume and it downloads the version you request via your settings. If you don’t request any then you get the default version.

      One change I made was that I added the ViaVersion plugin in the newest version. This allows people to connect even if they are running a newer client than your server is running (very handy because Bedrock doesn’t let players choose their version, it always updates them to the latest version even if the server hasn’t). You might want to pull it for that reason. It won’t have anything to do with updating the version though. That’s always within your control. You’d just pull it to get the new features.

      Between adding ViaVersion and using -e Version= I’ve almost completely eliminated how many posts and GitHub issues I get every Minecraft update about this. I’m honestly hoping for 0 after everyone starts getting ViaVersion installed. Most of the posts this time were about Bedrock clients being unable to connect to 1.19.3 servers (which is now fixed with ViaVersion). This was the fewest I’ve ever got any update so it’s getting there. Before it used to be so bad that I was legitimately not sure why I continued to maintain it as it was basically this post x 20 or more every Minecraft update. It’s way better for you guys this way too to leave it as an option within your control.

      With these changes I simply do not need to update the container every Minecraft update. Nobody is waiting for me to do anything anymore fortunately. I only do it to change the default settings for new installations pretty much. Fortunately as a server operator though you are not dependent on me really for any of this. It’s been designed to let you control it. If I died then updating the container for future Minecraft updates would be as simple as -e Version=1.20, or -e Version=1.21. It would keep working as is (unless Paper changes their API servers or some other breaking change is made eventually).

      As far as Dynmap yes you’d just expose the port. That’s exactly right:

      -p 8123:8123

      Hopefully that helps!

      1. Avatar for DeltaGemini

        That’s perfect, and I appreciate ViaVersion being integrated. Thank you so much for the image and the help!

  4. Avatar for Sebastian

    Is there a way of getting permanent access rights to the volumes folder of docker? I tried chmod 0777 and it is set but it looks as if the rights are somehow lost after re-loggin.

    1. Avatar for James A. Chambers

      Hey Sebastian,

      So not for Docker volumes. Docker volumes are considered managed by Docker. If you want to use regular volumes you can actually pass a regular folder instead of a volume name. For example:

      docker run -it -v /path/to/yourfolder:/minecraft

      This would change it to using a regular folder. You’d need to copy all of the files over and I’d imagine you will still have ownership issues.

      It’s really not good to access the volume (or folder) files when the server is running. It’s not designed for it and that has more to do with Minecraft itself than the volume or folder. It expects while it’s running that it has ownership/control of the files. It doesn’t expect other things to be editing them.

      I’d imagine that using a regular volume will make it easier to deal with this though. Just keep in mind that those files are not designed to be accessed by anyone while it’s running (just like if you were trying to touch a database’s disk file while database software is running). It’s really only safe to edit the files while it’s completely closed.

      Also keep in mind that if the files have the wrong ownership the server will crash. This is extremely common. My script takes ownership of the files each startup to prevent this but you’re going to start running into random crashes if you disabled that mechanism.

      For example an extremely common thing that happens on both Java and Bedrock is people go in and edit server.properties on Linux with a different user that runs the server. They will then start getting mysterious crashes which are extremely hard to diagnose as all you’ll get is a really nasty stack trace in Minecraft. That’s why one of the checks when the server runs is to make sure it takes ownership of all of the files to prevent those crashes.

      Probably the best way to get more control over this is to use a local shared OS mount instead of a Docker volume. That way you will only be fighting with the Minecraft server over the file permissions instead of both Docker and the Minecraft server and the Minecraft server is a lot more lenient. I don’t think the permissions you are proposing will cause a problem for the Minecraft server (unless you’re changing ownership).

      Docker on the other hand expects to own the volumes folder. It’s insecure to set the permissions this open for the volumes folder so each time the service is starting it’s fixing your security settings on the folder automatically. You’ll probably need to use a shared OS mount to set it this open but I don’t think that should be a problem for the server if you configure it that way (docker run -it -v /path/to/yourfolder:/minecraft). Docker is just trying to protect you and your volumes basically but using a shared OS mount changes that as Docker doesn’t expect to own a shared OS mount in the same way it does a Docker-specific volume (it’s “shared” with the OS instead of outright owned by Docker in that scenario).

      Just keep in mind that permission-related crashes are one of the most common crashes for Minecraft servers. If you start seeing mysterious crashes that give stack traces that don’t really make a lot of sense (especially right when starting up) permissions is usually the cause (with outright corruption being the next most likely reason). Given that make sure you have good working backups of the server before attempting any of these suggestions just to be sure. As long as you have those you are safe and have some room to experiment here to get things right (or acceptable for your configuration at least) without much risk.

      Hopefully that helps!

      1. Avatar for Sebastian

        Hi and thanks for your quick reply. When I use my own folder, I can see the files, but as you said, the owner is still “root”. What I don’t get is, how do you manage plug-ins if you can’t access the files? I should also point out that the server is running on Ubuntu Server w/o a GUI. So it is just that little bit more uncomfortable.
        Can you also explain to me, what console the server is using? Apparently it not screen, since the standard screen commands do not work and it is not shown by screen in contrast to the Bedrock server that is running fine. I just would like to know how I can detach from the console and reattach later on.
        Thanks again!

        1. Avatar for James A. Chambers

          Hey Sebastian,

          Great question. So the way I do it is by simply using sudo. If you just type:

          sudo su

          You actually become root. You can then do whatever you want basically. Let’s say I wanted to download this plugin. If I go there and download it with my browser I can tell it to give me the link of the downloaded file:

          https://mediafilez.forgecdn.net/files/3677/516/worldguard-bukkit-7.0.7-dist.jar

          Okay. So to install this I would go:

          james@pop-os:~$ sudo su
          [sudo] password for james:
          root@pop-os:/home/james# cd /var/lib/docker/volumes/minecraft/_data/plugins/
          root@pop-os:/var/lib/docker/volumes/minecraft/_data/plugins# wget https://mediafilez.forgecdn.net/files/3677/516/worldguard-bukkit-7.0.7-dist.jar
          --2023-03-12 08:51:59-- https://mediafilez.forgecdn.net/files/3677/516/worldguard-bukkit-7.0.7-dist.jar
          Resolving mediafilez.forgecdn.net (mediafilez.forgecdn.net)... 18.160.143.6, 18.160.143.7, 18.160.143.51, ...
          Connecting to mediafilez.forgecdn.net (mediafilez.forgecdn.net)|18.160.143.6|:443... connected.
          HTTP request sent, awaiting response... 200 OK
          Length: 1168769 (1.1M) [application/java-archive]
          Saving to: ‘worldguard-bukkit-7.0.7-dist.jar’

          worldguard-bukkit-7.0.7-dis 100%[=========================================>] 1.11M --.-KB/s in 0.08s

          2023-03-12 08:51:59 (14.7 MB/s) - ‘worldguard-bukkit-7.0.7-dist.jar’ saved [1168769/1168769]

          root@pop-os:/var/lib/docker/volumes/minecraft/_data/plugins# ls
          bStats floodgate Floodgate-Spigot.jar Geyser-Spigot Geyser-Spigot.jar worldguard-bukkit-7.0.7-dist.jar
          root@pop-os:/var/lib/docker/volumes/minecraft/_data/plugins#

          Done. Plugin installed (when the server restarts). Now you can type “exit” to leave sudo.

          Now as for attaching and detaching it’s almost exactly the same as screen. To detach press Ctrl-P, followed by Ctrl-Q. The Docker container will immediately detach to the background.

          To reattach you do:

          docker container ls
          docker container attach xxxx

          The docker container ls will give you the container ID and then the docker attach command will reattach you. Hopefully that helps!

          1. Avatar for Sebastian

            Ah, I see, I completely forgot about sudo su. Thanks!
            Now one last question, how do I start the server automatically when the PC starts? I use systemd services for the Bedrock server, but will this also work with the standard Docker config? Or the other way round, is the docker run -it…. command intended to be used to start the server in the first place?

            1. Avatar for James A. Chambers

              Hey Sebastian,

              Your Docker start command determines this basically:

              docker run -it -v yourvolumename:/minecraft -p 25565:25565 -p 19132:19132/udp -p 19132:19132 --restart unless-stopped

              The very end tells it to restart it unless it’s specifically stopped. This will do what you’re looking for.

              Hopefully that helps!

  5. Avatar for Sebastian

    Hi,
    thanks for all your effort!
    I am using your Bedrock version and this works w/o issues. However when I try to follow this tutorial I end up getting an error message that the server can’t be started since the ports are already in use. I am using the custom ports 54321. It did start the very first time and created all of the files and folders. But now it seems as if is no longer working. Also I don’t get how the server is restarted when the PC is booting up. Is there a simple way as for the Bedrock tutorial working with bash files as start.sh and stuff? I am not a Linux pro so I am pretty lost at the moment.

  6. Avatar for DeltaGemini

    I have no idea what is causing this, but I can’t OP my Bedrock player. I’ve set the correct UUID and name in op.json, but the player still doesn’t have the rights in-game.

    1. Avatar for James A. Chambers

      Hey DeltaGemini,

      It’s best to do this with the “op” command for sure within the console such as:

      op "player name"

      You can bring up the console with:

      docker container ls
      docker container attach xxxx

      Almost certainly you are not creating this file correctly by hand. Look at what the file looks like after I use the built-in server commands to op myself:

      root@pop-os:/var/lib/docker/volumes/minecraft/_data# cat ops.json
      [
      {
      "uuid": "f1c85b45-b16e-41a1-8887-186666e71c46",
      "name": "remote__",
      "level": 4,
      "bypassesPlayerLimit": false
      }

      I’d definitely let Bedrock create this for you. It could be a lot of things. If you used a capital A instead of a lowercase A in the UUID that would be enough to break it. If there were any spacing errors or the fields were in the wrong order that could break it too.

      I’ve never created this file by hand though. I always just op them with the server console. The files are definitely not a fun way to try to manage these. Hopefully that helps!

        1. Avatar for James A. Chambers

          Hey DeltaGemini,

          Oh yes, I didn’t even think of that issue but that has come up before. That makes perfect sense. They are different for some reason (they actually look quite a bit different). I think the Geyser layer makes us forget that under the hood things are working a little differently in some subtle ways like that.

          Thanks for letting us know what it was, enjoy and let me know if I can help further!

  7. Avatar for makakam

    I have a problem with permissions on this server. I have a plugin and permissions for it are set like that: https://apm.anonify.eu/g4wnlb6g.jpg The problem is they work only once, I mean when I leave the server and rejoin it after a couple of minutes they are broken even though they are still set in luckperms. Only restarting the server fixes it but only for one connection. Why is that?

    1. Avatar for James A. Chambers

      HYey makakam,

      You’ll have to check the server console. It will be filled with errors I’m sure. This will have to do with the plugin installed and you’ll need to ask the author most likely.

      I can’t really speculate further as you didn’t mention the plugin name. It doesn’t actually matter though. If any plugin isn’t working it will be throwing errors in the console. That’s the only way to figure out what is going wrong and it’s the same with every plugin for Minecraft.

      Hopefully that helps!

Leave a Comment

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

Type here..

Exit mobile version