SKUFYMOD
Guide for server owners

Skufy Trader

Trader terminals and NPCs, buying and selling by item condition, limited stock with restocks, any currency, a bank with ATMs, a phone and a laptop, clans, pay day, safe zones and a handy in-game admin panel. Every file and every parameter is described here.

No dependencies15 terminal kinds + NPCAdmin panel — Num 8Skufy Garage — optional

What it does

Terminals & NPCs

15 kinds of vending terminals (weapons, ammo, clothes, food…) and live NPC traders — 31 looks and any clothes. Placed with a hologram from the admin panel.

Buy & sell

Cards with 3D previews, item stats, selling anything from the inventory, prices by condition and fill level, ammo inside magazines counted.

Kits

Magazines, ammo and attachments by slot are matched to the chosen weapon or gear — from this trader or all of them. Bought in one click and mounted on the item.

Stock

Any product can be limited: it runs out, restocks on a timer, and items sold by players go back into stock.

Any currency

Its own SKUFY money (notes and coins) or the money of another mod. On first start the mod detects TraderPlus, MoneyRuble and Expansion. Several currencies — one per trader.

Wallet

SKUFY wallet: 10 money-only cells and a pocket per denomination. Money is counted across the whole inventory, change is given in large notes.

Bank & ATMs

An account for every player, ATMs in three paints, withdraw, deposit, transfers, fees, paying for purchases straight from the account.

Phone & promo codes

Mobile bank on a rugged phone: balance, history, transfers and admin promo codes from anywhere on the map. Each opening drains the battery.

Online trading

A laptop with 6 USB ports: plug in a trader's flash drive and trade with it from anywhere.

Clans & pay day

Clan accounts with withdraw rights, a salary for everyone per minutes of play and personal salaries.

Vehicles

Cars and boats with all parts: to a delivery spot next to the trader or straight into the Skufy Garage.

Safe zones

No damage, weapons can't be raised, no infected, names over heads, no restraining, no-signal areas.

SKUFY BANK ATMs in three paints
SKUFY BANK ATMs — graphite, emerald, bordeaux
SKUFY TRADE laptop with six USB ports
SKUFY TRADE laptop — six ports for trader flash drives
Phone with the mobile bank
Phone with the SKUFY BANK mobile bank
SKUFY wallet
SKUFY money wallet

Installation

  1. Copy the @Skufy_Trader folder to the server and add it to the -mod= launch parameter (clients the same way, or via the Steam Workshop).
  2. Put the Skufy.bikey key from @Skufy_Trader/Keys into the server's keys folder.
  3. No other mods are needed: Community Framework is not required. With Skufy Garage installed, bought vehicles can go straight into the garage.
  4. Start the server once — the mod creates the profiles/Skufy_Trader folder with all files.
  5. Add your SteamID64 to AdminSteamIds (see Admins), restart the server, join and press Num 8.
The panel key can be changed in Settings → Controls → “Trader admin panel”.

First start

On the first start the mod writes one file per trader kind into Traders/ — with the full assortment and prices, but without any places on the map. That is why there are no traders in the world right after installation: you place them.

  1. Open the admin panel (Num 8) → tab ТОРГОВЦЫ (Traders) and pick a trader.
  2. In ТОЧКИ НА КАРТЕ (places on the map) press + ТЕРМИНАЛ (terminal) or + NPC and place the hologram: LMB — place, Q/E — rotate, PageUp/PageDown — up/down, RMB — cancel.
  3. For the car dealer add a МЕСТО ВЫДАЧИ (delivery spot) — bought vehicles appear there.
  4. Press СОХРАНИТЬ (Save): the server writes the files and respawns the traders right away.
The currency is picked automatically. With a money mod on the server (TraderPlus, MoneyRuble*, Expansion) the mod takes its notes on first start. Otherwise its own SKUFY money is used: coins 1/2/5 and notes 10/50/100/500/1000/5000.

Admins

