{"id":19381435,"url":"https://github.com/theremote/minecraftbedrockserver","last_synced_at":"2025-05-14T23:06:58.372Z","repository":{"id":37550131,"uuid":"169833898","full_name":"TheRemote/MinecraftBedrockServer","owner":"TheRemote","description":"Sets up a Minecraft Bedrock dedicated server on Ubuntu with options for automatic updates and running at startup","archived":false,"fork":false,"pushed_at":"2024-12-01T18:39:57.000Z","size":36535,"stargazers_count":842,"open_issues_count":6,"forks_count":180,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-10T10:03:50.945Z","etag":null,"topics":["bedrock-dedicated-server","bedrock-edition","dedicated-game-server","dedicated-server","minecraft","raspberry-pi","server"],"latest_commit_sha":null,"homepage":"https://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheRemote.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["TheRemote"]}},"created_at":"2019-02-09T05:05:56.000Z","updated_at":"2025-04-02T13:54:56.000Z","dependencies_parsed_at":"2024-11-17T10:01:31.380Z","dependency_job_id":"02f6d4d8-91e0-45df-b3ed-7974714016f0","html_url":"https://github.com/TheRemote/MinecraftBedrockServer","commit_stats":{"total_commits":241,"total_committers":16,"mean_commits":15.0625,"dds":"0.27800829875518673","last_synced_commit":"a9ff4f94f10a0932fdf6f7d4cc85fc93c753ba40"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FMinecraftBedrockServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FMinecraftBedrockServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FMinecraftBedrockServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FMinecraftBedrockServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheRemote","download_url":"https://codeload.github.com/TheRemote/MinecraftBedrockServer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243362,"owners_count":22038046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bedrock-dedicated-server","bedrock-edition","dedicated-game-server","dedicated-server","minecraft","raspberry-pi","server"],"created_at":"2024-11-10T09:17:10.973Z","updated_at":"2025-05-14T23:06:53.346Z","avatar_url":"https://github.com/TheRemote.png","language":"Shell","funding_links":["https://github.com/sponsors/TheRemote"],"categories":[],"sub_categories":[],"readme":"# Minecraft Bedrock Server\n\n[日本語版 README はこちら](https://github.com/TheRemote/MinecraftBedrockServer/blob/master/README_jp.md)\n\nSets up a Minecraft Bedrock dedicated server on Ubuntu / Debian with options for automatic updates, backups and running automatically at startup.\u003cbr\u003e\nView installation instructions at: https://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/\u003cbr\u003e\n\u003cbr\u003e\nIf you are looking for a Docker containerized version of the Minecraft Bedrock Dedicated Server, it is available here:  \u003ca href=\"https://github.com/TheRemote/Legendary-Bedrock-Container\"\u003ehttps://github.com/TheRemote/Legendary-Bedrock-Container\u003c/a\u003e\n\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eSets up the official Minecraft Bedrock Server (currently in alpha testing)\u003c/li\u003e\n  \u003cli\u003eFully operational Minecraft Bedrock edition server in a couple of minutes\u003c/li\u003e\n  \u003cli\u003eUbuntu / Debian distributions supported\u003c/li\u003e\n  \u003cli\u003eSets up Minecraft as a system service with option to autostart at boot\u003c/li\u003e\n  \u003cli\u003eAutomatic backups when server restarts\u003c/li\u003e\n  \u003cli\u003eSupports multiple instances -- you can run multiple Bedrock servers on the same system\u003c/li\u003e\n  \u003cli\u003eUpdates automatically to the latest or user-defined version when server is started\u003c/li\u003e\n  \u003cli\u003eEasy control of server with start.sh, stop.sh and restart.sh scripts\u003c/li\u003e\n  \u003cli\u003eAdds logging with timestamps to \"logs\" directory\u003c/li\u003e\n  \u003cli\u003eOptional scheduled daily restart of server using cron\u003c/li\u003e\n  \u003cli\u003e*NEW* Box64 support for 64 bit ARM (aarch64) which greatly improves emulation speed over QEMU by translating some system calls to native system calls\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eQuick Installation Instuctions\u003c/h2\u003e\nTo run the installation type:\u003cbr\u003e\n\u003cpre\u003ecurl https://raw.githubusercontent.com/TheRemote/MinecraftBedrockServer/master/SetupMinecraft.sh | bash\u003c/pre\u003e\n\n\u003ch2\u003eInstallation Guide\u003c/h2\u003e\n\u003ca href=\"https://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/\"\u003eMinecraft Bedrock Dedicated Server Script Installation / Configuration Guide\u003c/a\u003e\n\n\u003ch2\u003eInstalling Resource Packs / RTX Support\u003c/h2\u003e\n\u003cp\u003eFor instructions on how to install resource packs (including optional RTX support), view my \u003ca href=\"https://jamesachambers.com/minecraft-bedrock-server-resource-pack-guide/\" target=\"_blank\" rel=\"noopener\"\u003estep-by-step Minecraft Bedrock Dedicated Server Resource Packs / Optional RTX guide here\u003c/a\u003e.\u003c/p\u003e\n\n\u003ch2\u003eTested Distributions\u003c/h2\u003e\n\u003cul\u003e\n \u003cli\u003eUbuntu / Ubuntu Server 22.04\u003c/li\u003e\n \u003cli\u003eUbuntu / Ubuntu Server 20.04\u003c/li\u003e\n \u003cli\u003eUbuntu / Ubuntu Server 18.04\u003c/li\u003e\n \u003cli\u003eDebian Stretch / Buster\u003c/li\u003e\n\u003c/ul\u003e\n  \n\u003ch2\u003eTested Platforms\u003c/h2\u003e\n\u003cul\u003e\n \u003cli\u003eAll PC X86_64 (WORKING)\u003c/li\u003e\n \u003cli\u003e\u003ca href=\"https://jamesachambers.com/udoo-x86-microboard-breakdown/\"\u003eUdoo X86 (WORKING)\u003c/a\u003e\u003c/li\u003e\n \u003cli\u003e\u003ca href=\"https://jamesachambers.com/install-ubuntu-server-18-04-on-intel-compute-stick-guide/\"\u003eIntel Compute Stick (WORKING)\u003c/a\u003e\u003c/li\u003e\n \u003cli\u003eOther X86_64 platforms (WORKING)\u003c/li\u003e\n  \u003cul\u003e\u003cli\u003eARM 64bit (WORKING -- speed improved with Box64)\u003c/li\u003e\n    \u003cul\u003e\n      \u003cli\u003eRaspberry Pi 64 bit (WORKING -- Box64)\u003c/li\u003e\n      \u003cli\u003eRaspberry Pi 32 bit (WORKING -- VERY SLOW -- 64 bit recommended!)\u003c/li\u003e\n      \u003cli\u003eTinkerboard (WORKING, 32 bit is slow, 64 bit uses Box64)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/ul\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eMultiple Servers and Installation Paths\u003c/h2\u003e\n\u003cp\u003eThe server supports multiple servers at once.  When you run SetupMinecraft.sh again, pick the identical root path as any previous servers.  The path structure of the scripts is $ROOTPATH/minecraftbe/yourservername, which is why the \"root\" path SetupMinecraft.sh asks you for should always be the same.\u003c/p\u003e\n\u003cp\u003eThe individual server folder is determined by the \"server name\" you enter for your server.  If it's an existing server, the scripts will be safely updated.  If it's a new server, then a new folder will be created under $ROOTPATH/minecraftbe/newservername.\u003c/p\u003e\n\u003cp\u003eKeep the installation path the same for all servers and the script will manage all this for you.\u003c/p\u003e\n\n\u003ch2\u003eVersion Override\u003c/h2\u003e\nYou can revert to a previous version with the revert.sh script included in your directory like this: \u003cpre\u003e./revert.sh\nSet previous version in version_pin.txt: bedrock-server-1.19.10.20.zip\u003c/pre\u003e\nIf you have a specific version you would like to run, you can also create version_pin.txt yourself like this: \u003cpre\u003eecho \"bedrock-server-1.18.33.02.zip\" \u003e version_pin.txt\u003c/pre\u003e\nThe version hold can be removed by deleting version_pin.txt.  This will allow it to update to the latest version again!\n\n\u003ch2\u003eTroubleshooting Note - Oracle Virtual Machines\u003c/h2\u003e\nA 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.\u003cbr\u003e\nThe symptom you will have is that nobody will be able to connect.  This is not because of the second set of ports that it shows after startup (that is a nearly 3-4 years now old Bedrock bug and all servers do it).\u003cbr\u003e\nIt is because there are several steps you need to take to open the ports on the Oracle VM.  You need to both:\u003cbr\u003e\n\u003cul\u003e\n  \u003cli\u003eSet the ingress ports (TCP/UDP) in the Virtual Cloud Network (VCN) security list\u003c/li\u003e\n  \u003cli\u003e*and* set the ingress ports in a Network Security Group assigned to your instance\u003c/li\u003e\n\u003c/ul\u003e\u003cbr\u003e\nBoth 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.\u003cbr\u003e\u003cbr\u003e\nI 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.\u003cbr\u003e\u003cbr\u003e\nHere are some additional links:\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003ehttps://jamesachambers.com/official-minecraft-bedrock-dedicated-server-on-raspberry-pi/comment-page-8/#comment-13946\u003c/li\u003e\n\u003cli\u003ehttps://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/comment-page-53/#comment-13936\u003c/li\u003e\n\u003cli\u003ehttps://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/comment-page-49/#comment-13377\u003c/li\u003e\n\u003cli\u003ehttps://jamesachambers.com/legendary-minecraft-bedrock-container/comment-page-2/#comment-13706\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eTroubleshooting Note - Hyper-V\u003c/h2\u003e\nThere is a weird bug in Hyper-V that breaks UDP connections on the Minecraft server.  The fix for this is that you have to use a Generation 1 VM with the Legacy LAN network driver.\u003cbr\u003e\nSee the following links:\u003cbr\u003e\n\u003cul\u003e\n\u003cli\u003ehttps://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/comment-page-54/#comment-13863\u003c/li\u003e\n\u003cli\u003ehttps://jamesachambers.com/minecraft-bedrock-edition-ubuntu-dedicated-server-guide/comment-page-56/#comment-14207\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eBuy A Coffee / Donate\u003c/h2\u003e\n\u003cp\u003ePeople have expressed some interest in this (you are all saints, thank you, truly)\u003c/p\u003e\n\u003cul\u003e\n \u003cli\u003ePayPal: 05jchambers@gmail.com\u003c/li\u003e\n \u003cli\u003eVenmo: @JamesAChambers\u003c/li\u003e\n \u003cli\u003eCashApp: $theremote\u003c/li\u003e\n \u003cli\u003eBitcoin (BTC): 3H6wkPnL1Kvne7dJQS8h7wB4vndB9KxZP7\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eUpdate History\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eDecember 1st 2024\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed download URL\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eOctober 1st 2023\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFix gpg key import for ARM64 builds\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJanuary 14th 2023\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eChange connectivity check from google.com to minecraft.net to prevent blocking in some countries\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eSeptember 4th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eRemove unnecessary code from fixpermissions.sh\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eAugust 12th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdd clean.sh utility script to clean up downloads folder, remove version pinning and force reinstall of current version\u003c/li\u003e\n    \u003cli\u003eEnable content log by default which shows errors related to resource/behavior packs\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eAugust 12th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdd clean.sh utility script to clean up downloads folder, remove version pinning and force reinstall of current version\u003c/li\u003e\n    \u003cli\u003eEnable content log by default which shows errors related to resource/behavior packs\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eAugust 10th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eMoved DirName variable to a custom variable at the top of SetupMinecraft.sh\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eAugust 4th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eScript now removes non-alphanumeric characters from the servername variable (to prevent using quotes and other symbols that will break it)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eAugust 2nd 2022\u003c/li\u003e\n    \u003cul\u003e\n      \u003cli\u003eAdd Box64 support for 64 bit ARM (aarch64).  32 bit ARM is not recommended as it cannot use Box64 so it will be much slower than if you install a 64-bit version of your OS on the device.\u003c/li\u003e\n      \u003cli\u003eYou must be running a 64-bit OS to benefit from the Box64 increased speeds (both Ubuntu and Raspberry Pi OS have 64-bit versions)\u003c/li\u003e\n      \u003cli\u003eAn easy way to check and make sure you are running 64 bit is to use \u003cpre\u003euname -m\u003c/pre\u003e which will return \"aarch64\" if you are on 64-bit ARM\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJuly 24th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eUse libssl1.1 from repository instead of Ubuntu servers due to it changing every week or two (thanks theblujuice, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/129\"\u003eissue #129)\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJuly 21st 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eIncrease timeout in minecraftbe.service to help servers with longer backup times from having startup issues\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJuly 19th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eFix minor syntax error in update.sh\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJuly 14th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eFix syntax error in new libssl3 install\u003c/li\u003e\n        \u003cli\u003eUpdated depends.zip for ARM devices (the Docker version is strongly recommended for ARM devices)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJuly 14th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdd libssl3 to dependencies\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJuly 7th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eUpdated curl fallback installation URL to newest package\u003c/li\u003e\n        \u003cli\u003ePunctuation / grammar fixes to README (thanks TheWilbo, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/pull/128\"\u003epull request #128)\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJune 11th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdded allowlist.json and permissions.json default template files to prevent crashes when they are missing (thanks Eike)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJune 10th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eFixed problem in escaping screen command in SetupMinecraft.sh (on the startup check)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eJune 5th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdded additional escaping to screen -list commands to prevent similar names from matching the grep query (thanks wheelibin)\u003c/li\u003e\n        \u003cli\u003eChanged grep -q command to use single quotes to prevent expansion of additional characters (I still recommend only letters and numbers for the server label/name for the least amount of trouble)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eMay 31st 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdd check to make sure server.properties exists when unzipping server as without it there will be a startup error\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eMay 26th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdd revert.sh to SetupMinecraft.sh downloads\u003c/li\u003e\n        \u003cli\u003eAdd version override documentation\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eMay 25th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdded version_pin.txt to allow for manual override of running server version. Run ./revert.sh in your server folder to set version n-1 to run on next restart. Delete version_pin.txt when you want to resume automatic updates. (thanks smallsam)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eMay 15th 2022\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eAdded screen -wipe to beginning of start.sh to prevent a startup issue that could occur if there was a \"dead\" screen instance (thanks grimholme)\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003cli\u003eMay 9th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eUpdated fallback installation URL for OpenSSL 1.1\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMay 4th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed an issue on Debian where the route command (/sbin/route) is not on the default path by adding a check for this\u003c/li\u003e\n    \u003cli\u003eAdded Ubuntu 22.04 to tested distributions list (I upgraded my desktop OS to this today)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 28th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed a line in fixpermissions.sh that could cause picky shells to complain\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 24th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded dependency package install for libssl1.1 when it's available in apt\u003c/li\u003e\n    \u003cli\u003eAdded fallback installation for libssl1.1 to hopefully fix the installer for Ubuntu 22.04/22.10 and other distros using libssl3\u003c/li\u003e\n    \u003cli\u003eFixed a minor 'tail' error message that could occur upon starting the server if no logs were created yet\u003c/li\u003e\n    \u003cli\u003eAdded DEBIAN_NONINTERACTIVE to some apt commands to try to suppress some interactive dialogs (such as running outdated kernel) that were causing the installer to get stuck\u003c/li\u003e\n    \u003cli\u003eFixed a mistake in new multicore backup causing it to select the wrong compressor\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 16th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded multiple CPU core support for backups which should speed up backup process\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMarch 19th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eRemoved /sbin qualifier from route command as the PATH variable is now stored at the top of each script by SetupMinecraft.sh (thanks LookedPath, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/120\"\u003eissue #120\u003c/a\u003e)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMarch 10th 2022\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdd new allowlist.json to the unzip whitelist (thanks shaman79, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/118\"\u003eissue #118\u003c/a\u003e)\u003c/li\u003e\n    \u003cli\u003eAdded buy a coffe / donation information (thanks vandersonmota, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/117\"\u003eissue #117\u003c/a\u003e)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eNovember 2nd 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed extra / in front of permissions fix script (thanks MarkBarbieri, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/109\"\u003eissue #109\u003c/a\u003e)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eOctober 31st 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed missing sudo from fixpermissions line in start.sh (thanks MarkBarbieri, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/109\"\u003eissue #109\u003c/a\u003e)\u003c/li\u003e\n    \u003cli\u003eFixed missing -a parameter from /etc/sudoers file addition thanks MarkBarbieri, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/109\"\u003eissue #109\u003c/a\u003e)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eAugust 1st 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eUpdated documentation and root path selection prompt to make it more clear that the root directory should be the same for ALL servers\u003c/li\u003e\n    \u003cli\u003eDon't change unless installing to a different disk, and then use the same root path for ALL servers as they will follow the structure $ROOTPATH/minecraftbe/yourservername\u003c/li\u003e\n    \u003cli\u003eChoosing a perfect storm of invalid paths has resulted in people's server files being pruned before from being off by one folder sublevel etc.  Please follow instructions carefully here and do not change it and make sure you have backups (saved outside of the main Minecraft backups folder) before ever trying to install an additional server or updating existing scripts.\u003c/li\u003e\n    \u003cli\u003eFortunately this person was starting a new server so the pruning didn't get anything serious but I can't stress enough to leave the paths alone unless you're legitimately an expert with a use case like having an entire separate disk for all the Minecraft servers.  Use the same root directory every time (preferably the default)!\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 27th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eCleaned up SetupMinecraft.sh and removed redundant code by organizing code into functions\u003c/li\u003e\n    \u003cli\u003eScripts now fix all server file permissions on startup\u003c/li\u003e\n    \u003cli\u003eAdded /etc/sudoers.d/minecraftbe file to contain passwordless sudo permission for fixpermissions and sudo systemctl start server\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 21st 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eUpdated documentation and restart.sh to document how to enable systemd's service showing as \"online\" after called by restart.sh (useful for people tracking the servers using the systemd service) by adding a line to the sudoers file to allow passwordless sudo for the sudo systemctl start yourservername command.  Restart.sh now has commented lines at the bottom along with instructions on how to enable if you need this functionality (most people probably won't)\u003c/li\u003e\n    \u003cli\u003eAdded error redirection to crontab line to help diagnose failures during scheduled restarts and removed ExecStartPre from the service as it wasn't doing anything (run ./fixpermissions.sh if you need to fix the permissions) and caused compatibility issues with older systemd versions\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 17th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded in check to ensure start.sh and other scripts are not being ran as root.  If this happens you have to use sudo screen -r to find the screen and the permissions will be wrong since root isn't the owner of the server files\u003c/li\u003e\n    \u003cli\u003eIf you know you ran the script/server as root (which starts creating files owned by root instead of the regular user) and your server won't start/is wonky run the fixpermissions script from your server folder with ./fixpermissions.sh and it will correct them for you!\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 15th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded update.sh convenience script to run SetupMinecraft.sh to update everything to the latest version\u003c/li\u003e\n    \u003cli\u003eAdded validation loop for directory path -- if you are upgrading from an old version you should use the default directory.\u003c/li\u003e\n    \u003cli\u003eNothing good can come from changing this and I've never seen or heard of it solving a single problem despite being requested for years (especially if you don't understand relative vs fully qualified Linux paths and other pitfalls -- leave it default!).\u003c/li\u003e\n    \u003cli\u003eAttempting to solve this problem with safety checks in case this is useful to some people and I just haven't heard about it but it may be removed entirely or turned into a check that you have to download and modify the script to enable if it continues to be a source of strife for people.\u003c/li\u003e\n    \u003cli\u003eUpdated depends.zip for Raspberry Pis\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 4th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded missing sudo line to some prerequistes and removed apt-get install sudo as the script no longer runs as root (install sudo if missing) - thanks Rick Horn\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 3rd 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded Accept-Encoding: Identity header to curl as a very small % of users are getting an \"Access Denied\" error without this header (thanks titiscan, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/pull/95\"\u003epull request #95\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003eAdded default language header to curl as non-english computers were getting an Access Denied error\u003c/li\u003e\n    \u003cli\u003eScript now checks for gawk being present in start.sh.  If it's not installed (likely due to reusing old SetupMinecraft.sh files) timestamps will be disabled.  This will prevent the server from failing to start.  This is avoided by not running an old copy of SetupMinecraft.sh!\u003c/li\u003e\n    \u003cli\u003eRemoved broken screen -r command at the end of SetupMinecraft.sh as fixing it actually causes lockups -- instead now gives the command (screen -r) to pull up the Minecraft console.  Press Ctrl+A then Ctrl+D to hide the console once you're inside it.\u003c/li\u003e\n    \u003cli\u003eAdded code to prevent SetupMinecraft.sh from being ran as a local file (please use the new method of curl https://raw.githubusercontent.com/TheRemote/MinecraftBedrockServer/master/SetupMinecraft.sh | bash)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 2nd 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eImproved dependency detection and installation\u003c/li\u003e\n    \u003cli\u003eRemoved wget dependency\u003c/li\u003e\n    \u003cli\u003eAdded gawk dependency -- this should not have any impact on most systems but on systems that use mawk by default this will fix server startup issues related to timestamps since mawk doesn't support strftime\u003c/li\u003e\n    \u003cli\u003eFixed stop.sh's -t countdown option (thanks da99Beast, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/76\"\u003eissue #76\u003c/a\u003e)\u003c/li\u003e\n    \u003cli\u003eFixed a nasty issue where the installation of libcurl3 over the top of libcurl4 was allowed in some configurations (like Ubuntu 18.04) and was clobbering curl (thanks Goretech)\u003c/li\u003e\n    \u003cli\u003eFixed an issue where empty folders could be created in the wrong location if start.sh was not ran from the server folder (thanks CobraBitYou, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/93\"\u003eissue #93\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 1st 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eChanged from wget to curl as wget is freezing (but curl works)\u003c/li\u003e\n    \u003cli\u003eAdded randomization to user agent\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJune 19th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed timestamps to display on every line (thanks murkyl)\u003c/li\u003e\n    \u003cli\u003eAdded chmod command after unzip line to make bedrock_server executable for \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/22\"\u003eissue #22\u003c/a\u003e (thanks murkyl)\u003c/li\u003e\n    \u003cli\u003eMerged \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/pull/91\"\u003epull request #91\u003c/a\u003e from starkey-01 to add prompt for an alternate installation directory.  This has been requested for a while so thanks starkey-01!\u003c/li\u003e\n    \u003cli\u003eMerged \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/pull/88\"\u003epull request #88\u003c/a\u003e clarifying instructions to run script as non-root user (thanks sparagi!)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMay 23nd 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eThe fixpermissions.sh script now displays the last 5 lines from the latest log file to aid in troubleshooting.  If your server won't start this script often will take care of it and the logs can give useful information otherwise!\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMay 22nd 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded setting the path variable to each script to prevent service from failing to start due to not being able to find the right path.\u003c/li\u003e\n    \u003cli\u003ePlease redownload SetupMinecraft.sh for this update.  The script will give you a warning each time you start up that it couldn't set the path variable without the new SetupMinecraft.sh script\u003c/li\u003e\n    \u003cli\u003eAdded user agent to wget string to prevent update check from failing\u003c/li\u003e\n    \u003cli\u003eAdded automatic update to SetupMinecraft.sh if it has not been modified for more than 7 days\u003c/li\u003e\n    \u003cli\u003eUpdated Raspberry Pi dependencies\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 22nd 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded a safety check to prevent installing on 32 bit (i386 or i686) operating systems.  The official Bedrock dedicated server has only been released as a 64 bit (x86_64) binary and attempts at emulation on 32 bit have failed to yield any successful results!\u003c/li\u003e\n    \u003cli\u003eAdded chmod +x bedrock_server to start.sh as updates seem to be removing executable permissions sometimes\u003c/li\u003e\n    \u003cli\u003eFix removing old backup directory context (thanks murkyl, \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/76\"\u003eissue #76\u003c/a\u003e)\u003cli\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 20th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFully qualified route command with /sbin/route to alleviate network check breaking some servers\u003c/li\u003e\n    \u003cli\u003eAdded safety check to prevent using the server label 'minecraftbe' which can break the scripts\u003c/li\u003e\n    \u003cli\u003eAdded libc6 dependency check as several people have reported libns1.so.1 missing\u003c/li\u003e\n    \u003cli\u003eAdded curl and libcurl3 dependency as a fallback for older distros to avoid missing libcurl.so errors\u003c/li\u003e\n    \u003cli\u003eAdded libcrypt1 dependency check\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 7th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eIf you are updating from an old version make sure you remove the old SetupMinecraft.sh and redownload the new version from scratch.  If you are seeing something like userxname in the systemd service you're using an old version of SetupMinecraft.sh and need to download the latest\u003c/li\u003e\n    \u003cli\u003eUpdated fixpermissions.sh -- can fix issues with permissions if you are seeing them!\u003c/li\u003e\n    \u003cli\u003eFixed a bug with userxname appearing in start.sh and not being updated to the correct username\u003c/li\u003e\n    \u003cli\u003eFixed an issue that could trigger PAM authentication in start.sh\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMarch 16th 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed a incomplete sudo line in start.sh that was throwing an error (thanks /u/zfa from reddit!)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eFebruary 1st 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded fixpermissions.sh utility script to take ownership of Minecraft server files manually (the systemd startup service does this automatically for you if you are using it)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJanuary 31st 2021\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded .\\ in front of the screen -q checks to prevent similar usernames from tripping up window detection\u003c/li\u003e\n    \u003cli\u003eServer now takes ownership of server files on each start to prevent folks a whole heap of trouble and heartache when restoring backups/moving files/etc.\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eDecember 20th 2020\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded experimental QEMU support for 32 bit (i386, i686) similar to how the ARM support works\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eDecember 18th 2020\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded safety check to prevent the script from being ran as root or sudo.  This would cause the script to be installed to the /root folder.\u003c/li\u003e\n    \u003cli\u003eIf you know what you are doing and want to override just edit the check out of SetupMinecraft.sh but otherwise just run it as ./SetupMinecraft.sh normally.\u003c/li\u003e\n    \u003cli\u003eFixed a nasty bug that could cause start.sh and stop.sh to disapper (thanks Paul and James).  This was related to log pruning and not having a hard path.  If you downloaded the SetupMinecraft script in the past 3 days update and try again here and you'll be set!\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eDecember 15th 2020\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eResource packs (including ones that optionally enable RTX support) are working\u003c/li\u003e\n    \u003cli\u003eGuide available at \u003ca href=\"https://jamesachambers.com/minecraft-bedrock-server-resource-pack-guide/\" target=\"_blank\" rel=\"noopener\"\u003ehttps://jamesachambers.com/minecraft-bedrock-server-resource-pack-guide/\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003eAdded automatic backup rotation -- server keeps last 10 backups - thanks aghadjip \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/33\"\u003eIssue 33\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003eAdded valid_known_packs to unzip whitelist to prevent resource packs from getting overwritten - thanks kmpoppe - \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/pull/53\"\u003ePull Request 53\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003eCreate logs directory if it doesn't exist - thanks omkhar - \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/pull/39\"\u003ePull Request 39\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eDecember 13th 2020\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eRTX beta is now supported as long as you aren't on the \"beta\" channel anymore.  Unenroll from the RTX beta and downgrade to normal Minecraft.  RTX is in normal Minecraft now.\u003c/li\u003e\n    \u003cli\u003eFixed ARM support for Raspberry Pi, Tinkerboard, and others.  Be warned, it's still very slow on ARM!\u003c/li\u003e\n    \u003cli\u003eUpdated depends.zip\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eDecember 10th 2020\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eCleaned up documentation\u003c/li\u003e\n    \u003cli\u003eAdded notice that the RTX beta version of Minecraft's dedicated server has not been released yet.  Support will be added the moment it is!\u003c/li\u003e\n    \u003cli\u003eAdded alpha software notice for Bedrock dedicated server per \u003ca href=\"https://github.com/TheRemote/MinecraftBedrockServer/issues/34\"\u003eissue 34\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eNovember 17th 2020\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed server autoupdating in start.sh\u003c/li\u003e\n    \u003cli\u003eMinecraft.net had made a change where the \"--spider\" parameter would return a 503 -- removed this to fix automatic updates\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 24th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed Raspberry Pi support\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 10th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed OpenSSL error in 1.12 (thanks obviator!)\u003c/li\u003e\n    \u003cli\u003eFixed ports not choosing defaultS if nothing is entered (thanks sweavo!)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 2nd 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded libcurl4 Bedrock server dependency to installer script to prevent server startup from failing\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eJuly 1st 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded support for multiple servers\u003c/li\u003e\n    \u003cli\u003eChoose the folder name and port for the server in SetupMinecraft.sh (must be unique per server instance)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMay 23rd 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eFixed typo in restart.sh where there was a space after stop command preventing the server from closing cleanly\u003c/li\u003e\n    \u003cli\u003eAdded 10 second sleep after a force close to give the server time to fully close before calling start.sh\u003c/li\u003e\n    \u003cli\u003eFixed server not restarting after scheduled nightly reboot (related to restart.sh bug)\u003c/li\u003e\n    \u003cli\u003eRemoved some direct (for example paths like /bin/sleep) that were harming cross platform compatibility\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 26th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eTested new Bedrock dedicated server 1.11.1.2\u003c/li\u003e\n    \u003cli\u003eAdded startup counter to server instead of waiting a flat 4s to reduce unnecessary waiting\u003c/li\u003e\n    \u003cli\u003eFixed ARM support (64 bit required)\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eApril 18th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eChanged StopChecks++ to StopChecks=$((StopChecks+1)) to improve portability (thanks Jason B.)\u003c/li\u003e\n    \u003cli\u003eAdded TimeoutStartSec=600 to server to prevent it being killed if taking longer than usual to download server\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMarch 7th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eAdded Armbian support\u003c/li\u003e\n    \u003cli\u003eTested with Tinkerboard\u003c/li\u003e\n    \u003cli\u003eFixed portability issue with route vs /sbin/route\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eMarch 2nd 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eRunning the SetupMinecraft.sh script after already installing now updates all scripts and reconfigures the minecraftbe service\u003c/li\u003e\n    \u003cli\u003eScript now works on any Debian based distribution (Ubuntu, Debian, Raspbian, etc.)\u003cbr\u003e\n    \u003cli\u003eAdded *very slow* support for ARM platforms such as Raspberry Pi with QEMU emulation of x86_64\u003c/li\u003e\n    \u003cli\u003eRenamed service to minecraftbe to avoid confusion with Java version\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eFebruary 15th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eBackups now compress into .tar.gz format (saved in backups folder)\u003c/li\u003e\n    \u003cli\u003eStartup service waits up to 20 seconds for an internet connection to allow time for DHCP to retrieve an IP address\u003c/li\u003e\n    \u003cli\u003eRemoved unnecessary sleep time on stop.sh script so it returns as soon as the minecraft server closes\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cli\u003eFebruary 8th 2019\u003c/li\u003e\n  \u003cul\u003e\n    \u003cli\u003eInitial release\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/ul\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheremote%2Fminecraftbedrockserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheremote%2Fminecraftbedrockserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheremote%2Fminecraftbedrockserver/lists"}