Skufy Ranks
A rank system for your DayZ server: 16 ranks with insignia and rewards, a journal of 52 quests, rank exams, access to weapons, vehicles, actions and zones by rank, books for XP, an on-screen rank window, a leaderboard and an in-game admin panel. Every file and every parameter is described here.
What the mod does
From Recruit to Legend: each rank has its insignia, colour, XP threshold, description and an item reward. All of it can be changed in the admin panel.
For infected, animals, players, crafting, building, harvest, fish and time played — plus quests and books. A death penalty if you want one.
9 categories, 15 goal types, up to 5 goals and 6 rewards per quest. Chains, repeatable quests with a cooldown, time limits, map-specific quests.
A rank can require an exam quest: until it is done the rank is not given, no matter how much XP the player has.
11 restriction kinds: weapons in hands, armour, vehicles, actions, crafting, building, shooting and closed map zones. Checked on the server too.
8 training manuals bound to ranks and 6 "Survivor library" books for any rank. Studied with an animation, found in the loot.
A rank window with the XP bar and pinned quests, notifications, a rank-up banner and a server-wide announcement.
The best players of the server and your own place.
Ranks, quests, categories, restrictions, books, players and settings — in game, with 3D item previews, no restart.



Installation
- Copy the
@Skufy_Ranksfolder to the server and add it to the-mod=launch parameter (the same for clients, or through the Steam Workshop). - Put the
Skufy.bikeykey from@Skufy_Ranks/Keysinto the server'skeysfolder. - No other mods are needed: Community Framework is not required.
- To have books in the loot, add the lines of
@Skufy_Ranks/ServerFiles/types.xmlto your mission'sdb/types.xml(14 books). Without it books only come from the admin panel or as rewards. - Start the server once — the mod creates
profiles/Skufy_Rankswith every file and ready content: ranks, quests, restrictions, books. - Put your SteamID64 into
Admins(see Admins), restart the server, join and press Num 1 + Num 4 — or the ADMIN button in the rank menu (O).
Admins
The admin panel opens only for players whose SteamID64 (17 digits, starts with 7656119) is in the Admins list of Settings.json.
"Admins": [ "76561198000000001", "76561198000000002" ],
- Adding admins is easier in the panel itself: SETTINGS → RANK ADMINS (SteamID64, comma separated).
- Rank restrictions do not apply to admins — unless
AdminsRestrictedis on. - In single player (offline) every player is an admin: handy for tests.
Config files
Editing by hand
- The admin panel is the easiest way: no broken commas or quotes, and every player gets the changes at once.
- The files are read when the server starts. Edit them by hand on a stopped server: saving from the panel overwrites the files.
- This is JSON: strings in double quotes, commas between elements, no comma after the last one, no comments. Switches are
1or0. - Every ID (ranks, quests, categories, restrictions) is Latin letters, digits,
_and-. Other files refer to IDs: rename in the panel — it renames the references too. - If a file cannot be read, the server log has a line
[Skufy_Ranks] Quests.json is broken…with the reason, and a.brokencopy appears next to it. Delete the file entirely and the mod creates it again with the default content.
How a rank grows
- XP always adds up and is never lost: the rank is the highest one whose XP threshold is reached and whose exams (and the exams of every lower rank) are done.
- If the next rank needs an exam, XP keeps growing and the rank window says the exam is needed. Once the exam is done the rank is given at once — sometimes several steps up.
- The rank reward is given once — when the rank is reached for the first time. If it does not fit into the inventory it appears on the ground at the player's feet.
- The whole server is told about the new rank (
NoAnnounceturns it off), the player sees a rank-up banner. - The death penalty (
DeathPenalty, %) takes a part of the XP earned inside the current rank. A rank is never lost on death. - Changed the thresholds or the order of ranks — each player's rank is recounted on their next login, without new rewards.
Default XP
| For | XP | Parameter |
|---|---|---|
| An infected | +2 | XpZombie |
| An animal | +5 | XpAnimal |
| A player | +20 | XpPlayer |
| A crafted item | +1 | XpCraft |
| A construction part | +2 | XpBuild |
| A harvest | +2 | XpHarvest |
| A catch | +3 | XpFish |
| Every 15 minutes played | +10 | PlayMinutes, PlayXp |
| A quest | 60 … 8 000 | the quest's Xp |
| A book | 60 … 2 000 | the book's Xp |
Ranks · Ranks.json
The order of the Ranks list is the ladder from the bottom up. The first rank always starts at 0 XP, each next one must need more than the previous one (if not, the mod raises its threshold by 1).
MinRank, MaxRank).{
"Id": "sergeant",
"Name": "Сержант",
"NameEn": "Sergeant",
"Glyph": "ins_chev3r1",
"Hex": "34D1BF",
"Xp": 3100,
"Desc": "Сдал аттестацию. Допущен к армейскому оружию.",
"DescEn": "Passed the exam. Cleared for military rifles.",
"Quests": [ "exam_sergeant" ],
"Rewards": [
{ "Item": "Binoculars", "Count": 1 },
{ "Item": "Ammo_762x39", "Count": 40 }
]
}The default ladder
Insignia keys (Glyph)
Quests · Quests.json
The file has two lists: Categories — the journal sections, and Quests — the quests themselves. By default there are 52 quests in 9 categories, 4 of them are rank exams.