The admin panel opens only for players whose SteamID64 (17 digits, starts with 7656119) is in the AdminSteamIds list of Settings.json. Find yours on steamid.io or in your Steam profile URL.

"AdminSteamIds": [
    "76561198000000001",
    "76561198000000002"
],
  • It is easier to add admins in the panel itself: НАСТРОЙКИ → АДМИНЫ И NPC (Settings → Admins and NPC). You cannot remove yourself — the panel never locks you out.
  • In single player (offline) every player is an admin — handy for testing.

Config files

profiles/Skufy_Trader/
Settings.jsonAll common settings: admins, currencies, trading and stock rules, bank, ATMs, clans, pay day, safe zones.
Traders/<id>.jsonOne file — one trader: name, kind, prices, places on the map, categories and products. File name = trader ID.
Vehicles.jsonWhich parts a bought vehicle comes with (wheels, doors, battery, spark plug…).
Stock.json written by the serverCurrent stock of limited products. Do not edit by hand.
Bank/<SteamID64>.jsonA player's bank account: card, balance, auto payment, history (last 60 operations).
Bank/Promos.jsonMobile bank promo codes.
Bank/Clans/<id>.jsonClan accounts: owner, members, treasury, history.
Logs/trade_<date>.logTrade log (when TradeLog is on).
Backups/Dated copies of deleted traders and clans — nothing is lost to a wrong click.

Editing by hand

  1. The easiest way is the admin panel or the web editor: no way to break commas and quotes.
  2. Edit by hand while the server is stopped: saving from the panel overwrites the files. On a running server press ПЕРЕЧИТАТЬ ФАЙЛЫ (reload files) (Settings tab) after editing.
  3. It is JSON: strings in double quotes, commas between elements, no comma after the last one. // comments are not allowed in JSON — except inside a product line.
  4. Switches can be written as 1/0 or true/false. The Help field is just a hint.
  5. If a file cannot be read, the server log shows a line [Skufy_Trader] ERROR with the reason.

Product line

Each product is one string in the category's Items list. Fields are separated by commas, everything after // is a comment (the panel writes the item name there):

ClassAKMBuy8000Sell4000Stock3Qty-1Comment// AKM
Class
—
Item class from the game or a mod. Case does not matter.
Buy
—-1 = not sold
The price a player pays. -1 — the trader does not sell it, only buys it.Final price = Buy × the trader’s BuyMultiplier.
Sell
Buy × 0.5-1 = not bought
What the trader pays for a pristine item. Missing — Buy × DefaultSellRatio.Final = Sell × SellMultiplier × the condition factor (SellByCondition).
Stock
00 = endless
0 or empty — never runs out. N — at most N in stock: runs out and comes back with restocks.
Qty
-1-1 = usual
How much one purchase gives: -1 — the usual amount (full ammo pile, full bottle), N — exactly N.

Examples

"AKM, 8000, 4000 // AKM"                  sells for 8000, buys for 4000
"AKM, 8000"                               buys for 8000 × DefaultSellRatio = 4000
"AKM, -1, 3000"                           only buys
"NVGoggles, 15000, 7000, 3"               at most 3 in stock
"Ammo_762x39, 300, 150, 0, 20"            endless, 20 rounds per purchase
Line order = product order in the menu. Money (currency classes) can never be sold to a trader — dupe protection.

Settings.json

Common mod settings. Under each default value is the allowed range: anything outside it is corrected by the mod on load.

Currency

Currencies
SKUFY rublesup to 5
List of currencies. Each has Name, Sign — written after a sum, Items — money classes and their values (ClassName, Value).The first currency is the main one: the bank, ATMs, pay day and the wallet work in it. Traders with another currency do not take payment from the account.
CurrencyName, Currency
—service
A copy of the main currency for older files. Filled automatically — edit Currencies.
SellByCondition
[1, 0.8, 0.55, 0.3, 0]0…5 each
Sell price factor by condition: pristine, worn, damaged, badly damaged, ruined. 0 — not accepted in that condition.
DefaultSellRatio
0.50…10
Share of the buy price the trader pays when a product line has no sell price.
"Currencies": [
    {
        "Name": "Rubles",
        "Sign": "rub.",
        "Items": [
            { "ClassName": "Skufy_TR_Coin1", "Value": 1 },
            { "ClassName": "Skufy_TR_Ruble100", "Value": 100 },
            { "ClassName": "Skufy_TR_Ruble5000", "Value": 5000 }
        ]
    }
],

