docs: adds documentation files for the major configurable options.

This commit is contained in:
Houmgaor
2025-11-18 00:44:17 +01:00
parent 9a47a876eb
commit aa638b791d
12 changed files with 3439 additions and 0 deletions

166
docs/development-mode.md Normal file
View File

@@ -0,0 +1,166 @@
# Development Mode
Development mode configuration for testing and debugging Erupe.
## Configuration
```json
{
"DevMode": true,
"DevModeOptions": {
"AutoCreateAccount": true,
"CleanDB": false,
"MaxLauncherHR": false,
"LogInboundMessages": false,
"LogOutboundMessages": false,
"MaxHexdumpLength": 256,
"DivaEvent": 0,
"FestaEvent": -1,
"TournamentEvent": 0,
"MezFesEvent": true,
"MezFesAlt": false,
"DisableTokenCheck": false,
"QuestDebugTools": false,
"SaveDumps": {
"Enabled": true,
"OutputDir": "savedata"
}
}
}
```
## Settings Reference
### DevMode
| Setting | Type | Default | Description |
|---------|------|---------|-------------|
| `DevMode` | boolean | `false` | Enables development mode (more verbose logging, development logger format) |
When `DevMode` is enabled:
- Logging uses console format (human-readable) instead of JSON
- More detailed stack traces on errors
- Development-friendly output
### DevModeOptions
| Setting | Type | Default | Description |
|---------|------|---------|-------------|
| `AutoCreateAccount` | boolean | `false` | **⚠️ SECURITY RISK**: Auto-create accounts on login (disable in production) |
| `CleanDB` | boolean | `false` | **⚠️ DESTRUCTIVE**: Wipes database on server start (deletes all users, characters, guilds) |
| `MaxLauncherHR` | boolean | `false` | Sets launcher HR to HR7 to join non-beginner worlds |
| `LogInboundMessages` | boolean | `false` | Log all packets received from clients (very verbose) |
| `LogOutboundMessages` | boolean | `false` | Log all packets sent to clients (very verbose) |
| `MaxHexdumpLength` | number | `256` | Maximum bytes to display in packet hexdumps |
| `DivaEvent` | number | `0` | Diva Defense event status (0 = off, higher = active) |
| `FestaEvent` | number | `-1` | Hunter's Festa event status (-1 = off, higher = active) |
| `TournamentEvent` | number | `0` | VS Tournament event status (0 = off, higher = active) |
| `MezFesEvent` | boolean | `false` | Enable/disable MezFes event |
| `MezFesAlt` | boolean | `false` | Swap Volpakkun for Tokotoko in MezFes |
| `DisableTokenCheck` | boolean | `false` | **⚠️ SECURITY RISK**: Skip login token validation |
| `QuestDebugTools` | boolean | `false` | Enable quest debugging logs |
### Save Dumps
| Setting | Type | Default | Description |
|---------|------|---------|-------------|
| `SaveDumps.Enabled` | boolean | `false` | Enable saving character data dumps for analysis |
| `SaveDumps.OutputDir` | string | `"savedata"` | Directory for save data dumps |
## Security Warnings
### AutoCreateAccount
**Never enable in production!** This setting allows anyone to create an account by simply trying to log in with any username. This is convenient for development but a major security risk for public servers.
### CleanDB
**Extremely destructive!** This setting wipes all user data from the database on every server restart. Only use for rapid testing cycles in isolated development environments.
### DisableTokenCheck
**Security vulnerability!** Bypasses login token validation, allowing unauthorized access. Only use in isolated development environments.
## Packet Logging
When debugging network issues, enable packet logging:
```json
{
"DevModeOptions": {
"LogInboundMessages": true,
"LogOutboundMessages": true,
"MaxHexdumpLength": 512
}
}
```
**Warning:** This generates **massive** log files very quickly. Only enable when actively debugging specific packet issues.
## Event Testing
Test special events by enabling them:
```json
{
"DevModeOptions": {
"DivaEvent": 1,
"FestaEvent": 0,
"TournamentEvent": 1,
"MezFesEvent": true,
"MezFesAlt": false
}
}
```
## Examples
### Safe Development Configuration
```json
{
"DevMode": true,
"DevModeOptions": {
"AutoCreateAccount": true,
"CleanDB": false,
"MaxLauncherHR": true,
"QuestDebugTools": true,
"SaveDumps": {
"Enabled": true,
"OutputDir": "savedata"
}
}
}
```
### Production Configuration
```json
{
"DevMode": false,
"DevModeOptions": {
"AutoCreateAccount": false,
"CleanDB": false,
"DisableTokenCheck": false
}
}
```
### Packet Debugging Configuration
```json
{
"DevMode": true,
"DevModeOptions": {
"LogInboundMessages": true,
"LogOutboundMessages": true,
"MaxHexdumpLength": 1024
}
}
```
## Related Documentation
- [Logging](logging.md) - Logging configuration
- [Basic Settings](basic-settings.md) - Basic server settings