Lightweight, embeddable tool for capturing
FINAL FANTASY XIV network traffic.
The possibilities offered by analyzing FINAL FANTASY XIV network traffic are limitless. However, the current tools available for it can be slow and difficult to work with. Goblade was developed to make the packet capture and reassembly process as simple as possible for other developers.
- Add Goblade to your project. In order of preference:
- Manually download it from the Releases page and bundle it with your project.
- Add logic to download the latest build from GitHub at runtime.
- Build it yourself and do one of the previous two things.
- Run it as a subprocess using the
live
subcommand, and capture its standard output (stdout).- There are other commands and options that can be used, however the default configuration is designed to just work in most cases.
- Decode the output as JSON Lines.
- The JSON schema is still in development.
Goblade is targeted towards developers of external tools. You'll only be able
to see "raw" data if you run it by itself.
If you're still interested, you can download the latest version from the
Releases page and run it
in a terminal (e.g., PowerShell, Command Prompt) like so:
./goblade.exe live
Please be sure to use caution and follow all FINAL FANTASY XIV rules and policies when using Goblade or any other external tool.
Goblade is only supported on Windows (x64). It can be provisionally built for other platforms (i.e., for testing purposes), but will not be able to handle Oodle-compressed data in such configurations.
- Go 1.19 or newer
- A pcap implementation (e.g., Npcap on Windows, libpcap-dev on Ubuntu)
- A cgo-compatible toolchain (e.g., MinGW on Windows)
git clone https://github.com/Sparta142/goblade
cd goblade
go generate ./...
go build .
Due to the difficulty of ensuring build determinism when using cgo, Reproducible Builds are not yet supported. This is a future goal.
This project is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by Square Enix Holdings Co., Ltd., or any of its subsidiaries or its affiliates. All product and company names are the registered trademarks of their original owners. The use of any trade name or trademark is for identification and reference purposes only and does not imply any association with the trademark holder of their product brand.