Files
Erupe/docs/README.md

7.2 KiB

Erupe Configuration Documentation

Comprehensive configuration documentation for Erupe, the Monster Hunter Frontier server emulator.

Quick Start

  1. Copy config.example.json to config.json
  2. Read Basic Settings and Server Configuration
  3. Set up Database
  4. Adjust Gameplay Options to your preference
  5. Start the server!

Documentation Index

Essential Configuration

Development

  • Development Mode - Debug options, packet logging, and testing tools
  • Logging - File logging, rotation, and log analysis

Gameplay & Features

Optional Features

Configuration File Structure

The main configuration file is config.json with this structure:

{
  "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 Host, paths, language, login notices
DevMode development-mode.md Development and debugging options
GameplayOptions gameplay-options.md Gameplay balance and modifiers
Logging logging.md File logging and rotation
Discord discord-integration.md Discord bot integration
Commands commands.md In-game chat commands
Courses courses.md Subscription courses
Database database.md PostgreSQL connection
Sign/SignV2 server-configuration.md Authentication servers
Channel server-configuration.md Gameplay server
Entrance server-configuration.md World list server

Common Configuration Scenarios

Local Development Server

Perfect for testing and development:

{
  "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

Production Server (Minimal)

Minimal production-ready configuration:

{
  "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, logging.md

Community Server

Feature-rich community server:

{
  "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, discord-integration.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

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, 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:

{
  "Database": {
    "Host": "db",
    "Port": 5432
  }
}

See: 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

Getting Help

If you need help with configuration:

  1. Check the relevant documentation page above
  2. Review config.example.json for examples
  3. Check server logs for specific errors
  4. Search GitHub 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 for contribution guidelines.