diff --git a/.gitignore b/.gitignore index a36e91559..4ed408980 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,13 @@ www/jp/ vendor/ + +# Quest files *.bin savedata/*/ + +# Executables *.exe *.lnk -*.bat \ No newline at end of file +*.bat +erupe-ce diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..9f1b04e9e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,148 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [9.2.0] - 2023-04-01 + +### Added in 9.2.0 + +- Gacha system with box gacha and stepup gacha support +- Multiple login notices support +- Daily quest allowance configuration +- Gameplay options system +- Support for stepping stone gacha rewards +- Guild semaphore locking mechanism +- Feature weapon schema and generation system +- Gacha reward tracking and fulfillment +- Koban my mission exchange for gacha + +### Changed in 9.2.0 + +- Reworked logging code and syntax +- Reworked broadcast functions +- Reworked netcafe course activation +- Reworked command responses for JP chat +- Refactored guild message board code +- Separated out gacha function code +- Rearranged gacha functions +- Updated golang dependencies +- Made various handlers non-fatal errors +- Moved various packet handlers +- Moved caravan event handlers +- Enhanced feature weapon RNG + +### Fixed in 9.2.0 + +- Mail item workaround removed (replaced with proper implementation) +- Possible infinite loop in gacha rolls +- Feature weapon RNG and generation +- Feature weapon times and return expiry +- Netcafe timestamp handling +- Guild meal enumeration and timer +- Guild message board enumerating too many posts +- Gacha koban my mission exchange +- Gacha rolling and reward handling +- Gacha enumeration recommendation tag +- Login boost creating hanging connections +- Shop-db schema issues +- Scout enumeration data +- Missing primary key in schema +- Time fixes and initialization +- Concurrent stage map write issue +- Nil savedata errors on logout +- Patch schema inconsistencies +- Edge cases in rights integer handling +- Missing period in broadcast strings + +### Removed in 9.2.0 + +- Unused database tables +- Obsolete LauncherServer code +- Unused code from gacha functionality +- Mail item workaround (replaced with proper implementation) + +### Security in 9.2.0 + +- Escaped database connection arguments + +## [9.1.1] - 2022-11-10 + +### Changed in 9.1.1 + +- Temporarily reverted versioning system +- Fixed netcafe time reset behavior + +## [9.1.0] - 2022-11-04 + +### Added in 9.1.0 + +- Multi-language support system +- Support for JP strings in broadcasts +- Guild scout language support +- Screenshot sharing support +- New sign server implementation +- Multi-language string mappings +- Language-based chat command responses + +### Changed in 9.1.0 + +- Rearranged configuration options +- Converted token to library +- Renamed sign server +- Mapped language to server instead of session + +### Fixed in 9.1.0 + +- Various packet responses + +## [9.1.0-rc3] - 2022-11-02 + +### Fixed in 9.1.0-rc3 + +- Prevented invalid bitfield issues + +## [9.1.0-rc2] - 2022-10-28 + +### Changed in 9.1.0-rc2 + +- Set default featured weapons to 1 + +## [9.1.0-rc1] - 2022-10-24 + +### Removed in 9.1.0-rc1 + +- Migrations directory + +## [9.0.1] - 2022-08-04 + +### Changed in 9.0.1 + +- Updated login notice + +## [9.0.0] - 2022-08-03 + +### Fixed in 9.0.0 + +- Fixed readlocked channels issue +- Prevent rp logs being nil +- Prevent applicants from receiving message board notifications + +### Added in 9.0.0 + +- Implement guild semaphore locking +- Support for more courses +- Option to flag corruption attempted saves as deleted +- Point limitations for currency + +--- + +## Historical Context + +This changelog documents releases from v9.0.0 onwards. For a complete history of all changes, refer to the [git repository](https://github.com/Mezeporta/Erupe). + +The project follows semantic versioning and maintains tagged releases for stable versions. Development continues on the main branch with features merged from feature branches. diff --git a/README.md b/README.md index f9b5ecfd7..89087feb8 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,39 @@ # Erupe Community Edition + +Erupe is a community-built server for Monster Hunter Frontier - All versions. +It is a complete reverse engineered solution to self-host a Monter Hunter Frontier server. + +> ![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. + ## Setup -If you are only looking to install Erupe, please use [a pre-compiled binary](https://github.com/ZeruLight/Erupe/releases/latest). + +If you are only looking to install Erupe, please use a [pre-compiled binary](https://github.com/ZeruLight/Erupe/releases/latest). If you want to modify or compile Erupe yourself, please read on. + ### Requirements -- [Go](https://go.dev/dl/) -- [PostgreSQL](https://www.postgresql.org/download/) + +Install is simple, you need: + +- [Go](https://go.dev/dl/): programming language for the server logic +- [PostgreSQL](https://www.postgresql.org/download/): server database. + ### Installation + 1. Bring up a fresh database by using the [backup file attached with the latest release](https://github.com/ZeruLight/Erupe/releases/latest/download/SCHEMA.sql). 2. Run each script under [patch-schema](./patch-schema) as they introduce newer schema. 3. Edit [config.json](./config.json) such that the database password matches your PostgreSQL setup. -4. Run `go build` or `go run .` to compile Erupe. +4. Launch `go run .` to run erupe directly, or use `go build` to compile Erupe. + ### Note -- You will need to acquire and install the client files and quest binaries separately. -# Resources + +You will need to acquire and install the client files and quest binaries separately. +See the [resources](#resources) for details. + +## Resources + - [Quest and Scenario Binary Files](https://files.catbox.moe/xf0l7w.7z) - [PewPewDojo Discord](https://discord.gg/CFnzbhQ) -- [Community FAQ Pastebin](https://pastebin.com/QqAwZSTC) \ No newline at end of file +- [Community FAQ Pastebin](https://pastebin.com/QqAwZSTC)