Skip to main content

Code of Conduct

All contributors are expected to read and abide by the Contributor Covenant Code of Conduct. The project follows the Contributor Covenant v2.1 with one addition: the use of inappropriate violent language or imagery is also prohibited. Our pledge: We commit to making participation a harassment-free experience regardless of age, disability, ethnicity, gender identity, level of experience, nationality, race, religion, or sexual identity.
  • Demonstrating empathy and kindness toward others
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing when mistakes are made
  • Focusing on what is best for the overall community
  • Sexualized language or imagery of any kind
  • Inappropriate violent language or imagery
  • Trolling, insulting or derogatory comments, personal or political attacks
  • Public or private harassment
  • Publishing others’ private information without explicit permission
Violations can be reported to community leaders. All complaints will be reviewed and investigated promptly and fairly. Consequences range from a written warning through temporary ban to permanent ban depending on severity and pattern of behavior.

License

LandSandBoat is licensed under the GNU General Public License v3.0. Contributions must be compatible with GPL-3.0. More restrictive licenses such as AGPLv3 are not accepted.

General Guidelines

By contributing — through issues, pull requests, or discussions — you agree to abide by the rules in this guide.
LandSandBoat does not support out-of-date clients or client modification. We encourage contributors to maintain an active retail FFXI subscription and support the game.
Exploits must be reported privately. If you discover an exploitable issue, contact staff privately before disclosing it publicly. Staff can be found across various Discords or via the email addresses associated with their commits. This software runs on live servers with active players — responsible disclosure protects those communities.

Issue Report Contributions

Before opening an issue:
1

Search for duplicates

Search existing open and closed issues to confirm your report is not a duplicate and has not already been fixed.
2

Verify retail behavior

Unimplemented feature requests must describe retail-accurate behavior. Requests must cover everything about the feature that is missing — partial or speculative reports are not accepted.
3

Fill out the issue template

GitHub issue templates include pre-loaded checkboxes. Fill them in completely — they allow maintainers to diagnose the issue efficiently.

Pull Request Contributions

All contributions must go through pull requests to the LandSandBoat repository. Fixes sent via Discord will not be applied on your behalf.

Early and often

Small, focused PRs are preferred over large monolithic ones. If you are implementing a complex feature, submit PRs as each smaller functional unit is working. This lets maintainers confirm you are on the right track before you invest significant time in an approach they may want done differently.

Draft PRs

If you want early feedback on work in progress, open the PR as a Draft. This signals to reviewers that the work is not yet complete. Avoid pushing commits to a non-draft PR after submission — it makes it unclear to reviewers when the work is “ready for review”.

Review process

After a staff member leaves feedback, you must either fix the issue or address it directly for the PR to be merged. PRs that do not have the template checkboxes filled in — confirming that you have read the supporting documentation and tested your code — will not be reviewed.

Development Guide

Technical details on C++, Lua, SQL, Python, and code style

Development Wiki

Development landing page and additional wiki pages

Build docs developers (and LLMs) love