Categories
CatId refers to it.q_fire, q_animal, q_rifle, q_craft, q_map, q_harvest, q_build, q_study, q_medal and the other goal keys.Quest fields
Requires refer to it).chernarusplus, enoch, sakhal… Empty = any. Handy when one set of quests serves several servers.1 — the quest can be taken again.Item — class, Count — count.Goals
ZmbM_SoldierNormal_Base counts every military infected. Empty = any.Radius > 0 the goal only counts inside this circle.| Kind | Goal | What goes into Targets |
|---|---|---|
| 0 | Kill infected | infected classes (ZmbM_SoldierNormal_Base…), empty = any |
| 1 | Hunt animals | animal classes (Animal_CanisLupus…), empty = any |
| 2 | Defeat players | — (any other players) |
| 3 | Craft | result classes of the regular game crafting |
| 4 | Bring and hand in | item classes — taken away when the quest is handed in |
| 5 | Have on you | item classes — counted in the inventory and kept by the player |
| 6 | Visit a place | not used: the point PosX/PosZ and Radius (50 m by default), Count is always 1 |
| 7 | Harvest | plant or crop classes (Tomato, Pumpkin…) |
| 8 | Eat or drink | food and drink classes, one bite or sip = 1 |
| 9 | Perform an action | game action classes (ActionSkinning, ActionLightItemOnFire…) |
| 10 | Build | base classes (Fence, Watchtower) or part names; empty = any |
| 11 | Study a book | Skufy_RK_Manual_Base — any manual, Skufy_RK_Read_Base — any library book, or the class of one book |
| 12 | Survive | not used: Count = minutes alive while the quest is active; death resets the goal |
| 13 | Walk | not used: Count = metres on foot, vehicles do not count |
| 14 | Catch fish | fish classes (Carp…), empty = any |
Example
{
"Id": "patrol_cherno",
"Title": "Патруль Черногорска",
"TitleEn": "Chernogorsk patrol",
"Desc": "Зачистите порт и отметьтесь на маяке.",
"DescEn": "Clear the port and check in at the lighthouse.",
"CatId": "combat",
"Glyph": "",
"MinRank": "private",
"MaxRank": "",
"MapName": "chernarusplus",
"Xp": 400,
"Repeat": 1,
"Cooldown": 120,
"TimeLimit": 60,
"Disabled": 0,
"Requires": [ "c_first" ],
"Goals": [
{ "Kind": 0, "Count": 20, "Targets": [], "With": [], "Label": "", "LabelEn": "",
"PosX": 7100, "PosZ": 2500, "Radius": 400 },
{ "Kind": 6, "Count": 1, "Targets": [], "With": [], "Label": "Маяк", "LabelEn": "Lighthouse",
"PosX": 7480, "PosZ": 2290, "Radius": 40 }
],
"Rewards": [ { "Item": "Ammo_762x39", "Count": 60 } ]
}How a quest goes
- A player runs at most
MaxActivequests at once (5 by default; quests ready to hand in count too). - "Have on you", "Bring and hand in" and "Visit a place" are checked on their own every couple of seconds.
- The player claims the reward in the menu. With
AutoClaimit is given as soon as the goals are done. - A quest can be abandoned — the progress is reset.
Restrictions · Rules.json
Each restriction blocks something for players below the given rank. A blocked action is not even offered in game, and the server checks everything again — a modified client gains nothing. The player sees a hint telling from which rank it opens.

