{"id":43415555,"url":"https://github.com/simylein/minecraft-server","last_synced_at":"2026-02-02T17:52:15.844Z","repository":{"id":44661937,"uuid":"288403328","full_name":"simylein/minecraft-server","owner":"simylein","description":"Scripts for setting up, running, maintaining and backing up a Minecraft Server on Linux Debian with screen as terminal. ","archived":false,"fork":false,"pushed_at":"2025-06-13T12:57:10.000Z","size":27356,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T13:52:12.031Z","etag":null,"topics":["automation","backups","bash","debian","linux","minecraft-server","scripts-collection"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simylein.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"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,"zenodo":null}},"created_at":"2020-08-18T08:48:10.000Z","updated_at":"2025-06-13T12:57:14.000Z","dependencies_parsed_at":"2023-12-17T16:23:47.209Z","dependency_job_id":"586405b0-e0ec-4b98-8831-13e4a6efa30b","html_url":"https://github.com/simylein/minecraft-server","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/simylein/minecraft-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simylein%2Fminecraft-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simylein%2Fminecraft-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simylein%2Fminecraft-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simylein%2Fminecraft-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simylein","download_url":"https://codeload.github.com/simylein/minecraft-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simylein%2Fminecraft-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29016537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T16:17:30.374Z","status":"ssl_error","status_checked_at":"2026-02-02T15:58:50.469Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["automation","backups","bash","debian","linux","minecraft-server","scripts-collection"],"created_at":"2026-02-02T17:52:13.059Z","updated_at":"2026-02-02T17:52:15.837Z","avatar_url":"https://github.com/simylein.png","language":"Shell","readme":"# minecraft-server\n\nScripts for a Minecraft Server on Linux Debian using screen.\n\nThis tutorial contains important steps if you would like to host a minecraft server from the command line.\n\n## software\n\nIn order for the Server to run we will need to install some packages: (please note: some of them could be installed already) \u003cbr\u003e\nThis command installs all packages you will need to run your server.\n\n```\nsudo apt install openjdk-17-jre-headless iputils-ping net-tools mailutils coreutils dnsutils sendmail screen grep nano wget less cron man sed pv\n```\n\n## setup\n\nThen, you can download and execute the setup script. \u003cbr\u003e\n\nDownload and make Executable\n\n```\nwget -O setup.sh https://raw.githubusercontent.com/simylein/minecraft-server/main/setup.sh \u0026\u0026 chmod +x setup.sh\n```\n\nThis will start the script in interactive mode and you must answer questions\n\n```\n./setup.sh\n```\n\nIf you like a straight one-liner which is non-interactive you may use the setup arguments like this\n\n```\n./setup.sh --name minecraft --proceed true --version 1.21.10 --port 25565 --eula true --remove true --start true\n```\n\n## serverstart\n\nStart your Server for the first time: `./start.sh`\n\n## screen\n\nScreen is an amazing command line tool that creates a \"virtual\" terminal inside your terminal.\n\nYou can view all your active screens by typing: `screen -list`\n\u003cbr\u003e\nIf you want to resume a certain screen session just type: `screen -r ${servername}`\n\nIf you would like to scroll inside a screen session press Ctrl+A and Esc (enter copy mode). \u003cbr\u003e\nFor returning back to normal press Esc.\n\nTo exit the screen terminal press Ctrl+A and Ctrl+D\n\n## server commands\n\nYour minecraft server can understand certain commands. \u003cbr\u003e\nI will explain some of them to you.\n\n`whitelist add ${playername}` adding someone to your whitelist so he/she can join your server. \u003cbr\u003e\n`whitelist remove ${playername}` remove someone to your whitelist so he/she can no longer join your server. \u003cbr\u003e\n`op ${playername}` make someone admin on your server so he/she can execute commands. \u003cbr\u003e\n`deop ${playername}` remove admin permissions for a player so he/she can no longer execute commands. \u003cbr\u003e\n`ban ${playername}` ban someone from your server so he/she can no longer join your server. \u003cbr\u003e\n`pardon ${playername}` pardon someone from your server so he/she can join your server. \u003cbr\u003e\n`tp ${playername} ${x} ${y} ${z}` teleporting a player to cords. \u003cbr\u003e\n`tp ${playername} ${playername}` teleporting a player to another player.\n\nImportant: If you do these commands ingame you will need to put a `/` before each command. \u003cbr\u003e\nIn the screen terminal you don't need a `/` before your command.\n\n## server.settings\n\nThis is your file that holds the variables you have chosen with the setup script. \u003cbr\u003e\nIf you know what your are doing feel free to edit it to suit your needs.\n\n```\nnano server.settings\n```\n\nImportant settings are:\n\n`public=` (ip of a wan server which will be pinged to ensure network availability) \u003cbr\u003e\n`private=` (ip of a lan server which will be pinged to ensure network availability) \u003cbr\u003e\n\n`doHourly=` (enables hourly backups) \u003cbr\u003e\n`doDaily=` (enables daily backups) \u003cbr\u003e\n`doWeekly=` (enables weekly backups) \u003cbr\u003e\n`doMonthly=` (enables monthly backups) \u003cbr\u003e\n\n`diskSpaceError=` (value in bytes for free disk space at which the backup script stops working) \u003cbr\u003e\n`diskSpaceWarning=` (value in bytes for free disk space at which the backup script throws warnings) \u003cbr\u003e\n\n## server.properties\n\nIf you would like to customize your server further have a look at your server.properties file.\n\n```\nnano server.properties\n```\n\nImportant settings are:\n\n`max-players=` (limits the maximum amount of players on the server at the same time) \u003cbr\u003e\n[Warning large numbers may impact performance] \u003cbr\u003e\n\n`difficulty=` (defines ingame difficulty) [peaceful, easy, normal, hard] \u003cbr\u003e\n`gamemode=` (default survival. Defines your game mode. For creative server replace with creative) \u003cbr\u003e\n[survival/creative/adventure/spectator] \u003cbr\u003e\n\n`view-distance=` (defines number of ingame chunks to be rendered) \u003cbr\u003e\n[Warning large numbers may impact performance] \u003cbr\u003e\n`simulation-distance=` (defines number of ingame chunks in which entities are computed) \u003cbr\u003e\n[Warning large numbers may impact performance] \u003cbr\u003e\n\n`motd=` (this will be displayed in the menu below your server - chose what you like) \u003cbr\u003e\n`pvp=` (ability for player to do damage to each another) [true/false] \u003cbr\u003e\n\n`server-port=` (default by 25565. Only important if you are dealing with multiple server) \u003cbr\u003e\n[if you run multiple servers each server wants to have its own port] \u003cbr\u003e\n\n`white-list=` (turns on the whitelist) [I would strongly recommend to set this to true] \u003cbr\u003e\n`spawn-protection=` (the number of block at the worldspawn only operators can touch) \u003cbr\u003e\n\n`enable-command-block=` (enables command blocks to tinker with) [true/false] \u003cbr\u003e\n\n## scripts\n\nThere are lots of script in your ${serverdirectory}. Normally, the executable ones are green and can be executed with:\n\n```\n./${scriptname}.sh ${arguments}\n```\n\nExample: `./start.sh --quiet` \u003cbr\u003e\nExample: `./stop.sh --now`\n\nArguments: `-h --help, -f --force, -n --now -q --quiet -v --verbose`\n\nThe script name stands for the action the script will do. \u003cbr\u003e\n\nstart.sh (starts your server) \u003cbr\u003e\nstop.sh (stops your server) \u003cbr\u003e\nrestart.sh (restarts your server) \u003cbr\u003e\nupdate.sh (updates your server version) \u003cbr\u003e\nrestore.sh (restores the backup of your choice) \u003cbr\u003e\nreset.sh (resets server world) \u003cbr\u003e\nvent.sh (self-destructs your server along its backups) \u003cbr\u003e\n\n## crontab\n\nIf you would like to automate some of those task on your server you can create a crontab.\n\n```\ncrontab -e\n```\n\nA new file will open (If you got one already the existing one will open) \u003cbr\u003e\nSide note: the setup script will already put these lines in your crontab if you chose to do so. \u003cbr\u003e\nIn this file, you can automate things as follows: \u003cbr\u003e\n\nFirst star: Minutes [0 - 59] \u003cbr\u003e\nSecond star: Hours [0 - 23] \u003cbr\u003e\nThird star: Day of Month [0 - 31] \u003cbr\u003e\nForth star: Month [0 - 12] \u003cbr\u003e\nFifth star: Day of Week [0 - 6]\n\nGeneric Example: (In order to work, please replace the variables with your own ones)\n\n```\n# minecraft ${servername} your description of command here\n* * * * * cd ${serverdirectory} \u0026\u0026 ./${script}.sh\n```\n\nClose and save your crontab. (Press Ctrl X and Y)\n\n## logfiles\n\nYour server will write two growing logfiles [screen.log and backup.log] (located in your ${serverdirectory}) \u003cbr\u003e\nscreen.log contains everything that get's written inside your screen terminal while backup.log logs all action of the backup script.\n\nto view them:\n\n```\nless screen.log\nless backup.log\n```\n\n## ending\n\nI hope you learned something and that those scripts I provide may help you and your minecraft server experience. \u003cbr\u003e\nHave fun and enjoy the Game ;^)\n\nBest regards, \u003cbr\u003e\nSimylein\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimylein%2Fminecraft-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimylein%2Fminecraft-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimylein%2Fminecraft-server/lists"}