landsandboat/tools
2025-09-18 03:18:33 +02:00
..
ci Retire calculateMagicDamage() function 2025-09-18 03:18:33 +02:00
headlessxi [tools] Enforce TLS 1.3 on hxiclient.py 2024-05-09 20:03:05 -06:00
migrations [core] Store effect: sourcetype, sourcetypeparam, originid in database 2025-08-11 09:28:02 -07:00
announce.py IPC: Update announce.py 2025-02-27 19:38:49 +00:00
bom_checker.py Format Python files 2022-11-02 02:31:55 -04:00
dbtool.py dbtool: Don't launch server processes with port 0 (#7667) 2025-07-01 09:25:52 +01:00
fuzzer.cpp Core: Refactor map session management 2025-03-16 15:10:07 +00:00
generate_changelog.py [codeql] Remove unused variable definition in generate_changelog.py 2023-05-16 06:34:18 -04:00
generate_ipc_stubs.py [core] [login] Improve session handling 2025-08-27 09:30:03 -06:00
give_items.py Fix give_items Festival Moogle tool 2025-01-26 12:33:32 -05:00
install-systemd-service.sh Add world server to install-systemd-service.sh 2024-06-15 14:11:20 +01:00
price_checker.py [codeql] Remove commented code, unused import 2023-11-05 08:02:45 -05:00
README.md Update tools README and requirements 2022-11-02 05:09:35 -04:00
rename_dll.py Format Python files 2022-11-02 02:31:55 -04:00
requirements.txt CI: Build and run all modules in own job 2024-12-21 17:40:44 +00:00
run_clang_format.bat Update comment for Win32 clang-format script 2024-03-30 09:42:59 +00:00
run_clang_format.sh Formatting pass 2025-05-01 14:33:10 -04: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.sh - Formats C++ code. Run from repo root.