Skip to main content
Complete queues, matchmaking, maps, loadouts, hooks, theme, and API reference.
fnx-pvp-matches provides ranked queues, custom team matches, rounds, Elo, inventories, stats, and leaderboard integration.

First installation

The resource creates its required database tables automatically. You do not need to import an SQL file.

First setup

Configure client behavior, server rules, and shared/public/_main.lua. Every enabled map needs unique identification, valid team spawns, and correct inventory item names.

Client configuration

Runtime

Client hooks

Client commands

These commands are registered client-side by the match runtime. Default key mapping:

Server configuration

Queue and warning

Matchmaking

Custom matches

Match runtime

Elo and inventory

Rewards

ServerCfg.Rewards controls item/account rewards. Rewards are given independently from match loadouts, so they still work when Inventory.keepInventory is true. Example:

Logs

Each log category supports enabled, username, avatar, webhooks, and embed. webhooks is an array, so one category can send to multiple Discord webhooks. embed is a Lua function and can be fully customized per server. Example per-mode match-end routing:

Reward commands

Use giveStreakRewards only when Rewards.killStreaks.public is false. setRewardMultiplier changes the multiplier used by kill and streak rewards.

Server hooks

Shared files

shared/public/_main.lua obtains REVIVE_EVENT from the panel and defines Maps.

Map schema

Example:

Shared weapon and team keys

Theme system

Developer info

Client exports

Server exports

Common issues

No opponent is found

Check mode, selected map, same-map requirement, and Elo gap expansion.

Wrong spawn or map

Ensure every map name is unique and every team spawn is valid.

Inventory is not restored

Check inventory mode, item names, snapshot scope, and restoreOnNextJoin.

Some configured weapons are not given

Each weapon is applied with its ammunition and components as one package. If a complete package does not fit, only that weapon is skipped. Other weapons are still given and the player receives one notification showing how many weapons were skipped.

Deaths count twice

Use one detector and call CanReportDeath() before a custom report.

Common folders

Weapon is holstered/folded instead of equipped during PvP flow

Open:
fnx-pvp-matches/settings/public/server/cfg.lua

Find:
ServerCfg.Events.OnRoundPrestart
Write inside:

File structure