97 lines
2.6 KiB
Markdown
97 lines
2.6 KiB
Markdown
# 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 <repository-url>
|
|
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. |