Takaro module library

Takaro Modules

Takaro is a game server management platform for running, automating, and moderating multiplayer communities. These modules install into Takaro to add server automation, Discord workflows, economy systems, and moderation tools.

playerProgressionTracker

by Limon
Track player progression with XP, levels, playtime, kill rewards, and configurable level-up rewards. This module helps game server communities create longer-term goals and retention loops through Takaro automation.
Use this module to:
  • Award XP from kills and active playtime.
  • Configure levels, currency rewards, and item rewards.
  • Use permissions for VIP or donor XP multipliers where appropriate.
communityTakaro main
(2 versions available)

Components Overview

1
config
3
commands
2
hooks
1
Cron Jobs
3
functions
2
permissions

New Module: playerProgressionTracker

NEW
August 12, 2025
Updated to version 0.0.1. Added 3 commands: progression, claim, resetprogression. Added 2 hooks: Entity Kill XP (entity-killed), Player Connected Playtime (player-connected). Added 1 scheduled task: Active Player XP. Added 3 functions: grantRewards, calculateXPWithMultiplier, checkLevelUp. New permissions: XP_MULTIPLIER, PROGRESSION_ADMIN. New configuration options: levels, xpSettings, messages.

Configuration

Configure this module using the schemas below. The JSON schema defines the data structure, while the UI schema customizes how the configuration form is displayed.

Configuration Schema

Configuration Properties (3)

levels*array
Progression Levels

Configure levels with XP requirements and rewards

xpSettings*object
XP Settings
messagesobject
Messages

UI Schema

No configuration properties defined. This module uses default settings.

About Configuration Schemas

The Configuration Schema defines the structure and validation rules for module settings. The UI Schema customizes how the configuration form is displayed in the Takaro interface, including field ordering, labels, and input types.

Commands (3)

These commands can be executed by players in-game. Each command has a trigger word, optional arguments, and executes JavaScript code on the server.

progression

/progressionTrigger Command

Description

Shows your current level, XP, playtime, and progress to next level

Function Implementation

progression Function

JAVASCRIPT

Usage Example

Player types: /progression

resetprogression

/resetprogressionTrigger Command

Description

Resets progression data for a player or all players (Admin only)

Arguments (1)

target
stringPosition 0
Help: Player name or 'all' to reset everyone
Default: ""

Function Implementation

resetprogression Function

JAVASCRIPT

Usage Example

Player types: /resetprogression <target>

claim

/claimTrigger Command

Description

Claims any unclaimed level rewards you have earned

Function Implementation

claim Function

JAVASCRIPT

Usage Example

Player types: /claim

About Module Commands

Commands allow players to interact with your module through chat. Each command has a trigger word that players type (prefixed with /), optional arguments for parameters, and a JavaScript function that executes when the command is used. Arguments are automatically validated and passed to the function.

Hooks (2)

These hooks respond to various game events automatically. Each hook executes JavaScript code when its specific event type occurs, allowing modules to react to player actions, system changes, and more.

Real-time Events

1 hook

Player Connected Playtime

player-connectedEvent Type
Description
Tracks player connections for playtime XP calculations
Pattern Match
.*

This hook only triggers when the event data matches this regular expression pattern.

Function Implementation

Player Connected Playtime Hook Function

JAVASCRIPT
Event Details
Event Type:player-connected
Trigger:Pattern Match Required
Category:Real-time Events

System Events

1 hook

Entity Kill XP

entity-killedEvent Type
Description
Awards XP when player kills entities
Pattern Match
.*

This hook only triggers when the event data matches this regular expression pattern.

Function Implementation

Entity Kill XP Hook Function

JAVASCRIPT
Event Details
Event Type:entity-killed
Trigger:Pattern Match Required
Category:System Events

About Module Hooks

Hooks allow your module to respond automatically to game events like player actions, server status changes, and chat messages. Each hook has an event type that determines when it triggers, optional regex patterns for filtering specific events, and a JavaScript function that executes when the conditions are met. Hooks are grouped by category for better organization.

Scheduled Jobs (1)

These jobs run automatically on a schedule defined by cron expressions. Each job executes JavaScript code at specific times or intervals.

Active Player XP

*/5 * * * *Schedule

Description

Awards XP to active players based on playtime

Schedule Details

Cron Expression
*/5 * * * *
Human-Readable Schedule

Every 5 minutes

Function Implementation

Active Player XP Function

JAVASCRIPT

Cron Expression Format

minute hour day-of-month month day-of-week

Each field can contain numbers, ranges (1-5), lists (1,3,5), or wildcards (*). Use */n for intervals (e.g., */5 for every 5 units).

About Scheduled Jobs

Cron jobs allow your module to execute code automatically on a schedule. Each job has a cron expression that defines when it runs, and a JavaScript function that executes at those times. Jobs run server-side and can perform maintenance tasks, send notifications, or update game state automatically.

Functions (3)

Reusable JavaScript functions that can be imported and used by other module components like commands, hooks, and cron jobs. These promote code reuse and modularity.

checkLevelUp

functionReusable Component

Description

Checks if player has leveled up and returns new level info

Function Implementation

checkLevelUp Function

JAVASCRIPT

Import Usage

Import: import { checkLevelUp } from './utils';

grantRewards

functionReusable Component

Description

Grants currency and item rewards for level progression

Function Implementation

grantRewards Function

JAVASCRIPT

Import Usage

Import: import { grantRewards } from './utils';

calculateXPWithMultiplier

functionReusable Component

Description

Calculates XP with permission-based multipliers

Function Implementation

calculateXPWithMultiplier Function

JAVASCRIPT

Import Usage

Import: import { calculateXPWithMultiplier } from './utils';

About Module Functions

Functions are reusable JavaScript components that can be imported and used by commands, hooks, and cron jobs within your module. They promote code reuse, improve maintainability, and allow you to organize complex logic into modular pieces. Functions must be exported with proper ES6/CommonJS syntax to be importable by other components.

Permissions (2)

These permissions control who can access different features of this module. Administrators can assign these permissions to roles, allowing fine-grained access control.

General Permissions

2 permissions

Progression Admin

PROGRESSION_ADMINPermission Key
Description

Allows resetting player progression data and managing the progression system

Permission Details
Full Key:PROGRESSION_ADMIN
Can Have Count:No
Category:General

XP Multiplier

XP_MULTIPLIERPermission KeyCountable
Description

Multiplies XP gains by the permission count value (e.g., count=2 for 2x XP)

Permission Details
Full Key:XP_MULTIPLIER
Can Have Count:Yes
Category:General
Countable Permission

This permission supports numeric values/levels. For example, you could grant someone "10" of this permission to limit their usage or set permission levels.

About Module Permissions

Permissions control access to module features and functionality. Each permission has a unique key for identification, a friendly name for display, and a description explaining what it allows. Some permissions are countable, meaning they can have numeric values or limits assigned. Administrators assign these permissions to user roles to control who can use different module features.