An open API service indexing awesome lists of open source software.

https://github.com/piterweb/mc-sync-upload

External tool to Send ✈ and Receive πŸ“¨ Minecraft Worlds πŸ‘₯
https://github.com/piterweb/mc-sync-upload

cli go golang golang-cli golang-server golang-tools minecraft minecraft-server minecraft-tool tools

Last synced: 3 months ago
JSON representation

External tool to Send ✈ and Receive πŸ“¨ Minecraft Worlds πŸ‘₯

Awesome Lists containing this project

README

        

# πŸ“ MC-Sync-Upload

### Description

This 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**.

[See MC-Sync-Download](https://github.com/PiterWeb/MC-Sync-Download)

MC-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.

## Purpouse

πŸ“– Learn

- Create better CLI APPs
- Interact with NBT files (Minecraft configuration files)
- Use Firebase Storage
- Read toml files

✨Create a simple programm to play Minecraft Survival with my friends πŸ‘€

## Technologies used πŸ“˜

- Go (Golang)

#### External Packages πŸ“¦:

1. [firebase](firebase.google.com/go/v4) (firebase cloud ☁)
2. [pterm](github.com/pterm/pterm) (beautiful UI)
3. [toml](github.com/BurntSushi/toml) (config files βš™)
4. [godotenv](github.com/joho/godotenv) (secrets 🀫)
5. [fasthttp](github.com/valyala/fasthttp) (serve files through http requests)
6. [google api](google.golang.org/api) (google cloud options)

## Docs

### Prerequisites πŸ“Œ

- [Go 1.18](https://go.dev/)
- Ngrok (I mention ngrok but you can use other tools that supports tcp tunnels)
- Firebase Project (Firebase Storage)

### Set up πŸ’»

git clone https://github.com/PiterWeb/MC-Sync-Upload.git
cd ./MC-Sync-Upload
go mod tidy

Configure the project with the .env , serviceAccountKey.json and accounts.toml files.

### Build πŸ”¨

go build .

An executable for your OS will be created

### Play πŸͺ€

Share the executables (mc-sync-upload / download) and also ngrok with your friends

When you open the world in LAN go to ngrok and type:

ngrok tcp --region

And send the ngrok domain name to your friends as an IP for the server
(Example: 74329sadoijjiosad.ngrok.io )