Skip to content

flyxiv/ffxiv_simhelper

Repository files navigation

FFXIV Simhelper

Simulation tool for FFXIV that simulates DPS in a party unit.

ffxivsimhelper


ffxivsimhelper1


ffxivsimhelper2


ffxivsimhelper3


ffxivsimhelper4


ffxivsimhelper5


ffxivsimhelper6

How to install

  1. Demo server
  2. app download(EN)

Modules

1. Etro Data Fetcher (Python)

Fetches etro equipment data and converts it to FFXIV Simhelper Equipment Data.

# in ffxiv_simhelper directory
# need python3 - requests

./setup_ffxiv_data.sh

2. FFXIV Simhelper Backend (Rust)

Rust Backend Server that does the DPS simulations.

  • source codes
    • cmd: binaries for backend server/local server/profiling
    • lib: source files for the backend server

2-1. Run app backend server locally

# add --release if you want to build in release mode(about x5 faster than debug mode)

# build binary
cargo build --bin ffxiv-simhelper-local {--release}

# run
cargo run --bin ffxiv-simhelper-local {--release}

2-2. Run backend server

  • similar to local server, but supports https
# in linux OS
cargo run --bin ffxiv-simhelper --release

2-3. Run Profiler

  • we first need to add debug = true in our root Cargo.toml file so that the profiler can track our function stacks and detect

debug

# install cargo flamegraph
cargo install flamegraph

# run dps analysis profiler
cargo flamegraph --bin profile-dpsanalysis

# run best stats profiler
cargo flamegraph --bin profile-beststats

3. FFXIV Simhelper Frontend(App, React)

  • Setting up environment
cd ffxiv-simhelper-app

# install yarn from npm
npm install yarn

# install app dependencies to yarn
yarn install

3-1. Host local server for testing

# in ffxiv-simhelper-app directory
yarn dev

3-2. Build server

  • Require Linux OS
# in ffxiv-simhelper-app directory
yarn build-server

3-3. Build Electron App

  • You need to have binary target/release/ffxiv-simhelper-local.exe built by the commands in ### 2-1. Run app backend server locally
# build and not publish. App is created in dist/ directory
yarn electron-pack

# build and publish to github
$env:GH_TOKEN = "{token for ffxiv_simhelper_public}"
yarn electron-publish-release

Guide

Codebase

  • lib: simulation engine backend (rust)
  • ffxiv-simhelper-app: simulation app frontend (react typescript)
  • py: data fetcher, composition script (python)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published