Skip to content

KonaeAkira/raphael-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9a2dc25 Â· Feb 23, 2025
Feb 23, 2025
Feb 11, 2025
Feb 20, 2025
Feb 23, 2025
Feb 20, 2025
Feb 20, 2025
Feb 22, 2025
Feb 23, 2025
Jul 21, 2024
Feb 22, 2025
Apr 27, 2024
Dec 20, 2024
Jul 21, 2024
Feb 11, 2025
Jul 28, 2024

Repository files navigation

Raphael XIV

🔗 www.raphael-xiv.com

Raphael is a crafting rotation solver for the online game Final Fantasy XIV.

  • Produces the most optimal macro according to these criteria.
  • Short solve time (20-60 seconds) and reasonable memory usage (300-1000 MB) for most configurations.

Contents

Optimal macro selection

The following is the specification of how the most "optimal" macro is selected:

  • The generated macro must be able to finish the synthesis, i.e. reach 100% progress.
  • Valid macros are then ranked based on these criteria, in order:
    • Quality reached, capped at the target quality defined in the solver configuration. (Higher is better)
    • Number of macro steps. (Lower is better)
    • Total macro duration, in seconds. (Lower is better)
    • Excess quality above the target quality. (Higher is better)

Anything not mentioned in the above specification is not taken into account. If you would like to change/amend the specification, please submit a feature request.

If you find a macro that beats the generated macro according to the specification above, please submit a bug report.

How does it work?

Building from source

The Rust toolchain is required to build the solver.

Native app

To build and run the application:

cargo run --release

Web app (WASM)

Trunk is required to bundle and host the website and can be installed via the Rust toolchain:

cargo install --locked trunk

To build and host the application locally:

export RANDOM_SUFFIX=""
export RUSTFLAGS="--cfg=web_sys_unstable_apis"
trunk serve --release --dist distrib

Native CLI

To build and run the command-line interface (CLI):

cargo run --release --package raphael-cli -- <cli-args>

The CLI currently supports searching for items and solving for crafting rotations. Run the following to see the relevant help messages:

cargo run --release --package raphael-cli -- --help
cargo run --release --package raphael-cli -- search --help
cargo run --release --package raphael-cli -- solve --help

Some basic examples:

cargo run --release --package raphael-cli -- search "Archeo Fending"
cargo run --release --package raphael-cli -- solve --item-id 8548 --stats 5000 4000 500

The CLI can also be installed so that it can be called from anywhere:

cargo install --path raphael-cli