landsandboat/tools
2026-06-22 10:44:50 +01:00
..
ci [lua, cpp] Leujaoam Cleansing Assault; Lootbox Logic 2026-06-21 18:10:56 -06:00
codegen Cleanup deprecated Status Effect enums 2026-06-16 20:58:39 -06:00
headlessxi [login] Enforce xiloader 2.1.x 2026-02-11 20:36:21 -07:00
migrations Optimize auction_house indexes 2026-05-27 19:23:00 -06:00
__init__.py Update CI/CD 2025-10-23 16:55:39 +00:00
announce.py Tools: Fix announce.py encoding 2026-03-02 09:23:24 +00:00
bom_checker.py Format Python files 2022-11-02 02:31:55 -04:00
dbtool.py YAML data: codegen pipeline + status_effects migration 2026-06-16 00:32:19 -06:00
fuzzer.cpp Core: Refactor map session management 2025-03-16 15:10:07 +00:00
generate_changelog.py Format Python files with Black formatter 2025-10-23 16:55:38 +00:00
generate_ipc_stubs.py Help Desk support 2026-02-14 23:33:03 -07:00
give_items.py Format settings and enforce via sanity checks 2025-10-28 20:18:59 +00:00
install-systemd-service.sh Add world server to install-systemd-service.sh 2024-06-15 14:11:20 +01:00
price_checker.py Update CI/CD 2025-10-23 16:55:39 +00:00
README.md Tools: Update to clang-format-20 and update rules 2025-11-06 13:41:08 +00:00
rename_dll.py Format Python files 2022-11-02 02:31:55 -04:00
requirements.txt YAML data: codegen pipeline + status_effects migration 2026-06-16 00:32:19 -06:00
run_clang_format.py Scripts: Add LLVM windows path to run_clang_format.py 2026-06-22 09:16:45 +01:00

Tools

Database Tool

python dbtool.py
python dbtool.py backup - creates a whole database backup in ../sql/backups/
python dbtool.py backup lite - creates a backup only of tables defined in settings
python dbtool.py update - performs an express update with backup and migrations if necessary
python dbtool.py update full - performs a full update with backup and migrations
python dbtool.py migrate - checks and performs any needed migrations

This tool creates or connects to the database defined in ../settings/network.lua. It allows the user to backup or restore the database, import any custom.sql stored in ../sql/backups/, and import the latest SQL files provided by LandSandBoat Development. This tool also handles data migrations for character data.

Price Checker

python price_checker.py

This tool checks NPC and guild shop prices to see if anything is being sold for less than the buyback price.

Festive Moogle Tool

python give_items.py

This tool is used to distribute the following items:

  • Nomad Cap
  • Moogle Cap
  • Moogle Rod
  • Harpsichord
  • Stuffed Chocobo
  • Tidal Talisman
  • Destrier Beret
  • Chocobo Shirt

Announce

python announce.py "<your message>"

Sends <your message> to every character, in every zone, on every map process.

Setup

Installing Python

python3 --version or py -3 --version

This requires Python 3 and pip.
Website: https://www.python.org/downloads/
Download the latest version from the website or check your package manager.

Installing Dependencies

pip install -r requirements.txt

MariaDB - MariaDB is required to interact with the database.
GitPython - GitPython is required to compare database versions.
PyYAML - PyYAML is required to read/write settings.
Colorama - Colorama is required to make colored terminal text.
zmq - ZeroMQ is required for sending messages to the server.
Pylint - Pylint is a static code analyser.
Black - Black is a Python code formatter.

Other

./install-systemd-service.sh - Installs a systemd service for running the servers on Linux.
./run_clang_format.py - Formats C++ code. Run from repo root.