- Key Features
- Who is it for?
- Basic Installation
- Usage (Advanced/Developers)
- Building from Source
- What Can You Do?
- Project Structure
- Technologies Used
- Contributing
- Security
- License
- Acknowledgments
- Support
MC Roam is a desktop application that revolutionizes Minecraft server hosting for friends and communities.
Your server, your hardware, your rules.
MC Roam runs directly on your PC—no online server RAM limitations, no hidden costs. Host, manage, and play Minecraft servers from anywhere, with seamless cloud sync and zero port forwarding.
- No more server headaches: Anyone in your server group can host, and your world is always up-to-date.
- Cloud-powered: All server data is synced via Google Drive, OneDrive, or any Rclone-compatible storage.
- Admin made easy: Assign trusted admins, manage players, and tweak settings in real time.
- Cloud Sync: Store and sync your Minecraft server data across devices and hosts.
- Multi-Host: Any member of the server group can start the server—no need to keep one PC always online.
- Easy Player Management: OP, ban, kick, whitelist, and more, all from a modern UI.
- Admin System: Owners can promote admins for shared management.
- No Port Forwarding: Public tunneling via Playit.gg—play with friends, no router setup.
- Real-Time Settings: Change world rules and properties while the server is running.
- Built-in Terminal: View logs and send console commands directly from the app.
- Friends who want to share a Minecraft world, without any cloud service limitation.
- Groups who want easy, secure, and portable server management.
- Anyone who wants to host Minecraft servers without any resource limitaion of online services as it runs on your PC.
- Windows 10/11 (64-bit)
- Rclone-compatible Cloud Storage (Google Drive, OneDrive, etc.)
- Download the latest release from Releases
- Run the Application
- Double-click
mc-roam.exe - Create an account (no config needed!)
- Authorize your cloud storage
- Create or join a server
- Double-click
Note: The release biuld is integrated with owners database. So just connect your playit.gg account and play.
Want to build MC Roam yourself, use your own MongoDB/Google Cloud, or contribute?
- See the Building from Source section below.
- You can configure your own MongoDB, Google OAuth, and Rclone settings via a
.envfile. - All advanced configuration and developer instructions are in the docs/ folder.
Requirements:
Build Steps:
# Clone repository
git clone https://github.com/Student9876/mc-roam.git
cd mc-roam
# Install Wails
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# Install frontend dependencies
cd frontend
npm install
cd ..
# Build
wails build -ldflags "-X 'mc-roam/backend.MongoDBURI=YOUR_MONGODB_URI' -X 'mc-roam/backend.GoogleClientID=YOUR_GOOGLE_CLIENT_ID' -X 'mc-roam/backend.GoogleClientSecret=YOUR_GOOGLE_CLIENT_SECRET'"This command builds the MC Roam application and injects your custom environment variables directly into the binary using Go's -ldflags option:
YOUR_MONGODB_URI: Replace with your MongoDB connection string (e.g., from MongoDB Atlas).YOUR_GOOGLE_CLIENT_ID: Replace with your Google OAuth client ID.YOUR_GOOGLE_CLIENT_SECRET: Replace with your Google OAuth client secret.
By passing these values at build time, you avoid the need for a separate .env file and ensure the app is configured with your credentials out of the box. Never commit real credentials to your repository.
For Developers: If you need to override default services (MongoDB, Google OAuth), create a
.envfile with your own credentials. See.env.examplefor details.
Server owners can:
- Assign admin privileges to trusted members
- Delete servers
- Manage all settings
Admins can:
- Modify server properties
- Change world settings
- Manage players (op, ban, kick, whitelist)
- Send console commands
Regular members can:
- Start and stop servers
- Play when server is online
mc-roam/
├── backend/ # Go backend logic
│ ├── app.go # Main application logic
│ ├── runner.go # Server execution
│ ├── rclone.go # Cloud sync
│ ├── playit.go # Public tunneling
│ └── ...
├── frontend/ # React frontend
│ ├── src/
│ │ ├── pages/ # Dashboard, Auth
│ │ └── components/ # Modals, Cards
│ └── ...
├── build/ # Build assets
├── .github/ # CI/CD workflows
└── README.md
- Wails v2: Modern Go + Vite + React desktop app framework
- Database: MongoDB
- Cloud Sync: Rclone
- Tunneling: Playit.gg
Contributions are welcome! Please feel free to submit a Pull Request.
Note: We only accept Pull Requests (PRs) to the
developbranch. Please do not open PRs directly tomain. All new features, bug fixes, and improvements should be based ondevelop. Themainbranch is reserved for production-ready code and releases.
- Fork the repository
- Create your feature branch from
develop(git checkout develop && git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to your feature branch (
git push origin feature/AmazingFeature) - Open a Pull Request targeting the
developbranch
- Never commit
.envfiles with real credentials - MongoDB credentials are environment-based
- Rclone configs are stored per-server in database
- Passwords are bcrypt-hashed
This project is licensed under the MIT License - see the LICENSE file for details.
- Wails - Amazing Go + Web framework
- Rclone - Cloud storage sync
- Playit.gg - Tunneling service
- PaperMC - Optimized Minecraft server
For issues, questions, or feature requests, please open an issue on GitHub.
Made by Student9876