
nixMarriage 0.1 beta
marriages, families & shared bank with web support
nixMarriage brings clean, reliable marriages to your server: proposals, dual confirmation, priest approval step, family name and a shared family bank. Ships with MySQL and SQLite support, localization (ru/en/ua) and a simple web integration (web tokens, lightweight review panel).
[MEDIA=youtube]6xbsYGFoCaM[/MEDIA]
Highlights
- Player marriages with both-sides confirmation.
- Priest role: final approval for marriages/divorces/renames.
- ️ Family name (surname) + rename via request.
- Family bank with /bank commands.
- Request workflow (robust statuses):
- 0 — proposed (initiator only),
- 3 — both confirmed, waiting for priest,
- 1 — approved by priest,
- 2 — declined by priest.
- Web integration: issue web tokens for website login; manage requests from a web panel if you want.
- ️ Database: MySQL or SQLite (configurable).
- ️ Localization: MiniMessage messages, RU/EN/UA.
- Flexible permissions for players/priests/admins.
Compatibility
- Paper/Spigot 1.20.x
- Java 17+
Installation
- Drop nixMarriage-x.x.x.jar into plugins/.
- Start the server once to generate configs/tables.
- Edit plugins/nixMarriage/bd.yml (or config.yml):
- choose mysql or sqlite,
- for MySQL set host/port/db/user/pass,
- language and priest reward (optional).
- Restart the server.
Minimal bd.yml
[code]storage: mysql # mysql | sqlite
mysql:
host: 127.0.0.1
port: 3306
database: nixmarri
user: root
pass: secret
useUnicode: true
characterEncoding: utf-8
useSSL: false
sqlite:
file: data.db
language: en
rewards:
priest_per_marriage: 100.0[/code]
If your driver complains about utf8mb4, use utf-8 or leave it blank — defaults will be applied.
Commands
Player commands:
- /marriage propose <nick> — propose marriage.
- /marriage accept — accept incoming proposal.
- /marriage deny — deny.
- /marriage info — your marriage info.
- /family — family info (name/balance).
- /family setname <name> — request a family name change.
- /bank balance — family bank balance.
- /bank deposit <amount> — deposit to family bank.
- /bank withdraw <amount> — withdraw from family bank.
- /gift <nick> <amount> — gift money to another player (from personal).
Priest/admin commands:
- /priest list — list requests and statuses.
- /priest approve marry <nickA> <nickB> — approve marriage.
- /priest approve divorce <nickA> <nickB> — approve divorce.
- /priest approve rename <nickA> <nickB> <new_name> — approve rename.
- /priest add <nick> / /priest remove <nick> — manage priest role.
- /webtoken — generate one-time web token for site login.
Note: proposals can be created by nick. If a player isn’t found in the website DB, the site will ask them to sign in (or finish the flow in-game).
Permissions
nixmarriage.user — basic commands (/marriage, /family, /bank, /gift)
nixmarriage.priest — priest features (/priest approvals)
nixmarriage.admin — admin features & overrides
nixmarriage.webtoken — allow /webtoken
Suggested:
- Players: nixmarriage.user
- Priests: nixmarriage.user, nixmarriage.priest, optionally nixmarriage.webtoken
- Admins: * or nixmarriage.admin plus others
Localization / Messages
- Language files: plugins/nixMarriage/lang/en.yml, ru.yml, ua.yml.
- Fully supports MiniMessage formatting.
- Set language: en/ru/ua in config.
Priest reward
- Configure rewards.priest_per_marriage in bd.yml.
- When a marriage is approved, the priest receives the configured reward (economy integration or plugin’s internal accounting depending on your setup).
FAQ
Q: Request stuck at 0
A: It means the second player hasn’t confirmed yet. Once both confirm, the status becomes 3 and it awaits priest approval.
Q: Website says “player not found”
A: They didn’t sign in on the site and thus aren’t in users. Ask them to log in or finish the process in-game.
Q: Can we rename the family?
A: Yes — via the rename request, confirmed by both and approved by a priest.
Q: Switching DBs?
A: Change storage: mysql/sqlite and restart.
Support
Found a bug or need a feature? Provide server version, config, console log and steps to reproduce — we’ll sort it out quickly.