M4A1_Base, Truck_01_Base, TentBase). Empty = all.ActionDestroyPart, ActionDestroyCombinationLock…PosX/PosZ/Radius. "Zone entry" always needs a zone.| Kind | Restriction | What Classes mean |
|---|---|---|
| 0 | Hands | items that cannot be taken into hands (and so not used) |
| 1 | Wear | clothing and armour — any body slot |
| 2 | Pick up | items that cannot be picked up and carried at all |
| 3 | Actions | the list Actions; Classes optional: only with these items or on these objects |
| 4 | Objects | any action with the objects: tents, crates, constructions, vehicles |
| 5 | Driving | vehicles whose driver seat is closed |
| 6 | Vehicles | vehicles that cannot be entered at all |
| 7 | Crafting | items that cannot be crafted with the regular crafting |
| 8 | Building | items that cannot be placed and objects that cannot get parts built |
| 9 | Shooting | weapons that cannot fire (with a zone — only inside it) |
| 10 | Zone entry | not used: a zone is required. A player below the rank is pushed out of it, car and all |
Default restrictions
| Restriction | Kind | From rank | What | |
|---|---|---|---|---|
| Military rifles | Hands | Sergeant | M4A1, AKM, AK-74, AK-101, AUG, FAL, FAMAS, M16A2, M249, VSS, Groza | on |
| Sniper rifles | Hands | Warrant Officer | SVD, SV-98 | on |
| Body armour and helmets | Wear | Lance Corporal | plate carrier, MICH, ballistic helmet, Gorka helmet | on |
| Trucks | Driving | Junior Sergeant | V3S | on |
| Explosives | Hands | Captain | C4, claymore, improvised explosive | on |
| Destroying constructions | Actions | Sergeant | destroy a construction part, destroy a code lock | on |
| Tisy military base | Zone entry | Sergeant | 500 m zone around 1650 / 14000 | on |
| No shooting at the airfield | Shooting | Lance Corporal | 600 m zone around 4550 / 10250 | off |
| Boats | Vehicles | Junior Sergeant | all boats | off |
| Tents | Objects | Private | all tents | off |
| Building watchtowers | Building | Junior Sergeant | watchtower | off |
{
"Id": "tisy",
"Title": "Военная база Тисы",
"TitleEn": "Tisy military base",
"Kind": 10,
"MinRank": "sergeant",
"Disabled": 0,
"Classes": [],
"Actions": [],
"Zoned": 1,
"PosX": 1650,
"PosZ": 14000,
"Radius": 500,
"Msg": "",
"MsgEn": ""
}ZoneWarn metres before the border (60 by default) the player gets a warning.Books · Books.json
A book is taken into hands and studied: a full reading animation for Seconds seconds, then the XP. The item tooltip shows how much XP it gives this player or why it cannot be studied yet.

0 — the book is used up, 1 — it stays (and can be passed on).1 — each player studies this book only once.| Class | Book | XP | Seconds | From rank |
|---|---|---|---|---|
Skufy_RK_Manual_1 | Vol. I "Survival basics" | 150 | 12 | any |
Skufy_RK_Manual_2 | Vol. II "Field medicine" | 250 | 14 | any |
Skufy_RK_Manual_3 | Vol. III "Hunting and tracking" | 350 | 16 | Private |
Skufy_RK_Manual_4 | Vol. IV "Marksmanship" | 500 | 18 | Lance Corporal |
Skufy_RK_Manual_5 | Vol. V "Field engineering" | 700 | 20 | Junior Sergeant |
Skufy_RK_Manual_6 | Vol. VI "Small unit tactics" | 1 000 | 22 | Senior Sergeant |
Skufy_RK_Manual_7 | Vol. VII "Recon and navigation" | 1 400 | 24 | Warrant Officer |
Skufy_RK_Manual_8 | Vol. VIII "Command" | 2 000 | 28 | Senior Lieutenant |
Skufy_RK_Read_1 | Book "Survivor's diary" | 60 | 8 | any |
Skufy_RK_Read_2 | Book "Hunter's notes" | 80 | 9 | any |
Skufy_RK_Read_3 | Book "Pocket handbook" | 90 | 9 | any |
Skufy_RK_Read_4 | Book "The old almanac" | 100 | 10 | any |
Skufy_RK_Read_5 | Book "Radio amateur" | 120 | 10 | any |
Skufy_RK_Read_6 | Book "Chernarus chronicles" | 150 | 12 | any |
- The pause between any two books of one player is
BookCooldown(minutes) inSettings.json. - For a "Study a book" goal:
Skufy_RK_Manual_Base— any manual,Skufy_RK_Read_Base— any library book. - Loot frequency is in
@Skufy_Ranks/ServerFiles/types.xml: library books are more common (towns, villages, schools, offices), manuals rarer, the top volumes rarest.
Settings.json
General settings. Under the default value is the allowed range: anything outside it is corrected by the mod on load. All of this is on the SETTINGS tab of the admin panel.
PlayMinutes minutes played (alive) the player gets PlayXp XP.{
"Version": 1,
"Admins": [ "76561198000000001" ],
"MaxActive": 5,
"AutoClaim": 0,
"DeathPenalty": 0,
"NoHud": 0,
"NoTop": 0,
"TopSize": 20,
"NoAnnounce": 0,
"AdminsRestricted": 0,
"NoHints": 0,
"BookCooldown": 0,
"ZoneWarn": 60,
"XpZombie": 2,
"XpAnimal": 5,
"XpPlayer": 20,
"XpCraft": 1,
"XpBuild": 2,
"XpHarvest": 2,
"XpFish": 3,
"PlayMinutes": 15,
"PlayXp": 10
}Player profiles
Each player is a file Players/<SteamID64>.json. The server writes it; changing XP and rank is easier on the PLAYERS tab of the admin panel — it works for offline players too.
Admin panel (Num 1 + Num 4)
Opened with the key combination or the ADMIN button in the rank menu. At the bottom are SAVE and REVERT: a save is written to the files and sent to every player at once, no restart needed.

