Documentation › Hunting System › Features › Hunting Parties & Kill Ownership

Hunting Parties & Kill Ownership

Hunt together in a party of up to 4, with XP sharing that can't be farmed, and kills that can't be stolen.

Players can team up in a hunting party of up to 4 hunters. The party lives in the Party tab of the tablet and /huntparty opens it anywhere.

How it works

Create a party

Tablet → Party → Create party. The creator is the leader.

Invite players next to you

The Players nearby list shows hunters within inviteDistance (10 m). Only the leader can invite. The invited player gets a Join / Decline card in the tablet; the invite expires after inviteTimeout seconds.

Hunt together

Members see each other on the tablet map and on the mini radar (a member far away sits on the radar's edge). A member who disconnects keeps their slot for offlineGrace minutes.

The leader can kick members; anyone can leave. After leaving, a player can't join or create a party for rejoinCooldown minutes.

Loot and XP

  • Loot is never copied. Whoever skins the animal gets the items, exactly like solo.
  • XP is split. The XP of a kill goes into a pool, +xpBonusPerMember % per extra member (max xpBonusMax %), split between active members within shareRadius of the skinner. Members get a "+X XP from the party" notification.
  • Anti-farming: a member shares XP only after minMemberMinutes in the party and only if they moved or turned in the last activeMinutes (no AFK alts).
  • Contracts, records, trophies and rankings stay personal.

Kill ownership

For everyone, not only parties: a fresh kill belongs to the shooter and their party for lockSeconds (3 min). Other players can't skin it, draw blood from it or load it, and get "This animal belongs to another hunter (X s)". The shooter is read on the server, so a modified client can't steal kills. If the shooter walks further than ownerRadius away, the carcass is free.

Configuration

config/config_main.lua (also editable live in Admin → General → Party & kill ownership):

lua
Config.Party = {
    enable             = true,
    maxMembers         = 4,
    inviteDistance     = 10.0, -- invite only players standing next to you (m)
    inviteTimeout      = 60,   -- seconds before an invite expires
    shareRadius        = 100.0,-- members this close to the skinner share the XP (m)
    minMemberMinutes   = 5,    -- share XP only after this long in the party
    activeMinutes      = 5,    -- ...and only if they moved or turned in this time
    xpBonusPerMember   = 10,   -- % added to the XP pool per extra member
    xpBonusMax         = 30,   -- % cap of that bonus
    rejoinCooldown     = 10,   -- minutes before joining / creating again after leaving
    offlineGrace       = 5,    -- minutes a disconnected member keeps the slot
    positionsInterval  = 3,    -- seconds between member position updates
}

Config.Ownership = {
    enable      = true,
    lockSeconds = 180,   -- how long the kill stays reserved
    ownerRadius = 150.0, -- the lock only applies while the shooter is this close (m)
}

The command name is Config.Commands.party (config_bridge.lua, false = off). Add 'party' to Config.Tablet.remoteTabs to show the tab in the remote tablet. Party changes are logged to the party webhook.