https://github.com/lovelesscodes/mcstatus-next
Web User Interface for your mc-router instance.
https://github.com/lovelesscodes/mcstatus-next
mc-router mcstatus minecraft
Last synced: 2 months ago
JSON representation
Web User Interface for your mc-router instance.
- Host: GitHub
- URL: https://github.com/lovelesscodes/mcstatus-next
- Owner: LovelessCodes
- License: mit
- Created: 2023-06-05T08:13:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-08T13:43:42.000Z (about 1 year ago)
- Last Synced: 2025-01-28T09:50:01.938Z (4 months ago)
- Topics: mc-router, mcstatus, minecraft
- Language: TypeScript
- Homepage: https://mcstatus-next.vercel.app
- Size: 258 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# MCStatus-Next




MCStatus-Next is a project built with Next.js, tRPC, NextAuth, and integration with the [MC-Router](https://github.com/itzg/mc-router/) API through environment variables. It provides a powerful and user-friendly dashboard to monitor the status of Minecraft servers served through [MC-Router](https://github.com/itzg/mc-router/).## Demo
[](https://mcstatus-next.vercel.app/)## Features
🔍 **Server Status Monitoring**: MCStatus-Next allows you to monitor the status of your Minecraft servers in real-time. It provides information on the server's uptime, player count, and other important metrics.🔒 **Third-party Authentication**: The project integrates with Discord and Github authentication through Next Auth, allowing users to sign in securely using their Discord or Github accounts. This ensures a seamless and convenient login experience for server administrators.
🔌 **[MC-Router](https://github.com/itzg/mc-router/) API Integration**: MCStatus-Next connects with the [MC-Router](https://github.com/itzg/mc-router/) API, enabling it to retrieve essential information about the Minecraft servers. It utilizes environment variables to configure the API URL, ensuring flexibility and ease of use.
🖥️ **User-Friendly Dashboard**: The dashboard interface is designed to be intuitive and user-friendly. It provides an organized view of server status, player activity, and other relevant data, making it easy to manage multiple Minecraft servers effectively.
### Development
- [x] User authentication
- [x] [MC-Router](https://github.com/itzg/mc-router/) API implementation
- [x] Server Status fetching
- [x] Add new server(s)
- [x] Delete server(s)
- [ ] Edit/Update server(s)
- [ ] Set a default server
- [ ] More authentication options
- [ ] Better Docker memory optimization## Setup
To set up MCStatus-Next, follow the steps below:### Local
1. Clone the repository to your local machine.
2. Create a `.env.local` file based on the provided `.env.example` file.
3. Fill in the necessary configuration values in the `.env.local` file, including the Discord client ID and secret, MCRouter API URL, and any other required variables.
4. Install the project dependencies by running `npm install` or `yarn install` in the project's root directory.
5. Start the development server with `npm run dev` or `yarn dev`.MCStatus-Next will now be accessible in your web browser at the specified URL.
### Docker
`docker run -d -p 6969:6969 ghcr.io/lovelesscodes/mcstatus-next:latest`Using `docker-compose`
```yml
services:
mcstatus-next:
container_name: mcstatus-next
image: ghcr.io/lovelesscodes/mcstatus-next:latest
restart: always
ports:
- 6969:6969
```
No environment variables are required to run the service, but the defaults will be used.
Environment Variables
| Variable | Default |
| ------------- | ------------- |
| NEXTAUTH_SECRET | `secret` |
| NEXTAUTH_URL | `http://localhost:6969` |
| DISCORD_CLIENT_ID | `undefined` |
| DISCORD_CLIENT_SECRET | `undefined` |
| GITHUB_CLIENT_ID | `undefined` |
| GITHUB_CLIENT_SECRET | `undefined` |
| MCROUTER_API_URL | `https://router.less.cx` |
| AUTHENTICATED_EMAILS | `undefined` |
| PAGE_TITLE | `undefined` |
| PAGE_DESCRIPTION | `undefined` |
| FAVICON_URL | `undefined` |#### Running alongside [MC-Router](https://github.com/itzg/mc-router/)
```yml
services:
mcstatus-next:
container_name: mcstatus-next
image: ghcr.io/lovelesscodes/mcstatus-next:latest
restart: always
depends_on:
- mc-router
ports:
- 6969:6969
environment:
MCROUTER_API_URL: "http://mc-router:80"
mc-router:
container_name: mc-router
image: itzg/mc-router
ports:
- 25565:25565
environment:
API_BINDING: ":80"
```## Contributing
Contributions to MCStatus-Next are welcome! If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request on the project's GitHub repository.## License
MCStatus-Next is licensed under the [MIT License](LICENSE.md). You are free to modify and distribute this project in accordance with the terms of the license.## Acknowledgments
MCStatus-Next was inspired by the need for a comprehensive and user-friendly solution to monitor Minecraft server status. Special thanks to the creators and contributors of [Next.js](https://github.com/vercel/next.js), [tRPC](https://github.com/trpc/trpc), [NextAuth](https://github.com/nextauthjs/next-auth), and [MC-Router](https://github.com/itzg/mc-router) for their amazing work.