Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Otters Civ. Revived
Otters Civ. Revived is a Fabric mod that turns a normal Minecraft world into a simple civilization-style server. It adds money that players can earn and trade, rewards for mining and fighting, jobs that give people different roles, guilds that can claim land together, and easy in-game menus so players and server hosts can understand and use the mod without needing programming knowledge.
What it does
- Economy: persistent SQLite-backed balances,
/paytransfers between players, admin money tools, and an immutablewallet_ledgeraudit trail - Rewards: configurable mining and combat payouts driven by tags and per-id overrides, with broad vanilla block and living-entity coverage out of the box
- Jobs: a server-authoritative JSON jobs catalog with configurable triggers, progression, and boosts; the shipped starter pack is
miner,lumberjack,farmer,excavator, andfighter - Guilds: player-run groups with officer ranks, public or invite-only joining, chunk claims, protections, home teleport, chat/GUI claim maps, and chunk border visuals
- Player UX: the
/otterhub surfaces wallet, jobs, guilds, rewards, and civ roadmap info in one place, and/guidespawns a glinting in-game handbook with the live server's current basics
Commands
Economy
/guide— spawn the in-game Otters Civ. handbook for yourself/guide give <player>— admin-give the handbook to another player (gamemaster / OP only)/money— show your wallet balance/pay <player> <amount>— send coins to another player (atomic; server-enforced per-command cap, per-sender cooldown, optional flat fee — all tunable ineconomy.json)/money set <player> <amount>— replace a player's balance (gamemaster / OP only)/money add <player> <amount>— credit a player's balance (gamemaster / OP only)/money take <player> <amount>— deduct from a player's balance, clamped to 0 (gamemaster / OP only)/economy reload— re-readeconomy.jsonwithout restart (gamemaster / OP only)/economy log [count]— show the most recent ledger entries server-wide, newest first (gamemaster / OP only)/economy log player <player> [count]— filter the ledger to a single player (gamemaster / OP only)
Jobs
/job— show your current job(s) and progression/job list— list all jobs the server has configured/job info <id>— details on a specific job (tags, XP/event, boosts)/job join <id>— join a job/job leave [id]— leave a job (or all jobs if omitted)/job stats— your level/XP across all active jobs/job reload— reloadjobs.json(gamemaster / OP only)/job validate— sanity-check the loaded jobs config (gamemaster / OP only)
Guilds
/guild create <name>— create a guild ($250 default, tunable)/guild disband— owner-only; refunds claim costs/guild invite <player>— invite a player (officer+)/guild join [name]— accept a pending invite, or join an open guild by name/guild leave— leave your guild/guild kick <player>— kick a member (officer+)/guild transfer <player>— transfer ownership to another member/guild promote <player>//guild demote <player>— owner-only officer management/guild claim— claim the chunk you stand in ($100 each, max 16 per guild)/guild unclaim— release the current chunk/guild unclaimall— release every chunk your guild owns/guild map— ASCII chunk map in chat plus a 30-second GUI overlay (top-right corner)/guild sethome— set guild teleport point (officer+)/guild home— teleport to guild home (any member)/guild open//guild close— switch between public joining and invite-only mode (owner-only)/guild info— your guild's details/guild list— every guild on the server/guild reload— reloadguilds.json(gamemaster / OP only)
Database
/ooga db status— show schema version and database path (gamemaster / OP only)/ooga db migrate— run pending schema migrations (gamemaster / OP only)
Help
/otter— opens the in-game hub (HOME · WALLET · JOBS · GUILDS · REWARDS · CIV · HELP) on clients with the mod; falls back to a chat command list on vanilla clients
Features
Economy
- Money, transaction history, jobs state, guilds, and claims are persisted server-side in SQLite at
config/otters_civ_revived/project_ooga.db - Player-to-player transfers are atomic — both balances update or neither does
/paypolicy is operator-tunable: minimum/maximum transfer, optional self-pay, per-sender cooldown, optional flat fee (seeeconomy.json)- Admin set/add/take for fast moderator action
- Every mutation (admin ops,
/pay, rewards, starting balance) is written to the SQLitewallet_ledgertable (immutable, indexed, queryable) - Moderators can audit recent server-wide or per-player history live in chat with
/economy log - The database runs in WAL mode and is auto-created / migrated on startup
- First-join starting balance and the join-welcome toggle both live in
economy.json
Rewards
- Breaking configured blocks pays coins
- Killing configured entities pays coins
- Per-block and per-entity payouts override tag-wide defaults
- Reward behavior is fully editable from JSON files — no Java required
- Three-tier customization: edit sibling value files, inline in
rewards.json, or extend bundled tags via server datapack - Reward chat splits cleanly:
+N coinsfor money, separate[job] +N xp · Lvl X · in/rangefor matching active jobs
Coverage
- Broad current vanilla block coverage ships out of the box
- Broad current vanilla living-entity coverage ships out of the box
- Future blocks and mobs flow through the same tag + value-file system without code changes
Jobs
- Operators add arbitrary jobs without Java edits — just edit
jobs.json - Each job defines its own triggers, XP curve, payout multiplier, boosts, and display data
- Activation policy supports single-active-job or multi-active-job setups
- Starter pack ships miner / lumberjack / farmer / excavator / fighter in single-slot mode
- Default starter tuning is fast early, long-tail later, and intentionally modest on boosts
/job validatenow highlights overlap and reward-surface dead zones for operators- Jobs HUD shows the server-synced primary job's label, icon, level, and progress bar
- Level-up announcements fire only on threshold crossings
Guilds
- Create named guilds with a one-time fee ($250 default, tunable)
- Officer rank system: promote/demote members; officers can invite, claim land, and set the guild home
- Officer count is capped by config, so owners can keep leadership smaller than the full member cap
- Owner can transfer guild ownership to another member
- Guilds can be public or invite-only, with
allowOpenGuildscontrolled by config - Chunk claims with configurable cost and per-guild cap ($100 each, max 16 default)
- Guild home: set a teleport point (officer+) and use it (any member, optional cooldown)
/guild mappaints a 9×9 chunk grid in chat, toggles a temporary GUI overlay, and shows chunk borders with particles- Block-break, place, container-use, and block-attack protection inside claimed chunks
- Guild data lives in SQLite; operator tuning lives in
config/otters_civ_revived/guilds.json
Player UX
- First-join welcome: three onboarding chat lines pointing to
/guide,/otter,/money, and rewards - Returning players see a shorter welcome-back line
/otteropens a stylized in-game menu on modded clients with live wallet, job, guild, rewards, and roadmap/help panels/guild mapalso drives a temporary top-right claim overlay and chunk border particles- Vanilla clients still get a full chat command help list from
/otter /guideis fully server-side, so even vanilla or server-only players can still spawn the handbook item; they just need a free inventory slot
Config files — where everything lives
All files are auto-generated on first run. You can edit them while the server is stopped; most JSON config can also be reloaded live.
Operator-editable JSON (config/otters_civ_revived/)
All files below are auto-generated on first run with sensible defaults. Edit any JSON while the server is stopped; most also support /reload.
economy.json — currency display, starting balance, join welcome toggle, and /pay policy:
currencySymbol— symbol shown in chat (default"$")currencyName/currencyNamePlural— "coin" / "coins"newPlayerStartingBalance— coins new players get on first join (default0)maxBalance— hard ceiling (default0= no cap)maxTransferPerCommand—/paylimit (default100000)minTransferAmount— minimum/pay(default1)transferCooldownSeconds— cooldown between/paycalls (default3)transferFlatFee— fee deducted from sender (default0)allowSelfPay— can players pay themselves? (defaultfalse)showJoinWelcome— show join messages? (defaulttrue)
rewards.json — mining/combat payout rules: block/entity tags, cooldowns, dimension blacklist, flat rewards
block_values.json — per-block coin values (auto-prefilled from bundled block tags on first run)
entity_values.json — per-entity coin values (auto-prefilled from bundled entity tags on first run)
jobs.json — server jobs catalog: job definitions, triggers, progression curves, payout boosts, activation policy (single/multi)
guilds.json — guild tuning:
creationCost— cost to create a guild (default250)claimCost— cost per chunk claim (default100)maxClaims— max claims per guild (default16)maxMembers— max members per guild (default20)maxOfficers— officer cap per guild (default4)minNameLength/maxNameLength— guild name constraintsdisbandRefundClaims— refund claim costs on disband? (defaulttrue)allowOpenGuilds— allow public joining mode? (defaulttrue)homeTeleportCooldownSeconds— cooldown on/guild home(default60)protectBlocks— block breaking blocked for non-members? (defaulttrue)protectContainers— chests/furnaces/etc blocked for non-members? (defaulttrue)protectInteractables— buttons/levers/doors blocked for non-members? (defaultfalse)allowMemberBuild— can regular members build in claimed chunks? (defaulttrue)allowOfficerBuild— can officers build in claimed chunks? (defaulttrue)pvpInClaims— PVP allowed in claimed chunks? (defaulttrue)showChunkBorders— show/guild mapparticle borders? (defaulttrue)mapRadius— radius of/guild mapgrid (default4, 9×9 grid)overlayDurationSeconds— how long the GUI overlay stays visible (default30)
Runtime state (do not edit, managed automatically)
config/otters_civ_revived/project_ooga.db— SQLite database in WAL mode. Holds wallets, thewallet_ledgeraudit trail, guilds, chunk claims, and jobs state. Auto-created and migrated on startup. Safe to back up while the server is stopped.config/project_ooga/jobs_hud.properties— client-side HUD position/scale. Only present on clients with the mod. Edit via/otter→ Jobs tab.
Permissions
- Open to all players:
/guide,/otter,/money,/pay, the self-service/jobset, and most/guildcommands - Role-gated inside guilds: officers handle invites, land claims, and guild-home setting; owners handle officer promotions and public/invite-only join mode
- Gamemaster / OP only (same band as vanilla cheat commands):
/guide give <player>,/money set|add|take,/economy reload,/economy log,/job reload,/job validate,/guild reload,/ooga db status|migrate - A dedicated permission apparatus (string-id permission nodes, Fabric Permissions API / LuckPerms compatibility) is planned
Good to know
- Requires Fabric API
- Economy, rewards, jobs, and guild logic all run on the host/server side
- Dynamic state (wallets, ledger, guilds, claims, jobs) persists in SQLite at
config/otters_civ_revived/project_ooga.db(WAL mode, auto-migrated on startup) - Client install is optional but unlocks the jobs HUD, guild chunk overlay, and the stylized
/ottermenu /guideworks even without the client extras, because the handbook is just a server-issued written book item- Operator-facing behavior is mostly JSON-driven (
economy.json,rewards.json,jobs.json,guilds.json) - Jobs and guild client views are server-synced, so remote players see the host's live catalog and claim state instead of guessing from local files
- The technical mod ID is
project_ooga - Reward coverage is broad today and future-proof — new blocks and entities flow through the same tag + value-file system
- Legacy FPS HUD is deprecated and disabled; the standalone FPS overlay mod handles FPS display
Planned next
- Player shops (M4) — listings, escrow, market UI
- Friends list and private messaging (M4.5)
- Civ governance: diplomacy, treaties, faction projects (M5)
- Deeper jobs/profession trees, richer admin tooling, and a more granular permissions layer
Usage and content policy
You are allowed to:
- Use the mod in singleplayer
- Use the mod on multiplayer servers
- Include it in videos, streams, reviews, showcases, and tutorials
- Include the official unmodified release in modpacks
You are not allowed to:
- Reverse engineer it
- Crack it
- Fork it
- Reupload modified builds
- Redistribute repacks or altered versions
- Repost the source or bundled materials as your own
If you want to do something outside those boundaries, ask first.


