Files
Erupe/docs/README.md
Houmgaor 09f829f8be docs: add player commands reference and update command documentation
- Add new player-commands.md with user-friendly command guide
- Document all 12 commands: reload, ravi, course, rights, tele, kqf,
  ban, help, psn, discord, timer, playtime
- Include usage examples, troubleshooting, and special features (@dice)
- Update commands.md with new commands and current config format
- Add security considerations for new admin commands
- Update docs/README.md to link both player and operator guides

Addresses community request for command documentation (issue #147)
2026-02-05 11:34:06 +01:00

251 lines
7.3 KiB
Markdown

# Erupe Configuration Documentation
Comprehensive configuration documentation for Erupe, the Monster Hunter Frontier server emulator.
## Quick Start
1. Copy [config.example.json](../config.example.json) to `config.json`
2. Read [Basic Settings](basic-settings.md) and [Server Configuration](server-configuration.md)
3. Set up [Database](database.md)
4. Adjust [Gameplay Options](gameplay-options.md) to your preference
5. Start the server!
## Documentation Index
### Essential Configuration
- **[Basic Settings](basic-settings.md)** - Host, language, and basic server options
- **[Server Configuration](server-configuration.md)** - Sign, Entrance, and Channel server setup
- **[Database](database.md)** - PostgreSQL configuration and schema management
### Development
- **[Development Mode](development-mode.md)** - Debug options, packet logging, and testing tools
- **[Logging](logging.md)** - File logging, rotation, and log analysis
### Gameplay & Features
- **[Gameplay Options](gameplay-options.md)** - NP/RP caps, boost times, quest allowances
- **[Courses](courses.md)** - Subscription course configuration
- **[In-Game Commands](commands.md)** - Command configuration for server operators
- **[Player Commands Reference](player-commands.md)** - User-friendly command guide for players
### Optional Features
- **[Discord Integration](discord-integration.md)** - Real-time Discord bot for server activity
## Configuration File Structure
The main configuration file is `config.json` with this structure:
```json
{
"Host": "127.0.0.1",
"BinPath": "bin",
"Language": "en",
"DevMode": false,
"DevModeOptions": { ... },
"GameplayOptions": { ... },
"Logging": { ... },
"Discord": { ... },
"Commands": [ ... ],
"Courses": [ ... ],
"Database": { ... },
"Sign": { ... },
"SignV2": { ... },
"Channel": { ... },
"Entrance": { ... }
}
```
## Configuration Sections
| Section | Documentation | Purpose |
|---------|---------------|---------|
| Basic Settings | [basic-settings.md](basic-settings.md) | Host, paths, language, login notices |
| DevMode | [development-mode.md](development-mode.md) | Development and debugging options |
| GameplayOptions | [gameplay-options.md](gameplay-options.md) | Gameplay balance and modifiers |
| Logging | [logging.md](logging.md) | File logging and rotation |
| Discord | [discord-integration.md](discord-integration.md) | Discord bot integration |
| Commands | [commands.md](commands.md) | In-game chat commands |
| Courses | [courses.md](courses.md) | Subscription courses |
| Database | [database.md](database.md) | PostgreSQL connection |
| Sign/SignV2 | [server-configuration.md](server-configuration.md#sign-server) | Authentication servers |
| Channel | [server-configuration.md](server-configuration.md#channel-server) | Gameplay server |
| Entrance | [server-configuration.md](server-configuration.md#entrance-server) | World list server |
## Common Configuration Scenarios
### Local Development Server
Perfect for testing and development:
```json
{
"Host": "127.0.0.1",
"DevMode": true,
"DevModeOptions": {
"AutoCreateAccount": true,
"MaxLauncherHR": true
},
"Database": {
"Host": "localhost",
"User": "postgres",
"Password": "dev",
"Database": "erupe_dev"
}
}
```
See: [development-mode.md](development-mode.md)
### Production Server (Minimal)
Minimal production-ready configuration:
```json
{
"Host": "",
"DevMode": false,
"DisableSoftCrash": true,
"Logging": {
"LogToFile": true,
"LogMaxBackups": 7,
"LogMaxAge": 30
},
"Database": {
"Host": "localhost",
"User": "erupe",
"Password": "SECURE_PASSWORD_HERE",
"Database": "erupe"
}
}
```
See: [basic-settings.md](basic-settings.md), [logging.md](logging.md)
### Community Server
Feature-rich community server:
```json
{
"Host": "",
"DevMode": false,
"HideLoginNotice": false,
"LoginNotices": ["Welcome to our server!"],
"GameplayOptions": {
"MaximumNP": 999999,
"BoostTimeDuration": 240
},
"Discord": {
"Enabled": true,
"BotToken": "YOUR_TOKEN",
"RealtimeChannelID": "YOUR_CHANNEL_ID"
},
"Commands": [
{"Name": "Reload", "Enabled": true, "Prefix": "!reload"},
{"Name": "Course", "Enabled": true, "Prefix": "!course"}
]
}
```
See: [gameplay-options.md](gameplay-options.md), [discord-integration.md](discord-integration.md), [commands.md](commands.md)
## Security Checklist
Before running a public server, verify:
- [ ] `DevMode: false` - Disable development mode
- [ ] `AutoCreateAccount: false` - Require manual account creation
- [ ] `DisableTokenCheck: false` - Enable token validation
- [ ] `CleanDB: false` - Don't wipe database on startup
- [ ] Strong database password set
- [ ] `Rights` command disabled (or carefully controlled)
- [ ] `KeyQuest` command disabled (unless intentional)
- [ ] Firewall configured for only necessary ports
- [ ] Database not exposed publicly
- [ ] Logging enabled for monitoring
See: [development-mode.md#security-warnings](development-mode.md#security-warnings)
## Performance Tuning
For large servers:
1. **Increase player limits**: Adjust `MaxPlayers` in channel configuration
2. **Add more channels**: Distribute load across multiple channel servers
3. **Optimize database**: Use connection pooling, increase shared buffers
4. **Increase log rotation**: Larger `LogMaxSize` and `LogMaxBackups`
5. **Monitor resources**: Use log analyzer to track errors and performance
See: [server-configuration.md](server-configuration.md), [database.md#performance-tuning](database.md#performance-tuning)
## Configuration Validation
Erupe validates configuration on startup. Common errors:
| Error | Cause | Fix |
|-------|-------|-----|
| "Database password is blank" | Empty password field | Set a password in config |
| "Invalid host address" | Malformed Host value | Use valid IP or leave empty for auto-detect |
| "Discord failed" | Invalid Discord config | Check bot token and channel ID |
| Port already in use | Port conflict | Change port or stop conflicting service |
## Environment-Specific Configuration
### Docker
When running in Docker, use service names for hosts:
```json
{
"Database": {
"Host": "db",
"Port": 5432
}
}
```
See: [database.md#docker-setup](database.md#docker-setup)
### Cloud Hosting
For cloud deployments:
- Use environment variables for secrets (requires code modification)
- Enable `DisableSoftCrash: true` for auto-restart
- Use absolute paths for logs (`/var/log/erupe/erupe.log`)
- Consider external database (RDS, Cloud SQL)
## Additional Resources
- [CLAUDE.md](../CLAUDE.md) - Development guide and architecture
- [config.example.json](../config.example.json) - Full example configuration
- [Log Analyzer](../tools/loganalyzer/) - Log analysis tools
- [GitHub Issues](https://github.com/Andoryuuta/Erupe/issues) - Report bugs and request features
## Getting Help
If you need help with configuration:
1. Check the relevant documentation page above
2. Review [config.example.json](../config.example.json) for examples
3. Check server logs for specific errors
4. Search [GitHub Issues](https://github.com/Andoryuuta/Erupe/issues)
5. Ask in the Erupe Discord community
## Contributing
Found an error or want to improve these docs?
1. Fork the repository
2. Edit the documentation in `docs/`
3. Submit a pull request
See [CLAUDE.md](../CLAUDE.md#commit-and-pr-guidelines) for contribution guidelines.