# ACC Server Manager A web-based management system for Assetto Corsa Competizione (ACC) dedicated servers on Windows. ## Quick Start ### Prerequisites - Windows 10/11 or Windows Server 2016+ - Go 1.23.0+ - [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD) - [NSSM](https://nssm.cc/download) (for Windows service management) ### Installation 1. **Clone and build** ```bash git clone cd acc-server-manager go build -o api.exe cmd/api/main.go ``` 2. **Generate configuration** ```powershell # Windows PowerShell .\scripts\generate-secrets.ps1 ``` 3. **Run** ```bash ./api.exe ``` Access the web interface at: http://localhost:3000 ## Features - **Multi-Server Management** - Manage multiple ACC servers from one interface - **Steam Integration** - Automated server installation and updates - **Web Configuration** - Edit server settings through the browser - **Windows Services** - Run servers as Windows services - **Security** - JWT authentication and encrypted credential storage - **Interactive API** - Swagger UI for API testing and documentation ## Configuration ### Environment Variables The application uses these environment variables: | Variable | Description | Default | |----------|-------------|---------| | `STEAMCMD_PATH` | Path to SteamCMD | `c:\steamcmd\steamcmd.exe` | | `NSSM_PATH` | Path to NSSM | `.\nssm.exe` | | `PORT` | Web server port | `3000` | Security keys are automatically generated by the setup script. ## API Documentation ### Interactive Swagger UI Access the comprehensive API documentation with testing capabilities at: - **Swagger UI**: http://localhost:3000/swagger/ - **OpenAPI Spec**: http://localhost:3000/swagger/doc.json The Swagger interface allows you to: - Test API endpoints directly from your browser - View request/response examples - Authenticate and test protected endpoints - Generate client libraries from the OpenAPI spec For detailed API usage, see [API Reference](docs/API.md) and [Swagger Guide](docs/SWAGGER.md). ## Development ```bash # Install hot-reload tool go install github.com/cosmtrek/air@latest # Run with hot reload air # Run tests go test ./... ``` ## Documentation - [Setup Guide](docs/SETUP.md) - Detailed installation instructions - [Configuration](docs/CONFIG.md) - Advanced configuration options - [API Reference](docs/API.md) - API endpoints and authentication - [Swagger Guide](docs/SWAGGER.md) - Interactive API documentation - [Troubleshooting](docs/TROUBLESHOOTING.md) - Common issues and solutions ## License MIT License - see [LICENSE](LICENSE) file for details.