update docs
This commit is contained in:
140
docs/CONFIG.md
Normal file
140
docs/CONFIG.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user