- List: NEW, COPY, search. The list order is the rank order.
- Name RU / EN, total XP threshold and "to the next rank", colour, insignia (37 of them), description.
- RANK EXAM — quests needed for the rank, REWARDS — items.
- Name and description RU / EN, category, icon, available from and up to rank, XP, map.
- Disabled, repeatable and after how many minutes, time limit, "complete these quests first".
- QUEST GOALS: type, count, what exactly (search through every class of the game and mods), with an item in hands, zone — X · Z · radius, MY POSITION, TELEPORT, own label.
- Item rewards.
- Journal sections: name RU / EN, icon, order.
- Name, what is blocked (11 kinds), allowed from rank, disabled, own message RU / EN.
- ONLY IN A ZONE: X · Z · radius, my position, teleport.
- ITEMS AND OBJECTS — picked from every class (filters: items, infected, animals, vehicles, constructions) or typed in; ACTIONS — the list of game actions.
- All 14 books, 8 per page: XP, seconds, from rank, up to rank, "used up", "once", "enabled".
- TAKE — give the book to yourself to test it.
- Search by name and SteamID, online players are marked.
- XP: ADD, TAKE AWAY, SET. SET THE RANK — XP becomes the rank threshold, the exams up to it count as done.
- RESET QUESTS, FINISH ACTIVE, RESET MANUALS, RESET ALL; the player's active quests with a "done" button.
- RULES: quest limit, auto-claim, death penalty, book pause, zone warning, leaderboard, rank window, announcements, hints, restrictions for admins.
- XP FOR EVENTS and for time played.
- RANK ADMINS — SteamID64, comma separated.
How players play


The rank menu — O
- PROFILE — rank badge and name, XP bar, the next rank and the exam it needs, statistics, active quests, what gives XP.
- QUESTS — filters "active / available / completed / all", search, categories, the quest card with goals, reward and conditions. A quest can be taken, abandoned and pinned — up to 3 quests are shown on screen.
- RANKS — the whole ladder: thresholds, exams, rewards and what each rank opens.
- ACCESS — every restriction of the server: what is open, what is closed and from which rank.
- LEADERS — the best players of the server and your place.
On screen
- The rank window: rank, XP bar with a flash on every gain, what is left to the next rank and the pinned quests with the distance to their point. It hides in menus, after death and when the game HUD is off.
- A player can move the window in their own
Skufy_Ranks_Client.json(DayZ profile folder):Corner— 0 top left, 1 top right, 2 bottom left, 3 bottom right;Hidden: 1 hides the window. - Notifications: XP, goals done, rewards, a quest failed on time, blocks with the rank needed, closed zones.
Troubleshooting
The admin panel does not open
Check that your SteamID64 (17 digits) is in Admins of Settings.json and restart the server. Check the keys in "Settings → Controls → Skufy Ranks". The ADMIN button in the rank menu is shown to admins only.
No books in the loot
Add the lines of @Skufy_Ranks/ServerFiles/types.xml to the mission's db/types.xml and restart the server. You can also give books to yourself in the admin panel: MANUALS → TAKE.
A book cannot be studied
Hover the book in the inventory — the tooltip tells why: another rank is needed, the book was already studied ("Once"), the BookCooldown pause has not passed or the book is disabled. A book is studied in hands.
Enough XP but the rank does not grow
The next rank needs an exam — the rank window says so. Complete the exam quest from the "Rank exams" category and the rank is given at once.
Changed the JSON but nothing changed in game
The files are read when the server starts. Edit them on a stopped server — or change things in the admin panel, where changes apply at once. Saving from the panel overwrites the files.
My ranks or quests are gone after an edit
The file has an error: the mod runs on the defaults and leaves a .broken copy, the log has a line [Skufy_Ranks] … is broken with the reason. Fix the error in the copy, rename it back and restart the server.
A player does not see a quest
Check MinRank / MaxRank (a quest with an upper limit is hidden from higher ranks), Requires (other quests must be done first), MapName (a quest for another map) and Disabled.
A restriction does not work on me
You are an admin: restrictions do not apply to admins unless AdminsRestricted is on. Turn it on to test, or join as a non-admin.
I want everything back as it was
Delete the file (Ranks.json, Quests.json, Rules.json, Books.json) on a stopped server — on start the mod creates it again with the default content. Player profiles live separately in Players/.