Skip to content

Erupe 9.3.0

Choose a tag to compare

@Houmgaor Houmgaor released this 19 Mar 14:50
· 91 commits to main since this release

This is the largest Erupe release in the project's history: 900 commits, ~100,000 lines of new code, and three years of work since 9.2.0. Almost every game system has been touched. 9.3.0 brings back more features from the original Frontier, is faster and more stable.


⚔️ Game Systems

Raviente

The siege system has been fully reworked (v3). Party broadcasting, the ID system, and semaphore handling now behave correctly. Server operators can also configure latency tolerance and max players for Raviente sessions.

Quests

Quest enumeration has been completely rewritten with a caching system. Event quests now cycle correctly with database-driven rotation, and season/time overrides are supported. The stamp card system is implemented with retro stamp rewards. Quest marks are now correctly labelled.

Conquest / Earth Status

Multiple war targets are now supported. Handlers are rewritten and a status override option is available for operators.

Festa

Bonus categories and trial voting are implemented. Version-gated info works correctly for S6.0 and Z2. Forward.5 servers no longer crash on trials that reference monsters added after F.5 (post-em106), and item 7011 is correctly filtered out for pre-G1 clients.

Achievements

Rank-up popups now appear in-game when your achievements level up, using per-character level tracking — exactly as on retail.

Diva Defense

Point accumulation is implemented: quest points and bonus points are now stored and tracked per character per event, RE'd from the ZZ client DLL. Complete implementation will come in a next release.

Warehouse

Completely rewritten (v2) with correct serialization across all supported game versions.

Distribution System

Fully rewritten with proper item typing and version support.

Trend Weapons

Implemented.

Guild

  • Monthly guild item claims are now tracked per character per type (standard / HLC / EXC)
  • Alliance application toggle was hardcoded to always-open — now respects the actual setting (#166)
  • Clan Changing Room is supported

Gacha

  • Fixed for G1–GG clients (protocol differences vs. ZZ — thanks @Sin365)
  • Panics from misconfigured entries are now guarded
  • The reward pool is validated before currency is charged — you will never be billed for a broken gacha

MezFes

Weekly ticket resets now work correctly.


🐛 Bug Fixes

  • Lobby search was returning all reserved players instead of only quest-bound ones, inflating
    the visible lobby count — fixed to match retail (#167)
  • G-rank Workshop / Master Felyne (Cog) caused a client softlock — fixed (#180)
  • Mercenary saverasta_id=0 was silently overwriting your Rasta partner, preventing game
    state from saving (#163)
  • RP was inconsistent between clients — fixed
  • Incomplete saves on disconnect — character data is now persisted even during ungraceful
    disconnects
  • Transmog / armor appearance shown to other players was stale after saves — cache now
    invalidated correctly
  • Sky Corridor race condition that wiped skill data — fixed (#85)
  • House theme corruption on save — fixed (#92)
  • HunterNavi savedata was being clipped (last 2 bytes lost) — fixed
  • Cafe duration and item costs for G1–G5.2 clients — fixed
  • Friends & clanmates display was limited incorrectly — fixed
  • Festa rewards were inflated — fixed

🌐 Client Version Support

9.3.0 supports 40 client versions from Season 1.0 through ZZ, configured via ClientMode.
Notable additions:

Platform Status
PC (G10–ZZ) Primary
PC (G1–G9.1) Save pointers corrected, gacha and DecoMyset fixed
PC (Forward.4–F.5) Full ClientMode support added
PC (Season 6.0) Savedata, encryption, semaphore, and terminal log fixed
Wii U (G3–Z2) WIIUSGN support
PS3 PS3SGN, PSN linking, trophy course
PS Vita VITASGN, PSN linking

🛠️ Server Operator Quality of Life

First-run setup wizard

If config.json is missing, a web-based setup wizard launches at http://localhost:8080 and guides you through database connection, schema initialization, and server settings. No more manual SQL.

Automatic database migrations

The server binary now contains all SQL and runs migrations automatically on startup. No more pg_restore, manual patch ordering, or tracking which scripts you've applied.

Save data protection

Two tiers of corruption defense: bounded decompression, buffer overflow guards, size limits, SHA-256 checksums on every load, atomic transactions, per-character save mutexes, and rotating 3-slot backups every 30 minutes.

Operator tools

  • Operator accounts and ban system
  • NG word filter (ASCII and SJIS)
  • Custom command prefixes with /help

⬆️ Upgrading

Warning

Back up your database before upgrading.

Note

You no longer need to use an UPDATE.sql. Erupe now handles database creation and migrations automatically on startup.

  • Go 1.25+ required (was 1.21)
  • Existing databases: the server will auto-detect and apply all missing migrations on first startup, including a catch-up migration for partially-applied patch schemas. No manual steps needed.
  • config.json: your existing config will continue to work. See config.reference.json for all available options.

Full changelog: CHANGELOG.md and v9.2.0...v9.3.0

Docker Image

This release is also available as a Docker image:

docker pull ghcr.io/Mezeporta/Erupe:v9.3.0

What's Changed

New Contributors