Skip to content
Viper Jobs

Quick rating

Community listing page, reviews may not be monitored by the author.

Viper Jobs

By Fabric Server Essentials

No reviews yet

A Job and Quest System where Players earn money, XP, and points for mining and hunting — with daily quests, level-up rewards, leaderboards, and seamless Viper Economy extension.

Mod Loaders
Minecraft
26.3 26.2

About

Description

Viper Jobs

Server-side jobs, quests and leaderboard system for Fabric servers. Players join jobs and earn money, XP and points for mining, digging, farming, chopping, fishing, hunting and more. The mod includes daily quests, level-up rewards, paginated leaderboards and monthly top-player prizes. It works with Viper Economy (auto-detected) or any other economy mod through configurable console commands. No client mods are required.

What the mod is

Viper Jobs adds an RPG-style progression layer to a server. Administrators define jobs (for example Miner, Farmer or Hunter), and each job pays players for specific in-game actions such as breaking blocks or killing entities. Every action grants job XP (which levels the job up), job points and money. On top of that the mod runs daily quests, per-job and global leaderboards, and automatic monthly prizes for the best players. Everything is driven by JSON config files, and most changes can be applied live with /jobsadmin reload without restarting the server.

Features

  • 21 ready-made jobs: Digger, Miner, Farmer, Builder, Hunter, Lumberjack, Fisherman, Butcher, Warrior, Alchemist, Beekeeper, Nether Explorer, Smith, Enchanter, Ranger, Archaeologist, Herbalist, Conqueror, Explorer, Trapper, Guardian
  • Every job, action, reward, fee and level cap is configurable; custom jobs can be added freely
  • Per-action money, XP and point rewards with low-pay default tuning
  • Level-up money, XP, points and custom console commands, plus an on-screen action-bar message
  • 24 daily quests with configurable goals and rewards
  • Per-job (/jobs top) and global (/jobs gtop) leaderboards, paginated at 10 entries per page
  • Monthly prizes for the top-ranked players (money, XP, points and commands), paid automatically once per month
  • Per-player money multipliers and per-player job limits (players/<name>.json files)
  • Optional leave lock (allowLeave), daily income limits, scheduled bonuses, join and leave fees
  • Reliable payouts through payment aggregation, automatic retries and configurable failure policies
  • Earnings summary messages instead of chat spam, fully configurable notification settings
  • JSON persistence for all player progress, hot reload support, zero client overhead

Player commands

Command Description
/jobs Show your current jobs, levels, XP, points and earnings
/jobs stats Show a compact summary of your job statistics
/jobs list List all available jobs with short descriptions
/jobs join <job> Join a job (limited by maxJobsPerPlayer)
/jobs leave [job] Leave your job, or the named job (blocked when allowLeave is false)
/jobs info <job> Show a job's details, fees, max level and configured actions
/jobs quests Show today's assigned quests and your progress on each
/jobs top [job] [page] Show the per-job level leaderboard, 10 entries per page
/jobs gtop [page] Show the global leaderboard (total level across all jobs)

Admin commands

All admin commands use /jobsadmin and require operator level 2 or higher.

Command Description
/jobsadmin reload Hot-reload all config files from disk without a restart
/jobsadmin status Show the active economy provider, failure policy, aggregation state, job and quest state
/jobsadmin money <player> <amount> Grant money to a player through the active economy provider
/jobsadmin xp <player> <job> <amount> Add XP to a player in the given job
/jobsadmin points <player> <job> <amount> Add job points to a player in the given job
/jobsadmin join <player> <job> Force-join a player to a job
/jobsadmin leave <player> <job> Force-remove a player from a job (bypasses the allowLeave lock)
/jobsadmin price <player> <multiplier> Set a per-player money multiplier, stored in players/<name>.json
/jobsadmin maxjobs <player> <n> Set a per-player job limit (0 or -1 falls back to the global limit)
/jobsadmin prices <player> Show a player's current jobs, money multipliers and job limit
/jobsadmin reset <player> Reset all job data for a player
/jobsadmin quests reset [player] Reassign daily quests for all players, or for one player

Configuration

All files are created on first launch under config/viper-jobs/. After editing, run /jobsadmin reload (or restart the server) to apply them.

economy.json

Controls how money rewards are paid out.

Setting Description
enabled Master switch for money rewards
autoDetectCommands Automatically pick working command templates when the configured ones fail validation
validateCommandsOnStartup Test every command template against the live command dispatcher on startup
disableMoneyRewardsWhenUnavailable Turn money off (keeping XP, points and quests) when no economy is found
providerModIds Mod IDs checked for the Viper Economy integration (viper-economy, viper_economy)
commands.deposit Console command used to pay a player, supports {player} and {amount}
commands.withdraw Console command used to take money from a player
commands.setBalance Console command used to set a player's balance
commands.getBalance Console command used to read a player's balance
commands.reloadEconomy Console command used to reload the economy side
formatting.decimalPlaces Decimal places used when formatting amounts
formatting.minimumPayment Payments below this amount are skipped
formatting.roundingMode Rounding mode used for amounts (HALF_UP by default)
aggregation.enabled Batch many small payouts into fewer command executions
aggregation.intervalTicks How often aggregated payouts are flushed, in ticks
failureHandling.policy What happens when a payment fails (GRANT_NON_MONEY_REWARDS keeps XP and points)
failureHandling.maximumRetries How many times a failed payment is retried
failureHandling.retryDelayTicks Delay between payment retries, in ticks
failureHandling.logFailures Log failed payments to the server console
failureHandling.notifyAdministrators Notify online admins about failed payments

