{"id":14969585,"url":"https://github.com/theremote/raspberrypiminecraft","last_synced_at":"2025-04-12T21:33:48.712Z","repository":{"id":21744325,"uuid":"93927155","full_name":"TheRemote/RaspberryPiMinecraft","owner":"TheRemote","description":"Configuration files and performance testing scripts to setup and optimize a dedicated Minecraft (PC Java version) server","archived":false,"fork":false,"pushed_at":"2025-02-08T18:03:11.000Z","size":272,"stargazers_count":202,"open_issues_count":8,"forks_count":54,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-04T01:09:14.657Z","etag":null,"topics":["dedicated-game-server","dedicated-server","java","minecraft","minecraft-server","papermc","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://jamesachambers.com/raspberry-pi-minecraft-server-script-with-startup-service/","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":"2017-06-10T08:48:58.000Z","updated_at":"2025-03-12T07:31:04.000Z","dependencies_parsed_at":"2023-01-16T22:00:37.948Z","dependency_job_id":"a55fbaaf-b336-4ae1-8a50-792b84c35819","html_url":"https://github.com/TheRemote/RaspberryPiMinecraft","commit_stats":{"total_commits":257,"total_committers":8,"mean_commits":32.125,"dds":0.2334630350194552,"last_synced_commit":"1bc5c5bca174f76cd0952ac8c621cd24191e49ae"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FRaspberryPiMinecraft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FRaspberryPiMinecraft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FRaspberryPiMinecraft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheRemote%2FRaspberryPiMinecraft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheRemote","download_url":"https://codeload.github.com/TheRemote/RaspberryPiMinecraft/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248636814,"owners_count":21137527,"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":["dedicated-game-server","dedicated-server","java","minecraft","minecraft-server","papermc","raspberry-pi"],"created_at":"2024-09-24T13:42:04.961Z","updated_at":"2025-04-12T21:33:48.687Z","avatar_url":"https://github.com/TheRemote.png","language":"Shell","readme":"This script will automatically download and configure the Paper Minecraft server!\u003cbr\u003e\nFor the full article and guide visit https://jamesachambers.com/raspberry-pi-minecraft-server-script-with-startup-service/\u003cbr\u003e\n\n\u003ch2\u003eInstallation Instructions\u003c/h2\u003e\nTo get started / install the server type:\u003cbr\u003e\n\u003cpre\u003ecurl https://raw.githubusercontent.com/TheRemote/RaspberryPiMinecraft/master/SetupMinecraft.sh | bash\u003c/pre\u003e\u003cbr\u003e\n\n\u003ch2\u003eGetting Help\u003c/h2\u003e\nTo get help you may open an issue here or visit my web site at https://jamesachambers.com/raspberry-pi-minecraft-server-script-with-startup-service/ which contains lots of comments from myself and users helping each other out!\n\n\u003ch2\u003eChanging Minecraft Server Versions\u003c/h2\u003e\nIf a new version of Minecraft is out and the script hasn't been updated yet you can change it in the SetupMinecraft.sh script.  If you use the command nano SetupMinecraft.sh it will be the first line in the file like this:\u003cbr\u003e\n\u003cbr\u003e\nVersion=\"1.18.1\"\u003cbr\u003e\nAllowLocalCopy=\"1\"\u003cbr\u003e\n\u003cbr\u003e\nMake sure to change AllowLocalCopy=\"1\" to tell the script you want to actually run the local copy instead of the latest version.\u003cbr\u003e\nNote that for this to work the Paper Minecraft server must also have released the latest version or the download will fail.  You can check here: \u003ca href=\"https://papermc.io/downloads\"\u003ehttps://papermc.io/downloads\u003c/a\u003e\u003cbr\u003e\n\n\u003ch2\u003eTested Distributions\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaspberry Pi OS - Bullseye/Buster/Stretch\u003c/li\u003e\n\u003cli\u003eUbuntu / Ubuntu Server 22.04 / 21.10 / 20.04 (LTS)\u003c/li\u003e\n\u003cli\u003eDebian 11 Bullseye / Debian 10 Buster / Debian 9 Stretch\u003c/li\u003e\n\u003cli\u003eArch Linux\u003c/li\u003e\n\u003cli\u003eTinkerOS Stretch\u003c/li\u003e\n\u003c/ul\u003e\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.\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\u003ch3\u003eBuy A Coffee / Donate\u003c/h3\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\n\u003ch3\u003eFebruary 8th 2025\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eFix Paper API URLs\u003c/li\u003e\n  \u003cli\u003eUpgrade to 1.21.4 (make backups first, and make sure you've copied backup out of the main backups folder as they are rotated)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eDecember 1st 2024\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.21.3 (make backups first, and make sure you've copied backup out of the main backups folder as they are rotated)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 19th 2024\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgraded Java to OpenJDK 21\u003c/li\u003e\n  \u003cli\u003eUpgraded default version to 1.20.6\u003c/li\u003e\n  \u003cli\u003e32 bit ARM is no longer supported -- make sure you are running a 64 bit OS to use 64 bit ARM (aarch64)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eApril 27th 2024\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.20.5 (make backups first, and make sure you've copied backup out of the main backups folder as they are rotated)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJanuary 4th 2024\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.20.4 (make backups first, and make sure you've copied backup out of the main backups folder as they are rotated)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eOctober 1st 2023\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.20.2 (make backups first, and make sure you've copied backup out of the main backups folder as they are rotated)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 16th 2023\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.19.4 (make backups first, and make sure you've copied backup out of the main backups folder as they are rotated)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJanuary 14th 2023\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eChange connectivity check from google.com to papermc.org to prevent blocking in some countries\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eDecember 9th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.19.3\u003c/li\u003e\n  \u003cli\u003eUpgrade to OpenJDK 19\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 20th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpdate to OpenJDK 18.0.2.1\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 11th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eFix memory recommendation to allow a little bit more breathing room to prevent heap errors\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 4th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eRemove pointless and confusing automation code\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 2nd 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eFix tail warning message if there is no existing log file\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 26th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eRaise server startup timeout from 600 seconds to 1800 seconds to prevent startup failure when backing up large servers\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 10th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eMoved custom directories to the top of SetupMinecraft.sh to eliminate confusion about how to use the feature (and almost nobody should unless you are storing your server on a separate drive)\u003c/li\u003e\n    \u003cli\u003eImprove JRE update detection in SetupMinecraft.sh\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 6th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade to 1.19.2\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 4th 2022\u003c/h3\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\n\u003ch3\u003eAugust 2nd 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eFix ARM link for Adoptium OpenJDK\n   (thanks zqigolden, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/pull/42\"\u003ePR #42\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003eOpenJDK will now detect if you have an older version than SetupMinecraft is installing (or a broken Java install) and reinstall the newest version\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 31st 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpgrade Adoptium OpenJDK to 18.0.2 -- if you want to upgrade your Adoptium you can remove the ~/minecraft/jre folder and run SetupMinecraft.sh again to upgrade to the latest one\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 27th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpdate to 1.19.1 (always make sure you've copied some backups out of the backups folder first!)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 15th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eFix Paper 1.19 version upgrades (thanks Meganium97, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/issues/41\"\u003eissue #41\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 11th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpdate to Paper experimental 1.19 release as default installation\u003c/li\u003e\n  \u003cli\u003eMake sure you have backups of your server from your \"backups\" folder stored separately before upgrading\u003c/li\u003e\n  \u003cli\u003eIf you have problems with 1.19 you need to restore a backup to go back to 1.18 as it will not take your server data files on 1.18 once the 1.19 structures/data have been added\u003c/li\u003e\n  \u003cli\u003eChange update.sh to /bin/bash instead of /bin/sh\u003c/li\u003e\n  \u003cli\u003eAdd PATH variable to update.sh\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 22nd 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eUpdate OpenJDK installation paths\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 21st 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSwitched from JDK to JRE to save space\u003c/li\u003e\n  \u003cli\u003eAdded Adoptium OpenJDK support for s390x and ppc64le architectures\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 16th 2022\u003c/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eAdd -DPaper.IgnoreJavaVersion=true to allow OpenJDK 17 to run the older Paper Minecraft versions (thanks NotMick, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/issues/39\"\u003eissue #39\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 15th 2022\u003c/h3\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\n\u003ch3\u003eMay 11th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Adoptium arm and aarch64 OpenJDK links (thanks 407pilot, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/issues/38\"\u003eissue #38\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 10th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Adoptium OpenJDK version\u003c/li\u003e\n\u003cli\u003eAdd safety check for backups to make sure folder exists before pruning\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 8th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a problem with restart.sh having a #!/bin/sh at the top which could cause restart.sh to run in a POSIX shell that doesn't recognize the [[ operator (thanks jmswan, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/issues/37\"\u003eissue #37\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 4th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \"route\" command used to detect internet access to be compatible with Debian\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eApril 24th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed mistake in new multicore compression (thanks pmcmorris) and related mistake in SetupMinecraft.sh dependency check\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eApril 16th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \"jre\" folder if JDK installation fails so it will attempt to download a fresh copy upon running SetupMinecraft.sh again\u003c/li\u003e\n\u003cli\u003eAdded support for the tar command to use multiple CPU cores instead of a single core.  This should speed up backups and reduce instances of when it takes longer to back up than the server's startup time (thanks SudosFTW, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/issues/36\"\u003eissue #36\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eApril 6th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed issue that prevented detecting a broken OpenJDK installation\u003c/li\u003e\n\u003cli\u003eAdded language headers to OpenJDK download\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 24th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDedicated OpenJDK 17 install is now used (stored in your server's directory) to avoid apt / snap issues\u003c/li\u003e\n\u003cli\u003eCreate \"logs\" folder for new servers to avoid harmless error messages (cleanup)\u003c/li\u003e\n\u003cli\u003eAdd new \"jre\" folder to backup command's ignore list to avoid bloated backups\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 23rd 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved snapd installation as the snapd repository will only install OpenJDK 18 or higher which won't work with Paper\u003c/li\u003e\n\u003cli\u003ePaper still does not support OpenJDK 18 and will give errors using a version that high\u003c/li\u003e\n\u003cli\u003eWorking on a new more reliable method to install OpenJDK 17\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 23rd 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved obsolete requirement not allowing OpenJDK versions above 17 as Paper now supports this\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 5th 2022\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.18.2 -- make sure you have backups first if you are upgrading from an existing server!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eDecember 12th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.18.1 -- make sure you have backups first if you are upgrading from an existing server!\u003c/li\u003e\n\u003c/ul\u003e\nUpdate_Sudoers\n\u003ch3\u003eNovember 30th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.18 -- make sure you have backups first if you are upgrading from an existing server!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 15th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to allow OpenJDK 17 which is now the default \"snap\"\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 2nd 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to Paper Minecraft Server API v2\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 1st 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a missing -A parameter for a curl command (thanks davie2000, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/issues/27\"\u003eissue #27\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 27th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded PATH variable to scripts to improve compatibility on some distros\u003c/li\u003e\n\u003cli\u003eServer now fixes permissions upon startup\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 21st 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitched from wget to curl to fix spacing issues experienced by some users\u003c/li\u003e\n\u003cli\u003eAdded error redirection to crontab line to help diagnose failures during scheduled restarts\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 19th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where SetupMinecraft.sh could throw an error if no Java version was installed\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 17th 2021\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eFixed server name prompt\u003c/li\u003e\n    \u003cli\u003eAdded username missing to fix service issue\u003c/li\u003e\n    \u003cli\u003eReduced memory recommendation by 100MB to allow more space for the OS / other processes since newer versions of Minecraft are requiring more memory.  Remember, if you don't leave enough memory for other things the Minecraft server will crash for memory issues, but it's because you set it too high (counterintuitive I know) and didn't leave enough for the OS and it killed your Minecraft server to prevent the entire OS from crashing.\u003c/li\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\n\u003ch3\u003eJuly 15th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded safety check for path to server -- please use the default path of ~ if you aren't familiar with fully qualified Linux paths/directories -- you really don't want to change the safe defaults unless you have a really specific need.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 14th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a issue that was causing backups to not rotate (it should only keep 10).  Thanks Olli\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 8th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.17.1\u003c/li\u003e\n\u003cli\u003eUpdate documentation to explain new AllowLocalCopy=\"1\" flag.  This flag tells the script not to run the latest online version and to run the local copy.  You want to use this if you are changing the version or making any modifications to the script itself before running it.\u003c/li\u003e\n\u003cli\u003eAdded update.sh convenience script that calls the latest version of SetupMinecraft.sh\u003c/li\u003e\n\u003cli\u003eFixed a bug where having an OpenJDK greater than 16 was not triggering the snap configuration (usually only seen on the cutting edge Ubuntu flavors)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 5th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue with SetupMinecraft.sh saving scripts to the home folder instead of the minecraft folder (thanks Ryan A J.)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 3rd 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd option to choose a custom directory instead of forcing the home path\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 24th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved installation of OpenJDK above OpenJDK 16 as the Paper Minecraft server is not working with versions higher than 16\u003c/li\u003e\n\u003cli\u003eIf you have a higher version of Java installed use the following command: sudo update-alternatives –config java and select OpenJDK 16\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 19th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1.17 Release\u003c/li\u003e\n\u003cli\u003eMake sure you have backups and take copies of your backups and place them outside the Minecraft folder to be 100% safe\u003c/li\u003e\n\u003cli\u003eOnce running the new version you can't go back to the old one without restoring a backup because it writes new stuff in your server the old version doesn't understand and crashes on\u003c/li\u003e\n\u003cli\u003eAs long as you have backups you should be okay!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 16th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaised minimum OpenJDK requirement to 16 in preparation for the 1.17 Paper Minecraft server release\u003c/li\u003e\n\u003cli\u003eIf a new enough OpenJDK is not available in apt (Raspberry Pi OS is on OpenJDK 11 for example) it will be installed via snapd\u003c/li\u003e\n\u003cli\u003eIf snapd is not installed it will ask you if you want to install it (reboot required) or abort\u003c/li\u003e\n\u003cli\u003eAfter the reboot run SetupMinecraft.sh again and it will finish installing OpenJDK 16!  Be patient, it can take some time, even 10-15 minutes on a good connection and longer on a bad one\u003c/li\u003e\n\u003cli\u003eSorry for the inconvenience, there isn't an easier way to get it until the Raspberry Pi OS apt repositories are updated!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 12th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed syntax error (thanks aruthir!)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 10th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded OpenJDK 17 and 18 placeholders for prerequisite installations\u003c/li\u003e\n\u003cli\u003eAdded a fallback to the non-headless JRE for platforms that don't offer that metapackage\u003c/li\u003e\n\u003cli\u003ePaper Minecraft 1.17 is not yet available but should be soon.  If you go to https://api.papermc.io/v1/paper/ and see 1.17 in the list it's available and you can change the version variable at the very top of SetupMinecraft.sh otherwise it hasn't been released yet.  Should be soon!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 22nd 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLowered amount of recommended memory by a flat 200MB due to so many people having \"Out of Memory\" errors\u003c/li\u003e\n\u003cli\u003eNote:  Nobody has ever really been \"out of memory\" on the Pi since like the Pi 1.  The problem is you're using TOO MUCH.\u003c/li\u003e\n\u003cli\u003eIf you're getting memory related crashes you need to turn your memory DOWN.  The server will recommend lower amounts going forward.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 16th 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded backup rotation - server keeps the last 10 backups by default\u003c/li\u003e\n\u003cli\u003eIf you want to change the amount of backups held it is located in the \"start.sh\" script with a comment of '# Rotate backups -- keep most recent 10'\u003c/li\u003e\n\u003cli\u003eThis adds a little responsibility for saving really old backups but fixes the issue I and many others have had of the server getting filled with backups and crashing\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJanuary 31st 2021\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.16.5\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\u003cli\u003eAdded check to make sure script isn't being ran as sudo to prevent installing to the /root folder\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eDecember 5th 2020\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.16.4\u003c/li\u003e\n\u003cli\u003eFixed a bug where if your username on the Pi was Minecraft it would cause the script to break (thanks Minecraftschurli, \u003ca href=\"https://github.com/TheRemote/RaspberryPiMinecraft/pull/20\"\u003epull request #20\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug that could cause OpenJDK 10 to try to be installed even if OpenJDK 11 installation was successful\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eSeptember 25th 2020\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.16.3\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 28th 2020\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.16.2\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 4th 2020\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.16.1\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJanuary 25th 2020\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to 1.15.2\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eDecember 28th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackup system now takes a backup of your entire server folder (minus logs and cache) instead of just the world folders.  This mean it now backs up things like server.properties and other worlds if you are running a multiverse setup.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eDecember 20th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to version 1.15.1\u003c/li\u003e\n\u003cli\u003eAdded more information to script installation warnings to help with initial configuration\u003c/li\u003e\n\u003cli\u003eAdded warning to 2700MB limit on 32 bit operating systems explaining that you can lift the 3 GB limit by using a 64 bit Pi distribution\u003c/li\u003e\n\u003cli\u003eCleaned up Java installation in setup script\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 26th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a silly bug causing recommended memory to be stuck at 2700\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 25th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved server startup detection after running SetupMinecraft\u003c/li\u003e\n\u003cli\u003eAdded terminal colors to improve visibility\u003c/li\u003e\n\u003cli\u003eCleaned up script substantially by breaking out duplicate code to functions\u003c/li\u003e\n\u003cli\u003eFixed issue where when reconfiguring an existing server you would not be prompted to configure daily reboots\u003c/li\u003e\n\u003cli\u003eRemoved /boot/config.txt tweaks as they are no longer compatible with Pi 4\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eAugust 24th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTo prevent startup failure on 32bit ARM the maximum memory for the Minecraft server is capped at 2700MB. This is a per process limitation of 32 bit on ARM and Linux. This restriction can be lifted by using a 64 bit operating system.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 19th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated development version to 1.14.4\u003c/li\u003e\n\u003cli\u003eAdded OpenJDK 13 support\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJuly 2nd 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved bc dependency to improve portability\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 30th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaspberry Pi 4 support (all memory sizes)\u003c/li\u003e\n\u003cli\u003eUpdated development version to 1.14.3\u003c/li\u003e\n\u003cli\u003eFixed issue that could cause 1.13.2 servers to crash when going to the Nether\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eJune 1st 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded option to select stable or development version\u003c/li\u003e\n\u003cli\u003eCurrent stable version of the Paper Minecraft server is 1.13.2\u003c/li\u003e\n\u003cli\u003eIf you want to install 1.14.2 you may select to do so during installation\u003c/li\u003e\n\u003cli\u003eBe aware that 1.14.2 continues to have severe performance issues for the entire Minecraft server/hosting community.  After playing on it myself and talking to the Paper developers I can personally state that performance on 1.14.2 is really bad right now and highly recommend sticking with the stable version.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 31st 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOpenJDK 12 and OpenJDK 10 package checks added into the script\u003c/li\u003e\n\u003cli\u003eScript will attempt to install OpenJDK 10 from package on Raspbian if it isn't in apt\u003c/li\u003e\n\u003cli\u003eAdded many paper.yml, bukkit.yml and spigot.yml changes to server config files to help with the ongoing lag affecting all Minecraft servers in 1.14\u003c/li\u003e\n\u003cli\u003eTo configure them open start.sh in nano after running SetupMinecraft and you will see the different options and what they do\u003c/li\u003e\n\u003cli\u003eUpdated Java certificates installer link\u003c/li\u003e\n\u003cli\u003eFixed bug where changing GPU memory wasn't being applied\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 30th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to 1.14.2\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMay 19th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to 1.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eApril 18th 2019\u003c/h3\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 paperclip\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 31st 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded x86_64 support\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 9th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged Paper download URL to use API (Issue #7 Fix)\u003c/li\u003e\n\u003cli\u003eAdded \\n to beginning of printf to config.txt to prevent adding our line to the end of another config line\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 7th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for OpenJDK 8 to improve portability\u003c/li\u003e\n\u003cli\u003eAdded Armbian support\u003c/li\u003e\n\u003cli\u003eTinkerboard platform now supported.  Other Armbian capable boards should also work\u003c/li\u003e\n\u003cli\u003eAdded ca\u003cli\u003ecertificates\u003cli\u003ejava OpenJDK 11 fix for a broken package on some platforms\u003c/li\u003e\n\u003cli\u003eAdded checks for paper.yml and world backup folders before attempting to back up\u003c/li\u003e\n\u003cli\u003eFixed portability issue with route vs /sbin/route\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 4th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShared GPU memory reduction and MicroSD overclock now supported on distros that use /boot/firmware/config.txt such as Ubuntu Server and Debian\u003c/li\u003e\n\u003cli\u003eRemoved vcgencmd usage for portability to other distros\u003c/li\u003e\n\u003cli\u003eAdded check for sudo for compatibility with more distros\u003c/li\u003e\n\u003cli\u003eImproved MicroSD clock detection\u003c/li\u003e\n\u003cli\u003eSetup now sets paper.yml option for watchdog warnings to wait until 120 seconds after the server starts to suppress excessive warnings\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eMarch 2nd 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a configuration option for memory to dedicate to the Minecraft server (along with a recommended amount)\u003c/li\u003e\n\u003cli\u003eAdded support for Debian and Ubuntu Server Raspberry Pi distros\u003c/li\u003e\n\u003cli\u003eServer now installs OpenJDK\u003cli\u003e11\u003cli\u003ejre\u003cli\u003eheadless if it is available, otherwise OpenJDK 9 will be selected\u003c/li\u003e\n\u003cli\u003eImproved CPU architecture detection\u003c/li\u003e\n\u003cli\u003eAdded sudo, net\u003cli\u003etools, wget to server dependencies to improve portability\u003c/li\u003e\n\u003cli\u003eRemoved absolute paths from scripts to improve portability\u003c/li\u003e\n\u003cli\u003eMicroSD overclock and GPU memory split config are now split if vcgencmd is not present (non\u003cli\u003eRaspbian systems)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eFebruary 18th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe SetupMinecraft.sh script will now update all of your scripts to the latest version when ran and reinstall the startup service\u003c/li\u003e\n\u003cli\u003eImplemented a workaround for Java 9 installation since the ca\u003cli\u003ecertificates\u003cli\u003ejava package broke in Raspbian on the 16th\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eFebruary 15th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eServer now starts correctly on Raspbian Full (Raspbian Lite still highly recommended due to more available memory)\u003c/li\u003e\n\u003cli\u003eAdded network connectivity check before attempting to update server \u003cli\u003e skips update if no connection available to prevent .jar corruption\u003c/li\u003e\n\u003cli\u003eService now waits up to 20 seconds for network connectivity before starting up to prevent service starting before server gets an IP address\u003c/li\u003e\n\u003cli\u003eFixed typo in stop.sh that was causing server to say it wasn't running when it was\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\u003cli\u003eAdded automatic backups performed when server starts (located in minecraft/backups)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eFebruary 9th 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded check to make sure service isn't already running when started\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eFebruary 3rd 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded optional service configuration to start minecraft automatically on boot\u003c/li\u003e\n\u003cli\u003eAdded optional daily reboot configuration via Cron in setup script\u003c/li\u003e\n\u003cli\u003eAdded a check in the installer to make sure Java was installed properly before continuing\u003c/li\u003e\n\u003cli\u003eInstaller script now goes into the started screen window after installation\u003c/li\u003e\n\u003cli\u003eServer now checks for updates to the server on startup\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eFebruary 2nd 2019\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eScript now checks to make sure we are running on the ARMv7 CPU architecture with 1024MB of RAM to ensure Java 9 works\u003c/li\u003e\n\u003cli\u003eScript helps you overclock SD card and change gpu_mem to 16MB\u003c/li\u003e\n\u003cli\u003eIncreased memory usage of server from 800MB to 850MB due to gpu_mem tweak\u003c/li\u003e\n\u003cli\u003eImproved reliability and validation checks on setup script\u003c/li\u003e\n\u003c/ul\u003e","funding_links":["https://github.com/sponsors/TheRemote"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheremote%2Fraspberrypiminecraft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheremote%2Fraspberrypiminecraft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheremote%2Fraspberrypiminecraft/lists"}