Clean, professional real-time game server monitoring dashboard
By Zver1o7
More Screenshots - All Features (20+)
Features • Quick Start • Configuration • Supported Games • Deployment
- Real-time Monitoring - Live server status updates via WebSocket every 30 seconds
- Multi-Game Support - Works with Minecraft, CS2, FiveM, Garry's Mod, Source engine games, and 100+ more via GameDig
- Clean Dashboard - Professional dark/light theme
- Search & Filters - Quickly find servers by name, game, or filter by status
- Server Groups - Organize servers by categories
- User Authentication - Secure login for admin panel with session tokens
- Uptime History & Graphs - Visual charts showing server uptime over time
- Advanced Analytics - Charts for server types, groups, status distribution
- Server Detail View - Modal with tabs: info, uptime graph, 30-day heatmap, notes
- 30-Day Uptime Heatmap - GitHub-style daily uptime grid per server
- Server Comparison - Side-by-side comparison of selected servers
- Server Notes - Per-server note timeline, stored on disk
- Scheduled Reports - Auto-generated every 6h with full history
- Webhook Testing - Test any webhook URL directly from admin
- API Rate Limiting - 120 req/min public, 240 req/min admin per IP
- Ping / Latency Graphs - Track network latency per server
- Players Over Time - Player count trend chart in analytics
- Favorites - Star servers and filter to favorites only
- CSV Export - Export the whole server list as CSV in one click
- Notifications Center - Live badge + panel for offline servers
- Keyboard Shortcuts - A / R / N / T /
//?/ Esc in the admin panel - Dark & Light Theme Toggle - Saved to localStorage
- Health Check Endpoint - Public
/healthfor uptime monitoring services - Modern Admin Panel - Sleek sidebar design with 150+ functions
- Reports & Insights - Generate system reports and statistics
- Server Descriptions & Tags - Rich metadata for every server
- Server Groups & Templates - Organize servers and quick-add with templates
- Alert Rules & Maintenance - Configurable alerts and maintenance scheduling
- Webhooks & Integrations - Discord, Telegram, custom webhooks, Slack
- Status Pages - Public status page for each server (
/status/:id) - RCON Console - Built-in remote console in admin panel
- Audit Log - Track admin actions and system events
- Backup & Restore - Export/import configurations, create backups
- At-a-Glance Stats - Total servers, online count, player count, and uptime
- Uptime Tracking - Historical uptime percentage for each server
- Discord & Telegram Alerts - Get notified when servers go down or come back up
- RCON Integration - Remote console API for supported servers
- Copy IP - One-click copy server addresses
- PWA Support - Install as desktop/mobile app
- Multi-language - English and Russian support
- REST API - Full API access with documentation
- Status Badges - Embeddable SVG badges
- Docker Ready - One command deployment with Docker Compose
- Lightweight - Minimal resource usage, perfect for VPS hosting
- Node.js 20+ installed
- Git
# Clone the repository
git clone https://github.com/Zver1o7/gamepulse.git
cd gamepulse
# Install dependencies
npm install
# Configure your servers
cp config/servers.example.json config/servers.json
# Edit config/servers.json with your server details
# Start the server
npm startOpen http://localhost:3000 in your browser.
Edit config/servers.json to add your game servers:
[
{
"id": "unique-id",
"name": "My Awesome Server",
"type": "minecraft",
"host": "play.example.com",
"port": 25565,
"game": "Minecraft"
}
]Get alerts when servers go offline or come back online:
# Copy the example config
cp config/notifications.example.json config/notifications.jsonEdit config/notifications.json:
{
"discord": {
"enabled": true,
"webhookUrl": "https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN"
},
"telegram": {
"enabled": false,
"botToken": "YOUR_BOT_TOKEN",
"chatId": "YOUR_CHAT_ID"
},
"notifyOnDown": true,
"notifyOnUp": true
}GamePulse uses GameDig. Check their game list for supported game types.
Common types: minecraft, cs2, csgo, fivem, garrysmod, tf2, rust, valheim, etc.
GamePulse supports any game server that GameDig can query, including:
| Game | Type | Notes |
|---|---|---|
| Minecraft (Java/Bedrock) | minecraft / minecraftbedrock |
Full support |
| Counter-Strike 2 | cs2 |
Player list, map, etc. |
| FiveM | fivem |
Great for RP servers |
| Garry's Mod | garrysmod |
Full support |
| Team Fortress 2 | tf2 |
Full support |
| Rust | rust |
Full support |
| ARK: Survival Evolved | arkse |
Full support |
| And 100+ more... | See GameDig docs | Universal support |
# Clone and configure
git clone https://github.com/Zver1o7/gamepulse.git
cd gamepulse
cp config/servers.example.json config/servers.json
nano config/servers.json
# Start with Docker
docker-compose up -ddocker build -t gamepulse .
docker run -d -p 3000:3000 -v $(pwd)/config:/app/config --name gamepulse gamepulsenpm install -g pm2
pm2 start src/server.js --name gamepulse
pm2 save
pm2 startup- Backend: Node.js, Express, Socket.IO
- Server Queries: GameDig
- Scheduling: node-cron
- Frontend: Vanilla JavaScript, CSS3 with modern animations
- Fonts: Inter, Font Awesome
| Endpoint | Method | Description |
|---|---|---|
/api/servers |
GET | Get all server statuses |
/api/stats |
GET | Get dashboard statistics |
/api/history/:id |
GET | Get uptime history for a server |
/api/badge/:id.svg |
GET | Get status badge SVG |
/api/rcon/:id |
POST | Send RCON command |
/api/auth/login |
POST | Admin login |
/api/auth/me |
GET | Current session info |
/status/:id |
GET | Public status page |
/health |
GET | Health/version check (public) |
/admin/export.csv |
GET | Export servers as CSV |
/admin/favorites |
GET/POST | Toggle favorites |
/admin/ping/:id |
GET | Ping history for a server |
/admin/notifications |
GET | Notifications center |
/admin/server/:id/detail |
GET | Full server detail (history + notes) |
/admin/server/:id/heatmap |
GET | 30-day uptime heatmap data |
/admin/notes/:id |
GET/POST | Server notes |
/admin/compare?ids= |
GET | Compare servers side-by-side |
/admin/reports/history |
GET | Report history |
/admin/reports/generate |
POST | Generate report now |
/admin/webhooks/test |
POST | Test a webhook URL |
/admin/* |
GET/POST/PUT/DELETE | Admin API (requires auth) |
See /docs.html for more details.
- URL:
/admin(redirects to/login.htmlif not authenticated) - Default login:
admin/admin123 - Set custom credentials via env vars:
ADMIN_USER,ADMIN_PASSWORD
Contributions are welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Discord webhook notifications
- Telegram bot integration
- Server uptime history tracking
- Themes/customization (dark/light)
- RCON integration (API)
- Multi-language support (EN/RU)
- PWA support
- Server uptime history & graphs (UI)
- User authentication
- Advanced charts & analytics
- Public status pages
- Webhooks & integrations
- Alert rules & maintenance
- Ping / latency graphs
- Favorites & CSV export
- Notifications center
- Keyboard shortcuts & theme toggle
- Health check endpoint
- Server detail view with tabs
- 30-day uptime heatmap
- Server comparison tool
- Server notes
- Scheduled reports (6h auto)
- Webhook testing
- API rate limiting
- Multi-user roles & permissions
- Scheduled reports & email notifications
- Mobile app
Made with care for the game server community
By Zver1o7 — GitHub