job_config.json

Defines all jobs, their actions, rewards and the global job settings. An old jobs.json file is migrated automatically.

Setting Description
settings.maxJobsPerPlayer How many jobs one player may hold at the same time
settings.baseXpForLevel XP needed for the first level-up
settings.xpGrowth Growth factor of the XP curve per level
settings.incomeLimitEnabled Enable a cap on money earned per day
settings.incomeLimitPerDay Maximum money payable per player per day when the limit is enabled
settings.moneyRewardsEnabled Master switch for action money rewards
settings.levelUpMoneyEnabled Pay a bonus on every level-up
settings.levelUpMoney Amount paid on every level-up
settings.joinFee / settings.leaveFee Global fees charged for joining or leaving a job
settings.notifyOnPay Send an instant chat message for every single payout (off by default to avoid spam)
settings.notifySummaryEnabled Send a periodic earnings summary instead of per-action messages
settings.notifySummaryIntervalMinutes How often the earnings summary is sent
settings.topListMax Entries per leaderboard page (default 10)
settings.broadcastJoinLeave Announce job joins and leaves in chat
settings.allowLeave When false, players cannot leave jobs on their own (admins bypass with /jobsadmin leave)
settings.monthlyPrizesEnabled Pay monthly prizes to the top-ranked players
settings.monthlyPrizesDay Day of the month on which prizes are paid
settings.monthlyPrizes Prize list with rank, money, xp, points and commands per rank
settings.globalMoneyMultiplier Scales every money reward at once
jobs[].id Unique job identifier used in commands
jobs[].meta.name / jobs[].meta.description Display name and description shown in lists
jobs[].maxLevel Highest reachable level for the job
jobs[].joinFee / jobs[].leaveFee Per-job join and leave fees
jobs[].actions[].id Unique action identifier used by quests
jobs[].actions[].type BLOCK_BREAK or KILL_ENTITY
jobs[].actions[].blocks / jobs[].actions[].entities Block or entity IDs that trigger the action
jobs[].actions[].xp Job XP granted per action
jobs[].actions[].points Job points granted per action
jobs[].actions[].money Money granted per action (edit freely for low-pay or rich servers)
jobs[].levelRewards[] Extra rewards granted at specific levels (level, money, xp, points, commands)

Placeholders supported in reward commands: {player}, {uuid}, {job}, {job_id}, {reason}.

quests.json

Controls the daily quest system.

Setting Description
enabled Master switch for quests
daily Assign a fresh set of quests every day
resetHourUtc Hour of day (UTC) when quests reset
questsPerDay How many quests each player receives per day
quests[].id Unique quest identifier
quests[].name / quests[].description Display name and goal text shown to players
quests[].job Job the quest belongs to
quests[].action Action ID (from job_config.json) that counts toward the quest
quests[].required How many times the action must be performed
quests[].rewards.money / quests[].rewards.xp / quests[].rewards.points Rewards granted on completion

players folder

players/<playername>.json files hold per-player overrides and are created automatically when a player joins a job or receives an admin override. The jobs list is kept in sync on every join and leave.

Setting Description
playerName / uuid Player identity the file belongs to
jobs The player's current jobs (updated automatically)
moneyMultiplier Multiplies all money this player earns (default 1.0)
jobMoneyMultipliers Per-job multipliers that override moneyMultiplier for specific jobs
maxJobs Personal job limit; -1 (or 0) uses the global maxJobsPerPlayer

data folder

data/ stores all persistent player progress: job levels, XP, points, daily earnings, quest states and the earnings ledger. You normally never need to edit these files by hand.

Money notes

Money rewards are paid through the active economy provider (Viper Economy by default, auto-detected). If no economy mod or usable money commands are found, money rewards are automatically disabled while job XP, points, quests and non-money rewards keep working. To use a different economy mod, point the commands section of economy.json at its give, take and set commands and run /jobsadmin reload.

Installation

  1. Install Fabric Loader 0.19.3 or newer and Fabric API.
  2. Use Java 21 for Minecraft 1.21.x, or Java 25 for Minecraft 26.x.
  3. Download the file matching your Minecraft version (1.21, 26.1, 26.2 or 26.3) and put it in the server mods folder.
  4. Optional: install Viper Economy for money rewards (it is detected automatically).
  5. Start the server. Configs are created under config/viper-jobs/.
  6. Review and customize the configs to your needs.
  7. Run /jobsadmin reload or restart the server to apply changes.