Trading & stock

MaxBuyAmount
501…1000
How many of one product can be bought at once.
KitFromAllTraders
1
The kit panel offers matching items of every trader (at their prices), not only the current one.
SellWornItems
1
Worn items (clothes, backpack) can be sold. They are unticked in the sell list by default.
SellRaisesStock
1
Items sold by players go back into the trader’s limited stock.
RestockMinutes
600…100000
How often stock is refilled, in minutes. 0 — no automatic restock (only the panel button).
RestockPercent
251…100
Share of the maximum each restock brings back, %.
InteractDistance
52…50
Distance (m) at which the server accepts a trade. Protection against trading through walls.
TradeLog
1
Write a trade log to Logs/trade_<date>.log.
NotifySeconds
52…30
How long notifications stay on screen.
ShowPlaceNames
1
The trader name above it in 3D.
NpcClothing
black outfit
Clothes of an NPC trader whose place has none (list of classes).
GarageLink
1
Bought vehicles may go into Skufy Garage when it is installed.
VehicleFluids
1.00…1
Fuel, oil, brake fluid and coolant of a bought vehicle (1 = full).
OnlineTrade
1
The laptop with flash drives opens traders from anywhere on the map.

Bank, phone, clans, pay day

Bank
BankEnabled
1
The bank is on: ATMs on the map, player accounts.
BankAutoPay
1
Traders may take payment from the account (each player switches it with the “СЧЁТ” toggle).
BankTransfers
1
Transfers between players.
BankStartBalance
00…1 000 000 000
Starting balance of a new account.
BankMaxBalance
00 = no limit
Maximum money on an account.
BankWithdrawFee / BankDepositFee / BankTransferFee
00…50 %
Withdraw, deposit and transfer fees, in percent.
Atms
[]
ATMs on the map: Name, Look (0 — graphite, 1 — emerald, 2 — bordeaux), Pos [x, y, z], Yaw. Easier to place with the hologram in the panel.
Phone
PhoneBank
1
Mobile bank on the SKUFY phone.
PhoneCharge
20…100 %
Battery percent one opening of the bank costs (0 — free).
Clans
BankClans
1
Clan accounts at ATMs.
ClanCreateCost
100000…1 000 000 000
Clan creation price — taken from the founder’s account.
ClanMaxMembers
201…200
Maximum members (without the owner).
Pay day
PayDayEnabled
0
Every player online gets a salary onto the account.
PayDayAmount
10000…100 000 000
Salary amount.
PayDayMinutes
601…100000
Every how many minutes of play.
PayDays
[]
Personal salaries: Id (SteamID64), Name, Amount, Minutes. Override the common one; Amount 0 — no salary for that player.

Safe zones

SafeZonesOn switches all zones at once. Each zone in the SafeZones list is a circle on the map (height is ignored). Zones can be nested — e.g. a safe square inside a large no-signal area.

Name
“Safe zone”
Name — shown to players on entering.
Enabled
1
The zone works.
Pos, Radius
—, 100radius 5…5000 m
Centre [x, y, z] and radius. In the panel the centre is where the admin stands.
Safe
1
No damage from bullets, grenades, infected, bots and falls.
God
0
Full protection: no disease or bleeding, health, blood and shock never drop.
NoWeapons
1
Weapons and fists cannot be raised.
NoZombies
1
Infected and predators inside are removed.
NoRestrain
1
Nobody can be restrained (handcuffs, rope, duct tape, wire).
NoFeed
1
Nobody can be force-fed or given a drink.
Names
1
Player names above heads inside the zone.
Voice
1
A microphone icon over whoever is talking.
NoSignal
0
No network: the laptop opens no traders, the phone bank has no signal.
Message
1
A notice on entering and leaving.

