Skip to content

Repository files navigation

FareverModKit

Unofficial Lua mod framework and DirectX 12 overlay for Farever on Windows.
Framework de mods Lua non officiel et overlay DirectX 12 pour Farever sous Windows.

English · Français

Warning

FareverModKit is an experimental community project. It is not affiliated with, endorsed by, or supported by Shiro Games or Valve. Only use it with a supported Farever build and keep a backup of any existing dxgi.dll.


English

About FareverModKit

FareverModKit (FMK) is an open-source mod framework for Farever on Windows. It provides a native DirectX 12 overlay, a sandboxed Lua 5.4 runtime, centralized read-only game-memory access and a modular interface for community tools.

FMK is designed for two audiences:

  • players, who want an installable collection of useful Farever overlays and tools;
  • mod developers, who want to build isolated Lua modules without handling the DirectX overlay or game-memory offsets themselves.

The project is under active development. The current public build is an experimental pre-release.

Features

  • Native DirectX 12 overlay loaded through a DXGI proxy.
  • Movable and resizable module windows with persistent positions.
  • Persistent module activation and interface settings.
  • Lockable module icons and separate icon/window layout resets.
  • F2 capture mode to hide and restore the entire FMK interface.
  • Sandboxed Lua 5.4 runtime with per-module isolation and instruction limits.
  • Centralized, rate-limited and read-only game-memory worker.
  • Farever build validation before memory data is exposed to modules.
  • Local per-account and per-character storage under %LOCALAPPDATA%.
  • English, French and Spanish translation support for compatible modules.

Included modules

Module Author Description Status
Collection Atlas Blaakan Collection browser with filters, item information and ownership state Functional
BossRun Patobeur Language-independent boss fight timer and local statistics Functional
Console Patobeur Runtime and diagnostic information Functional
Map Patobeur Interactive map and map controls Prototype
Report Patobeur Local HTML character and account reports Prototype
Bravo Patobeur Small example module for the Lua runtime Example
Chat, Loot, Players, Progression Blaakan Modules being migrated to the FMK architecture Skeletons

Skeleton modules are visible in the module manager but do not yet provide their final features. See each module README for its current state.

Requirements

  • Windows 10 or Windows 11, 64-bit.
  • A legitimate Steam installation of Farever.
  • A Farever build explicitly supported by the current FMK release.
  • Node.js only when generating the missing Atlas resources with generer-atlas.cmd.

Usage

  • The FMK icon remains available while the overlay is running.
  • Open the FMK window to enable or disable modules.
  • Drag module icons and windows to organize the interface.
  • Resize compatible module windows from their resize control.
  • Lock the icons when the layout is ready.
  • Press F2 to hide or restore all FMK interface elements for screenshots.

Module state, positions and compatible settings are saved automatically.

Data and configuration

Installed code and static resources remain inside the Farever game folder. User settings and generated data are stored under:

%LOCALAPPDATA%\farevermodkit\

This includes UI state, module settings, navigation data, BossRun statistics and Report exports. Account and character data are separated whenever the game exposes the necessary identifiers.

See Storage and migration for the complete directory layout and migration rules.

Safety and compatibility

FMK centralizes all Farever memory reads in its native core. Modules receive controlled copies of values, never raw pointers.

The Lua sandbox removes dangerous system libraries and functions, including os, io, debug, package, require, dofile, loadfile and load. A Lua error disables the affected module without stopping the other modules.

Memory offsets belong to the FMK core and are validated against the Farever build. If the build hash is unknown, memory access is refused instead of being guessed or scanned globally. A Farever update may therefore temporarily disable features until a compatible FMK release is available.

Uninstallation

  1. Close Farever completely.
  2. Remove the FMK dxgi.dll from the Farever game folder.
  3. Remove the farevermodkit folder and the FMK helper files if you no longer need them.
  4. Restore your previous dxgi.dll only if you backed one up during installation.

User data is kept under %LOCALAPPDATA%\farevermodkit so an update or reinstall does not erase it. Remove that folder manually only if you also want to delete all FMK settings, reports and module data.

Creating a Lua module

A module is stored under modules/<Author>/<Module>/ and contains at least:

MyModule/
├── manifest.json
└── main.lua

It may also provide:

icon.png
README.md
assets/
languages/

All callbacks are optional:

function on_init() end
function on_render() end
function on_event(name, data) end
function on_settings() end
function on_shutdown() end

Start with the Lua API documentation and the existing modules in modules/.

Building from source

Requirements:

  • Windows x64;
  • Visual Studio with the MSVC C++ build tools;
  • Node.js for Atlas generation;
  • a local Farever installation for generating game-derived resources.
git clone https://github.com/patobeur/farevermodkit.git
cd farevermodkit
cmd /c third_party\lua\build.cmd
node tools\gen-atlas.mjs --game "D:\SteamLibrary\steamapps\common\Farever"
cmd /c core\build.cmd
cmd /c native\build.cmd
cmd /c native\package-test.cmd

The installable test package is generated in native/test-package/. Generated build/ and native/test-package/ directories are not versioned.

Project structure

assets/                 shared FMK and Atlas resources
config/                 native and Lua runtime configuration
core/                   Lua host and centralized memory reader
modules/<Author>/<Mod>/ Lua modules and module-specific resources
native/                 DXGI proxy and Direct3D 12 overlay
third_party/lua/        Lua 5.4.8 sources and reproducible build
tools/                  Atlas generation and validation tools
docs/                   API, storage and development documentation

Documentation

Support and contributions

Before reporting a problem, check that you are using a supported Farever build and the most recent FMK pre-release.

Contributions should preserve read-only game access, module isolation, build validation and clear attribution of third-party work.


Credits, license and disclaimer / Crédits, licence et avertissement

FareverModKit is released under the MIT License. Lua 5.4.8 retains its own license, reproduced in THIRD_PARTY_NOTICES.md.

FareverModKit est distribué sous licence MIT. Lua 5.4.8 conserve sa propre licence, reproduite dans THIRD_PARTY_NOTICES.md.

See CREDITS.md for attribution to Blaakan, ramisotti13-eng, Brudr, Lua and the Farever modding community.

Consultez CREDITS.md pour les remerciements et attributions à Blaakan, ramisotti13-eng, Brudr, Lua et la communauté de modding Farever.

Farever, its names, data and resources belong to Shiro Games. FareverModKit is an unofficial community project with no affiliation, endorsement or support from Shiro Games or Valve. Game-derived resources required by some modules must be generated locally from a legitimate Farever installation.

Farever, ses noms, ses données et ses ressources appartiennent à Shiro Games. FareverModKit est un projet communautaire non officiel, sans affiliation, approbation ni assistance de Shiro Games ou Valve. Les ressources dérivées du jeu nécessaires à certains modules doivent être générées localement depuis une installation légitime de Farever.

About

Unofficial Lua mod framework for Farever on Windows — DirectX 12 overlay, sandboxed Lua API, map, BossRun and community tools.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages