12e259270d5fbe7b118ed5c9b41bc8ed0bd3bba7
ACC Server Manager
A comprehensive web-based management system for Assetto Corsa Competizione (ACC) dedicated servers.
🚀 Quick Start
Prerequisites
- Windows 10/11 or Windows Server 2016+
- Go 1.23.0+
- Administrative privileges
Installation
-
Clone and Build
git clone <repository-url> cd acc-server-manager go mod download go build -o api.exe cmd/api/main.go -
Set Environment Variables
# Set tool paths (optional - defaults will be used if not set) $env:STEAMCMD_PATH = "C:\steamcmd\steamcmd.exe" $env:NSSM_PATH = ".\nssm.exe" -
Generate Configuration
# Windows PowerShell .\scripts\generate-secrets.ps1 # Or manually copy and edit copy .env.example .env -
Run Application
./api.exeAccess at: http://localhost:3000
✨ Key Features
- Multi-Server Management - Manage multiple ACC servers from one interface
- Steam Integration - Automated server installation and updates
- Real-time Monitoring - Live server status and performance metrics
- Advanced Security - JWT authentication, role-based access, rate limiting
- Configuration Management - Web-based configuration editor
- Service Integration - Windows Service management
🔧 Configuration
Environment Variables
The application uses environment variables for tool configuration:
| Variable | Description | Default |
|---|---|---|
STEAMCMD_PATH |
Path to SteamCMD executable | c:\steamcmd\steamcmd.exe |
NSSM_PATH |
Path to NSSM executable | .\nssm.exe |
For detailed configuration information, see Environment Variables Documentation.
🏗️ Architecture
- Backend: Go + Fiber web framework
- Database: SQLite with GORM
- Authentication: JWT with bcrypt
- API: RESTful with Swagger documentation
📚 Documentation
Comprehensive documentation is available in the documentation/ folder:
- Detailed README - Complete setup and usage guide
- Logging System - Enhanced error handling and logging
- Security Guide - Security features and best practices
- Configuration - Advanced configuration options
- API Documentation - Complete API reference
- Deployment Guide - Production deployment instructions
- Migration Guides - Database and feature migration instructions
🔒 Security Features
- JWT token authentication
- Role-based access control
- AES-256 encryption for sensitive data
- Comprehensive input validation
- Rate limiting and DoS protection
- Security headers and CORS protection
🛠️ Development
# Development with hot reload
go install github.com/cosmtrek/air@latest
air
# Run tests
go test ./...
# API Documentation
# Visit: http://localhost:3000/swagger/
📝 Environment Variables
Required variables (auto-generated by scripts):
JWT_SECRET- JWT signing secretAPP_SECRET- Application secret keyENCRYPTION_KEY- AES encryption key
Optional:
PORT- HTTP port (default: 3000)DB_NAME- Database file (default: acc.db)CORS_ALLOWED_ORIGIN- CORS origins
🤝 Contributing
- Fork the repository
- Create feature branch:
git checkout -b feature/name - Make changes and add tests
- Submit pull request
📄 License
MIT License - see LICENSE file for details.
For detailed documentation, troubleshooting, and advanced configuration, see the documentation/ folder.
Happy Racing! 🏁
Description
Languages
Go
95%
PowerShell
3.5%
Shell
1.1%
Batchfile
0.4%