Houmgaor e095c5a5ca fix(cafe): read PointCost as uint16 for G1-G5.2 clients
Cherry-picked from main (3d0114c) with conflict resolution.
Pre-G6 clients send PointCost as uint16, not uint32.
2026-01-30 01:10:34 +01:00

Erupe Community Edition

Build Test

Erupe is a community-maintained server emulator for Monster Hunter Frontier written in Go. It is a complete reverse-engineered solution to self-host a Monster Hunter Frontier server, using no code from Capcom.

Important

The purpose of this branch is to have a clean transition from a functional 9.2.0 release, to a future 9.3.0 version. Over the last 2 years after the release of 9.2.0, many commits introduced broken features.

Features

  • Multi-version Support: Compatible with all Monster Hunter Frontier versions from Season 6.0 to ZZ
  • Multi-platform: Supports PC, PlayStation 3, PlayStation Vita, and Wii U (up to Z2)
  • Complete Server Emulation: Entry/Sign server, Channel server, and Launcher server
  • Gameplay Customization: Configurable multipliers for experience, currency, and materials
  • Event Systems: Support for Raviente, MezFes, Diva, Festa, and Tournament events
  • Discord Integration: Optional real-time Discord bot integration
  • In-game Commands: Extensible command system with configurable prefixes
  • Developer Tools: Comprehensive logging, packet debugging, and save data dumps

Architecture

Erupe consists of three main server components:

  • Sign Server (Port 53312): Handles authentication and account management
  • Entrance Server (Port 53310): Manages world/server selection
  • Channel Servers (Ports 54001+): Handle game sessions, quests, and player interactions

Multiple channel servers can run simultaneously, organized by world types:

  • Newbie: For new players
  • Normal: Standard gameplay
  • Cities: City-focused instances
  • Tavern: Special tavern area
  • Return: For returning players
  • MezFes: Festival events

Client Compatibility

Platforms

  • PC
  • PlayStation 3
  • PlayStation Vita
  • Wii U (Up to Z2)

Versions

  • G10-ZZ (ClientMode): Extensively tested with great functionality
  • G3-Z2 (Wii U): Tested with good functionality
  • Forward.4: Basic functionality
  • Season 6.0: Limited functionality (oldest supported version)

If you have an installed copy of Monster Hunter Frontier on an old hard drive, please get in contact so we can archive it!

Requirements

Installation

Quick Start (Pre-compiled Binary)

If you only want to run Erupe, download a pre-compiled binary:

  • erupe-ce for Linux
  • erupe.exe for Windows

Then proceed to Configuration.

Building from Source

First-time Setup

  1. Clone the repository:

    git clone https://github.com/ZeruLight/Erupe.git
    cd Erupe
    
  2. Create a PostgreSQL database and install the base schema:

    # Download and apply the base schema
    wget https://github.com/ZeruLight/Erupe/releases/latest/download/SCHEMA.sql
    psql -U your_user -d your_database -f SCHEMA.sql
    
  3. Apply schema patches in order:

    psql -U your_user -d your_database -f patch-schema/01_patch.sql
    # Repeat for each patch file in numerical order
    
  4. Copy and configure the config file:

    cp config.example.json config.json
    # Edit config.json with your settings (see Configuration section)
    
  5. Install dependencies and build:

    go mod download
    go build
    
  6. Run the server:

    ./erupe-ce
    

    Or run directly without building:

    go run .
    

Updating an Existing Installation

  1. Pull the latest changes:

    git pull origin main
    
  2. Update dependencies:

    go mod tidy
    
  3. Apply any new schema patches from patch-schema that you haven't run yet

  4. Rebuild and restart:

    go build
    ./erupe-ce
    

Docker Installation

For quick setup and development (not recommended for production), see docker/README.md.

Configuration

Erupe is configured via config.json. Copy config.example.json to get started.

Quick Configuration Overview

{
  "Host": "127.0.0.1",           // Server IP (leave empty for auto-detect)
  "BinPath": "bin",              // Path to quest/scenario files
  "Language": "en",              // "en" or "jp"

  "Database": {
    "Host": "localhost",
    "Port": 5432,
    "User": "postgres",
    "Password": "your_password",
    "Database": "erupe"
  },

  "Sign": {"Enabled": true, "Port": 53312},
  "Entrance": {"Enabled": true, "Port": 53310}
}

Detailed Configuration Documentation

For comprehensive configuration details, see the docs/ directory:

Example configurations:

Client Setup

  1. Download and install a Monster Hunter Frontier client (version G10 or later recommended)
  2. Download Quest and Scenario Binary Files
  3. Extract the binary files to the bin directory in your Erupe installation
  4. Configure your client to point to your Erupe server IP/hostname
  5. Modify the client's host.txt or use a launcher to redirect to your server

Database Schemas

Erupe uses a structured schema system:

  • Initialization Schema: Bootstraps database to version 9.1.0
  • Update Schemas: Production-ready updates for new releases
  • Patch Schemas: Development updates (subject to change)
  • Bundled Schemas: Demo templates for shops, distributions, events, and gacha in schemas/bundled-schema/

Note: Only use patch schemas if you're following active development. They get consolidated into update schemas on release.

For detailed database setup instructions, see Database Configuration.

Development

For development guidelines, code architecture, and contribution instructions, see CLAUDE.md.

Running Tests

# Run all tests
go test -v ./...

# Check for race conditions
go test -v -race ./...

Log Analysis

Erupe includes a log analyzer tool in tools/loganalyzer/ for filtering, analyzing errors, tracking connections, and generating statistics. See Logging Documentation for details.

Troubleshooting

Quick Fixes

Issue Solution
Server won't start Check PostgreSQL is running and database password is set
Client can't connect Verify ports 53310, 53312, 54001+ are open in firewall
Database errors Apply all schema patches in order (see Database Setup)
Quest files not loading Verify BinPath points to extracted binary files

Detailed Troubleshooting

For comprehensive troubleshooting guides, see:

Documentation

Resources

Changelog

View CHANGELOG.md for version history and changes.

Contributing

See CONTRIBUTING.md for guidelines.

Authors

A list of contributors can be found at AUTHORS.md (if available) or in the git commit history.

Languages
Go 95.4%
PLpgSQL 3.8%
HTML 0.8%