2025-07-06 22:26:23 +02:00
2025-02-05 00:26:12 +01:00
2025-07-01 00:58:34 +02:00
2025-07-06 15:15:13 +02:00
2025-07-06 22:26:23 +02:00
2025-06-29 21:59:41 +02:00
2025-06-29 21:59:41 +02:00
2025-06-29 21:59:41 +02:00
2025-06-29 21:59:41 +02:00
2025-07-01 00:58:34 +02:00

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

  1. Clone and Build

    git clone <repository-url>
    cd acc-server-manager
    go mod download
    go build -o api.exe cmd/api/main.go
    
  2. 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"
    
  3. Generate Configuration

    # Windows PowerShell
    .\scripts\generate-secrets.ps1
    
    # Or manually copy and edit
    copy .env.example .env
    
  4. Run Application

    ./api.exe
    

    Access 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:

🔒 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 secret
  • APP_SECRET - Application secret key
  • ENCRYPTION_KEY - AES encryption key

Optional:

  • PORT - HTTP port (default: 3000)
  • DB_NAME - Database file (default: acc.db)
  • CORS_ALLOWED_ORIGIN - CORS origins

🤝 Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/name
  3. Make changes and add tests
  4. 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
No description provided
Readme 17 MiB
Languages
Go 95%
PowerShell 3.5%
Shell 1.1%
Batchfile 0.4%