A modern web application for managing KGSM (Krystal Game Server Manager), built with React and TypeScript. This admin panel provides a user-friendly interface to manage game server instances, install new servers, and monitor system resource usage.
- 🎮 Manage game server instances (start, stop, restart, uninstall)
- 🚀 Install new game servers from available blueprints
- 📊 Monitor system resource usage (CPU, memory, disk)
- 🖥️ View server logs and send commands through a terminal-like interface
- 🌙 Dark mode / light mode support
- 🔐 Authentication with Google, Microsoft, or GitHub accounts
- 📱 Responsive design that works on desktop and mobile
- Node.js 16.x or higher
- KGSM installed and available as a system command
- Nginx (for production deployment)
/kgsm-web- React frontend application/server- Express API server that interfaces with KGSM
git clone https://github.com/TheKrystalShip/kgsm-web.git
cd kgsm-webcd kgsm-web
npm installcd ../server
npm installCreate a .env file in the kgsm-web directory with the following content:
REACT_APP_AUTH0_DOMAIN=your-auth0-domain
REACT_APP_AUTH0_CLIENT_ID=your-auth0-client-id
REACT_APP_AUTH0_AUDIENCE=your-api-audience
For local development, you can skip the Auth0 configuration as it will use the development bypass.
cd server
npm run devcd kgsm-web
npm startThe application will be available at http://localhost:3000
cd kgsm-web
npm run buildCreate an Nginx configuration file for the application:
server {
listen 80;
server_name your-domain.com;
location / {
root /path/to/kgsm-web/kgsm-web/build;
try_files $uri /index.html;
}
location /api {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}npm install -g pm2
cd server
pm2 start index.js --name kgsm-apiThis project is licensed under the MIT License - see the LICENSE file for details.
