140 lines
3.3 KiB
Markdown
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 |