Grebuloff is an experimental addon framework for Final Fantasy XIV.

Overview

Grebuloff

Grebuloff is an experimental addon framework for Final Fantasy XIV. It introduces a new concept of what plugins can be, focusing on enabling creation of plugins that are isolated, secure, stable, and add onto the vanilla game in an incremental fashion.

The core of Grebuloff is built in Rust and TypeScript. Plugins, while typically written in JavaScript or TypeScript, can be developed using any technology that can run on the V8 engine, including WebAssembly.

How does Grebuloff relate to Dalamud?

Grebuloff is not a replacement for Dalamud. These projects have entirely different design philosophies. Grebuloff can even run alongside Dalamud using a helper plugin, allowing you to use both frameworks at the same time; however, this feature, like everything else, is highly experimental.

Dalamud plugins are able to extensively alter a running game, thanks to an extensive API and, where its API falls short, the ability to hook game functions and directly modify memory. However, this often can come at the cost of stability (especially during game patches) and security, as plugins have unscoped, unsandboxed access to your game and your computer.

Grebuloff is intended to offer a safer, more isolated framework for plugins. All plugins run in an isolated V8 context, and only have access to the APIs they have explicitly requested and been granted access to.

It's important to note that, since third-party tools are against Square Enix's Terms of Service, use of either Grebuloff or Dalamud carries risks of penalties to your account. Although both projects make efforts to mitigate this risk, the responsibility of account safety ultimately falls upon the user.

Roadmap

Grebuloff is currently in a very early stage of development. If you are a new community developer looking to make the Next Big Plugin, or an end-user looking for a wide ecosystem of addons for the game, you should use XIVLauncher & Dalamud.

  • Injector that mostly works, for both fake-launch & inject into a running game
  • V8 engine bringup for core components
  • UI bringup using React (as opposed to MessageBox)
  • Basic plugin support (including basic game APIs)
  • Game APIs for all the things, ever

Architecture

Components

Component Language Description
grebuloff-injector Rust Injects the runtime into the game process.
grebuloff-runtime Rust The entrypoint of Grebuloff. Manages V8 isolates and bridges them to the game.
grebuloff-dalamud C# A Dalamud helper plugin that allows Grebuloff and Dalamud to run simultaneously.
grebuloff-core TypeScript The core library for the Grebuloff runtime. Runs in a "privileged" V8 isolate.
grebuloff-ui TypeScript Provides UI services for Grebuloff and plugins. Written in React, and runs in the WebView2 instance.

Credits & Acknowledgements

Without the work of these people and groups, this project would not be possible.

Thanks to:

License

Grebuloff is licensed under LGPL-3.0. Please refer to the LICENSE file for more details.

Dependencies are licensed under their project's respective licenses.

You might also like...
Rust bindings to the dos-like framework
Rust bindings to the dos-like framework

dos-like for Rust   This project provides access to Mattias Gustavsson's dos-like framework, so as to write DOS-like applications in Rust. How to use

A developer-friendly framework for building user interfaces in Rust
A developer-friendly framework for building user interfaces in Rust

Reading: "Fru" as in "fruit" and "i" as in "I" (I am). What is Frui? Frui is a developer-friendly UI framework that makes building user interfaces eas

A backend framework for building fast and flexible APIs rapidly.

Andromeda Andromeda is a backend framework for Rust, to simplify the development of the kinds of basic API services that we developers have to build s

🧪 The versatile and intuitive memory hacking framework.

🧪 hax 🤔 About hax is a Rust crate designed to make memory hacking, game hacking, cheat development, and any other low level memory based development

A minimal boilerplate for Astro / Vite with the Nannou creative framework (Rust → WASM). Supports multiple sketches + hot-reload.
A minimal boilerplate for Astro / Vite with the Nannou creative framework (Rust → WASM). Supports multiple sketches + hot-reload.

Astro x Nannou Starter astro-nannou-demo-1c.mov 🕹 Try it online! # 0a. Rust language tools open https://www.rust-lang.org/tools/install # 0b. wasm-p

Indeed, an ORM library, not a framework, written in Rust

Ormlib Indeed, an ORM library, not a framework, written in Rust Features The main idea that I put into my ORM library is a minimum of stupid code and

Moving to the new Arbiter framework to test Portfolio.

Stable Pool Simulation The simulation in this repository is intended to demonstrate a basic simulation created with the Arbiter framework. To do so, w

Manas project aims to create a modular framework and ecosystem to create robust storage servers adhering to Solid protocol in rust.

मनस् | Manas Solid is a web native protocol to enable interoperable, read-write, collaborative, and decentralized web, truer to web's original vision.

Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

A third-party iTunes addon to show the lyrics on the desktop.
A third-party iTunes addon to show the lyrics on the desktop.

iTunes Desktop Lyrics for Windows A third-party iTunes addon to show the lyrics on the desktop. Preview Prerequisites iTunes Usage Download the binary

