{"id":19942952,"url":"https://github.com/piterweb/mc-sync-upload","last_synced_at":"2025-03-01T13:24:11.273Z","repository":{"id":63461219,"uuid":"519365389","full_name":"PiterWeb/MC-Sync-Upload","owner":"PiterWeb","description":"External tool to Send ✈ and Receive 📨 Minecraft Worlds 👥","archived":false,"fork":false,"pushed_at":"2023-07-06T18:02:09.000Z","size":93,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-12T05:08:16.463Z","etag":null,"topics":["cli","go","golang","golang-cli","golang-server","golang-tools","minecraft","minecraft-server","minecraft-tool","tools"],"latest_commit_sha":null,"homepage":"https://github.com/PiterWeb/MC-Sync-Download","language":"Go","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/PiterWeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","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}},"created_at":"2022-07-29T22:36:25.000Z","updated_at":"2023-06-10T09:06:27.000Z","dependencies_parsed_at":"2024-06-21T01:25:41.849Z","dependency_job_id":null,"html_url":"https://github.com/PiterWeb/MC-Sync-Upload","commit_stats":{"total_commits":11,"total_committers":2,"mean_commits":5.5,"dds":"0.18181818181818177","last_synced_commit":"468590bff4e99a5d92d63551c30c69cc5c522497"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FMC-Sync-Upload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FMC-Sync-Upload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FMC-Sync-Upload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiterWeb%2FMC-Sync-Upload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiterWeb","download_url":"https://codeload.github.com/PiterWeb/MC-Sync-Upload/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241369506,"owners_count":19951752,"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":["cli","go","golang","golang-cli","golang-server","golang-tools","minecraft","minecraft-server","minecraft-tool","tools"],"created_at":"2024-11-13T00:14:50.576Z","updated_at":"2025-03-01T13:24:11.245Z","avatar_url":"https://github.com/PiterWeb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📁 MC-Sync-Upload\n\n### Description \n\nThis is part of the pack MC-Sync. MC-Sync are two programms that aims to make easier to **play minecraft** (java edition) with your friends **without a real server**.\n\n[See MC-Sync-Download](https://github.com/PiterWeb/MC-Sync-Download)\n\nMC-Sync-Upload has the function of send the world (server) to another person or upload it into the firebase cloud (**free** or paid tier) to make backups.\n\n## Purpouse \n\n📖 Learn \n\n - Create better CLI APPs\n - Interact with NBT files (Minecraft configuration files)\n - Use Firebase Storage\n - Read toml files\n\n✨Create a simple programm to play Minecraft Survival with my friends 👤\n\n## Technologies used 📘\n\n - Go (Golang)\n\n#### External Packages  📦:\n\n 1. [firebase](firebase.google.com/go/v4) (firebase cloud ☁)\n 2. [pterm](github.com/pterm/pterm) (beautiful UI)\n 3. [toml](github.com/BurntSushi/toml) (config files ⚙)\n 4.  [godotenv](github.com/joho/godotenv) (secrets 🤫)\n 5. [fasthttp](github.com/valyala/fasthttp) (serve files through http requests)\n 6. [google api](google.golang.org/api) (google cloud options)\n\n## Docs\n\n### Prerequisites 📌\n\n - [Go 1.18](https://go.dev/) \n - Ngrok (I mention ngrok but you can use other tools that supports tcp tunnels)\n - Firebase Project (Firebase Storage)\n\n### Set up 💻\n\n    git clone https://github.com/PiterWeb/MC-Sync-Upload.git\n    cd ./MC-Sync-Upload\n    go mod tidy\n\nConfigure the project with the .env , serviceAccountKey.json and  accounts.toml files.\n\n### Build 🔨\n\n    go build .\n\nAn executable for your OS will be created\n\n### Play 🪀\n\nShare the executables (mc-sync-upload / download) and also ngrok with your friends\n\nWhen you open the world in LAN go to ngrok and type:\n\n    ngrok tcp \u003cport\u003e --region \u003cregion to host\u003e\n\nAnd send the ngrok domain name to your friends as an IP for the server\n(Example: 74329sadoijjiosad.ngrok.io )\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiterweb%2Fmc-sync-upload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiterweb%2Fmc-sync-upload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiterweb%2Fmc-sync-upload/lists"}