Trader file

The file Traders/<id>.json. There can be any number of traders — e.g. two gun shops in different towns with different prices. File name = trader ID (Latin letters, no spaces).

Name
“Trader”
Name in the trade window and above the trader.
Kind
general15 kinds
Kind: terminal look, icon and the laptop flash drive. See the list below.
Enabled
1
The trader works (0 — removed from the map, the file stays).
BuyMultiplier
1.00.01…100
Multiplier of every buy price: 1.2 — 20% more expensive.
SellMultiplier
1.00…100
Multiplier of every price paid to players.
BuysEverything
0
Buys anything other traders sell (black market mode).
BuysEverythingRatio
0.50…10
…for this share of their sell price.
VehicleDelivery
00 / 1 / 2
Where a bought vehicle goes: 0 — into Skufy Garage (if installed and there is room), else to the delivery spot; 1 — garage only; 2 — delivery spot only.
Usb
"""" / "-" / class
Laptop flash drive: empty — the drive of its kind (Skufy_TR_Usb_<Kind>), "-" — no online trading, or your own class.
Currency
""
Currency name from Currencies. Empty — the main one.
Roam
0
Roaming trader: stands at one of its places and moves to another after a random time.
RoamMin / RoamMax
30 / 90minutes
How long it stays at one place: from and to.
RoamNotify
1
Every player is told where it went (the place name).
Places
[]
Places on the map — see below.
Categories
[]
Categories: Name, Icon and the Items list (product lines).

Trader kinds (Kind)

weaponsGun shop
ammoAmmo
attachmentsAttachments
gearGear
clothesClothing
foodFood
drinksDrinks
blackBlack market
fishingFishing
huntingHunter
toolsTools
buildingBuilding supplies
medicalPharmacy
vehiclesCar dealer
generalGeneral trader

Place on the map (Places)

Name
""
Place name (empty — the trader’s name). A roaming trader needs it for notifications.
Look
00 / 1
0 — vending terminal, 1 — NPC.
Npc
SurvivorM_Mirek
NPC look: SurvivorM_ Mirek, Boris, Cyril, Denis, Elias, Francis, Guo, Hassan, Indar, Jose, Kaito, Lewis, Manua, Niki, Oliver, Peter, Quinn, Rolf, Seth, Taiki or SurvivorF_ Eva, Frida, Gabi, Helga, Irena, Judy, Keiko, Linda, Maria, Naomi, Baty.
Clothing
[]
NPC clothes (classes). Empty — NpcClothing from the settings.
Pos, Yaw
—
Position [x, y, z] and rotation in degrees.
Spot, SpotPos, SpotYaw
0
A delivery spot for bought vehicles at this place.

Category icons (Icon)

rifle
pistol
smg
sniper
shotgun
knife
grenade
ammo
mag
scope
suppressor
stock
light
vest
belt
backpack
helmet
nvg
jacket
pants
boots
cap
gloves
mask
glasses
food
can
fruit
drink
black
fishing
fish
hunting
bow
trap
pelt
tools
axe
fire
build
lock
crate
tent
box
medic
pill
blood
vehicle
car
boat
wheel
fuel
trader
u_wallet
u_laptop
u_phone
u_coins
u_cart
u_garage

Vehicles

Vehicles are sold like any product (the vehicles kind is the car dealer). Vehicles.json sets the parts they come with. A vehicle not listed there gets its parts picked automatically by slots.

{
    "Presets": [
        {
            "Vehicle": "OffroadHatchback",
            "Parts": ["CarBattery", "CarRadiator", "SparkPlug", "HatchbackWheel", "HatchbackWheel", "HatchbackWheel", "HatchbackWheel"]
        }
    ]
}
  • Delivery spot — at the trader's place (the МЕСТО ВЫДАЧИ (delivery spot) button in the panel). Without it a vehicle can only go to the garage.
  • Garage — when Skufy Garage is installed and GarageLink is on. The mode is set per trader in VehicleDelivery.
  • Fluids on delivery — VehicleFluids in the settings.

Accounts, clans, promo codes

These files are written by the server. Balances and promo codes are easier to change in the admin panel (tabs БАНК (Bank), КЛАНОВЫЕ СЧЕТА (Clan accounts), ПРОМОКОДЫ (Promo codes)).

Bank/<SteamID64>.json — player account
Card, Balance
—
Card number and balance.
AutoPay
1
Traders take payment from the account (the player switches it).
History
[]last 60
Operations: time, kind, amount, balance after, note.
Bank/Clans/<id>.json — clan
Owner, Members
—
Owner and members; Out — the member may withdraw from the treasury.
Balance, History
—last 80
Treasury and history.
Bank/Promos.json — promo codes
Code, Amount
—
The code (no spaces, case-insensitive) and the sum put onto the account.
Uses
00 = no limit
How many players may redeem the code (each once).
Enabled, Note
1, ""
The code is active; a note for admins.

Admin panel (Num 8)

All edits stay in the panel until you press СОХРАНИТЬ (Save): then the server writes the files and respawns the traders. ОТМЕНИТЬ ИЗМЕНЕНИЯ (discard changes) brings everything back.

1ТОРГОВЦЫ · Traders
  • НОВЫЙ ТОРГОВЕЦ (new trader) — kind and name, with the default goods or empty; КОПИЯ (copy); УДАЛИТЬ (delete, a copy goes to Backups).
  • Properties: name, enabled, buy and sell multipliers, “buys everything” and its share, vehicle delivery, flash drive, currency.
  • Roaming trader: minutes per place and ПЕРЕЕХАТЬ СЕЙЧАС (move now).
  • ТОЧКИ НА КАРТЕ (places): + terminal, + NPC, move, delivery spot, teleport, delete; NPC look and clothes.
2АССОРТИМЕНТ · Goods
  • Categories: order, name, icon, delete.
  • Goods table: buy, sell, stock and quantity edited right in the cells, order, delete.
  • Bulk price changes and moving ticked goods В ДРУГУЮ КАТЕГОРИЮ (to another category).
  • ДОБАВИТЬ ТОВАР (add product) — search over every class of the game and mods, 3D preview on hover.
3ВАЛЮТА И ЦЕНЫ · Currency
  • Currency categories (up to 5): money classes, values, sign after a sum.
  • Sell price by condition: pristine … ruined.
4НАСТРОЙКИ · Settings
  • Trade rules: max per purchase, distance, notifications, trade log, vehicles to the garage.
  • Stock and ПОПОЛНИТЬ ВЕСЬ СКЛАД (restock everything).
  • АДМИНЫ И NPC: admin SteamID64s, default NPC clothes.
  • ПЕРЕЧИТАТЬ ФАЙЛЫ (reload files) and ВЫДАТЬ СЕБЕ 100 000 (ТЕСТ) (give yourself 100 000 for tests).
5ТРАНСПОРТ · Vehicles
  • Vehicle list and its КОМПЛЕКТАЦИЯ (parts).
  • ПОДОБРАТЬ ПО СЛОТАМ (auto-fill by slots); УБРАТЬ ПРЕСЕТ (remove the preset).
6БАНК · Bank
  • + БАНКОМАТ (+ ATM) with the hologram, paint (graphite, emerald, bordeaux), name, teleport.
  • Bank settings: bank on, pay from the account, transfers, starting balance, limit, fees.
  • СЧЕТА ИГРОКОВ (player accounts): search, + credit, set the balance.
7ЗАРПЛАТА · Pay day
  • A salary for everyone: amount and every how many minutes of play.
  • ЛИЧНАЯ ЗАРПЛАТА (personal salary) for chosen players.
  • Pay now — for testing.
8КЛАНОВЫЕ СЧЕТА · Clans
  • Clan list: treasury, members.
  • УСТАНОВИТЬ КАЗНУ (set the treasury), disband (the money goes to the owner).
  • Clan settings: creation price, max members.
9БЕЗОПАСНЫЕ ЗОНЫ · Zones
  • + БЕЗОПАСНАЯ ЗОНА (safe zone) and + ЗОНА БЕЗ СВЯЗИ (no-signal zone) — centred where the admin stands.
  • Radius and every zone property, teleport.
  • ПОКАЗЫВАТЬ ГРАНИЦЫ ЗОН — dots along the borders on the ground (admin only).
10ПРОМОКОДЫ · Promo codes
  • НОВЫЙ ПРОМОКОД (new promo code): code, sum onto the account, how many players, active, note; who already used it.
  • Mobile bank switch and battery cost per opening.

How players trade

Trade window

  • At a terminal — the “Trade” action, at an NPC — “Talk to the trader”.
  • КУПИТЬ (buy): categories and search on the left, cards with 3D previews, amount and the buy button on the right. Tabs ХАРАКТЕРИСТИКИ (stats: damage, rate of fire, slots, protection, calories…) and КОМПЛЕКТ (kit: what fits the item). Mouse wheel click on a card — full-screen view.
  • ПРОДАТЬ (sell): everything the trader buys, priced by condition. Tick rows and sell — or sell everything from bags and pockets. Items inside an item are sold with it.
  • The СЧЁТ (account) toggle in the header — pay from the SKUFY BANK account; sales also go onto the account.

ATM

The “Use the ATM” action: withdraw (paid out in notes and coins), deposit (a sum or all the cash), transfer to a player online, clan (create a clan, pay in, withdraw, members and rights), history. It also shows the salary and the time to the next one.

Phone

The Skufy_TR_Phone phone with a SKUFY POWER battery (Skufy_TR_PhoneBattery). In hands — “Open SKUFY BANK”, in a vehicle — the “SKUFY BANK (phone)” action. Balance, history, transfers and promo codes. Each opening costs PhoneCharge% of the battery; it does not work in a no-signal zone.

Laptop & flash drives

The Skufy_TR_Laptop laptop has 6 USB ports. Plug in trader flash drives (Skufy_TR_Usb_weapons, …_food etc.) and choose “Open the laptop”: each drive opens its trader from anywhere on the map. All of this is sold by the general trader by default.

Troubleshooting

The admin panel does not open on Num 8

Check that your SteamID64 (17 digits) is in AdminSteamIds and restart the server. Check the key in Settings → Controls → Trader admin panel.

No traders on the map after installation

That is expected: the first start creates files with goods but without places. Place the traders in the panel: ТОРГОВЦЫ → + ТЕРМИНАЛ / + NPC → СОХРАНИТЬ.

I changed the JSON but nothing changed in game

Edit files with the server stopped, or press ПЕРЕЧИТАТЬ ФАЙЛЫ (reload files) after editing. Saving from the panel overwrites the files — an unsaved manual edit is lost. A broken file shows [Skufy_Trader] ERROR in the server log.

A trader does not sell or buy an item

Check the class (a typo → no such item in the game) and the price: -1 as buy — not sold, as sell — not bought. The stock may have run out. Money is never sold to a trader.

I need the money of another mod

TraderPlus, MoneyRuble and Expansion are picked up on first start. For any other mod put its classes and values into ВАЛЮТА И ЦЕНЫ (or Currencies).

A bought vehicle did not appear

The trader's place needs a delivery spot (modes 0 and 2); for the garage Skufy Garage must be installed and have room (modes 0 and 1).

The laptop or the phone does not work

Check OnlineTrade / PhoneBank, the phone battery, and whether the player stands in a no-signal zone. A drive does not open a trader with Usb: "-".

I deleted a trader by mistake

A copy is in Backups/. Move the file back to Traders/ (removing the date from its name) and press ПЕРЕЧИТАТЬ ФАЙЛЫ.