mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 07:32:32 +01:00
250 lines
7.2 KiB
Markdown
250 lines
7.2 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)** - Chat commands for players and admins
|
|
|
|
### 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.
|