Files
acc-server-manager/docs/CONFIG.md
Fran Jurmanović 90aa63fc99 update docs
2025-07-29 20:50:57 +02:00

140 lines
3.3 KiB
Markdown

# Configuration Guide
This guide covers the configuration options for ACC Server Manager.
## Environment Variables
### Required Variables (Auto-generated)
These are automatically created by the setup script:
- `JWT_SECRET` - Authentication token secret
- `APP_SECRET` - Application encryption key
- `ENCRYPTION_KEY` - Database encryption key
### Optional Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `PORT` | Web server port | `3000` |
| `DB_NAME` | Database filename | `acc.db` |
| `STEAMCMD_PATH` | Path to SteamCMD | `c:\steamcmd\steamcmd.exe` |
| `NSSM_PATH` | Path to NSSM | `.\nssm.exe` |
| `CORS_ALLOWED_ORIGIN` | Allowed CORS origins | `http://localhost:5173` |
## Setting Environment Variables
### Temporary (Current Session)
```powershell
# PowerShell
$env:PORT = "8080"
$env:STEAMCMD_PATH = "D:\tools\steamcmd\steamcmd.exe"
```
### Permanent (System-wide)
1. Open System Properties → Advanced → Environment Variables
2. Add new system variables with desired values
3. Restart the application
## Server Configuration
### ACC Server Settings
Each ACC server instance has its own configuration managed through the web interface:
- **Server Name** - Display name in the manager
- **Port Settings** - TCP/UDP ports (auto-assigned or manual)
- **Configuration Files** - Edit `configuration.json`, `settings.json`, etc.
### Firewall Rules
The application automatically manages Windows Firewall rules for ACC servers:
- Creates inbound rules for TCP and UDP ports
- Names rules as "ACC Server - [ServerName]"
- Removes rules when server is deleted
## Security Configuration
### Password Requirements
- Minimum 8 characters
- Mix of uppercase, lowercase, numbers
- Special characters recommended
### Session Management
- JWT tokens expire after 24 hours
- Refresh tokens available for extended sessions
- Configurable timeout in future releases
## Database
### SQLite Configuration
- Database file: `acc.db` (configurable via `DB_NAME`)
- Automatic backups: Not yet implemented
- Location: Application root directory
### Data Encryption
Sensitive data is encrypted using AES-256:
- Steam credentials
- User passwords (bcrypt)
- API keys
## Logging
### Log Files
Located in `logs/` directory:
- `app.log` - General application logs
- `error.log` - Error messages
- `access.log` - HTTP access logs
### Log Rotation
Currently manual - delete old logs periodically.
## Performance Tuning
### Database Optimization
- Use SSD for database location
- Regular VACUUM operations recommended
- Keep database size under 1GB
### Memory Usage
- Base usage: ~50MB
- Per server instance: ~10MB
- Caching: ~100MB
## Advanced Configuration
### Custom Ports
To use custom port ranges for ACC servers:
1. Log into web interface
2. Go to Settings → Server Defaults
3. Set port range (e.g., 9600-9700)
### Multiple IPs
If your server has multiple network interfaces:
1. ACC servers will bind to all interfaces by default
2. Configure specific IPs in ACC server settings files
## Configuration Best Practices
1. **Backup your `.env` file** - Contains encryption keys
2. **Use strong passwords** - Especially for admin account
3. **Regular updates** - Keep ACC Server Manager updated
4. **Monitor logs** - Check for errors or warnings
5. **Test changes** - Verify configuration changes work as expected