π 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
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 π
External Packages π¦:
- firebase (firebase cloud β)
- pterm (beautiful UI)
- toml (config files β)
- godotenv (secrets π€«)
- fasthttp (serve files through http requests)
- google api (google cloud options)
Docs
Prerequisites π
- Go 1.18
- 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 <port> --region <region to host>
And send the ngrok domain name to your friends as an IP for the server
(Example: 74329sadoijjiosad.ngrok.io )