A third-party iTunes addon to show the lyrics on the desktop.
A third-party iTunes addon to show the lyrics on the desktop.

iLyrics A third-party iTunes addon to show the lyrics on the desktop. Preview Prerequisites iTunes Usage Download the binary or build from source. Run

A collection of small games for the Fantasy Console WASM-4
A collection of small games for the Fantasy Console WASM-4

WASM-4 Tutorial Games This repo contains the source code for different tutorial games for the Fantasy Console WASM-4. The goal is to provide a one-sto

Just a little game I made in a day to try out the WASM-4 fantasy console.

Dodgeball This is just a little game I made in a day to try out the WASM-4 fantasy console. Play it here. The palette is SODA-CAP by Cappuchi. License

Godout is an addon that hopes to package all kinds of exports under one repository.

Godout Godout is an addon that hopes to package all kinds of exports under one repository. Why? Godot is one of the best game engines out there and ha

Overlay DPS Meter for Granblue Fantasy: Relink
Overlay DPS Meter for Granblue Fantasy: Relink

gbfr-logs Experimental overlay DPS meter for Granblue Fantasy: Relink, based on the reverse engineering work from naoouo/GBFR-ACT. Screenshots DPS Ove

Final Project for
Final Project for "Computer Networking Security": A Layer-3 VPN implementation over TLS

Final Project for "Computer Networking Security": A Layer-3 VPN implementation over TLS

C-like language compiler, the final project of ZJU Compiler Principle course
C-like language compiler, the final project of ZJU Compiler Principle course

cc99 cc99 (not cc98.org) is a C-like language compiler, which is the final project of ZJU Compiler Principle course. It supports many of the C99 langu

The (hopefully) final iteration of Luminol, written in Rust with love ❤️

Luminol Luminol is an experimental remake of the RGSS RPG Maker editors in Rust with love ❤️ . Luminol targets wasm and native builds with eframe. Lum

A tool for analyzing the size of dependencies in compiled Golang binary files, providing insights into their impact on the final build.
A tool for analyzing the size of dependencies in compiled Golang binary files, providing insights into their impact on the final build.

gsv A simple tool to view the size of a Go compiled binary. Build on top of bloaty. Usage First, you need to compile your Go program with the followin

Owner
Ava Chaney
Ava Chaney
An experimental Rust crate for sigstore

Continuous integration Docs License This is an experimental crate to interact with sigstore. This is under high development, many features and checks

Flavio Castelli 0 Jan 10, 2022
Highly experimental, pure-Rust big integer library

grou-num (Pronounced "groo", from the Chiac meaning "big") This package is a highly experimental, unstable big integer library. I would not recommend

Patrick Poitras 1 Dec 18, 2021
An experimental, well-documented and expansion-ready virtual machine written in Rust.

Notice ivm is undergoing a complete refactor. ivm ivm is a rich, well-documented virtual machine written in Rust. Pros Documentation everywhere. Every

Imajin 4 Jul 9, 2022
jq for images - experimental

iq - a little tool for image manipulation Inspired by `jq`, iq is an experimental tool for manipulating images through expressions which transform pix

Michael Giba 33 Nov 27, 2022
Experimental web UI library for Rust.

tachys This is an extremely experimental web UI library for Rust, exploring concepts of compile-time, trait-based, low-allocation patterns for UI temp

Greg Johnston 7 Aug 29, 2023
An RPC framework developing tutorial

Mini Lust 系列教程 好奇如何从零造出来一个 RPC 框架?本教程将带你一步一步写出来一个 Rust 版 Thrift RPC 框架。 教程说明 从第二章开始每章节都会附带代码。 这个代码是在上一章节的基础上写的,文档里一般会告诉你增加了哪些东西,但是如果你想详细地对比到底哪里变动了,可以自

null 454 Dec 30, 2022
A recommender systems framework for Rust

Quackin Release the quackin! ?? Quackin is a recommender systems framework written in Rust. This is a young project, which means two things: There wil

Christopher Vittal 8 Dec 8, 2021
Safe Rust bindings to the DynamoRIO dynamic binary instrumentation framework.

Introduction The dynamorio-rs crate provides safe Rust bindings to the DynamoRIO dynamic binary instrumentation framework, essentially allowing you to

S.J.R. van Schaik 17 Nov 21, 2022
Integra8 rust integration test framework Rust with a focus on productivity, extensibility, and speed.

integra8 Integra8 rust integration test framework Rust with a focus on productivity, extensibility, and speed. | This repo is in a "work in progress"

exceptional 3 Sep 26, 2022
Incremental Program Analysis Framework

IncA Overview IncA is a program analysis framework. It comes with a DSL for the definition of program analyses and the runtime system evaluates progra

Tamas Szabo 70 Nov 24, 2022