A comprehensive authentication ecosystem for Minecraft servers, powered by Discord OAuth2
Features • Architecture • Installation • Components • Flow
- Seamless Authentication via Discord OAuth2
- Auto-updating System for both launcher and modpacks
- Achievement Tracking with points and rewards
- Cross-platform Support for Windows, macOS, and Linux
- Anti-alt Account System through Discord account linking
- Rich Discord Integration with stats and commands
The project consists of six main components working in harmony:
- Tech Stack: Electron, Vue.js, Python
- Features:
- Achievement display
- Points tracking
- Event announcements
- Newsletter updates
- Auto-updating system
- Tech Stack: Python, Tkinter
- Purpose: Streamlined launcher deployment
- Features: One-click installation
- Tech Stack: Python, FastAPI, MongoDB
- Role: Central authentication service
- Features:
- OAuth2 handling
- Token management
- User data storage
- API endpoints
- Tech Stack: Python, Interactions
- Features:
- Player statistics
- Admin controls
- Modpack management
- Update broadcasting
- Tech Stack: Java, Forge
- Purpose: Authentication bridge
- Features: Secure token handling
- Tech Stack: Kotlin, PaperMC
- Purpose: Server-side verification
- Features: Token validation
normal-project/
├── minecraft/ # Java/Kotlin projects
│ ├── mod/ # Forge client mod
│ └── plugin/ # PaperMC plugin
├── installer/ # Python installer
├── launcher/ # Electron application
├── hub/ # Backend services
sequenceDiagram
participant User
participant Launcher
participant Discord
participant Hub
participant Minecraft
participant Server
User->>Launcher: Launch Game
Launcher->>Discord: OAuth2 Request
Discord-->>Hub: Authorization Code
Hub-->>Launcher: Auth Token
Launcher->>Minecraft: Start with -Dcode
Minecraft->>Server: Hidden /login
Server-->>Hub: Validate Token
Server->>User: Allow Connection
- 🎮 User initiates login through launcher
- 🔑 Discord OAuth2 flow begins
- 🌐 Hub processes authentication
- 🎯 Launcher receives auth token
- ⚡ Minecraft starts with custom flag
- 🔒 Server validates and allows connection
Built with for the "Isso é Normal?" Minecraft community