{"id":18974702,"url":"https://github.com/snorreks/mc-server","last_synced_at":"2026-01-27T03:36:01.428Z","repository":{"id":184535044,"uuid":"398822346","full_name":"snorreks/mc-server","owner":"snorreks","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-16T15:02:22.000Z","size":1829,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-16T17:52:14.795Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snorreks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-08-22T14:39:06.000Z","updated_at":"2025-09-16T15:02:27.000Z","dependencies_parsed_at":"2025-05-26T04:49:50.996Z","dependency_job_id":null,"html_url":"https://github.com/snorreks/mc-server","commit_stats":null,"previous_names":["snorreks/mc-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/snorreks/mc-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorreks%2Fmc-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorreks%2Fmc-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorreks%2Fmc-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorreks%2Fmc-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snorreks","download_url":"https://codeload.github.com/snorreks/mc-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snorreks%2Fmc-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28799792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T01:07:07.743Z","status":"online","status_checked_at":"2026-01-27T02:00:07.755Z","response_time":168,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-08T15:15:54.848Z","updated_at":"2026-01-27T03:36:01.416Z","avatar_url":"https://github.com/snorreks.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"Replace:\n\n- {projectId} with your project id\n- {accountName} with your google account name\n\n1. Create google account\n2. Create Firebase project: https://console.firebase.google.com/\n   1. Enable auth \u003e email/password\n   2. Enable firestore \u003e eur3\n   3. Enable Storage\n   4. Functions \u003e get started\n   5. Create PWA app end copy config -\u003e constant.ts\n   6. Add your account in users settings\n3. Go to GCP and setup free trial, select the firebase project and create a VM https://console.cloud.google.com/compute/instances\n   1. Name: mc-server\n   2. Zone: europa-west1-b\n   3. Machine type: n2-highmem-2\n   4. Boot disk \u003e Change \u003e Boot disk type: SSD\n\n   5. Identity and API access\n      1. Service account: Compute Engine default service account\n      2. Access scopes: Set access for each API\n         1. Storage: Read Write\n   6. Disks:\n      1. Add new disk:\n      2. Name: minecraft-disk\n      3. Type: SSD Persistent Disk\n      4. Source type: Blank disk\n      5. Size (GB): 50\n   7. Networking:\n      1. Network tags: minecraft-server\n      2. Network interfaces \u003e edit:\n         1. External IP \u003e Create IP address \u003e name: mc-ip \u003e done\n\n4. Setup Firewall rule\n   1. In GCP: search for VPC network\n   2. Click \"v default\"\n   3. Firewall rules \u003e Add firewall rule\n      1. Name: minecraft-rule\n      2. Targets: Specified target tags\n      3. Target tags: minecraft-server\n      4. Source filter: IP ranges\n      5. Source IP ranges: 0.0.0.0/0\n      6. Protocols and ports:\n         - tcp:25565,8123,8100\n         - udp:24454\n\n5. Open SSH:\n   1. setup disk:\n\n   ```script\n   sudo su\n   apt-get install -y screen\n   mkdir -p /home/minecraft\n   mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/google-minecraft-disk\n   mount -o discard,defaults /dev/disk/by-id/google-minecraft-disk /home/minecraft\n   ```\n\n   2. setup java https://docs.papermc.io/misc/java-install#ubuntudebian\n\n   3. Upload files from vm-files into /home/minecraft\n\n   4. Download Minecraft server (rename jar file to server.jar):\n   - PaperMC:\n     1. Download server.jar: https://papermc.io/downloads\n\n     ```script\n     mv ../{accountName}/server.jar ./\n     ```\n   5. Start server to test\n\n   ```script\n      java -Xms1G -Xmx7G -jar server.jar nogui\n   ```\n\n6. Close vm and add startup and shutdown script in custom metadata\n   - startup-script:\n\n   ```bash\n   #!/bin/bash\n   # Mount the additional SSD data disk\n   mount /dev/disk/by-id/google-minecraft-disk /home/minecraft\n   # Run backup.sh every 4 hour\n   (crontab -l | grep -v '/home/minecraft/backup.sh'; echo \"0 _/4 _ \\* \\* /home/minecraft/backup.sh\") | crontab -\n   # Start the Minecraft server in a detached screen session with logging\n   cd /home/minecraft\n   screen -d -m -S mcs java -Xms14336M -Xmx14336M server.jar nogui\n   ```\n\n   Get full startup script here https://docs.papermc.io/misc/tools/start-script-gen\n   - shutdown-script:\n\n   ```bash\n   #!/bin/bash\n   sudo screen -r -X stuff '/stop\\n'\n   ```\n\n7. Deploy pwa and functions:\n   1. Go to .firebaserc and replace project id\n   2. Go to constants and change the variables\n   3. Run\n   ```\n   deno install\n   deno run setup\n   deno run deploy\n   ```\n\n# Plugins\n\n-mcmmp\nhttps://popicraft.net/jenkins/job/mcMMO/\n\n-discordsrv\nhttps://www.spigotmc.org/resources/discordsrv.18494/\n\n-dynmap\nhttp://www.dynmap.us/builds/dynmap/?C=M;O=D\n\n- bettersleeping\n\n- minablespawners\n\n- luckperms\n\n- sickle\n\n- imageonmap\n\n- chestsort\n\n# Commands\n\nDo all commands from 'minecraft' folder with su command:\n\n```script\ncd /home/minecraft\nsudo su\n```\n\n- Move (mv [options] source dest)\n  - Move from uploaded file to minecraft folder:\n\n```script\nmv ../{accountName}/{fileName} ./\n```\n\n- Remove file\n\n```script\nrm {fileName}\n```\n\n- Remove folder\n\n```script\nrm -r {folderName}\n```\n\n- Copy minecraft folder from vm to storage\n\n```script\ngsutil cp -r . gs://{projectId}.appspot.com/minecraft\n```\n\n- Copy minecraft worlds from vm to storage\n\n```script\ngsutil -m cp -r world gs://{projectId}.appspot.com/backup/world\ngsutil -m cp -r world_nether gs://{projectId}.appspot.com/backup/world_nether\ngsutil -m cp -r world_the_end gs://{projectId}.appspot.com/backup/world_the_end\n\n```\n\ngsutil -m cp -r gs://{projectId}.appspot.com/backup .\n\n- Copy saved minecraft\n\n1. Put your minecraft world in {projectId}-md-backup: https://console.cloud.google.com/storage\n\n```script\ngsutil cp -r gs://{projectId}.appspot.com/minecraft/* .\n```\n\n- Copy worlds from a backup\n\n```script\nrm -r world\nrm -r world_nether\nrm -r world_the_end\ngsutil cp -r gs://{projectId}.appspot.com/{date}/world .\ngsutil cp -r gs://{projectId}.appspot.com/minecraft/world_nether .\ngsutil cp -r gs://{projectId}.appspot.com/minecraft/world_the_end .\n\n```\n\n- Remove folder in storage\n\n```script\ngsutil rm gs://{projectId}.appspot.com/{dirName}/**\n```\n\n- Best startup script\n\nhttps://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/\n\n# Notes\n\nterraform? and\nhttps://docs.google.com/document/d/1TXyzHKqoKMS-jY9FSMrYNLEGathqSG8YuHdj0Z9GP34/edit#heading=h.srqzwwxtrmar\n\nhttps://github.com/itzg/docker-minecraft-server\n\nhttps://www.geeksforgeeks.org/google-cloud-platform-setting-up-a-game-server/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnorreks%2Fmc-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnorreks%2Fmc-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnorreks%2Fmc-server/lists"}